Jump to content

Тензор (машинное обучение)

Тензор неофициально относится в машинном обучении к двум различным концепциям, которые организуют и представляют данные. Данные могут быть организованы в многомерный массив ( М -образный массив), который неофициально называется «тензором данных»; однако в строгом математическом смысле тензор представляет собой полилинейное отображение набора векторных пространств предметной области в векторное пространство диапазонов. Наблюдения, такие как изображения, фильмы, объемы, звуки и отношения между словами и понятиями, хранящиеся в массиве M («тензор данных»), могут анализироваться либо с помощью искусственных нейронных сетей , либо с помощью тензорных методов . [1] [2] [3] [4] [5]

Тензорная декомпозиция может факторизовать тензоры данных на более мелкие тензоры. [1] [6] Операции над тензорами данных можно выразить через умножение матриц и произведение Кронекера . [7] Вычисление градиентов, важный аспект алгоритма обратного распространения ошибки , можно выполнить с помощью PyTorch и TensorFlow . [8] [9]

Вычисления часто выполняются на графических процессорах (GPU) с использованием CUDA и на специальном оборудовании, таком как Google от Tensor Processing Unit или Nvidia от Tensor core . Эти разработки значительно ускорили архитектуру нейронных сетей и увеличили размер и сложность моделей, которые можно обучать.

Тензор . по определению является полилинейным отображением В математике это может выражать полилинейную связь между наборами алгебраических объектов. В физике тензорные поля , рассматриваемые как тензоры в каждой точке пространства, полезны для выражения таких механик, как напряжение или упругость . В машинном обучении точное использование тензоров зависит от используемого статистического подхода.

В 2001 году в области обработки сигналов и статистики использовались тензорные методы. Пьер Комон рассматривает раннее внедрение тензорных методов в области телекоммуникаций, радионаблюдения, хемометрики и обработки датчиков. Методы линейного тензорного ранга (такие как Parafac/CANDECOMP) анализировали M-образные массивы («тензоры данных»), состоящие из статистики более высокого порядка, которые использовались в задачах слепого разделения источников для вычисления линейной модели данных. Он отметил несколько ранних ограничений в определении ранга тензора и эффективном разложении ранга тензора. [10]

В начале 2000-х годов полилинейные тензорные методы [1] [11] перешел в компьютерное зрение, компьютерную графику и машинное обучение с работами Василеску или в сотрудничестве с Терзопулосом, такими как Human Motion Signatures, [12] [13] TensorFaces [14] [15] Тензорные текстуры [16] и полилинейная проекция. [17] [18] Полилинейная алгебра, алгебра тензоров высшего порядка, представляет собой подходящую и прозрачную основу для анализа многофакторной структуры ансамбля наблюдений и решения сложной проблемы распутывания причинных факторов на основе второго порядка. [14] или статистика более высокого порядка, связанная с каждым причинным фактором. [15]

Тензорный (мультилинейный) факторный анализ распутывает и уменьшает влияние различных причинных факторов с помощью полилинейного подпространственного обучения. [19] При обработке изображения или видео как двух- или трехстороннего массива, т. е. «матрицы данных/тензора», тензорные методы уменьшают пространственную или временную избыточность, как продемонстрировали Ван и Ахуджа. [20]

Джошуа Бенджио, [21] [22] Джефф Хинтон [23] [24] и их коллеги кратко обсуждают взаимосвязь между глубокими нейронными сетями и тензорный факторный анализ [14] [15] помимо использования массивов M-way («тензоров данных») в качестве входных данных. Одно из первых применений тензоров для нейронных сетей появилось в обработке естественного языка . Одно слово можно выразить как вектор с помощью Word2vec . [5] Таким образом, связь между двумя словами может быть закодирована в матрице. Однако для более сложных отношений, таких как субъект-объект-глагол, необходимо строить сети более высокого измерения. В 2009 году работа Суцевера представила байесовскую кластерную тензорную факторизацию для моделирования реляционных концепций при сокращении пространства параметров. [25] С 2014 по 2015 год тензорные методы становятся все более распространенными в сверточных нейронных сетях (CNN). Тензорные методы организуют веса нейронной сети в «тензор данных», анализируют и уменьшают количество весов нейронной сети. [26] [27] Лебедев и др. ускоренные сети CNN для классификации символов (распознавание букв и цифр в изображениях) с использованием 4D-тензоров ядра. [28]

