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