Генеративные модели
Кратко
Генеративные модели (generative models) — модели машинного обучения, которые выучивают распределение данных и порождают новые образцы: изображения, текст, аудио. Если классификатор отвечает на вопрос «что это?», то генеративная модель — на вопрос «как выглядит типичный образец?» и умеет создавать такие образцы сама. Два главных семейства последнего десятилетия — генеративно-состязательные сети (GAN) и диффузионные модели.
Для чего используется
- генерация изображений, видео и аудио;
- аугментация данных для обучения других моделей;
- генерация текста — языковые модели на трансформерах;
- восстановление и повышение качества изображений.
Как работает
GAN (generative adversarial network, Гудфеллоу и соавторы, 2014) — одновременное обучение двух нейросетей как игра:
- генератор G порождает образцы, стремясь воспроизвести распределение данных;
- дискриминатор D оценивает, пришёл ли образец из настоящих данных или от генератора;
- G обучается максимизировать вероятность ошибки D — это минимаксная игра двух игроков.
Аналогия из самой статьи-первоисточника: фальшивомонетчик и эксперт — первый учится подделывать всё лучше, второй — всё лучше отличать подделку; соревнование совершенствует обоих. В теоретическом оптимуме генератор воспроизводит распределение данных, а дискриминатор не может отличить подделку — выдаёт 1/2 для любого образца. Обучается всё обычным backpropagation, без цепей Маркова и приближённого вывода.
Диффузионные модели (DDPM, Хо и соавторы, 2020) — идея из неравновесной термодинамики: прямой процесс постепенно зашумляет данные до чистого шума, а модель учится обращать его — пошагово «расшумлять». Генерация — старт со случайного шума и последовательное восстановление образца. Авторы связали такие модели с denoising score matching и динамикой Ланжевена; обучение идёт через взвешенную вариационную границу. На безусловной генерации CIFAR-10 DDPM показала FID 3,17 — лучший результат на момент публикации, а на LSUN 256×256 — качество уровня ProgressiveGAN.
Основные компоненты
- GAN: генератор + дискриминатор, состязательная функция потерь;
- диффузионные модели: прямой (зашумление) и обратный (расшумление) процессы, планировщик шагов (scheduler);
- глубокие генеративные модели старших поколений (машины Больцмана и др.) описаны в гл. 20 учебника Goodfellow.
Примеры
- Библиотека Diffusers (Hugging Face) — предобученные диффузионные модели для генерации изображений, видео и аудио; конвейер DiffusionPipeline собирается из модели и планировщика, поддерживаются адаптеры LoRA.
- Для запуска больших моделей на устройствах с ограниченной памятью применяются offloading и квантование.
Связанные темы
Источники
- Generative Adversarial Networks (Goodfellow et al., 2014) — устройство GAN, минимаксная игра, оптимум.
- Denoising Diffusion Probabilistic Models (Ho et al., 2020) — диффузионные модели, результаты на CIFAR-10 и LSUN.
- Deep Learning, гл. 20 (Goodfellow, Bengio, Courville) — глубокие генеративные модели.
- Diffusers (Hugging Face) — практическое состояние диффузионных моделей.