A generative adversarial network (GAN) is a generative model that defines an adversarial net framework and is composed of a couple of models (both models are CNNs in general), namely a generator and a discriminator, with the goal of generating new realistic images when given a set of training images. These two models act as adversaries of each other: the generator learns to generate new fake images that look like real images (starting with random noise) whilethe discriminator learns to determine whether a sample image is a real or a fake image.
The generator plays the role of a counterfeiter that is trying to produce a fake image and fool the discriminator, whereas the discriminator plays the role of the police that tries to detect the fake image generated by the discriminator. We can think of this as a two-player game and competition in this game drives...