Словарь ИИ
Что такое генеративно-состязательная сеть
Коротко
Генеративно-состязательная сеть (GAN) это пара нейросетей, где одна создает поддельные примеры, а другая учится отличать их от настоящих, и в этом соревновании первая начинает выдавать правдоподобные картинки.
Машинное обучение · generative adversarial network
Михаил МозгПроверено: 1 минута чтения
Ребенку
Представь двух друзей. Один рисует игрушечные монетки для игры в магазин, другой работает кассиром и проверяет каждую. Сначала кассир сразу замечает подделку, и художник старается рисовать аккуратнее. Кассир тоже становится внимательнее. Через много раундов монетки выглядят почти как настоящие. Так две программы учат друг друга рисовать.
Простыми словами
Внутри две сети. Генератор получает набор случайных чисел и превращает его в картинку. Дискриминатор видит то настоящие фото, то работы генератора и пытается угадать, где что. Когда дискриминатор ошибается, генератор узнает, что у него получилось убедительно, а сам дискриминатор учится на своих промахах. Они тренируются по очереди, пока подделки не станут трудно отличить. Так появились фотографии несуществующих людей, которые еще до диффузионных моделей поражали реализмом.
Для бизнеса
Сегодня изображения по описанию чаще делают диффузионные модели, но состязательные сети остались там, где нужна скорость: увеличение разрешения фото, восстановление старых снимков, перенос стиля, синтетические примеры редкого брака для обучения других моделей. Генератор выдает картинку за один проход, поэтому запуск обходится дешево. Обучение капризное: сети могут перестать сходиться или выдавать однообразные результаты, и на настройку уходит время опытного инженера. Отдельный риск связан с дипфейками: на этой технологии делали поддельные лица, поэтому сгенерированные изображения в рекламе и документах стоит маркировать, а исходники хранить. Где генерация окупается, а где нет, разбирают в карте ИИ-решений.
Для специалиста
Генеративно-состязательную сеть (generative adversarial network, GAN) предложили Goodfellow и соавторы в 2014 году. Генератор G отображает шум z в пространство данных, дискриминатор D оценивает вероятность того, что пример взят из обучающей выборки, а не создан G. Обучение записывают как минимаксную игру двух участников (minimax two-player game): D учится различать, G максимизирует вероятность ошибки D. При оптимальном D задача генератора сводится к минимизации расхождения Йенсена-Шеннона между распределениями. Известные проблемы: коллапс мод (mode collapse), неустойчивость, затухание градиента генератора. DCGAN (Radford, Metz, Chintala, 2015) закрепил сверточную архитектуру с набором ограничений. StyleGAN (Karras, Laine, Aila, 2018) ввел генератор на основе стилей, который отделяет атрибуты вроде позы и личности на лицах от случайных деталей вроде веснушек. Варианты: условные GAN, CycleGAN для перевода изображений без пар, Wasserstein GAN. Состязательную функцию потерь используют и внутри других систем, например в декодерах сжатия изображений.
Пример
Производитель стекла накопил всего несколько десятков снимков редкой трещины. Инженеры обучили генератор на этих снимках и получили сотни правдоподобных вариантов, на которых дообучили детектор брака. Проверяли детектор только на настоящих фото.
Связанные термины
Вопросы и ответы
Чем GAN отличается от диффузионной модели?
Для чего применяют генеративно-состязательные сети?
Источники
- Goodfellow и др., Generative Adversarial Networks, 2014arxiv.org
- Radford, Metz, Chintala, Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks, 2015arxiv.org
- Karras, Laine, Aila, A Style-Based Generator Architecture for Generative Adversarial Networks, 2018arxiv.org
Где это применяют в компании
Не уверены, нужно ли это вашей компании?
Карта ИИ-решений