GAN (Generative Adversarial Network)
GAN (Generative Adversarial Network, генеративно-состязательная сеть) — архитектура нейросетей из двух конкурирующих моделей: Generator создаёт синтетические изображения, Discriminator отличает их от реальных. Игра Zero-sum вынуждает Generator производить всё более реалистичные результаты.
GAN (Generative Adversarial Network, генеративно-состязательная сеть) — архитектура глубокого обучения, предложенная Яном Гудфеллоу (Ian Goodfellow) в 2014 году. Основана на состязании двух нейросетей: Generator (Генератор) создаёт синтетические изображения, Discriminator (Дискриминатор) пытается отличить их от реальных. Состязание вынуждает Generator генерировать всё более реалистичные результаты — до тех пор, пока Discriminator не перестаёт справляться.
Принцип работы: игра нулевой суммы
GAN реализует игру Minimax: Generator минимизирует вероятность того, что Discriminator распознает подделку; Discriminator максимизирует эту вероятность. При достижении равновесия Нэша (Nash Equilibrium) Generator производит изображения, неотличимые от реальных для Discriminator.
- Generator получает случайный вектор шума из латентного пространства (обычно 128–512 измерений)
- Из него Generator создаёт синтетическое изображение
- Discriminator оценивает как реальные изображения из датасета, так и синтетические от Generator
- Discriminator обновляет веса, чтобы лучше классифицировать «real» vs «fake»
- Generator обновляет веса, чтобы обмануть Discriminator
- Цикл повторяется миллионы итераций
Ключевые архитектуры GAN для обработки фото
| Модель | Год | Задача | Применение в Panda AI |
|---|---|---|---|
| SRGAN | 2017 | Super-resolution ×4 | Предшественник Real-ESRGAN |
| Real-ESRGAN | 2021 | Real-world апскейл | Апскейл на GPU-сервере |
| GFPGAN | 2021 | Face restoration | Восстановление лиц |
| CodeFormer | 2022 | Face restoration (VQVAE+Transformer) | Альтернатива GFPGAN |
| StyleGAN3 | 2021 | Фотореалистичные лица | Prior в GFPGAN |
| Pix2Pix | 2017 | Image-to-image translation | Основа conditional editing |
Проблемы GAN и почему Diffusion побеждает
- Mode collapse: Generator «застревает» и генерирует ограниченное разнообразие результатов, игнорируя часть данных. Сложно диагностировать и исправить.
- Нестабильное обучение: баланс Generator/Discriminator хрупкий — если один обгоняет другого, обучение рушится. Требует тонкой настройки learning rate, batch size, архитектуры.
- Ограниченное разнообразие: GAN хуже охватывает полное распределение данных по сравнению с диффузионными моделями.
В 2022–2024 годах диффузионные модели превзошли GAN по FID (Fréchet Inception Distance) на большинстве бенчмарков. Однако GAN сохраняют преимущество в скорости (один forward pass vs 20–50 шагов диффузии) и остаются стандартом для real-time апскейла и восстановления лиц.
GAN в Panda AI
Panda AI использует GAN-модели для задач, требующих минимальной задержки: восстановление лиц через CodeFormer (VQVAE + Transformer, технически гибрид GAN) обрабатывает одно лицо за 150–300 мс. Апскейл через Real-ESRGAN — 0.5–1.5 с для изображения 4 МП. Для задач generative inpainting в AI-редакторе — диффузионные модели (лучшее качество при допустимой скорости 3–8 с).
FAQ — GAN
GAN может сгенерировать любое изображение?
Теоретически — всё из обучающего распределения. На практике GAN ограничен датасетом и архитектурой. StyleGAN3, обученный на лицах (FFHQ), генерирует только лица; переобучить его на другой домен — нетривиальная задача. Диффузионные модели с CLIP conditioning (Stable Diffusion) гораздо гибче.
Как GAN генерирует лицо «несуществующего человека»?
StyleGAN2/3 работает в двух пространствах: Z-space (входной шум) и W-space (промежуточное латентное пространство с лучшей disentanglement). Каждая «ось» W-space примерно соответствует семантическому атрибуту: возраст, пол, цвет волос. Интерполяция в W-space позволяет плавно менять атрибуты не затрагивая идентичность.
Deepfake — это GAN?
Исторически — да. Первые deepfake-модели (DeepFaceLab, FaceSwap) использовали AutoEncoder + Discriminator (de-facto GAN). Современные deepfake используют диффузионные модели или Diffusion+GAN гибриды, что значительно улучшает качество. Детекторы deepfake тоже эволюционируют в ответ.