Математическая эволюция GAN: от f-дивергенций до расстояния Вассерштейна

Stanford Online 14,8 тыс. 1 ч 27 мин 4 мин 06.05.2024
Главное

В лекции Стэнфордского университета в рамках курса CS236 рассматривается эволюция генеративно-состязательных сетей (GAN). Основное внимание уделяется переходу от минимизации дивергенции Йенсена — Шеннона к более широкому классу f-дивергенций и использованию расстояния Вассерштейна для решения проблем сходимости моделей.

🤖 Основы GAN: Обучение без функции правдоподобия 0:04

Генеративно-состязательные сети (GAN) представляют собой метод обучения моделей «без правдоподобия» (likelihood-free). Это означает, что разработчику больше не нужно выбирать специальные архитектуры или факторизовать распределение по цепному правилу, что обычно требуется для оценки вероятности каждой точки данных при максимизации правдоподобия . Вместо прямого сравнения распределений через дивергенцию Кульбака — Лейблера (KL), GAN используют классификатор, называемый дискриминатором .

Процесс обучения строится как минимаксная игра двух игроков:

При условии достижения оптимального дискриминатора, исходная целевая функция GAN фактически минимизирует дивергенцию Йенсена — Шеннона (Jensen-Shannon divergence) между распределением данных и распределением модели . Лектор отмечает, что на практике это реализуется через две нейронные сети, где генератор трансформирует простые образцы (например, из распределения Гаусса) в сложные объекты .

📉 Обобщение через f-дивергенции 7:32

Хотя классические GAN ориентированы на дивергенцию Йенсена — Шеннона, это лишь частный случай. Существует более широкий класс мер близости — f-дивергенции. Лектор поясняет, что f-дивергенция между двумя плотностями $p$ и $q$ определяется через ожидание функции $f$ от отношения плотностей $p/q$ .

Для того чтобы функция $f$ определяла валидную дивергенцию, она должна соответствовать трем техническим условиям:

  1. Быть выпуклой (convex) .
  2. Быть полунепрерывной снизу (lower semicontinuous) .
  3. Равняться 0 при аргументе 1 ($f(1) = 0$) .

Выбирая различные формы функции $f$, можно получить разные известные дивергенции:

Основная сложность здесь заключается в том, что мы не можем вычислить отношение плотностей $p/q$ напрямую, так как истинное распределение данных $p_{data}$ нам неизвестно .

🧠 Математический трюк: Сопряжение Фенхеля 24:26

Чтобы оптимизировать f-дивергенции без прямого вычисления вероятностей, используется концепция выпуклого сопряжения (сопряжения Фенхеля). Для любой выпуклой функции $f$ можно найти сопряженную функцию $f^*$, через которую исходная функция $f$ выражается как результат задачи оптимизации .

Это позволяет переписать f-дивергенцию в виде, который не требует вычисления отношения плотностей внутри функции $f$ . В результате сложная задача сводится к разности двух ожиданий:

Лектор подчеркивает, что эта формулировка идеально ложится в архитектуру GAN: дискриминатор $T$ теперь выступает в роли функции, максимизирующей нижнюю границу f-дивергенции . Чем гибче архитектура нейронной сети дискриминатора, тем точнее будет оценка дивергенции . По мнению лектора, использование разных f-дивергенций дает разработчикам гибкость в определении функции потерь в зависимости от конкретной задачи .

🚚 Wasserstein GAN и «расстояние землекопа» 48:57

Лектор указывает на фундаментальную проблему f-дивергенций: если распределения модели и данных имеют непересекающиеся носители (disjoint supports), дивергенции часто становятся бесконечными или константными . В таких случаях градиентный спуск не дает генератору никакого сигнала для обучения: модель «не знает», в какую сторону двигаться, чтобы стать ближе к данным .

Решением является расстояние Вассерштейна (Wasserstein distance), также известное как Earth Mover’s distance («расстояние землекопа»). Интуитивно оно описывается так: если представить распределения вероятностей как кучи земли, то расстояние Вассерштейна — это минимальное количество усилий (масса земли, умноженная на расстояние переноса), необходимых для превращения одной кучи в другую .

Математические особенности W-GAN:

По словам лектора, W-GAN гораздо стабильнее в обучении, чем обычные GAN, и практически исключает проблему исчезающих градиентов .

🔍 Извлечение признаков и BiGAN 1:17:15

Обычные GAN хорошо генерируют данные из скрытого пространства $z$, но не умеют выполнять обратную операцию — находить скрытый код $z$ для конкретного изображения $x$ . Чтобы получить полезные признаки (features) для последующих задач машинного обучения, лектор предлагает использовать архитектуру BiGAN (Bidirectional GAN) .

Ключевые отличия BiGAN:

Лектор отмечает, что интуиция BiGAN схожа с вариационными автоэнкодерами (VAE), однако в BiGAN соответствие между кодами и данными обеспечивается не через KL-дивергенцию, а через состязательный тест дискриминатором .

💬 Цитаты

«Расстояние Вассерштейна — это сколько усилий вам потребуется, если вы будете перелопачивать всю эту землю из одной конфигурации в другую.»

«Дискриминатор — это способ переложить проблему вычисления отношений плотностей на классификатор.»

👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Дивергенция Йенсена — Шеннона
Мера сходства двух распределений вероятностей, на которой основаны классические GAN.
Сопряжение Фенхеля
Математическое преобразование, позволяющее представить выпуклую функцию в виде задачи оптимизации.
Константа Липшица
Ограничение на максимальную скорость изменения функции (её наклон).
Носитель распределения (Support)
Множество значений, в которых вероятность появления события не равна нулю.
📊 Цифры
🗓 Хронология
  1. 2023 Проведение лекции курса CS236 в Стэнфордском университете.
⚖️ Другая сторона
Искусственный интеллект GAN Wasserstein GAN f-divergence Стэнфордский университет BiGAN