Алгоритм Синкхорна
Материал из MachineLearning.
(Новая: {{well|Статья написана с использованием LLM '''DeepSeek''' и проверена участником ~~~~}} = Алгоритм Синкхорна = '''Ал...) |
|||
| Строка 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)}} | ||
| - | + | ||
'''Алгоритм Синкхорна''' (также известный как '''итерации Синкхорна–Кноппа''') — это [[итеративный метод]] масштабирования строк и столбцов [[Матрица (математика)|матрицы]], который позволяет эффективно решать задачу [[Оптимальный транспорт|оптимального транспорта]] с [[Энтропийная регуляризация|энтропийной регуляризацией]]. Он лежит в основе современных вычислительных инструментов для работы с [[Расстояние Вассерштейна|расстоянием Вассерштейна]] и его сглаженным вариантом — '''расстоянием Синкхорна'''. Благодаря высокой скорости, простоте реализации и полной дифференцируемости, алгоритм стал одним из ключевых строительных блоков в [[Машинное обучение|машинном обучении]], [[Компьютерное зрение|компьютерном зрении]] и [[Вычислительная биология|вычислительной биологии]]. | '''Алгоритм Синкхорна''' (также известный как '''итерации Синкхорна–Кноппа''') — это [[итеративный метод]] масштабирования строк и столбцов [[Матрица (математика)|матрицы]], который позволяет эффективно решать задачу [[Оптимальный транспорт|оптимального транспорта]] с [[Энтропийная регуляризация|энтропийной регуляризацией]]. Он лежит в основе современных вычислительных инструментов для работы с [[Расстояние Вассерштейна|расстоянием Вассерштейна]] и его сглаженным вариантом — '''расстоянием Синкхорна'''. Благодаря высокой скорости, простоте реализации и полной дифференцируемости, алгоритм стал одним из ключевых строительных блоков в [[Машинное обучение|машинном обучении]], [[Компьютерное зрение|компьютерном зрении]] и [[Вычислительная биология|вычислительной биологии]]. | ||
Текущая версия
| | Статья написана с использованием 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-облаков точек и нейронное отслеживание объектов.
См. также
- Оптимальный транспорт
- Расстояние Вассерштейна
- Земное расстояние (EMD)
- Энтропийная регуляризация
- Дважды стохастическая матрица
- Метод масштабирования матриц
- Алгоритм Брэгмана
Примечания
Литература
- 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.

