In "Understanding Generative Adversarial Networks - Part I" you gained a conceptual understanding of how GAN works. In this post let us get a mathematical understanding of GANs.

The loss functions can be designed most easily using the idea of zero-sum games.

The sum of the costs of all players is 0. This is the Minimax algorithm for GANs

Let’s break it down.

Some terminology: V(D, G) : The value function for a minimax game E(X) : Expectation of a random variable X, also equal to its average value D(x) : The discriminator output for an input x from real data, represents probability G(z): The generator's output when its given z from the noise distribution D(G(z)): Combining the above, this represents the output of the discriminator when

given a generated image G(z) as input

Now, as explained above, the discriminator is the maximizer and hence it tries to

maximize

The loss functions can be designed most easily using the idea of zero-sum games.

The sum of the costs of all players is 0. This is the Minimax algorithm for GANs

Let’s break it down.

Some terminology: V(D, G) : The value function for a minimax game E(X) : Expectation of a random variable X, also equal to its average value D(x) : The discriminator output for an input x from real data, represents probability G(z): The generator's output when its given z from the noise distribution D(G(z)): Combining the above, this represents the output of the discriminator when

given a generated image G(z) as input

Now, as explained above, the discriminator is the maximizer and hence it tries to

maximize