Debug an unstable GAN training run by checking each of the 17 tips against your current setup.
Review batch normalization and loss function choices before starting a new GAN project.
Identify early signs of training divergence using the symptom descriptions in the checklist.
A GAN (Generative Adversarial Network) is a type of AI model used to generate content, such as synthetic images, by pitting two networks against each other: one tries to produce realistic output, and the other tries to detect fakes. Training GANs is notoriously difficult and unstable. This repository is a collection of practical tips for making GAN training work reliably. It started as notes from a presentation at a major AI research conference (NIPS 2016) and was compiled by several AI researchers including Soumith Chintala, Emily Denton, and Martin Arjovsky. The authors note at the top that the list is no longer maintained and may be less relevant than it was circa 2016 to 2020. The 17 tips cover topics like how to normalize input data, which loss function to use in practice versus what the original GAN paper proposes, how to sample random noise for the generator, how to set up batch normalization, how to avoid certain types of broken gradients, how to handle labels during training, and how to spot early signs that training has gone wrong. This is not a beginner resource. It assumes the reader already knows what a GAN is, understands how neural network training works, and is comfortable with terms like batch normalization, optimizer, and discriminator. It reads more like a checklist for a practitioner debugging a training run than like a tutorial. For someone new to AI or GANs, this would be a difficult starting point without prior background in machine learning. For someone who does have that background and is running into stability problems with a GAN project, this short document is a compact reference to common remedies.
← soumith on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.