У GAN есть несколько распространенных режимов отказа. Все эти общие проблемы являются областями активных исследований. Хотя ни одна из этих проблем не была решена полностью, мы упомянем некоторые вещи, которые люди пробовали.
Исчезающие градиенты
Исследования показали, что если ваш дискриминатор слишком хорош, обучение генератора может потерпеть неудачу из-за исчезновения градиентов . По сути, оптимальный дискриминатор не предоставляет генератору достаточно информации для достижения прогресса.
Попытки исправить ситуацию
- Потеря Вассерштейна : потеря Вассерштейна предназначена для предотвращения исчезновения градиентов, даже если вы тренируете дискриминатор до оптимальности.
- Модифицированные минимаксные потери : в оригинальной статье GAN предлагалась модификация минимаксных потерь для борьбы с исчезающими градиентами.
Свернуть режим
Обычно вы хотите, чтобы ваш GAN выдавал самые разные выходные данные. Например, вам нужно, чтобы для каждого случайного ввода в ваш генератор лиц было другое лицо.
Однако если генератор выдает особенно правдоподобный результат, он может научиться выдавать только этот результат. Фактически, генератор всегда пытается найти тот результат, который кажется дискриминатору наиболее правдоподобным.
Если генератор начинает выдавать один и тот же результат (или небольшой набор результатов) снова и снова, лучшая стратегия дискриминатора — научиться всегда отклонять этот результат. Но если дискриминатор следующего поколения застрянет в локальном минимуме и не найдет лучшую стратегию, то следующей итерации генератора будет слишком легко найти наиболее правдоподобный результат для текущего дискриминатора.
Каждая итерация генератора чрезмерно оптимизируется для конкретного дискриминатора, и дискриминатору никогда не удается найти выход из ловушки. В результате генераторы чередуются с небольшим набором типов выходных данных. Эта форма отказа GAN называется коллапсом режима .
Попытки исправить ситуацию
Следующие подходы пытаются заставить генератор расширить область применения, не позволяя ему оптимизироваться под один фиксированный дискриминатор:
- Потеря Вассерштейна : потеря Вассерштейна смягчает коллапс моды, позволяя вам настроить дискриминатор на оптимальность, не беспокоясь об исчезновении градиентов. Если дискриминатор не застревает в локальных минимумах, он учится отклонять выходные сигналы, на которых стабилизируется генератор. Так что генератору приходится пробовать что-то новое.
- Развернутые GAN : развернутые GAN используют функцию потерь генератора, которая включает в себя не только классификацию текущего дискриминатора, но и выходные данные будущих версий дискриминатора. Таким образом, генератор не может чрезмерно оптимизировать один дискриминатор.
Неспособность сойтись
GAN часто не сходятся, как обсуждается в модуле по обучению .
Попытки исправить ситуацию
Исследователи пытались использовать различные формы регуляризации для улучшения конвергенции GAN, в том числе:
- Добавление шума к входным данным дискриминатора : см., например, «На пути к принципиальным методам обучения генеративно-состязательных сетей» .
- Наказание весов дискриминатора : см., например, Стабилизация обучения генеративно-состязательных сетей посредством регуляризации .