A generative adversarial network, or GAN, is a framework for deep neural networks that can learn from training data and generate new data with similar characteristics to the training data. For instance, generative networks trained on photographs of human faces can create realistic-looking faces that are completely fictitious.
The generative adversarial networks definition consists of two neural networks, the generator and the discriminator, which compete against one another. The generator is designed to produce fake data, while the discriminator is trained to differentiate the generator’s fake data from actual examples.