What is a GAN?
What are the challenges using GANs? E.g. learning
Examples of applications
Why is it interesting for us!
Check out iangoodfellow.com for nice presentations
GANs are a way to create very good generative models
They properly model the data manifold
There are around 500 new GAN paper every month
Check out the GAN model zoo on github for inspiration
This is simply too much material to cover
Focus and stick to the original paper
If time, look at ganerated hands, as an example application
Multiple different approaches
Can use any gradient base optimization, e.g. Adam
\[ J^{(D)}(\boldsymbol{\theta}^{(D)},\boldsymbol{\theta}^{(G)}) = -\frac{1}{2}\mathbb{E}_{\mathbf{x}\sim p_{\text{data}}}\log D(\mathbf{x}) -\frac{1}{2}\mathbb{E}_{\mathbf{z}}\log (1- D(G(\mathbf{z}))) \]
This is standard cross-entropy for binary classifier with a sigmoid output
Here are more choices, simplest is the zero-zum game \[ J^{(G)} = -J^{(D)} \]
This allows us to summarize all into one value function \[ V\left( \boldsymbol{\theta}^{(D)},\boldsymbol{\theta}^{(G)} \right) = -J^{(D)}\left( \boldsymbol{\theta}^{(D)},\boldsymbol{\theta}^{(G)} \right) \]
This allows us solve a minimax proble, which is the solution to zero-sum games \[ \boldsymbol{\theta}^{(G)*} = \text{arg} \min_{\boldsymbol{\theta}^{(G)}}\max_{\boldsymbol{\theta}^{(D)}}V\left( \boldsymbol{\theta}^{(D)},\boldsymbol{\theta}^{(G)} \right) \]
Mostly interesting for theoretical analysis
If the discriminator becomes too good, then gradient for the generator vanishes. It gets stuck and we do not see any improvements.
Heuristic change, flip target to construct in stead of sign \[ J^{(G)} = -\frac{1}{2}\mathbb{E}_{\mathbf{z}}\log D(G(\mathbf{z})) \]
Generator now maximizes the probability of the discriminator being wrong, instead of minimizing the probability of the discriminator being correct.
Can no longer use one single value function
Image to image translation network
Translate synthetic images to realistic looking images
We have ground truth annotations for synthetic data, they just don’t look real enough
Implementation in caffe
Heatmaps are 128 by 128
Only release forward pass for tracking
GANs are not the holy grail of deep learning
They have some very hard problems to solve
Samples from LARGE SCALE GAN TRAINING FOR HIGH FIDELITY NATURAL IMAGE SYNTHESIS
More examples where gans are used to synthesize training data
Cycle gans, maybe info GAN
Focus on more high resolution image generation