Тензорная сеть (тенсел)¶
Тенсел (англ. tensor network) — математическая структура, представляющая многомерный тензор в виде графа, узлы которого соответствуют тензорам меньшего ранга, а рёбра — операции свёртки (суммирования) по общим индексам. Тензорные сети являются основным инструментом аппроксимации многомерных массивов данных и применяются в квантовой физике, машинном обучении и численном анализе.
¶Математическое определение
Многомерный массив чисел с $n$ индексами называется тензором ранга $n$. Размерность тензора растёт экспоненциально с числом индексов: тензор ранга $d$ с размерностью $N$ по каждому индексу содержит $N^d$ элементов. Для больших $d$ прямое хранение и обработка такого объекта становятся невозможными.
Тенсорная сеть задаёт разложение тензора на элементарные блоки — «тенсоры-узлы» меньшего ранга, связанные между собой посредством повторяющихся индексов. Свободные (несвязанные) индексы узлов образуют индексы итогового тензора, а связанные индексы суммируются. Такое представление позволяет хранить многомерный массив с экспоненциально меньшим числом параметров.
¶Основные типы тензорных сетей
Различие между типами сетей определяется топологией графа:
- Матричная трёхмерная цепь (MPS, matrix product state) — одномерная цепочка узлов; каждому узлу соответствует тензор ранга 3 (два физических и один или два связанных «bond» индекса). Наиболее изученный класс, используемый для описания квантовых состояний одномерных систем.
- Матричная трёхмерная цепь с разветвлениями (MERA, multi-scale entanglement renormalization ansatz) — иерархическая сеть, моделирующая системы с масштабно-инвариантными корреляциями, в частности критические квантовые системы.
- Произвольные тензорные сети (PEPS, projected entangled pair states) — двумерные и многомерные обобщения MPS; узлы расположены на решётке, каждый связан с четырьмя соседями.
- Тензорные сети с разъёмными графами (TTN, tree tensor networks) — древовидные структуры, в которых каждый узел имеет не более трёх связей.
- Тензорный размах (tensor train, TT) — представление многомерного массива в виде цепочки матриц; введено И. В. Осиповым, В. Н. Кадышевским и А. Ю. Сергеевым в 2011 году.
¶История
Идея разложения многомерных массивов на цепочки матриц возникла в контексте численного анализа. В 2009 году И. В. Осипов, В. Н. Кадышевский и А. Ю. Сергеев предложили метод tensor train для приближённого представления многомерных функций. Параллельно в физике квантовых многочастичных систем развивались методы MPS (Ш. Видаль, 2003) и DMRG (S. R. White, 1992), которые фактически являются частными случаями тензорных сетей.
Термин «tensor network» закрепился в научной литературе в 2010-х годах, когда стало очевидно, что методы из теории квантовых систем и методы сжатия многомерных данных в численном анализе описывают единую математическую структуру.
¶Применение
¶Квантовая физика
В квантовой механике состояние системы из $N$ кубитов описывается вектором в пространстве размерности $2^N$. Тензорные сети позволяют аппроксимировать такие состояния с числом параметров, полиномиально зависящим от $N$. Методы MPS и DMRG широко используются для расчёта свойств одномерных квантовых систем, а PEPS — для двумерных.
¶Машинное обучение
Тензорные сети применяются для сжатия весов нейронных сетей, что позволяет сократить число параметров модели при сохранении точности. Особое развитие получили тензорные разложения в задачах обработки естественного языка и компьютерного зрения. В 2016—2020 годах были предложены архитектуры, в которых линейные слои нейронных сетей заменяются тензорными слоями на основе MPS и других сетей.
¶Численный анализ
Метод tensor train применяется для решения многомерных задач, например для аппроксимации решений уравнений в частных производных, интегрирования и оптимизации в пространствах высокой размерности.
¶Вычислительная сложность
Основная операция над тензорными сетями — свёртка узлов. Сложность вычислений определяется размерами связывающих индексов (так называемый «bond dimension»). Для MPS сложность полиномиальна от числа узлов, для произвольных сетей (PEPS) — в общем случае NP-трудна, что ограничивает их практическое применение.
¶Примечания
Тензорные сети являются активно развивающейся областью на стыке линейной алгебры, физики конденсированного состояния и машинного обучения. В России исследования в этой области ведутся в МФТИ, ИВМ СО РАН, МГУ и других научных центрах.
¶Источники
- Осипов И. В., Кадышевский В. Н., Сергеев А. Ю. «Tensor train decomposition» // SIAM Journal on Scientific Computing, 2011.
- Orús R. «A practical introduction to tensor networks: Matrix product states and projected entangled pair states» // Annals of Physics, 2014.
- Cichocki A. et al. «Tensor Decompositions for Signal Processing Applications» // IEEE Signal Processing Magazine, 2015.
- Stoudenmire E. M., Schwab D. J. «Supervised Learning with Tensor Networks» // Advances in Neural Information Processing Systems, 2016.
