Оптимальный транспорт
Релаксация Канторовича и расстояние Вассерштейна
1942 год. Блокадный Ленинград. Канторович решает задачу о распределении ресурсов - и по пути изобретает инструмент, который в 2017-м починит GAN. Wasserstein GAN за 4 страницы решил главную проблему генеративных сетей - mode collapse - заменив KL-дивергенцию одним математическим примитивом. Число-шок: KL-дивергенция между двумя точечными массами в разных точках равна бесконечности. Расстояние Вассерштейна - просто расстоянию между ними. Это не технический нюанс. Это другая геометрия мира.
- **WGAN (Arjovsky, 2017)**: замена JS-дивергенции на $W_1$ устранила mode collapse в GAN-обучении. Stable Diffusion, DALL-E - потомки этого открытия.
- **Flow matching (Lipman, 2022)**: FLUX, Stable Diffusion 3 используют OT-пути из Wasserstein-геометрии для прямого обучения генеративных потоков без диффузионных шагов.
- **Domain adaptation**: Wasserstein измеряет сдвиг распределений между доменами (source/target). DANN и аналоги минимизируют $W_p$ для выравнивания признакового пространства.
- **Облака точек**: сравнение 3D-объектов в PointNet++ и NeRF через Chamfer distance - аппроксимация Wasserstein для облаков точек. Применяется в робототехнике и LIDAR.
- **Sinkhorn в deep learning**: GeomLoss от Feydy реализует дифференцируемый $W_p$ на GPU через энтропийную регуляризацию - потеря Wasserstein как loss-функция в нейросетях.
Предварительные знания
От карт к планам: идея coupling
1942 год. Блокадный Ленинград. Леонид Канторович, 30-летний математик, работает над задачей распределения ресурсов в условиях дефицита. Монж в 1781 году поставил задачу: найти карту $T$, которая переносит каждый «ком земли» точно в одну точку назначения. Жёстко. Детерминировано. Канторович спрашивает: а что если позволить делить?
Вот где Монж ломается. Два завода $\{A, B\}$ с единичными запасами, два склада $\{C, D\}$ с единичным спросом. Карта Монжа должна отправить $A \to C$ или $A \to D$, и $B$ - в оставшийся. Но что если оптимально отправить половину груза $A$ в $C$ и половину в $D$? Карта это не умеет - она функция, не мера.
**Канторовский сдвиг парадигмы**: вместо транспортной карты $T: X \to Y$ ищется **транспортный план** - совместная вероятностная мера $\gamma$ на $X \times Y$. Её маргинали должны совпадать с исходными мерами: $\gamma(A \times Y) = \mu(A)$ и $\gamma(X \times B) = \nu(B)$. Множество всех таких мер обозначают $\Gamma(\mu, \nu)$.
Транспортный план $\gamma(x, y)$ - это матрица потоков: $\gamma(x, y) d x d y$ - «сколько массы» из $x$ отправляется в $y$. Для дискретного случая это просто матрица $P_{ij} \geq 0$ с суммами строк $\mu_i$ и суммами столбцов $\nu_j$. Такие матрицы называют **дважды стохастическими** (с поправкой на нормировку). В линейном программировании это политоп - компактное выпуклое множество. Минимум на компакте всегда достигается.
Ключевой факт: любая карта Монжа $T$ порождает канторовский план $\gamma_T = (id, T)_\# \mu$ - «детерминированный план» с массой, сосредоточенной на графике $T$. Но не любой план является картой. Канторович строго обобщает Монжа: $\min_{\text{Monge}} \geq \min_{\text{Kantorovich}}$.
Почему задача Монжа неразрешима для двух точечных масс $\mu = \delta_0$ и $\nu = \frac{1}{2}\delta_{-1} + \frac{1}{2}\delta_{1}$?
Расстояние Вассерштейна: геометрия мер
KL-дивергенция между $\delta_0$ и $\delta_1$ равна бесконечности. Расстояние Вассерштейна между ними равно 1 - просто расстоянию между точками. Это не мелочь. Это фундаментальная разница в том, что считается «близостью» распределений.
**Расстояние Вассерштейна-p** ($W_p$): минимальная стоимость транспортировки по всем допустимым планам: $$W_p(\mu, \nu) = \left(\inf_{\gamma \in \Gamma(\mu, \nu)} \int_{X \times Y} c(x,y)^p \, d\gamma(x,y)\right)^{1/p}$$ Где $c(x,y)$ - стоимость единичного переноса (обычно $|x - y|$ или $|x - y|^2$). При $p=1$ это задача линейного программирования. При $p=2$ - квадратичная задача, тесно связанная с теоремой Брение.
Почему это расстояние? Три аксиомы метрики выполняются: $W_p(\mu, \nu) = 0 \Leftrightarrow \mu = \nu$, симметричность и неравенство треугольника. При этом $W_p$ метризует слабую сходимость мер - именно ту сходимость, которая нужна в теории вероятностей и ML.
В чём преимущество перед KL? Для двух гауссиан $\mathcal{N}(0,1)$ и $\mathcal{N}(100, 1)$ KL = 5000, а $W_2 \approx 100$ - просто расстояние между центрами. Если распределения не перекрываются по носителю (типичная ситуация при обучении GAN), KL бесполезна как сигнал для обратного распространения: градиент равен нулю почти везде. Wasserstein даёт осмысленный градиент даже для разнесённых распределений.
**Sliced Wasserstein**: проецировать оба распределения на случайные 1D-направления, вычислить $W_p$ для каждого (в 1D это сортировка - $O(n \log n)$), усреднить. Результат аппроксимирует $W_p$ в исходном пространстве за $O(Ln \log n)$, где $L$ - число проекций. GeomLoss в PyTorch реализует это за несколько строк.
Почему расстояние Вассерштейна лучше KL-дивергенции как loss для обучения генеративной модели, когда распределения $p_{data}$ и $p_{model}$ имеют непересекающиеся носители?
Двойственность Канторовича: цены как потенциалы
Канторович не просто расслабил задачу Монжа - он обнаружил, что у неё есть двойственник. Прямая задача: найти оптимальный план перевозок. Двойственная задача: найти оптимальные «ценовые потенциалы». И оптимумы совпадают - сильная двойственность линейного программирования.
**Двойственность Канторовича** для $W_1$ (стоимость = расстояние): $$W_1(\mu, \nu) = \sup_{f: \text{1-Lip}} \left( \int f \, d\mu - \int f \, d\nu \right) = \sup_{\|f\|_L \leq 1} \mathbb{E}_{x \sim \mu}[f(x)] - \mathbb{E}_{y \sim \nu}[f(y)]$$ Где супремум берётся по всем 1-липшицевым функциям ($|f(x) - f(y)| \leq |x - y|$). Это формула Канторовича-Рубинштейна 1958 года.
Экономический смысл двойственной задачи элегантен. $f(x)$ - цена товара в точке $x$. Условие 1-Lipschitz означает: цены не могут расти быстрее, чем расстояние между точками (иначе выгоднее везти самому). Оптимальная $f$ - это «арбитражно справедливые цены». Разница $\mathbb{E}_\mu[f] - \mathbb{E}_\nu[f]$ - это максимальная прибыль от перепродажи - и она равна стоимости оптимального транспорта.
Именно эта двойственность лежит в основе Wasserstein GAN. В WGAN (Arjovsky et al., 2017) дискриминатор $D_\theta$ обучается аппроксимировать оптимальную 1-Lipschitz функцию $f^*$. Градиентное наказание (gradient penalty) или weight clipping обеспечивают ограничение Lipschitz. Генератор обучается минимизировать $\mathbb{E}_{x \sim p_g}[D_\theta(x)] - \mathbb{E}_{x \sim p_{data}}[D_\theta(x)]$ - то есть буквально приближает $W_1(p_g, p_{data})$. Четыре страницы статьи - и mode collapse практически исчезает.
Двойственная формулировка также открывает путь к **дифференцируемому OT**. Sinkhorn-алгоритм, регуляризуя прямую задачу энтропийным членом $\varepsilon H(\gamma)$, получает гладкое приближение $W_p$ с градиентами по параметрам распределения. GeomLoss от Feydy et al. реализует это для GPU, делая Wasserstein-loss практичным в deep learning.
Расстояние Вассерштейна - это просто более сложная версия KL-дивергенции для тех же задач
Wasserstein и KL измеряют принципиально разные вещи. KL - информационное расхождение, зависящее от отношения плотностей. Wasserstein - геометрическое расстояние, учитывающее метрику пространства. На непересекающихся носителях KL = бесконечность, Wasserstein = конечное расстояние между носителями.
Эта разница критична для обучения генеративных моделей, domain adaptation, и везде, где нужно сравнивать распределения с непересекающимися носителями.
В WGAN дискриминатор обучается с ограничением 1-Lipschitz. Что именно он аппроксимирует согласно двойственности Канторовича?
Ключевые идеи
- **Relaxation Монжа**: вместо карты $T$ ищется план $\gamma \in \Gamma(\mu,\nu)$ - совместная мера с фиксированными маргиналями. Минимум всегда достигается (компактный политоп).
- **$W_p(\mu,\nu) = \left(\inf_{\gamma \in \Gamma} \int c^p \, d\gamma\right)^{1/p}$** - расстояние Вассерштейна. Метризует слабую сходимость. Конечно там, где KL = $\infty$.
- **Двойственность Канторовича**: $W_1 = \sup_{f: \text{1-Lip}} \mathbb{E}_\mu[f] - \mathbb{E}_\nu[f]$. Именно эта формула - критерий WGAN.
- **Нобелевская премия по экономике 1975**: Канторович (единственный математик) за линейное программирование и ресурсное планирование - тот же математический аппарат.
Связанные темы
Канторовичева релаксация - фундамент. Дальше строится многое:
- Двойственность Канторовича — Полная теория потенциалов и теорема Брение
- Sinkhorn-алгоритм — Энтропийная регуляризация делает Wasserstein дифференцируемым
- Wasserstein GAN — Прямое применение $W_1$ как loss для генеративных моделей
- KL-дивергенция и cross-entropy — Альтернативная метрика на распределениях - сравнение подходов
Вопросы для размышления
- Сильная двойственность LP утверждает, что минимум прямой задачи равен максимуму двойственной. Что это означает для экономической интерпретации: когда перевозчик и посредник согласятся на одну цену?
- Sinkhorn добавляет $\varepsilon H(\gamma)$ к стоимости транспорта. При $\varepsilon \to 0$ получается точный Wasserstein. При $\varepsilon \to \infty$ - что-то другое. Какое распределение $\gamma$ максимизирует энтропию при фиксированных маргиналях?
- WGAN требует, чтобы дискриминатор был 1-Lipschitz. Weight clipping обрезает веса в $[-c, c]$. Почему это приближает 1-Lipschitz? Какова принципиальная проблема этого подхода и почему gradient penalty лучше?
Связанные уроки
- ot-05-dual — Двойственность Канторовича: Lipschitz-функции как цены
- ot-04-sinkhorn — Sinkhorn регуляризует Wasserstein, делая его дифференцируемым
- ot-07-wgan — WGAN использует W1 как loss вместо JS-дивергенции
- it-03 — KL-дивергенция vs Wasserstein: два разных способа мерить близость мер
- ot-01-monge — Задача Монжа - жёсткая версия, которую Канторович обобщает
- calc-01-sequences