Алгоритм Синкхорна
Материал из MachineLearning.
| Строка 1: | Строка 1: | ||
{{well|Статья написана с использованием LLM '''DeepSeek''' и проверена участником [[Участник:Kirill Savitskii|Kirill Savitskii]] 18:01, 15 июля 2026 (MSD)}} | {{well|Статья написана с использованием LLM '''DeepSeek''' и проверена участником [[Участник:Kirill Savitskii|Kirill Savitskii]] 18:01, 15 июля 2026 (MSD)}} | ||
| - | '''Алгоритм Синкхорна''' (также известный как '''итерации Синкхорна–Кноппа''') — это [[итеративный метод]] масштабирования строк и столбцов | + | '''Алгоритм Синкхорна''' (также известный как '''итерации Синкхорна–Кноппа''') — это [[итеративный метод]] масштабирования строк и столбцов матрицы, который позволяет эффективно решать задачу [[Оптимальный транспорт|оптимального транспорта]] с [[Энтропийная регуляризация|энтропийной регуляризацией]]. Он лежит в основе современных вычислительных инструментов для работы с [[Расстояние Вассерштейна|расстоянием Вассерштейна]] и его сглаженным вариантом — '''расстоянием Синкхорна'''. Благодаря высокой скорости, простоте реализации и полной дифференцируемости, алгоритм стал одним из ключевых строительных блоков в [[Машинное обучение|машинном обучении]], [[Компьютерное зрение|компьютерном зрении]] и вычислительной биологии. |
== История == | == История == | ||
| - | Математический фундамент был заложен в работах Ричарда Синкхорна. В 1964 году он доказал, что любую квадратную матрицу со строго положительными элементами можно привести к | + | Математический фундамент был заложен в работах Ричарда Синкхорна. В 1964 году он доказал, что любую квадратную матрицу со строго положительными элементами можно привести к дважды стохастическому виду попеременным диагональным масштабированием <ref>Sinkhorn, R. (1964). "A relationship between arbitrary positive matrices and doubly stochastic matrices". ''Annals of Mathematical Statistics''. '''35''' (2): 876–879.</ref>. Позже, вместе с Полом Кноппом, он обобщил результат на неотрицательные матрицы и строго доказал сходимость итераций <ref>Sinkhorn, R., & Knopp, P. (1967). "Concerning nonnegative matrices and doubly stochastic matrices". ''Pacific Journal of Mathematics''. '''21''' (2): 343–348.</ref>. |
В современном контексте алгоритм обрёл второе рождение благодаря Марко Кутюри, который в 2013 году предложил использовать энтропийно-регуляризованный оптимальный транспорт для быстрого вычисления расстояния Вассерштейна и ввёл термин «Синкхорновы расстояния» <ref name="cuturi2013">Cuturi, M. (2013). "Sinkhorn distances: Lightspeed computation of optimal transport". ''Advances in Neural Information Processing Systems''. '''26''': 2292–2300.</ref>. Эта работа превратила красивую теорему в практический инструмент анализа данных. | В современном контексте алгоритм обрёл второе рождение благодаря Марко Кутюри, который в 2013 году предложил использовать энтропийно-регуляризованный оптимальный транспорт для быстрого вычисления расстояния Вассерштейна и ввёл термин «Синкхорновы расстояния» <ref name="cuturi2013">Cuturi, M. (2013). "Sinkhorn distances: Lightspeed computation of optimal transport". ''Advances in Neural Information Processing Systems''. '''26''': 2292–2300.</ref>. Эта работа превратила красивую теорему в практический инструмент анализа данных. | ||
| Строка 22: | Строка 22: | ||
= \min_{\mathbf{P} \in \Pi(\mathbf{a},\mathbf{b})} \langle \mathbf{P}, \mathbf{C} \rangle + \varepsilon \sum_{i,j} P_{ij} (\log P_{ij} - 1).</tex> | = \min_{\mathbf{P} \in \Pi(\mathbf{a},\mathbf{b})} \langle \mathbf{P}, \mathbf{C} \rangle + \varepsilon \sum_{i,j} P_{ij} (\log P_{ij} - 1).</tex> | ||
| - | Введение энтропийного члена делает задачу строго | + | Введение энтропийного члена делает задачу строго выпуклой и гладкой. Ключевым теоретическим результатом, лежащим в основе её решения, является '''теорема Синкхорна'''. |
'''Теорема Синкхорна (Sinkhorn, 1964; Sinkhorn & Knopp, 1967).''' Пусть <tex>K \in \mathbb{R}^{n \times m}</tex> — матрица со строго положительными элементами, а <tex>\mathbf{a} \in \Delta^n</tex> и <tex>\mathbf{b} \in \Delta^m</tex> — вероятностные векторы. Тогда существуют единственные с точностью до взаимного масштабирования диагональные матрицы <tex>\mathbf{D}_u = \operatorname{diag}(\mathbf{u})</tex> и <tex>\mathbf{D}_v = \operatorname{diag}(\mathbf{v})</tex> с положительными диагоналями, такие что матрица <tex>\mathbf{D}_u K \mathbf{D}_v</tex> имеет маргинальные суммы <tex>\mathbf{a}</tex> и <tex>\mathbf{b}</tex>. В контексте регуляризованного оптимального транспорта это означает, что решение представляется в виде | '''Теорема Синкхорна (Sinkhorn, 1964; Sinkhorn & Knopp, 1967).''' Пусть <tex>K \in \mathbb{R}^{n \times m}</tex> — матрица со строго положительными элементами, а <tex>\mathbf{a} \in \Delta^n</tex> и <tex>\mathbf{b} \in \Delta^m</tex> — вероятностные векторы. Тогда существуют единственные с точностью до взаимного масштабирования диагональные матрицы <tex>\mathbf{D}_u = \operatorname{diag}(\mathbf{u})</tex> и <tex>\mathbf{D}_v = \operatorname{diag}(\mathbf{v})</tex> с положительными диагоналями, такие что матрица <tex>\mathbf{D}_u K \mathbf{D}_v</tex> имеет маргинальные суммы <tex>\mathbf{a}</tex> и <tex>\mathbf{b}</tex>. В контексте регуляризованного оптимального транспорта это означает, что решение представляется в виде | ||
| Строка 54: | Строка 54: | ||
=== Сходимость и остановка === | === Сходимость и остановка === | ||
| - | Сходимость итераций к решению с точностью до машинного нуля гарантирована для любой положительной матрицы <tex>\mathbf{K}</tex> <ref>Sinkhorn & Knopp, 1967.</ref>. На практике число необходимых итераций зависит от параметра регуляризации <tex>\varepsilon</tex>: чем он меньше, тем медленнее сходимость. Типичный критерий остановки — [[ | + | Сходимость итераций к решению с точностью до машинного нуля гарантирована для любой положительной матрицы <tex>\mathbf{K}</tex> <ref>Sinkhorn & Knopp, 1967.</ref>. На практике число необходимых итераций зависит от параметра регуляризации <tex>\varepsilon</tex>: чем он меньше, тем медленнее сходимость. Типичный критерий остановки — [[дивергенция Кульбака–Лейблера]] между текущими маргиналами и целевыми значениями, либо допустимая погрешность изменения двойственных потенциалов. |
== Вычислительная сложность == | == Вычислительная сложность == | ||
| Строка 62: | Строка 62: | ||
* '''Экранирование''' (screening) на основе <tex>\varepsilon</tex>-разреженности плана позволяет не вычислять маловероятные элементы <tex>K_{ij}</tex>, снижая сложность до <tex>\mathcal{O}(N)</tex> для одномерных задач <ref>Altschuler, J., Weed, J., & Rigollet, P. (2017). "Near-linear time approximation algorithms for optimal transport via Sinkhorn iteration". ''Advances in Neural Information Processing Systems''. '''30''': 1964–1974.</ref>. | * '''Экранирование''' (screening) на основе <tex>\varepsilon</tex>-разреженности плана позволяет не вычислять маловероятные элементы <tex>K_{ij}</tex>, снижая сложность до <tex>\mathcal{O}(N)</tex> для одномерных задач <ref>Altschuler, J., Weed, J., & Rigollet, P. (2017). "Near-linear time approximation algorithms for optimal transport via Sinkhorn iteration". ''Advances in Neural Information Processing Systems''. '''30''': 1964–1974.</ref>. | ||
* '''Многоуровневые методы''' (multiscale) агрегируют опоры распределений. | * '''Многоуровневые методы''' (multiscale) агрегируют опоры распределений. | ||
| - | * Использование | + | * Использование GPU позволяет эффективно векторизовать матричные умножения. |
== Преимущества и ограничения == | == Преимущества и ограничения == | ||
| Строка 85: | Строка 85: | ||
: Выравнивание распределений признаков из исходного и целевого доменов путём минимизации расстояния Синкхорна между эмпирическими распределениями. Алгоритм используется в методах типа [[COOT]] и [[JDOT]]. | : Выравнивание распределений признаков из исходного и целевого доменов путём минимизации расстояния Синкхорна между эмпирическими распределениями. Алгоритм используется в методах типа [[COOT]] и [[JDOT]]. | ||
| - | ; [[ | + | ; [[Генеративная состязательная сеть|Генеративное моделирование]] |
: В [[Wasserstein GAN|WGAN]] и его вариантах расстояние Синкхорна служит стабильным и информативным сигналом для обучения генератора. Sinkhorn Autoencoder напрямую минимизирует транспортные потери в [[Латентное пространство|латентном пространстве]]. | : В [[Wasserstein GAN|WGAN]] и его вариантах расстояние Синкхорна служит стабильным и информативным сигналом для обучения генератора. Sinkhorn Autoencoder напрямую минимизирует транспортные потери в [[Латентное пространство|латентном пространстве]]. | ||
| Строка 100: | Строка 100: | ||
* [[Оптимальный транспорт]] | * [[Оптимальный транспорт]] | ||
* [[Расстояние Вассерштейна]] | * [[Расстояние Вассерштейна]] | ||
| - | |||
* [[Энтропийная регуляризация]] | * [[Энтропийная регуляризация]] | ||
| - | |||
* [[Метод масштабирования матриц]] | * [[Метод масштабирования матриц]] | ||
* [[Алгоритм Брэгмана]] | * [[Алгоритм Брэгмана]] | ||
Текущая версия
| | Статья написана с использованием LLM DeepSeek и проверена участником Kirill Savitskii 18:01, 15 июля 2026 (MSD) |
Алгоритм Синкхорна (также известный как итерации Синкхорна–Кноппа) — это итеративный метод масштабирования строк и столбцов матрицы, который позволяет эффективно решать задачу оптимального транспорта с энтропийной регуляризацией. Он лежит в основе современных вычислительных инструментов для работы с расстоянием Вассерштейна и его сглаженным вариантом — расстоянием Синкхорна. Благодаря высокой скорости, простоте реализации и полной дифференцируемости, алгоритм стал одним из ключевых строительных блоков в машинном обучении, компьютерном зрении и вычислительной биологии.
Содержание |
История
Математический фундамент был заложен в работах Ричарда Синкхорна. В 1964 году он доказал, что любую квадратную матрицу со строго положительными элементами можно привести к дважды стохастическому виду попеременным диагональным масштабированием [1]. Позже, вместе с Полом Кноппом, он обобщил результат на неотрицательные матрицы и строго доказал сходимость итераций [1].
В современном контексте алгоритм обрёл второе рождение благодаря Марко Кутюри, который в 2013 году предложил использовать энтропийно-регуляризованный оптимальный транспорт для быстрого вычисления расстояния Вассерштейна и ввёл термин «Синкхорновы расстояния» [1]. Эта работа превратила красивую теорему в практический инструмент анализа данных.
Математические основы
Задача оптимального транспорта
В дискретной постановке Канторовича заданы два распределения и
(вероятностные симплексы), а также матрица стоимостей
, где
— стоимость транспортировки единицы массы из опоры
в опору
. Требуется найти транспортный план
, минимизирующий суммарные затраты:
где допустимое множество — множество всех матриц с заданными маргинальными суммами. Эта задача является задачей линейного программирования и для больших
требует значительных вычислительных затрат.
Энтропийная регуляризация и расстояние Синкхорна
Кютюри (2013) предложил добавить к целевой функции отрицательную энтропию Шеннона транспортного плана с весовым коэффициентом [1]:
Введение энтропийного члена делает задачу строго выпуклой и гладкой. Ключевым теоретическим результатом, лежащим в основе её решения, является теорема Синкхорна.
Теорема Синкхорна (Sinkhorn, 1964; Sinkhorn & Knopp, 1967). Пусть — матрица со строго положительными элементами, а
и
— вероятностные векторы. Тогда существуют единственные с точностью до взаимного масштабирования диагональные матрицы
и
с положительными диагоналями, такие что матрица
имеет маргинальные суммы
и
. В контексте регуляризованного оптимального транспорта это означает, что решение представляется в виде
где — матрица ядра Гиббса, а векторы
и
гарантированно существуют и единственны с точностью до постоянного множителя.
Расстояние Синкхорна между распределениями и
определяется как величина регуляризованной транспортной стоимости
. При
оно сходится к точному расстоянию Вассерштейна, а при
вырождается в тривиальную независимую модель
.
Двойственная задача
Энтропийно-регуляризованная задача эквивалентна поиску двойственных потенциалов , доставляющих максимум двойственному функционалу:
Связь с прямыми переменными выражается как и
. Итерации алгоритма Синкхорна непосредственно решают эту двойственную задачу, попеременно пересчитывая потенциалы так, чтобы удовлетворить маргинальным ограничениям.
Алгоритм Синкхорна
Итеративная схема
Алгоритм нацелен на поиск векторов и
. Из условия на маргиналы
и
вытекает система уравнений:
где — поэлементное умножение. Отсюда получается итеративная процедура чередующегося обновления:
Деление выполняется поэлементно. Начальное приближение обычно выбирают как . Каждый шаг соответствует масштабированию строк, а затем столбцов матрицы
так, чтобы они давали требуемые суммы. Итоговый план восстанавливается как
.
Сходимость и остановка
Сходимость итераций к решению с точностью до машинного нуля гарантирована для любой положительной матрицы [1]. На практике число необходимых итераций зависит от параметра регуляризации
: чем он меньше, тем медленнее сходимость. Типичный критерий остановки — дивергенция Кульбака–Лейблера между текущими маргиналами и целевыми значениями, либо допустимая погрешность изменения двойственных потенциалов.
Вычислительная сложность
Каждая итерация включает два умножения матрицы (порождённой из
) на вектор, что требует
операций в плотном случае. Для квадратных матриц размера
сложность одной итерации составляет
.
Благодаря геометрической сходимости общее количество итераций до достижения фиксированной точности слабо (логарифмически) зависит от точности, но обратно пропорционально . Существуют ускоренные версии:
- Экранирование (screening) на основе
-разреженности плана позволяет не вычислять маловероятные элементы
, снижая сложность до
для одномерных задач [1].
- Многоуровневые методы (multiscale) агрегируют опоры распределений.
- Использование GPU позволяет эффективно векторизовать матричные умножения.
Преимущества и ограничения
Преимущества
- Вычислительная эффективность: На много порядков быстрее точных решателей на основе симплекс-метода или методов внутренней точки.
- Дифференцируемость: Явная зависимость выходного плана от входных распределений и матрицы стоимостей позволяет использовать алгоритм в качестве слоя нейронной сети и вычислять градиенты с помощью обратного распространения.
- Теоретическая гарантия сходимости: Безусловная сходимость для любой положительной
.
- Разреженная структура: Энтропийная регуляризация размывает план, но одновременно позволяет аппроксимировать его разреженным, что даёт дополнительные возможности для ускорения.
Ограничения
- Смещение оценки: Результатом является расстояние Синкхорна, а не точное расстояние Вассерштейна. Размывание (
) недопустимо в задачах, где требуется точное сопоставление.
- Выбор
: Малые
замедляют сходимость и приводят к численной нестабильности; большие — к излишнему сглаживанию геометрической структуры.
- Квадратичная сложность по памяти: Хранение матрицы
требует
памяти. Для миллионов точек прямое применение невозможно без использования аппроксимаций или потоковых схем.
Современные применения в машинном обучении
Алгоритм Синкхорна стал центральным вычислительным примитивом во многих разделах ML.
- Барицентры Вассерштейна
- Усреднение распределений (гистограмм, изображений, графов) в смысле минимальной транспортной стоимости. Барицентр вычисляется итеративно с вложенным алгоритмом Синкхорна [1].
- Перенос обучения (Domain Adaptation)
- Выравнивание распределений признаков из исходного и целевого доменов путём минимизации расстояния Синкхорна между эмпирическими распределениями. Алгоритм используется в методах типа COOT и JDOT.
- Генеративное моделирование
- В WGAN и его вариантах расстояние Синкхорна служит стабильным и информативным сигналом для обучения генератора. Sinkhorn Autoencoder напрямую минимизирует транспортные потери в латентном пространстве.
- NLP и Выравнивание текстов
- Выравнивание распределений векторных представлений слов для машинного перевода без учителя, а также сравнение тематических моделей документов.
- Анализ одиночных клеток и проточная цитометрия
- Сравнение гистограмм маркеров клеточных популяций, траекторный анализ и выравнивание батчей данных.
- Компьютерное зрение
- Точное сопоставление гистограмм цвета для передачи стиля, регистрация 3D-облаков точек и нейронное отслеживание объектов.
См. также
- Оптимальный транспорт
- Расстояние Вассерштейна
- Энтропийная регуляризация
- Метод масштабирования матриц
- Алгоритм Брэгмана
Примечания
Литература
- Sinkhorn, R. A relationship between arbitrary positive matrices and doubly stochastic matrices // Annals of Mathematical Statistics. — 1964. — Т. 35. — № 2. — С. 876–879.
- Sinkhorn, R., Knopp, P. Concerning nonnegative matrices and doubly stochastic matrices // Pacific Journal of Mathematics. — 1967. — Т. 21. — № 2. — С. 343–348.
- Cuturi, M. Sinkhorn distances: Lightspeed computation of optimal transport // Advances in Neural Information Processing Systems. — 2013. — Т. 26. — С. 2292–2300.
- Peyré, G., Cuturi, M. Computational Optimal Transport: With Applications to Data Science. — Now Publishers, 2019. — T. 11. — (Foundations and Trends in Machine Learning).
- Altschuler, J., Weed, J., Rigollet, P. Near-linear time approximation algorithms for optimal transport via Sinkhorn iteration // Advances in Neural Information Processing Systems. — 2017. — Т. 30. — С. 1964–1974.
- Benamou, J.-D., Carlier, G., Cuturi, M., Nenna, L., Peyré, G. Iterative Bregman projections for regularized transportation problems // SIAM Journal on Scientific Computing. — 2015. — Т. 37. — № 2. — С. A1111–A1138.

