Оптимальный транспорт против коллапса мод в GAN
Классические GAN обучаются на расхождении Йенсена-Шеннона и страдают от коллапса мод и нестабильности. Optimal transport меняет саму метрику между распределениями — и это лечит часть болезней сразу.

Почему обычные GAN так тяжело обучать
Генеративно-состязательная сеть (GAN) — это два соревнующихся модуля: генератор синтезирует данные из шума, дискриминатор отличает синтетику от реальных примеров. В исходной формулировке 2014 года обучение сводится к минимизации расхождения Йенсена-Шеннона между реальным и сгенерированным распределениями. На бумаге красиво, на практике — три хронические проблемы.
- Коллапс мод: генератор находит несколько убедительных образцов и выдаёт только их, игнорируя всё разнообразие данных.
- Исчезающие градиенты: когда дискриминатор становится слишком хорош, генератор перестаёт получать полезный сигнал — расхождение Йенсена-Шеннона насыщается.
- Нестабильность: два модуля колеблются, и найти точку равновесия без тщательного подбора гиперпараметров сложно.
Корень многих бед — в выборе метрики между распределениями. Расхождения из семейства f-дивергенций (KL, JS) ведут себя плохо, когда носители реального и сгенерированного распределений почти не пересекаются. А на старте обучения они почти всегда не пересекаются.
Что предлагает оптимальный транспорт
Оптимальный транспорт (OT) * измеряет расстояние между распределениями иначе: сколько «работы» нужно, чтобы переместить массу одного распределения в форму другого. Отсюда неформальное название — earth mover's distance, расстояние землекопа: представьте, что одно распределение это куча песка, другое — яма, и вы считаете минимальные усилия по перемещению.
* Оптимальный транспорт — раздел математики о том, как перевести одну меру в другую с минимальной суммарной стоимостью перемещения. Расстояние Вассерштейна — конкретная метрика, полученная из этой задачи.
Ключевое свойство: расстояние Вассерштейна остаётся осмысленным и даёт ненулевой градиент даже тогда, когда распределения не перекрываются. Именно это делает его привлекательной заменой Йенсена-Шеннона в обучении генератора.
Смена метрики не косметика. Йенсена-Шеннона отвечает на вопрос «пересекаются ли распределения», Вассерштейн — «насколько далеко их нужно двигать». Второй вопрос даёт градиент там, где первый молчит.
Wasserstein GAN и его развитие
Работа Wasserstein GAN (Arjovsky и соавторы, 2017) первой перевела эту идею в рабочую архитектуру. Вместо дискриминатора, выдающего вероятность, появился критик, оценивающий расстояние Вассерштейна через двойственную форму Канторовича-Рубинштейна. Требование к критику — быть 1-липшицевой функцией.
Как это ограничение обеспечить — отдельная история, и здесь эволюция подхода видна лучше всего.
| Метод | Как держат липшицевость | Слабое место |
|---|---|---|
| WGAN (weight clipping) | Веса критика обрезаются в диапазон [-c, c] | Грубо: гиперпараметр c влияет на всё, часть ёмкости сети теряется |
| WGAN-GP | Штраф на норму градиента критика (gradient penalty) | Дороже по вычислениям, штраф считается в случайных точках |
| Spectral Normalization | Нормировка спектральной нормы весовых матриц | Приближённая оценка нормы, но дёшева и устойчива |
WGAN-GP из работы Gulrajani и соавторов (2017) стал практическим стандартом на несколько лет: он снял большинство проблем с обрезкой весов и заметно стабилизировал обучение. Spectral normalization (Miyato и соавторы, 2018) предложил ещё более дешёвый способ контроля и часто применяется вместе с другими трюками.
Sinkhorn и минибатчевый транспорт
Точное вычисление оптимального транспорта между эмпирическими распределениями — задача линейного программирования, дорогая на больших выборках. Здесь помогает энтропийная регуляризация и алгоритм Синхорна: он добавляет к транспортной задаче энтропийный член и решает её итеративно, матрично, быстро и на GPU.
На этой основе строятся подходы, где расстояние между минибатчем реальных и минибатчем сгенерированных данных считается напрямую через Sinkhorn-дивергенцию, а не через отдельного критика. Плюс — прозрачная функция потерь без хрупкого состязания двух сетей. Минус — смещение из-за конечного размера батча и чувствительность к параметру регуляризации.
Что это даёт на практике
- Более осмысленная кривая потерь: значение функции потерь коррелирует с качеством образцов, чего у классического GAN почти не было.
- Меньше коллапса мод — генератор вынужден покрывать всё распределение, потому что транспорт наказывает за пропущенную массу.
- Меньше ручной возни с балансировкой генератора и дискриминатора.
Цена вопроса
OT-подходы не бесплатны. Gradient penalty удваивает-утраивает стоимость шага критика. Sinkhorn требует подбора коэффициента регуляризации и размера батча, а при плохих значениях даёт размытые образцы. И само по себе расстояние Вассерштейна не гарантирует фотореализм: оно улучшает устойчивость и покрытие мод, но качество текстур по-прежнему зависит от архитектуры генератора, объёма данных и вычислительного бюджета.
Стоит держать в голове и контекст рынка. Значительная часть внимания в генеративных задачах ушла к диффузионным моделям, которые обходят состязательное обучение как таковое. Но идеи оптимального транспорта живут и там — flow matching и rectified flow, лежащие в основе части современных генераторов, прямо опираются на транспортную геометрию между шумом и данными.
Кому это нужно сегодня
Если вы обучаете GAN на ограниченном датасете, где важно покрыть все режимы данных, а не выдать один красивый образец, — WGAN-GP или spectral normalization остаются разумной отправной точкой. Если строите что-то на стыке генерации и теории транспорта, Sinkhorn-подходы дают гибкий инструмент с понятной математикой. А если задача — максимальное качество картинки без оглядки на состязательную схему, честнее смотреть в сторону диффузии и flow-based моделей, где транспорт работает уже под капотом.
Prompt-инженер: Идеальные запросы для Midjourney, ChatGPT и других моделей.
Спросить за 15 ₽Источники: Arjovsky et al. — Wasserstein GAN (arXiv:1701.07875), Gulrajani et al. — Improved Training of Wasserstein GANs (arXiv:1704.00028)
Частые вопросы
Чем расстояние Вассерштейна лучше расхождения Йенсена-Шеннона для GAN?
WGAN полностью решает коллапс мод?
Что выбрать: weight clipping, gradient penalty или spectral normalization?
Зачем нужен алгоритм Синхорна?
Актуальны ли GAN на оптимальном транспорте, когда есть диффузионные модели?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.