Building a simple Generative Adversarial Network (GAN) using TensorFlow | DigitalOcean
gangenerative-modelstensorflowdeep-learningadversarial-training
Abstraction: TensorFlow GAN tutorial with generator, discriminator, and feature visualization
Key points:
- GAN = generator G(Z) takes noise and produces fake data; discriminator D(X) classifies real vs fake — minimax adversarial game formalized in game theory
- Equilibrium: discriminator outputs probability 0.5, meaning it cannot distinguish generated from real data
- Demo learns a 2D quadratic distribution; generator and discriminator are each 2-layer fully connected nets with leaky ReLU activations
- Discriminator's last hidden layer intentionally fixed at size 2 to enable direct 2D visualization of learned feature transformation without dimensionality reduction
- Both networks trained with RMSProp (lr=0.001); training alternates one D step then one G step per iteration; sigmoid cross-entropy loss for both
- Feature space visualization shows how discriminator separates real vs fake clusters, and how generator update shifts fake cluster toward real cluster
Connections: Tensorflow · Generative Adversarial Networks · Generative Models · Deep Learning
Source: https://blog.paperspace.com/implementing-gans-in-tensorflow/