Definition

Generative adversarial network (GAN) is a type of Neural Network model generating data that resembles training data.
Architecture
Training

In the training process of GAN, the two neural networks compete against each other. The generator (G) generates fake data and the discriminator (D) tries to distinguish between real and fake data.
- The generator creates fake data from random noise.
- The discriminator is shown both real data from the training set and fake data from the generator. It tries to classify which is which.
- Based on how well the discriminator performs, both networks receive feedback
- The generator aims to improve its fake data to fool the discriminator.
- The discriminator aims to get better at distinguishing real from fake.
- This process continues iteratively, with both networks improving over time.
Objective Function
The objective function of GAN is defined as where:
- is the generator
- is the discriminator
- is the distribution of the input data
- is the distribution of noise
Facts
When the discriminator is optimal, minimizing the objective function with respect to the generator is equivalent to minimizing the JS-Divergence between the real data distribution and the generated distribution .