(deep convolutional) generative adversarial nets – slides

unsupervised_representation_learning_with_dcgan

There’s this really neat new idea on how to train neural networks that recently came out know as generative adversarial nets (GAN).

The basic idea of a GAN is to train two networks to compete with each other (hence the name “adversarial“). One network (called the generator) creates images that look just like real images. The other network (called the discriminator) distinguishes between real images and those images the generator produced.

Thus the two networks compete with each other, where the generator generates images to fool the discriminator, and the discriminator discriminates between the generator’s images and real images.

The GAN algorithm was originally proposed in:
[1] Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., Courville, A., Bengio, Y. (2014). Generative Adversarial Nets. Advances in Neural Information Processing Systems, 2672–2680. Retrieved from http://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf

And was further refined here:
[2] Radford, A., Metz, L., & Chintala, S. (2015). Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks. In arXiv. http://arxiv.org/abs/1511.06434

I found the ideas in these paper to be pretty exciting since:
1) it is an unsupervised learning approach, meaning it can take advantage of large unlabelled datasets
2) it seems to be useful for classification especially with limited data
3) the generator actually learns how to roughly create realistic images and separates concepts within the images (not just memorizing images nor just trying to recreate them)

Here are some slides that explain and present the Deep Convolutional Generative Adversarial Networks. We mainly explore the Radford et. al. [2] work but also cover the key GAN algorithm in Goodfellow et. al. [1].

So here are the slides (you can download as ppt or pdf if needed here)… hope they are useful!