Определение

[ редактировать ]

Позволять быть полем, например действительными числами или комплексные числа . Тензор это массив над :

Здесь, и являются целыми положительными числами, а — это количество измерений, количество способов или мода тензора. [5]

Одним из основных подходов (не единственным способом) использования тензоров в машинном обучении является непосредственное внедрение различных типов данных. Например, изображение в оттенках серого, обычно представленное как дискретная 2D-функция. с резолюцией может быть встроено в тензор режима 2 как

Цветное изображение с тремя каналами для RGB может быть встроено в тензор режима 3 с тремя элементами в дополнительном измерении:

При обработке естественного языка слово может быть выражено как вектор. с помощью алгоритма Word2vec . Таким образом становится тензором моды 1

Внедрение семантики субъект-объект-глагол требует внедрения отношений между тремя словами. Поскольку слово само по себе является вектором, семантику субъект-объект-глагол можно выразить с помощью тензоров режима 3.

На практике разработчик нейронной сети в первую очередь занимается спецификацией вложений, соединением тензорных слоев и операциями, выполняемыми над ними в сети. Современные платформы машинного обучения автоматически управляют оптимизацией, тензорной факторизацией и обратным распространением ошибки.

Как единичные значения

[ редактировать ]
Нейронная сеть с тензорами в качестве значений узла

Тензоры могут использоваться в качестве единиц измерения нейронных сетей, которые расширяют концепцию скалярных, векторных и матричных значений на несколько измерений.

Выходное значение однослойного блока представляет собой сумму произведений его входных единиц и весов соединений, отфильтрованных с помощью функции активации. :

где

Сверточная нейронная сеть, в которой каждая единица представляет собой 2D-изображение, представленное тензором.

Если каждый выходной элемент является скаляром, то мы имеем классическое определение искусственной нейронной сети . Заменяя каждый модульный компонент тензором, сеть может выражать данные более высокого измерения, такие как изображения или видео:

Такое использование тензоров для замены единичных значений распространено в сверточных нейронных сетях , где каждая единица может представлять собой изображение, обработанное несколькими слоями. Встраивая данные в тензоры, такие сетевые структуры позволяют изучать сложные типы данных.

В полностью связанных слоях

[ редактировать ]
Два слоя полносвязной нейронной сети и ее выражение в виде тензорного произведения Кронекера

Тензоры также можно использовать для вычисления слоев полностью связанной нейронной сети, где тензор применяется ко всему слою, а не к отдельным единичным значениям.

Выходное значение однослойного блока представляет собой сумму произведений его входных единиц и весов соединений, отфильтрованных с помощью функции активации. :

Векторы и выходных значений могут быть выражены в виде тензоров режима 1, а скрытые веса могут быть выражены в виде тензора режима 2. В этом примере единичные значения являются скалярами, а тензор принимает размеры сетевых слоев:

В этих обозначениях выходные значения можно вычислить как тензорное произведение входных и весовых тензоров:

который вычисляет сумму-продукт как тензорное умножение (аналогично матричному умножению).

Такая формулировка тензоров позволяет эффективно вычислять весь уровень полностью связной сети путем сопоставления единиц и весов с тензорами.

В сверточных слоях

[ редактировать ]

Другая переформулировка нейронных сетей позволяет тензорам выражать слои свертки нейронной сети. Сверточный слой имеет несколько входных данных, каждый из которых представляет собой пространственную структуру, например изображение или объем. Входные данные свертываются путем фильтрации перед передачей на следующий уровень. Типичное использование — обнаружение или изоляция функций при распознавании изображений.

Свертку часто вычисляют как умножение входного сигнала. с фильтрующим ядром . В двух измерениях дискретная конечная форма:

