Generative Adversarial Networks (GANs) are a class of AI algorithms used in unsupervised machine learning, implemented by a system of two neural networks contesting with each other in a zero-sum game framework. They were introduced in 2014 by Ian Goodfellow. This technique can generate images/photographs that look at least superficially authentic to human observers, having many realistic characteristics (however, in tests humans can tell real images from generated images in many cases).
NIPS 2016 Workshop on Adversarial Training http://www.iangoodfellow.com/slides/2016-12-9-gans.pdf
https://arxiv.org/abs/1701.00160 Introduction to Generative Adversarial Networks
The 2 neural network models are known as the Generator and the Discriminator models.
The generator model generates samples by taking noise as input.
The discriminator model receives samples from both the training data and the generator and has to be able to differentiate between the two sources.
A continuous game is played by these 2 networks where the generator is learning to create more realistic samples while the discriminator is learning to get better at differentiating real data and generated data. These two networks are simultaneously trained and the competition steers the generated samples towards being indistinguishable from the real data.