Генеративно-состязательная сеть (GAN) состоит из двух частей:
- Генератор учится генерировать правдоподобные данные. Сгенерированные экземпляры становятся отрицательными обучающими примерами для дискриминатора.
- Дискриминатор учится отличать поддельные данные генератора от реальных данных. Дискриминатор наказывает генератор за получение неправдоподобных результатов.
Когда начинается обучение, генератор выдает явно фальшивые данные, и дискриминатор быстро учится определять, что это фейковые:
По мере обучения генератор приближается к выдаче выходных данных, которые могут обмануть дискриминатор:
Наконец, если обучение генератора проходит хорошо, дискриминатор становится хуже отличать настоящее от поддельного. Он начинает классифицировать фейковые данные как настоящие, и их точность снижается.
Вот изображение всей системы:
И генератор, и дискриминатор представляют собой нейронные сети. Выход генератора подключен непосредственно к входу дискриминатора. Посредством обратного распространения ошибки классификация дискриминатора предоставляет сигнал, который генератор использует для обновления своих весов.
Поясним детали этой системы более подробно.