где это ширина ядра.

Это определение можно перефразировать как произведение матрицы на вектор в терминах тензоров, которые выражают ядро, данные и обратное преобразование ядра. [29]

где и обратное преобразование, данные и ядро. Вывод усложняется, когда ядро ​​фильтрации также включает в себя нелинейную функцию активации, такую ​​как сигмоид или ReLU.

Скрытые веса слоя свертки являются параметрами фильтра. Их можно уменьшить с помощью слоя объединения , который уменьшает разрешение (размер) данных, а также может быть выражен как тензорная операция.

Тензорная факторизация

[ редактировать ]

Важным вкладом тензоров в машинное обучение является способность факторизовать тензоры для разложения данных на составляющие факторы или уменьшения изученных параметров. Методы тензорного моделирования данных основаны на линейном тензорном разложении (CANDECOMP/Parafac-разложение) и полилинейном тензорном разложении (Такер).

Разложение Такера

[ редактировать ]
Разложение Такера тензора

Например, разложение Такера принимает трехсторонний массив. и разлагает тензор на три матрицы и меньший тензор . Форма матриц и нового тензора такова, что общее количество элементов уменьшается. Новые тензоры имеют формы

Тогда исходный тензор можно выразить как тензорное произведение этих четырех тензоров:

В примере, показанном на рисунке, размеры тензоров равны

: I=8, J=6, К=3, : Я=8, П=5, : J=6, Q=4, : К=3, Р=2, : П=5, Q=4, R=2.

Общее количество элементов в факторизации Такера равно

Количество элементов в оригинале равно 144, что приводит к сокращению данных со 144 до 110 элементов, уменьшению параметров или размера данных на 23%. Для гораздо больших исходных тензоров и в зависимости от ранга (избыточности) тензора выигрыш может быть более значительным.

Работа Рабансера и др. представляет собой введение в тензоры с более подробной информацией о расширении разложения Такера до N-мерностей за пределами приведенного здесь примера режима 3. [5]

Тензорные поезда

[ редактировать ]

Другой метод разложения тензоров переписывает исходный тензор как последовательность (последовательность) тензоров меньшего размера. Тензорный поезд (TT) — это последовательность тензоров пониженного ранга, называемых каноническими факторами . Исходный тензор можно выразить как сумму-произведение последовательности.

Автор отмечает, что разложение Такера, разработанное в 2011 году Иваном Оселедцем, «подходит для малых размеров, особенно для трехмерного случая. Для больших d оно не подходит». [30] Таким образом, тензорные поезда можно использовать для факторизации более крупных тензоров в более высоких измерениях.

Тензорные графы

[ редактировать ]

Унифицированная архитектура данных и автоматическое дифференцирование тензоров позволили разработать машинное обучение более высокого уровня в форме тензорных графов. Это приводит к появлению новых архитектур, таких как сверточные сети с тензорными графами (TGCN), которые выявляют сильно нелинейные ассоциации в данных, объединяют множественные отношения и изящно масштабируются, оставаясь при этом надежными и производительными. [31]

Эти разработки влияют на все области машинного обучения, такие как интеллектуальный анализ и кластеризация текста, изменяющиеся во времени данные и нейронные сети, где входными данными является социальный граф, а данные изменяются динамически. [32] [33] [34] [35]

Аппаратное обеспечение

[ редактировать ]

Тензоры предоставляют унифицированный способ обучения нейронных сетей более сложным наборам данных. Однако обучение на классическом процессоре обходится дорого.

В 2014 году Nvidia разработала cuDNN , CUDA Deep Neural Network, библиотеку для набора оптимизированных примитивов, написанную на параллельном языке CUDA. [36] CUDA и, следовательно, cuDNN работают на выделенных графических процессорах, которые реализуют унифицированный массовый параллелизм на аппаратном уровне. Эти графические процессоры еще не были специализированными чипами для тензоров, а представляли собой существующее оборудование, адаптированное для параллельных вычислений в машинном обучении.

