General Adversarial Network (GAN)

Home Glossary Item General Adversarial Network (GAN)
« Back to Glossary Index

Generative Adversarial Networks (GANs) are a class of machine learning models initially introduced by Ian Goodfellow and his collaborators in 2014. These models aim at generating new data instances that could have been drawn from the original dataset, hence the term “generative”. They are called “adversarial” because they use two simultaneously trained networks, a generator, and a discriminator, which compete against each other in a zero-sum game framework.


The generator network in a GAN takes a random input (often called a latent vector) and transforms it into a workable data format. The objective of the generator is to produce data that resemble the real data as closely as possible. On the other side, the discriminator takes in both real data and the data generated by the generator. Its task is to classify the inputs into two classes: one for the real data and one for the fake data produced by the generator.

By having the two networks trained together, the generator improves its ability to create believable data, while the discriminator becomes better at distinguishing the real data from the fake ones. This interplay leads to the generator producing data that is almost indistinguishable from the real data. GANs have been successful and are widely used in various fields, including image synthesis, semantic image editing, style transfer, image super-resolution, and classification tasks. Yet, they also call attention to the ethical considerations regarding the generation of realistic, but fabricated, data.

« Back to Glossary Index