Generative Adversarial Networks (d2l.ai)
generative-modelsgansdeep-learningminimax
Abstraction: GAN architecture as minimax game between generator and discriminator networks
Key points:
- Introduced by Goodfellow et al. (2014); GANs use a discriminative model as a signal to train a generative model — data generator is good when fake data cannot be distinguished from real data (two-sample test framing)
- Generator G maps latent noise z ~ N(0,1) to synthetic data x' = G(z); discriminator D outputs probability that input is real; trained with cross-entropy loss
- Minimax objective: min_D max_G { -E[log D(x)] - E[log(1 - D(G(z)))] }; in practice generator maximizes log D(G(z)) to avoid vanishing gradients when D is confident
- Both networks trained with Adam; discriminator updated first each iteration, then generator; batch size 8 for toy Gaussian example
- Training is unstable when generator improves to near-perfect — gradients become too small for the discriminator to make progress
- d2l.ai implements GAN on a 2D Gaussian dataset as a minimal pedagogical example, with separate update_D and update_G functions
Connections: Ian Goodfellow · D2l AI · Generative Adversarial Networks · Generative Models · Deep Learning
Source: https://d2l.ai/chapter_generative-adversarial-networks/gan.html