ММООЗЗГГ.ru

Словарь ИИ

Что такое генеративно-состязательная сеть

Коротко

Генеративно-состязательная сеть (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 отличается от диффузионной модели?

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

Для чего применяют генеративно-состязательные сети?

Для увеличения разрешения и восстановления фото, переноса стиля, синтетических данных для обучения других моделей и редактирования лиц. На них же делали ранние дипфейки, поэтому вокруг технологии много вопросов о маркировке.

Источники

Где это применяют в компании

Не уверены, нужно ли это вашей компании?

Карта ИИ-решений
Написать в Telegram