Совместная работа двух нейросетей устроена следующим образом: одна генерирует изображения, а вторая пропускает «хорошие» и отбраковывает «плохие» согласно некоторому правилу.
Первая нейросеть пытается создать изображение, которое вторая примет за настоящую картину, а вторая, в свою очередь, пытается научиться отличать реальные картины от сгенерированных. Они обе становятся лучше со временем, поэтому чем дольше обучать генеративную нейросеть, тем более реалистичными будут получающиеся изображения