Generative Adversarial Networks (or GANs) are a landmark architecture in the field of machine learning, being the first successful architecture for generating realistic images. We’ll begin with an introduction to Convolutional Neural Networks, followed by a description of the two sub-network setup – the generator network and the discriminator network. The generator network’s objective is to generate images that are realistic, and the discriminator network’s objective is to distinguish a generated image from a real image. The two networks are playing a two-player minimax game.