Create fake data from noise
Classify real vs fake
Adversarial objectives
Alternating optimization
Detect diversity issues
Full adversarial system