Glossary term

Generative Adversarial Networks

What is a Generative Adversarial Network?

Generative adversarial networks (GANs) are deep learning-based generative models designed like a human brain — called neural networks. These neural networks are designed to identify and learn patterns or regularities in a dataset, which can be used to create new results that are nearly impossible to distinguish from the original dataset. This is a neural network with an imagination.

GANs make use of two sub-models which include a generator that creates new data instances and a discriminator that analyzes instances for legitimacy. 

Think of it like a counterfeiter (generator) and a detective (discriminator) both trying to outsmart the other. The more the counterfeiter passes fake dollar bills, the smarter the detective becomes at identifying them. The counterfeiter needs to get better at making fakes, and the detective needs to learn the new tricks being employed in the counterfeits. 

GANs work by being fed training data, then, the “adversarial” part kicks in as the generator and discriminator learn from each other. The aim of these models is for the discriminator to differentiate between false and authentic data. Both data types work together to train the model that’s being used to evaluate and make decisions based on complex data like audio, video, or image files.

The Origin of GANs

The Generative Adversarial Network concept was born from an argument at a bar between Ian Goodfellow of the University of Montreal and his friends. In a special Quora discussion about GANs, Facebook’s AI research director Yann LeCun termed adversarial training “the most interesting topic in the last 10 years in machine learning.”

Benefits of a Generative Adversarial Network

Related Resources