Generative Adversarial Networks, or GANs, are a class of artificial intelligence algorithms used in unsupervised machine learning, which was introduced by Ian Goodfellow and his colleagues in 2014. They are used for generating synthetic data that resembles some real data.
GANs consist of two parts: a Generator and a Discriminator, which are both neural networks.
Generator: The Generator’s job is to create data that looks as real as possible. It starts with some random noise as input and transforms it into something that resembles real data.
Discriminator: The Discriminator’s job is to distinguish between the real data and the data created by the Generator. It’s trained on both real data and synthetic data created by the Generator.
The Generator and Discriminator are trained together in a game-like setup where they are adversaries, hence the name “adversarial” networks. The Generator tries to fool the Discriminator, and the Discriminator tries to correctly classify the data as real or fake. Over time, the Generator gets better at producing realistic data, and the Discriminator gets better at telling the difference.
GANs have been used for a variety of applications, including image synthesis, semantic image editing, style transfer, image super-resolution, and classification. However, they can be challenging to train due to issues like mode collapse and the difficulty of balancing the training of the Generator and Discriminator.
« Back to Glossary Index