CS231n Assignments Note9: Network Visualization, Style Transfer and Generative Adversarial Networks
Table of Contents:
Generative Adversarial Networks
discriminator: a traditional classification network;
generator: take random noise as input and transform it to produce images to fool the discriminator into thinking the images it produced are real.
We can think this back and force process of the generator(\(G\)) trying to fool the discriminator($D$), and the discriminator tring to correctly classify real vs. fake as a minimax game:
\[\underset{G}{\operatorname{minimize}} \underset{D}{\operatorname{maximize}} \mathbb{E}_{x \sim p_{\text {data }}}[\log D(x)]+\mathbb{E}_{z \sim p(z)}[\log (1-D(G(z)))]\]From Goodfellow et al., we alternate the following updates:
- update the generator to maximize the probability of the discriminator making the incorrect choice on generated data:
- update the discriminator to maximize the probability of the discriminator making the correct choice on real and generated data:
Reference
min-char-rnn.py gist: 112 lines of Python