В период 2015–2017 годов Google изобрёл тензорный процессор (TPU). [37] TPU — это специализированные аппаратные блоки с фиксированными функциями, которые специализируются на умножении матриц, необходимых для тензорных продуктов. В частности, они реализуют массив из 65 536 блоков умножения, которые могут выполнять произведение суммы матриц размером 256x256 всего за один глобальный командный цикл. [38]

Позже в 2017 году Nvidia выпустила собственное Tensor Core с архитектурой графического процессора Volta. Каждое тензорное ядро ​​представляет собой микроблок, который может выполнять произведение суммы матриц 4x4. Для каждого блока общей памяти (SM) имеется восемь тензорных ядер. [39] Первая карта графического процессора GV100 имеет 108 SM, что соответствует 672 тензорным ядрам. Это устройство ускорило машинное обучение в 12 раз по сравнению с предыдущими графическими процессорами Tesla. [40] Количество тензорных ядер масштабируется по мере того, как количество ядер и модулей SM продолжает расти в каждом новом поколении карт.

Развитие аппаратного обеспечения графических процессоров в сочетании с унифицированной архитектурой тензорных ядер позволило обучать гораздо более крупные нейронные сети. В 2022 году крупнейшей нейронной сетью была PaLM от Google с 540 миллиардами изученных параметров (весов сети). [41] (старая языковая модель GPT-3 имеет более 175 миллиардов изученных параметров, которые создают текст, похожий на человеческий; размер — это еще не все, гораздо меньшая по размеру модель Alpaca из Стэнфорда 2023 года утверждает, что она лучше, [42] изучив модель LLaMA от Meta/Facebook 2023 года , меньший вариант с 7 миллиардами параметров). Широко популярный чат-бот ChatGPT построен на основе GPT-3.5 (а после обновления GPT-4 ) с использованием контролируемого обучения и обучения с подкреплением.

  1. Перейти обратно: Перейти обратно: а б с Василеску, МАО; Терзопулос, Д. (2007). «Мультилинейный (тензорный) синтез, анализ и распознавание изображений [исследовательский DSP]» (PDF) . Журнал обработки сигналов IEEE . 24 (6): 118–123. Бибкод : 2007ISPM...24R.118V . дои : 10.1109/MSP.2007.906024 .
  2. ^ Василеску, МАО (2009), Многолинейная (тензорная) алгебраическая структура для компьютерной графики, компьютерного зрения и машинного обучения (PDF) , Университет Торонто
  3. ^ Колда Тамара Г.; Бадер, Бретт В. (6 августа 2009 г.). «Тензорные разложения и приложения» . Обзор СИАМ . 51 (3): 455–500. Бибкод : 2009SIAMR..51..455K . дои : 10.1137/07070111X . ISSN   0036-1445 . S2CID   16074195 .
  4. ^ Сидиропулос, Николас Д.; Де Латаувер, Ливен; Фу, Сяо; Хуанг, Кеджун; Папалексакис, Евангелос Э.; Фалуцсос, Христос (01 июля 2017 г.). «Тензорная декомпозиция для обработки сигналов и машинного обучения» . Транзакции IEEE по обработке сигналов . 65 (13): 3551–3582. arXiv : 1607.01668 . Бибкод : 2017ITSP...65.3551S . дои : 10.1109/TSP.2017.2690524 . ISSN   1053-587X . S2CID   16321768 .
  5. Перейти обратно: Перейти обратно: а б с д Рабансер, Стефан (2017). «Введение в тензорные разложения и их применение в машинном обучении». arXiv : 1711.10781 [ stat.ML ].
  6. ^ Сидиропулос, Н. (2016). «Тензорная декомпозиция для обработки сигналов и машинного обучения». Транзакции IEEE по обработке сигналов . 65 (13).
  7. ^ Затирка, Я (2018). «Аппаратные соображения для реализации и анализа тензоров с использованием программируемой пользователем вентильной матрицы» . Электроника . 7 (320): 320. doi : 10.3390/electronics7110320 . hdl : 10344/7368 .
  8. ^ Пашке, А (2019). «PyTorch: императивный стиль, высокопроизводительная библиотека глубокого обучения». Материалы 33-й Международной конференции по нейронным системам обработки информации : 8026–037. arXiv : 1912.01703 .
  9. ^ Адаби, М (2016). «TensorFlow: система крупномасштабного машинного обучения» (PDF) . Материалы 12-го симпозиума USENIX по проектированию и внедрению операционных систем . arXiv : 1605.08695 .
  10. ^ Комон, Пьер (2001), «Тензорные разложения: современное состояние и приложения», Математика в обработке сигналов , Oxford University Press
  11. ^ Василеску, МАО; Шашуа, Амнон (2007), Учебное пособие по тензорным методам машинного обучения, компьютерного зрения и компьютерной графики , Международная конференция по машинному обучению.
  12. ^ Василеску, МАО (2002), Сигнатуры движения человека: анализ, синтез, распознавание , том. 3, Материалы Международной конференции по распознаванию образов (ICPR 2002), стр. 456–460.
  13. ^ Василеску, МАО (2001), Алгоритм извлечения сигнатур движения человека , компьютерное зрение и распознавание образов. Технические эскизы CVPR 2001.
  14. Перейти обратно: Перейти обратно: а б с Василеску, МАО; Терзопулос, Д. (2002). Полилинейный анализ ансамблей изображений: TensorFaces (PDF) . Конспекты лекций по информатике 2350; (Представлено на 7-й Европейской конференции по компьютерному зрению (ECCV'02), Копенгаген, Дания). Шпрингер, Берлин, Гейдельберг. дои : 10.1007/3-540-47969-4_30 . ISBN  9783540437451 .
  15. Перейти обратно: Перейти обратно: а б с Василеску, МАО; Терзопулос, Д. (2005), Многолинейный анализ независимых компонентов (PDF) , LПроцедуры конференции IEEE по компьютерному зрению и распознаванию образов 2005 г. (CVPR 2005), Сан-Диего, Калифорния
  16. ^ Василеску, МАО; Терзопулос, Д. (2004), «TensorTextures: многолинейный рендеринг на основе изображений» (PDF) , Транзакции ACM в графике , том. 23, нет. 3, стр. 336–342, doi : 10.1145/1015706.1015725.
  17. ^ Василеску, МАО (2011). Мультилинейная проекция для распознавания лиц посредством канонического разложения . В Proc. Конференция «Лицо и жест» (ФГ'11). стр. 476–483.
  18. ^ Василеску, МАО; Терзопулос, Д. (2007), «Мультилинейная проекция для распознавания на основе внешнего вида в тензорной структуре» , Proc. Одиннадцатая международная конференция IEEE. по компьютерному зрению (ICCV'07), стр. 1–8.
  19. ^ Василеску, МАО; Терзопулос, Д. (2003), «Мультилинейное подпространственное обучение ансамблей изображений» , 2003 г., конференция IEEE Computer Society по компьютерному зрению и распознаванию образов, 2003 г. Труды.
  20. ^ Ван, Х; Нарендра, Ахуджа (2005), Аппроксимация тензоров ранга R с использованием представления изображения как матрицы , Конференция IEEE Computer Society по компьютерному зрению и распознаванию образов
  21. ^ Дежарден, Гийом; Курвиль, Аарон; Бенджио, Йошуа (2012). «Распутывание факторов вариации посредством генеративного переплетения». arXiv : 1210.5474 [ stat.ML ].
  22. ^ Бенджио, Йошуа; Курвиль, Аарон (2013). «Распутывание факторов вариации посредством генеративного переплетения». Справочник по нейронной обработке информации : 1–28. ISBN  9783642366574 .
  23. ^ Тан, Ичуань; Салахутдинов Руслан; Хинтон, Джеффри (2013). «Тензорные анализаторы» (PDF) . 30-я Международная конференция по машинному обучению .
  24. ^ Мемишевич, Роланд; Хинтон, Джеффри (2010). «Научимся представлять пространственные преобразования с помощью факторизованных машин Больцмана высшего порядка» (PDF) . Нейронные вычисления . 22 (6): 1473–1492. дои : 10.1162/neco.2010.01-09-953 . ПМИД   20141471 . S2CID   1413690 .
  25. ^ Суцкевер, И (2009). «Моделирование реляционных данных с использованием байесовской кластерной тензорной факторизации». Достижения в области нейронных систем обработки информации . 22 .
  26. ^ Новиков А; Дмитрий, П; Осокин А; Ветров, Д. (2015), «Тензоризация нейронных сетей», Нейронные системы обработки информации , arXiv : 1509.06569
  27. ^ Коссаифи, Жан (2019). «T-Net: параметризация полностью сверточных сетей с помощью одного тензора высокого порядка». arXiv : 1904.02698 [ cs.CV ].
  28. ^ Лебедев, Вадим (2014), Ускорение сверточных нейронных сетей с помощью точно настроенной CP-декомпозиции , arXiv : 1412.6553
  29. ^ Бедден, Дэвид (2017). «Глубокая тензорная свертка на многоядерных процессорах». arXiv : 1611.06565 [ cs.CV ].
  30. ^ Оселедец, Иван (2011). «Разложение тензорного поезда». Журнал SIAM по научным вычислениям . 33 (5): 2295–2317. Бибкод : 2011ГАО...33.2295О . дои : 10.1137/090752286 . S2CID   207059098 .
  31. ^ Иоаннидис, Василис (2020). «Сверточные сети с тензорными графами для многореляционного и надежного обучения». Транзакции IEEE по обработке сигналов . 68 : 6535–6546. arXiv : 2003.07729 . Бибкод : 2020ИТСП...68.6535И . дои : 10.1109/TSP.2020.3028495 . S2CID   212736801 .
  32. ^ Бутальби, Рафика (2022). «Модульность тензорных графов для кластеризации текстовых данных». Материалы 45-й Международной конференции ACM SIGIR по исследованиям и разработкам в области информационного поиска .
  33. ^ Малик, Осман (2019). «Нейронные сети с тензорными графами для обучения на изменяющихся во времени графах». Конференция 2019 года по нейронной обработке информации (NeurIPS) .
  34. ^ Манесси, Франко; Розза, Алессандро; Манзо, Марио (2020). «Сверточные сети с динамическими графами». Распознавание образов . 97 : 107000. arXiv : 1704.06199 . Бибкод : 2020PatRe..9707000M . дои : 10.1016/j.patcog.2019.107000 . S2CID   16745566 .
  35. ^ Малик, Осман. «Сверточные сети с динамическими графами, использующие тензорное M-продукт» .
  36. ^ Серрано, Джером (2014). «Nvidia представляет cuDNN, библиотеку на основе CUDA для глубоких нейронных сетей» .
  37. ^ Жуппи, Норман; Молодой; Патил; Паттерсон (2018). «Мотивация и оценка первого тензорного процессора». IEEE микро . 38 (3): 10–19. дои : 10.1109/MM.2018.032271057 . S2CID   21657842 .
  38. ^ Хемсот, Николь (2017). «Первый углубленный взгляд на архитектуру TPU Google» . Следующая платформа .
  39. ^ «Архитектура графического процессора NVIDIA Tesla V100» (PDF) . 2017.
  40. ^ Армасу, Люциан (2017). «О тензорах, тензорном потоке и новейших «тензорных ядрах» Nvidia » .
  41. ^ «Языковая модель Pathways (PaLM): масштабирование до 540 миллиардов параметров для достижения революционной производительности» . ai.googleblog.com . Проверено 29 марта 2023 г.
  42. ^ «Альпака: сильная, воспроизводимая модель следования инструкциям» . crfm.stanford.edu . Проверено 29 марта 2023 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5d5fbb6b7563148988cbcbf6c53ccc37__1715630100
URL1:https://arc.ask3.ru/arc/aa/5d/37/5d5fbb6b7563148988cbcbf6c53ccc37.html
Заголовок, (Title) документа по адресу, URL1:
Tensor (machine learning) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)