Generative adversarial networks (GANs) are one of the recent developments in deep learning. GANs were introduced by Ian Goodfellow in 2014 (https://arxiv.org/pdf/1406.2661.pdf). They address the problem of unsupervised learning by training two deep networks simultaneously, called a generator and a discriminator. These networks compete and cooperate with each other. Over the training period, both the networks eventually learn how to perform their tasks with better accuracy.
A GAN is almost always compared to the role of a counterfeiter (generator) and the police (discriminator). Initially, the counterfeiter will show the police fake money. The police say it is fake. The police give feedback to the counterfeiter as to why the money is fake. The counterfeiter tries to make new fake money based on the feedback they receive. The police again state the money is...