Generative adversarial network

Edit · View history

A generative adversarial network (GAN) is a class of machine learning framework in which two neural networks, a generator and a discriminator, are trained simultaneously in a competitive game. The generator attempts to produce synthetic data that resembles real data, while the discriminator tries to distinguish between real and generated samples. The goal is for the generator to improve until the discriminator can no longer reliably tell the difference. GANs were introduced by Ian Goodfellow and his colleagues in 2014.

GANs have become a foundational technique in deep learning, particularly for image and video synthesis, style transfer, data augmentation, and super-resolution. They are also used in natural language processing, speech generation, and in scientific applications such as drug discovery and particle physics simulations.

Architecture

The GAN framework consists of two components:

The two networks are trained via an adversarial loss function, typically a minimax game. The generator and discriminator are updated alternately, with the generator trying to minimize the discriminator's accuracy and the discriminator trying to maximize it.

History

The original GAN was proposed by Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio in the paper "Generative Adversarial Nets" (Generative Adversarial Nets, 2014). Early training instability led to numerous variants, including:

GANs have also been combined with other models, such as conditional GANs (cGANs) and progressive growing techniques.

Applications

Limitations

Common challenges include mode collapse (generator producing limited variety), training instability, and difficulty in evaluating output quality. Despite improvements, GANs remain sensitive to hyperparameters and require careful tuning.