Generative Adversarial Networks (GANs) are a class of deep learning frameworks for generating synthetic data by pitting two neural networks against each other in a competitive game. Introduced by Ian Goodfellow in 2014, GANs consist of a generator that creates fake data and a discriminator that distinguishes real from fake, with both networks improving through adversarial training. This minimax game drives GANs to produce remarkably realistic images, videos, and other data types, making them a cornerstone of generative AI. Training stability remains the central challenge—mode collapse, vanishing gradients, and convergence failures demand careful architecture choices, loss functions, and regularization techniques that practitioners must master to achieve high-quality results.
What This Cheat Sheet Covers
This topic spans 15 focused tables and 101 indexed concepts. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
Table 1: Core Architecture Components
| Component | Example | Description |
|---|---|---|
z = torch.randn(batch, latent_dim)fake = G(z) | Neural network that maps random noise to fake data samples attempting to fool the discriminator | |
real_out = D(real_images)fake_out = D(fake_images) | Neural network classifier that outputs probability a sample is real vs. fake | |
z ~ N(0, I) size [batch, 128] | Random vector input to generator, typically Gaussian or uniform noise from which all outputs are derived |