Generative Adversarial Networks: A Two-player game
Introduced in 2014 by Goodfellow. et al, Generative Adversarial Networks (GANs) revolutionized the field of Generative modeling. They proposed a new framework that generated very realistic synthetic data trained through a minimax two-player game.
With GANs, we don't explicitly learn the distribution of the data
A latent variable is sampled from a prior
To summarize,
A discriminator
estimates the probability of a given sample coming from the real dataset. It works as a critic and is optimized to tell the fake samples from the real ones.A generator
outputs synthetic samples given a noise variable input . It is trained to capture the real data distribution (want ) so that its generative samples can be as real as possible, or in other words, can trick the discriminator to output higher probabilities.
Training Objective
We want to make sure that the Discriminator's decision over the real data is accurate, i.e.
The Discriminator should also assign low probabilities to the fake samples generated by the Generator, i.e.
On the other hand, the Generator wants to fool the Discriminator such that it classifies fake samples as real, i.e.
The full objective is given by,
The objective of training GANs is therefore a minimax game: the generator
However, at the start of training, the generator is really bad due to which
Training Algorithm |
Optimality
Let's write Equation 4 with a change of variables (ignoring the improvement of Generator for now),
JS divergence is always non-negative and is zero only when the two distributions are equal. Hence, training a GAN with this objective, minimizes the JS divergence to zero, obtaining a global minimum when
The global minimum of the minimax game happens when,
Some prominent papers,
- Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks (DCGAN): Architectures of Generator and Discriminator created with CNNs.
- Wasserstein GAN (WGAN): Improvement over traditional GAN training.
- Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks (CycleGAN): For image-to-image translation
Comments
Post a Comment