Недавно я заметил, что многие люди разрабатывают тензорные эквиваленты многих методов (тензорная факторизация, тензорные ядра, тензоры для тематического моделирования и т. Д.). Мне интересно, почему мир внезапно очарован тензорами? Существуют ли недавние документы / стандартные результаты, которые особенно удивляют, которые привели к этому? Это в вычислительном отношении намного дешевле, чем предполагалось ранее?
Я не болтливый, мне искренне интересно, и если есть какие-то ссылки на статьи по этому поводу, я бы с удовольствием их прочитал.
Ответы:
Тензоры часто предлагают более естественное представление данных, например, рассматривают видео, которое состоит из явно коррелированных изображений с течением времени. Вы можете превратить это в матрицу, но это просто не естественно и не интуитивно понятно (что означает факторизация некоторого матричного представления видео?).
Тензоры находятся в тренде по нескольким причинам:
источник
Я думаю, что ваш вопрос должен сочетаться с ответом, который в равной степени свободен и открыт, как и сам вопрос. Итак, вот две мои аналогии.
Во-первых, если вы не чистый математик, вас, вероятно, сначала учили одномерными вероятностями и статистикой. Например, скорее всего, ваш первый пример OLS был, вероятно, на модели, подобной этой: Скорее всего, вы прошли оценок путем фактической минимизации суммы наименьших квадратов: Затем вы записываете FOC s для параметров и получаете решение:yi=a+bxi+ei TSS=∑i(yi−a¯−b¯xi)2 ∂ T T S∂TTS∂a¯=0
Затем позже вам скажут, что есть более простой способ сделать это с векторной (матричной) нотацией:y=Xb+e
и TTS становится:TTS=(y−Xb¯)′(y−Xb¯)
FOCs:2X′(y−Xb¯)=0
И решениеb¯=(X′X)−1X′y
Если вы хорошо разбираетесь в линейной алгебре, вы будете придерживаться второго подхода, как только выучите его, потому что на самом деле это проще, чем записывать все суммы в первом подходе, особенно когда вы попадаете в многомерную статистику.
Поэтому моя аналогия состоит в том, что переход к тензорным элементам из матриц аналогичен переходу от векторов к матрицам: если вы знаете тензорные функции, некоторые вещи будут выглядеть проще.
Во-вторых, откуда взялись тензоры? Я не уверен во всей истории этой вещи, но я изучил их в теоретической механике. Конечно, у нас был курс по тензорам, но я не понимал, в чем заключались все эти причудливые способы обмена индексами в этом курсе по математике. Все это стало иметь смысл в контексте изучения сил натяжения.
Итак, в физике они также начинаются с простого примера давления, определяемого как сила на единицу площади, следовательно: Это означает, что вы можете рассчитать вектор силы , умножив давление (скалярное) на единицу площади (нормальный вектор). Это когда у нас есть только одна бесконечная плоская поверхность. В этом случае есть только одна перпендикулярная сила. Большой воздушный шар будет хорошим примером.F=p⋅dS F p dS
Однако, если вы изучаете натяжение внутри материалов, вы имеете дело со всеми возможными направлениями и поверхностями. В этом случае у вас есть силы на любую заданную поверхность, тянущую или толкающую во всех направлениях, не только перпендикулярных. Некоторые поверхности разрываются тангенциальными силами "вбок" и т. Д. Итак, ваше уравнение становится: Сила по-прежнему является вектором а площадь поверхности по-прежнему представлена ее нормальным вектором , но является тензором сейчас не скаляр.F=P⋅dS F dS P
Хорошо, скаляр и вектор тоже являются тензорами :)
Другое место, где естественным образом появляются тензоры, это ковариационные или корреляционные матрицы. Подумайте только: как однажды преобразовать матрицу корреляции в другую ? Вы понимаете, что мы не можем просто сделать это следующим образом: где потому что мы должны держать все положительными полуопределенными.C0 C1 Cθ(i,j)=C0(i,j)+θ(C1(i,j)−C0(i,j)), θ∈[0,1] Cθ
Итак, нам нужно найти путь такой что , где - небольшое нарушение матрицы. Есть много разных путей, и мы могли бы искать самые короткие. Вот так мы попадаем в риманову геометрию, многообразия и ... тензоры.δCθ C1=C0+∫θδCθ δCθ
ОБНОВЛЕНИЕ: что такое тензор?
@amoeba и другие ввязались в живое обсуждение значения тензора и того, является ли он массивом. Итак, я подумал, что пример в порядке.
Это работает точно так же, как матричное умножение вектора.
источник
So, let's look at an example where we spend just z1=1.42 on bundle 1. In this case, the first merchant gets x1=1 dollars, and the second merchant gets the same x2=1.
раньше вы говорили, что первый пакет - это мыpay both 0.71 dollars
. Таким образом, потратив 1,42 на первый пакет, вы получите 0,71, а не 1, нет?Это не ответ на ваш вопрос, а расширенный комментарий к проблеме, который был поднят здесь в комментариях разных людей, а именно: являются ли «тензоры» машинного обучения тем же, что и тензоры в математике?
Теперь, согласно Cichoki 2014, эпоха обработки больших данных: новый подход через тензорные сети и тензорные разложения , Cichoki et al. 2014, Тензорные разложения для приложений обработки сигналов ,
Таким образом, в машинном обучении / обработке данных тензор выглядит просто как многомерный числовой массив. Примером такого трехмерного тензора может быть видеокадров размером . Обычная матрица данных является примером двумерного тензора согласно этому определению.1000 640×480 n×p
Это не то, как тензоры определены в математике и физике!
Тензор может быть определен как многомерный массив, подчиняющийся определенным законам преобразования при смене координат ( см. Википедию или первое предложение в статье MathWorld ). Лучшее, но эквивалентное определение ( см. Википедия ) говорит, что тензор в векторном пространстве является элементом . Обратите внимание , что это означает , что, когда представлен в виде многомерных массивов, тензоры имеют размер или и т.д., где имеет размерность .V V⊗…⊗V∗ p×p p×p×p p V
Все известные в физике тензоры таковы: тензор инерции в механике равен , электромагнитный тензор в специальной теории относительности равен , тензор кривизны Римана в общей теории относительности равен . Кривизна и электромагнитные тензоры фактически тензорные поля, которые сечения тензорных расслоений (см , например , здесь , но он получает техническим), но все это определяется через векторное пространство .3×3 4×4 4×4×4×4 V
Конечно, можно построить тензорное произведение из -мерного и -мерного но его элементы обычно не называют "тензорными", как указано, например, здесь, в Википедии :p V q WV⊗W p V q W
Одним из примеров реального тензора в статистике была бы ковариационная матрица. Это и преобразуется определенным образом, когда система координат в мерном пространстве признаков изменяется. Это тензор. Но a матрицы данных - нет.p V n × p Xp×p p V n×p X
Но можем ли мы , по крайней мере , думать как элемент тензорного произведения , где является - мерным и является - мерным? Для конкретности, пусть строки в соответствуют людям (субъектам), а столбцы - некоторым измерениям (особенностям). Изменение координат в соответствует линейному преобразованию объектов, и это все время делается в статистике (подумайте о PCA). Но изменение координат в , похоже, не соответствует чему-то значимому (и я призываю всех, у кого есть контрпример, сообщить мне об этом в комментариях)W ⊗ V W n V p X V W X W ⊗ VX W⊗V W n V p X V W , Так что это не кажется , что есть что - то получили, рассматривая как элемент .X W⊗V
И действительно, общее обозначение , чтобы написать , где является множество всех матриц (которые, кстати, являются определяется как прямоугольные массивы чисел, без каких-либо предполагаемых свойств преобразования). R n × p n × pX∈Rn×p Rn×p n×p
Мой вывод таков: (а) тензоры машинного обучения не являются тензорами математики / физики, и (б) в большинстве случаев их также бесполезно рассматривать как элементы тензорных произведений.
Вместо этого они являются многомерными обобщениями матриц. К сожалению, не существует установленного математического термина для этого, поэтому кажется, что это новое значение термина «тензор» уже здесь, чтобы остаться.
источник
Как человек, который изучает и строит нейронные сети и неоднократно задавал этот вопрос, я пришел к выводу, что мы заимствуем полезные аспекты тензорной нотации просто потому, что они значительно упрощают деривацию и сохраняют наши градиенты в их исходной форме. Цепное правило тензора является одним из самых элегантных инструментов деривации я когда - либо видел. Дальнейшие тензорные нотации поощряют вычислительно эффективные упрощения, которые просто кошмарно найти при использовании распространенных расширенных версий векторного исчисления.
В векторе / матричном исчислении , например , существует 4 типа матричных продуктов (Адамар, Кронекер, Обыкновенного и поэлементны) , но в тензорном исчислении есть только один тип умножения пока она охватывает все матричные умножений и многих другие. Если вы хотите быть щедрым, интерпретируйте тензор как многомерный массив, для которого мы намерены использовать тензорное исчисление, чтобы найти производные, а не то, что объекты, которыми мы манипулируем, являются тензорами .
Честно говоря, мы, вероятно, называем наши многомерные массивы тензорами, потому что большинство экспертов по машинному обучению не очень заботятся о соблюдении определений математики или физики высокого уровня. Реальность мы просто заимствование хорошо развитые конвенции Эйнштейна о суммировании и конкрементов , которые обычно используются при описании тензоры и не хотим сказать , исчисление на основе Эйнштейна суммирования конвенционного снова и снова. Возможно, однажды мы могли бы разработать новый набор нотаций и соглашений, которые крадут только то, что им нужно, из тензорного исчисления специально для анализа нейронных сетей, но в качестве молодой области, которая требует времени.
источник
Теперь я на самом деле согласен с большинством других ответов. Но я собираюсь сыграть адвоката Дьявола в одном пункте. Опять же, это будет свободным течением, поэтому извинения ...
Google объявил о программе Tensor Flow для глубокого изучения. Это заставило меня задуматься о том, что было «тензорным» в отношении глубокого обучения, поскольку я не мог установить связь с определениями, которые видел.
Теперь идея состоит в том, чтобы связать воедино кучу таких преобразований, чтобы получить полезное представление исходных координат. Так, например, после последнего преобразования изображения простая логистическая регрессия даст превосходную точность классификации; тогда как на необработанном изображении это определенно не будет.
Теперь, вещь, которая, кажется, была потеряна из виду, это свойства инвариантности, которые ищутся в правильном тензоре. Особенно когда размеры преобразованных переменных могут отличаться от слоя к слою. [Например, некоторые вещи, которые я видел в тензорах, не имеют смысла для неквадратичных якобианов - возможно, мне не хватает некоторых методов]
Что было сохранено, так это понятие преобразований переменных, и что некоторые представления вектора могут быть более полезными, чем другие, для конкретных задач. Аналогия в том, имеет ли смысл решать проблему в декартовых или полярных координатах.
РЕДАКТИРОВАТЬ в ответ на @Aksakal:
Вектор не может быть полностью сохранен из-за изменения количества координат. Однако, в некотором смысле, по меньшей мере, полезная информация может быть сохранена при преобразовании. Например, с помощью PCA мы можем отбросить координату, поэтому мы не можем инвертировать преобразование, но, тем не менее, уменьшение размерности может быть полезным. Если бы все последующие преобразования были обратимыми, вы могли бы вернуться обратно от предпоследнего слоя к входному пространству. На самом деле, я видел только вероятностные модели, которые позволяют это (RBM) путем выборки.
источник
Вот слегка отредактированный (для контекста) отрывок из неотрицательного факторизации тензора с приложениями к статистике и компьютерному зрению, А. Шашуа и Т. Хазан, который дает понять, почему, по крайней мере, некоторые люди очарованы тензорами.
источник
[EDIT] Только что обнаружил книгу Питера МакКаллага, Тензорные методы в статистике .
Тензорные элементы проявляют свойства интереса при неизвестной идентификации смеси в сигнале (или изображении), особенно вокруг понятия тензорного разложения канонической полиады (CP), см., Например, Tensors: краткое введение , P. Comon, 2014. Поле известно под названием «слепое разделение источников (BSS)»:
Недавно были получены некоторые результаты единственности для тензоров третьего порядка: О единственности канонического полиадического разложения тензоров третьего порядка ( часть 1 , часть 2 ), I. Domanov et al. , 2013.
Тензорные разложения являются узлами, часто связанными с разреженными разложениями, например, путем наложения структуры на факторы разложения (ортогональность, Вандермонде, Ханкель) и низкий ранг, чтобы приспособиться к неединственности.
В связи с растущей потребностью в неполном анализе данных и определении сложных измерений из массивов датчиков все больше используются тензоры для пополнения матрицы, анализа скрытых переменных и разделения источников.
Дополнительное примечание: очевидно, каноническое разложение полиадий также эквивалентно разложению Вэринга однородного многочлена в виде суммы степеней линейных форм, с приложениями для идентификации системы (блочно-структурированные, параллельные модели Винера-Гаммерштейна или нелинейные модели пространства состояний).
источник
Позвольте мне порекомендовать мою книгу: Kroonenberg, PM Applied Multiway Data Analysis и Smilde et al. Многосторонний анализ. Приложения в области химических наук (оба Wiley). Также может быть интересна моя статья: Kroonenberg, PM (2014). История многокомпонентного анализа компонентов и трехстороннего анализа соответствия. В Blasius, J. и Greenacre, MJ (Eds.). Визуализация и вербализация данных (стр. 77–94). Нью-Йорк: Чепмен и Холл / CRC. ISBN 9781466589803.
Эти ссылки говорят о многопользовательских данных, а не о тензорах, но относятся к той же области исследований.
источник
Это правда, что люди в машинном обучении не рассматривают тензоры с той же тщательностью, что и математики и врачи. Вот статья, которая может прояснить это несоответствие: Comon P., «Tensors: краткое введение» IEEE Sig. Proc. Журнал , 31 мая 2014
источник