This document discusses generative adversarial networks (GANs) for generating synthetic images that are indistinguishable from real images. It introduces GANs, explaining how they involve two neural networks - a generator that produces synthetic images and a discriminator that evaluates them as real or fake. The networks are trained in an adversarial process, with the generator trying to fool the discriminator and the discriminator trying to distinguish real from fake images. The document outlines the GAN training process and theoretical guarantees, provides experimental results on image datasets, and discusses advantages, disadvantages and potential future applications of GANs.