GANs in Action
Jakub Langr and Vladimir Bok
  • MEAP began July 2018
  • Publication in Summer 2019 (estimated)
  • ISBN 9781617295560
  • 350 pages (estimated)
  • printed in black & white

GANs in Action strikes that rare balance between an applied programming book, an academic book heavy on theory, and a conversational blog post on machine learning techniques.

Dr. Erik Sapper, California Polytechnic State University
Deep learning systems have gotten really great at identifying patterns in text, images, and video. But applications that create realistic images, natural sentences and paragraphs, or native-quality translations have proven elusive. Generative Adversarial Networks, or GANs, offer a promising solution to these challenges by pairing two competing neural networks—one that generates content and the other that rejects samples that are of poor quality.
Table of Contents detailed table of contents

1 Introduction to GANs

1.1 Introduction

1.2 Prerequisites

1.3 What Are Generative Adversarial Networks?

1.3.1 GAN in Action

1.3.2 GAN Training

1.3.3 GAN Training Visualized

1.3.4 Reaching Equilibrium

1.3.5 The Pros and Cons of Studying GANs

1.4 Applications of GANs

1.5 Guide to this Book


2 Autoencoders as a Path to GANs

2.1 Why did we include this chapter?

2.1.1 Generative learning is a new area for most

2.1.2 Challenges of generative modelling

2.1.3 Important part of the literature today

2.2 What does this have to do with GANs?

2.3 What are the reasons behind autoencoders?

2.4 Overview of Autoencoders

2.5 Usage of autoencoders

2.6 Unsupervised learning

2.7 New take on an old idea

2.8 Variational autoencoder (VAE)

2.9 Code is life


3 Your First GAN: Generating Handwritten Digits

3.1 Introduction

3.1.1 Adversarial Training

3.1.2 The Generator and the Discriminator

3.1.3 GAN Training Algorithm

3.2 Tutorial: Generating Handwritten Digits

3.2.1 Import Statements

3.2.2 The Generator

3.2.3 The Discriminator

3.2.4 Build the Model

3.2.5 Training

3.2.6 Outputting Sample Images

3.2.7 Run the Model

3.2.8 Inspecting the Results

3.3 Conclusion


4 Deep Convolutional GAN (DCGAN)

4.1 Introduction

4.2 Convolutional Neural Networks (ConvNets)

4.3 Brief History of the DCGAN

4.4 Batch Normalization

4.4.1 Computing Batch Normalization

4.5 Tutorial: Generating Handwritten Digits with DCGAN

4.5.1 Import Statements

4.5.2 The Generator

4.5.3 The Discriminator

4.5.4 Build & Run the DCGAN

4.5.5 Model Output

4.6 Conclusion


5 Training & Common Challenges: GANing for Success

5.1 Evaluation

5.1.1 Inception Score

5.1.2 Fréchet Inception Distance

5.2 Training challenges

5.2.1 Network depth

5.2.2 Game set-ups

5.2.3 Min-Max GAN (MM-GAN)

5.2.4 Non-Saturating GAN (NS-GAN)

5.2.5 Summary of game setups

5.2.6 Training hacks


6 Progressing with GANs

6.1 Latent space interpolation

6.2 They grow up so fast

6.3 Summary of key innovations

6.4 Tensorflow Hub and hands-on

6.5 Practical Applications

6.6 Chapter summary

7 Semi-Supervised GAN

7.1 Introduction: “The GAN Zoo”

7.2 Semi-Supervised GAN (SGAN)

7.2.1 Why Semi-Supervised Learning?

7.2.2 What is Semi-Supervised GAN?

7.3 Tutorial: Implementing Semi-Supervised GAN

7.3.1 Architecture Diagram

7.3.2 Implementation

7.3.3 Setup

7.3.4 The Dataset

7.3.5 The Generator

7.3.6 The Discriminator

7.3.7 Build the Model

7.3.8 Training

7.3.9 Train the Model

7.3.10 Model Training and Test Accuracy

7.3.11 Comparison to a Fully-Supervised Classifier

7.4 Conclusion

7.5 Summary

8 Conditional GAN

8.1 Introduction

8.1.1 Motivation

8.2 Conditional GAN (CGAN)

8.2.1 What is Conditional GAN?

8.2.2 CGAN Generator

8.2.3 CGAN Discriminator

8.2.4 Summary Table

8.2.5 Architecture Diagram

8.3 Tutorial: Implementing Conditional GAN

8.3.1 Implementation

8.3.2 Setup

8.3.3 The Generator

8.3.4 The Discriminator

8.3.5 Build the Model

8.3.6 Training

8.3.7 Outputting Sample Images

8.3.8 Train the Model

8.4 Inspecting the Output: Targeted Data Generation

8.5 Conclusion

8.5.1 CGAN and Image-to-Image Translation

8.6 Summary

9 CycleGAN

9.1 Introduction

9.2 Image-to-Image Translation

9.3 Cycle Consistent Loss: there and back aGAN

9.4 Adversarial Loss

9.5 Identity Loss

9.6 Architecture

9.7 CycleGAN architecture: building the network

9.8 Generator architecture

9.9 Discriminator architecture

9.10 Object Oriented Design of GANs

9.11 Tutorial: CycleGAN

9.12 Building the network

9.13 Running CycleGAN

9.14 Expansions, augmentations and applications

9.15 Summary

10 Adversarial Examples

11 Practical application of GANs

12 Conclusion


Appendix A: Technical/deployments

About the book

GANs in Action: Deep learning with Generative Adversarial Networks teaches you how to build and train your own generative adversarial networks. First, you’ll get an introduction to generative modelling and how GANs work, along with an overview of their potential uses. Then, you’ll start building your own simple adversarial system, as you explore the foundation of GAN architecture: the generator and discriminator networks.

As you work through the book’s captivating examples and detailed illustrations, you’ll learn to train different GAN architectures for different scenarios. You’ll explore generating high-resolution images, image-to-image translation, and adversarial learning, as well as targeted data generation, as you grow your system to be smart, effective, and fast.

Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.
MEAP combo $49.99 pBook + eBook + liveBook
MEAP eBook $39.99 pdf + ePub + kindle + liveBook

placing your order...

Don't refresh or navigate away from the page.

FREE domestic shipping on three or more pBooks