Generative Adversarial Network (GAN)

This course was recommended:

Generative adversarial networks (GAN) framework has been established as a viable solution for image distribution learning tasks.

(Explanation of GAN applied to image generation) GANs are composed of two Neural Nets, one called the generator and one called the discriminator.

  • The generator network creates new synthetic images trying to fool a discriminator network
  • The discriminator network learns to tell a fake, synthesized image from a real one.

The competition between both networks allows them to improve, until the generator network becomes so good that the fake synthesized images cannot be distinguished from real ones.

Mathematical Formalization

Formally, the generative model is pitted against an adversary: a discriminative model that learns to determine whether a sample is from the model distribution or the data distribution.

and play the following two-player minimax game with value function :


  • and are differentiable functions represented by an MLP
  • represents the probability that x came from the data rather than
  • D is trained to maximize the probability of assigning the correct label to both training examples and samples from G. The discriminative model estimates the probability that an input image is drawn from
    • D = discriminative model
  • G takes z as input and outputs an image, trained to minimize :
    • G = generative model.

With a GAN, given enough iterations, converges to . In other words, from a random vector, , the network can synthesize an image, , that resembles one that is drawn from the true distribution, .

The discriminator is a traditional CNN, The generator works by taking in random noise and creating an output.

Wasserstein GAN

Wasserstein Metric GAN:

Wasserstein GAN Paper: