# GAN: от мини-макс игр к расстоянию Вассерштейна

Источник: https://www.youtube.com/watch?v=M3Fkvu78ZXc
Канал: Stanford Online
Опубликовано: 06.05.2024

---

## 🔬 GANs: От мини-макс игр к Wasserstein-расстояниям
[[JUMP:00:04]]

Генеративно-состязательные сети (GAN) представляют собой мощный класс моделей, позволяющих проводить обучение без явной оценки функции правдоподобия. Основная концепция базируется на состязательной игре двух нейронных сетей: генератора (создающего синтетические данные) и дискриминатора (пытающегося отличить их от реальных). В отличие от классических методов, полагающихся на дивергенцию Кульбака-Лейблера (KL), подход GAN позволяет использовать широкий спектр метрик для оценки того, насколько распределение модели соответствует распределению реальных данных.

### 📉 Оптимизация через f-дивергенции
[[JUMP:07:19]]

Идея мини-макс игры может быть расширена за пределы стандартной дивергенции Дженсена-Шеннона. Лектор поясняет, что GAN способны оптимизировать целый класс метрик, называемых *f-дивергенциями*.

*   **Определение:** Дивергенция определяется через ожидание функции $f$ от отношения плотностей двух распределений $p$ и $q$.
*   **Требования к функции $f$:** Она должна быть выпуклой, нижнеполунепрерывной и принимать значение 0 при аргументе 1.
*   **Разнообразие:** Варьируя выбор $f$, можно получить KL-дивергенцию (при $u \log u$), обратную KL-дивергенцию (при $-\log u$), а также квадратичную дивергенцию Хеллингера и многие другие.

При обучении возникает проблема: классическая формула требует знания плотности данных, что в реальности недоступно. Решение заключается в использовании *выпуклого сопряжения* (conjugate function) по Фенхелю, что позволяет переписать целевую функцию так, чтобы она зависела только от возможности производить выборки (семплы) из распределений. В результате дискриминатор выступает в роли оценщика этого сопряженного выражения, эффективно «вычисляя» отношения плотностей в процессе состязательного обучения.

### 🌍 Wasserstein GAN: решение проблемы отсутствия градиентов
[[JUMP:48:57]]

Традиционные f-дивергенции имеют существенный недостаток: если распределения модели и данных не пересекаются (disjoint support), они перестают давать полезный сигнал для обучения (градиенты исчезают). 

Для решения этой задачи предлагается *расстояние Вассерштейна* (earth mover distance) — мера «усилий», необходимых для трансформации одного распределения в другое путем перемещения «массы». 

*   **Преимущество:** В отличие от KL-дивергенции, расстояние Вассерштейна меняется плавно даже при непересекающихся поддержках, обеспечивая стабильный градиент.
*   **Реализация:** W-GAN использует дискриминатор (называемый «критиком»), для которого накладывается ограничение на Липшицеву константу (в идеале она должна быть $\le 1$). Это предотвращает бесконечный рост значений функции и позволяет более эффективно находить расхождения между реальными и синтетическими данными.

### 🧠 Извлечение скрытых представлений: BiGAN
[[JUMP:1:17:15]]

Поскольку генератор в обычном GAN не является обратимым, получение скрытых переменных ($z$) по данным ($x$) затруднено. Для этого вводится архитектура *BiGAN* (Bidirectional GAN).

*   **Механизм:** Добавляется кодировщик $E$, который отображает данные в латентное пространство.
*   **Цель:** Дискриминатор теперь оценивает не просто картинку, а пару $(x, z)$. Он пытается отличить пару «реальные данные + признаки из кодировщика» от пары «синтетические данные + латентные переменные из априорного распределения».
*   **Результат:** Кодировщик обучается инвертировать генеративный процесс, становясь инструментом для извлечения признаков (feature extraction), схожим по функции с кодировщиками в VAE, но обученным состязательно.