While I've spent much of this book talking about networks that classify or estimate, in this chapter I get to show you some deep neural networks that have the ability to create. The Generative Adversarial Network (GAN), learns to do this through a sort of internal competition between two deep networks, which we will talk about next. In the case of Deep Convolutional General Adversarial Networks (DCGAN), which is the type of GAN I'm going to focus on in this chapter, the network learns to create images that resemble the images in the training dataset.
We will cover the following topics in this chapter:
- An overview of the GAN
- Deep Convolutional GAN architecture
- How GANs can fail
- Safe choices for a GAN
- Generating MNIST images using a Keras GAN
- Generating CIFAR-10 images using a Keras GAN