Stanford Online: Как устроены генеративно-состязательные сети (GAN)

Stanford Online 17,3 тыс. 1 ч 18 мин 2 мин 06.05.2024
Главное

Генеративно-состязательные сети (GAN): Теория и практика 0:05

Генеративно-состязательные сети (Generative Adversarial Networks, GAN) представляют собой класс моделей, которые кардинально меняют подход к обучению генеративных нейросетей, отказываясь от прямого использования функции правдоподобия в пользу конкурентного обучения. В рамках курса CS236 в Стэнфордском университете (Stanford Online) подробно рассматривается механика их работы, математические основы и основные проблемы, с которыми сталкиваются исследователи при их использовании.

От максимизации правдоподобия к состязательному обучению 0:18

Классические генеративные модели, такие как авторегрессионные модели, вариационные автокодировщики (VAE) и нормализующие потоки, основаны на максимизации правдоподобия (maximum likelihood training). Основная идея заключается в том, чтобы сделать распределение модели максимально близким к распределению реальных данных согласно выбранной метрике (например, дивергенции Кульбака-Лейблера).

Однако у максимизации правдоподобия есть ограничения:

GAN решают эту проблему, отказываясь от оценки плотности вероятности. Вместо этого они используют «двухвыборочный тест» (two-sample test), цель которого — выяснить, можно ли различить две группы образцов: реальные данные и данные, сгенерированные моделью.

Механизм дискриминатора и генератора 34:38

В GAN мы не просто задаем статистику для сравнения, а обучаем классификатор — дискриминатор — автоматически находить признаки, отличающие реальные данные от синтетических.

  1. Дискриминатор (Classifier): Это нейросеть, которая учится классифицировать образцы как «реальные» (метка 1) или «фейковые» (метка 0).
  2. Генератор (Generator): Это вторая нейросеть, которая принимает на вход случайный вектор шума ($Z$) и преобразует его в «фейковые» данные, стараясь максимально запутать дискриминатор.

Процесс обучения превращается в игру с нулевой суммой (MiniMax optimization): дискриминатор максимизирует свою способность отличить реальное от фейкового, а генератор минимизирует эту способность.

Проблемы и ограничения GAN

Несмотря на мощную концепцию, GAN известны своей нестабильностью:

На текущий момент популярность GAN снизилась в пользу диффузионных моделей, которые обладают более стабильным процессом обучения с четким целевым функционалом. Тем не менее, идеи GAN остаются востребованными — например, использование дискриминатора в комбинации с другими моделями для улучшения качества генерации.

💬 Цитаты

«В практике GAN очень сложно тренировать из-за нестабильной оптимизации.»

Лектор Stanford Online 1:11:05

«Люди в значительной степени отказались от GAN, так как диффузионные модели гораздо проще тренировать.»

Лектор Stanford Online 1:15:33
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Дискриминатор
Нейросеть-классификатор, определяющая, является ли образец реальным или сгенерированным.
Коллапс моды
Ситуация, когда генератор начинает выдавать однотипные результаты, теряя разнообразие данных.
Дивергенция Дженсена-Шеннона
Симметричная метрика расстояния между двумя распределениями вероятностей.
IID
Независимые и одинаково распределенные случайные величины.
📊 Цифры
🗓 Хронология
  1. 2014-2018 Период активного развития и совершенствования технологии GAN.
⚖️ Другая сторона
Искусственный интеллект Generative Adversarial Networks Stanford CS236 discriminator Jensen-Shannon Divergence mode collapse