GANs are a class of machine learning (ML) algorithm that's used in unsupervised ML. They are comprised of two deep neural networks that are competing against each other (so it is termed as adversarial). GANs were introduced at the University of Montreal in 2014 by Ian Goodfellow and other researchers, including Yoshua Bengio.
Ian Goodfellow's paper on GANs can be found at https://arxiv.org/abs/1406.2661.
GANs have the potential to mimic any data. This means that GANs can be trained to create similar versions of any data, such as images, audio, or text. A simple workflow of a GAN is shown in the following diagram:
The workflow of the GAN will be explained in the following sections.