1. Introduction to GANs and generative modeling
Chapter 1. Introduction to GANs
1.1. What are Generative Adversarial Networks?
Chapter 2. Intro to generative modeling with autoencoders
2.1. Introduction to generative modeling
2.2. How do autoencoders function on a high level?
2.3. What are autoencoders to GANs?
2.4. What is an autoencoder made of?
2.6.1. New take on an old idea
Chapter 3. Your first GAN: Generating handwritten digits
3.1. Foundations of GANs: Adversarial training
3.2. The Generator and the Discriminator
3.4. Tutorial: Generating handwritten digits
3.4.1. Importing modules and specifying model input dimensions
3.4.2. Implementing the Generator
3.4.3. Implementing the Discriminator
Chapter 4. Deep Convolutional GAN
4.1. Convolutional neural networks
4.2. Brief history of the DCGAN
4.4. Tutorial: Generating handwritten digits with DCGAN
4.4.1. Importing modules and specifying model input dimensions
4.4.2. Implementing the Generator
4.4.3. Implementing the Discriminator
Chapter 5. Training and common challenges: GANing for success
5.4.1. Normalizations of inputs
Chapter 6. Progressing with GANs
6.1. Latent space interpolation
6.2.1. Progressive growing and smoothing of higher-resolution layers
6.2.3. Mini-batch standard deviation
6.3. Summary of key innovations
Chapter 7. Semi-Supervised GAN
7.1. Introducing the Semi-Supervised GAN
7.2. Tutorial: Implementing a Semi-Supervised GAN
8.3. Tutorial: Implementing a Conditional GAN
9.1. Image-to-image translation
9.2. Cycle-consistency loss: There and back aGAN
9.6. Object-oriented design of GANs
9.8. Expansions, augmentations, and applications
Chapter 10. Adversarial examples
10.1. Context of adversarial examples
10.2. Lies, damned lies, and distributions
Chapter 11. Practical applications of GANs
11.2.1. Using GANs to design fashion
11.2.3. Creating new items matching individual preferences
11.2.4. Adjusting existing items to better match individual preferences