Generative Adversarial Nets

Authors: Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio
Year: 2014 | NeurIPS
Source: goodfellow-2014-generative-adversarial-nets


What it is

GANs introduced a new way to train generative models: instead of maximizing likelihood or using MCMC, pit two networks against each other in a game. The generator learns to produce realistic samples by trying to fool a discriminator; the discriminator learns to tell real from fake. At equilibrium, the generator recovers the data distribution exactly.


The framework

Two networks

Generator G(z; θ_g): takes noise z ~ p_z as input, outputs a sample in data space. Learns a mapping from a simple distribution to the data distribution.

Discriminator D(x; θ_d): takes a data point (real or generated) as input, outputs a probability in [0,1] — the probability that x came from real data rather than G.

The objective

min_G max_D V(D,G) = E_{x~p_data}[log D(x)] + E_{z~p_z}[log(1 − D(G(z)))]
  • D maximizes: assign D(x) ≈ 1 to real data, D(G(z)) ≈ 0 to generated data
  • G minimizes: make D(G(z)) ≈ 1, i.e., fool D into thinking generated samples are real

Training

Alternate between:

  1. Update D for k steps (maximize V)
  2. Update G for 1 step (minimize V)

Practical G objective: instead of minimizing log(1−D(G(z))), maximize log D(G(z)). Reason: early in training, D easily rejects all of G’s samples, making the gradient of the original objective near zero. The alternative provides stronger gradients while having the same Nash equilibrium.


Theoretical analysis

Optimal discriminator

For a fixed generator G, the optimal discriminator is:

D*(x) = p_data(x) / (p_data(x) + p_g(x))

When D is at its optimum, the generator’s objective becomes the Jensen-Shannon divergence between p_data and p_g:

C(G) = -log(4) + 2 · JSD(p_data || p_g)

JSD ≥ 0 with equality iff p_g = p_data. So the global minimum is:

p_g = p_data,   D*(x) = 1/2 everywhere

At equilibrium: the discriminator can’t distinguish real from generated data.

Convergence

The paper proves that alternating gradient descent converges to this optimum under idealized conditions (unlimited network capacity, exact gradient updates). In practice, training is often unstable — but the theoretical framework is sound.


Why GANs were a breakthrough

Prior generative models required either:

  • MCMC sampling (Boltzmann machines, energy-based models): slow, requires many steps per sample
  • Explicit likelihood (VAEs, flow models): constrains the model architecture; often blurry
  • Approximate inference (VAEs): introduces a bound that may be loose

GANs generate samples in a single forward pass — as fast as any discriminative network. No Markov chains, no variational bounds, no explicit density computation.


The original results (2014)

The 1-page paper trained small MLPs (not CNNs) on:

  • MNIST: plausible digit images
  • Toronto Face Database: rough face images
  • CIFAR-10: early-stage object images

By 2014 standards the images were crude. The contribution was the framework, not the image quality.


Known failure modes

Mode collapse: G learns to generate a narrow subset of the data distribution that reliably fools D, rather than learning the full distribution. G ignores most of the noise input.

Training instability: D and G can fall out of sync. If D is too strong, G gets near-zero gradients. If G is too strong, D fails and provides no useful training signal.

No encoder: unlike VAEs, a GAN doesn’t learn to map data back to latent space — you can’t get latent codes for real examples.


What came after

YearVariantAdvance
2015DCGANConvolutional GANs; stable training
2014cGANCondition G on class labels
2017CycleGANUnpaired image-to-image translation
2018StyleGANHigh-fidelity face synthesis
2018BigGANLarge-scale class-conditional generation
2020DDPMDiffusion models overtake GANs in image quality

GANs dominated generative image modeling from ~2015 to ~2022. Diffusion models (Ho et al. 2020) then surpassed them in quality and training stability.


See also