Learning generative adversarial networks : next-generation deep learning simplified
----------------------------------------------
Book Description
----------------------------------------------
Build image generation and semi-supervised models using Generative Adversarial Networks
About This Book
Understand the buzz surrounding Generative Adversarial Networks and how they work, in the simplest manner possible
Develop generative models for a variety of real-world use-cases and deploy them to production
Contains intuitive examples and real-world cases to put the theoretical concepts explained in this book to practical use
Who This Book Is For
Data scientists and machine learning practitioners who wish to understand the fundamentals of generative models will find this book useful. Those who wish to implement Generative Adversarial Networks and their variant architectures through real-world examples will also benefit from this book. No prior knowledge of generative models or GANs is expected.
What You Will Learn
Understand the basics of deep learning and the difference between discriminative and generative models
Generate images and build semi-supervised models using Generative Adversarial Networks (GANs) with real-world datasets
Tune GAN models by addressing the challenges such as mode collapse, training instability using mini batch, feature matching, and the boundary equilibrium technique.
Use stacking with Deep Learning architectures to run and generate images from text.
Couple multiple Generative models to discover relationships across various domains
Explore the real-world steps to deploy deep models in production
----------------------------------------------
Table of Contents
----------------------------------------------
1. Introduction to Deep Learning
Evolution of deep learning
Sigmoid activation
Rectified Linear Unit (ReLU)
Exponential Linear Unit (ELU)
Stochastic Gradient Descent (SGD)
Learning rate tuning
Regularization
Shared weights and pooling
Local receptive field
Convolutional network (ConvNet)
Deconvolution or transpose convolution
Recurrent Neural Networks and LSTM
Deep neural networks
Discriminative versus generative models
Summary
2. Unsupervised Learning with GAN
Automating human tasks with deep neural networks
The purpose of GAN
An analogy from the real world
The building blocks of GAN
Generator
Discriminator
Implementation of GAN
Applications of GAN
Image generation with DCGAN using Keras
Implementing SSGAN using TensorFlow
Setting up the environment
Challenges of GAN models
Setting up failure and bad initialization
Mode collapse
Problems with counting
Problems with perspective
Problems with global structures
Improved training approaches and tips for GAN
Feature matching
Mini batch
Historical averaging
One-sided label smoothing
Normalizing the inputs
Batch norm
Avoiding sparse gradients with ReLU, MaxPool
Optimizer and noise
Don't balance loss through statistics only
Summary
3. Transfer Image Style Across Various Domains
Bridging the gap between supervised and unsupervised learning
Introduction to Conditional GAN
Generating a fashion wardrobe with CGAN
Stabilizing training with Boundary Equilibrium GAN
The training procedure of BEGAN
Architecture of BEGAN
Implementation of BEGAN using Tensorflow
Image to image style transfer with CycleGAN
Model formulation of CycleGAN
Transforming apples into oranges using Tensorflow
Transfiguration of a horse into a zebra with CycleGAN
Summary
4. Building Realistic Images from Your Text
Introduction to StackGAN
Conditional augmentation
Stage-I
Stage-II
Architecture details of StackGAN
Synthesizing images from text with TensorFlow
Discovering cross-domain relationships with DiscoGAN
The architecture and model formulation of DiscoGAN
Implementation of DiscoGAN
Generating handbags from edges with PyTorch
Gender transformation using PyTorch
DiscoGAN versus CycleGAN
Summary
5. Using Various Generative Models to Generate Images
Introduction to Transfer Learning
The purpose of Transfer Learning
Various approaches of using pre-trained models
Classifying car vs cat vs dog vs flower using Keras
Large scale deep learning with Apache Spark
Running pre-trained models using Spark deep learning
Handwritten digit recognition at a large scale using BigDL
High resolution image generation using SRGAN
Architecture of the SRGAN
Generating artistic hallucinated images using DeepDream
Generating handwritten digits with VAE using TensorFlow
A real world analogy of VAE
A comparison of two generative models—GAN and VAE
Summary
6. Taking Machine Learning to Production
Building an image correction system using DCGAN
Steps for building an image correction system
Challenges of deploying models to production
Microservice architecture using containers
Drawbacks of monolithic architecture
Benefits of microservice architecture
Containers
Docker
Kubernetes
Benefits of using containers
Various approaches to deploying deep models
Approach 1 - offline modeling and microservice-based containerized deployment
Approach 2 - offline modeling and serverless deployment
Approach 3 - online learning
Approach 4 - using a managed machine learning service
Serving Keras-based deep models on Docker
Deploying a deep model on the cloud with GKE
Serverless image recognition with audio using AWS Lambda and Polly
Steps to modify code and packages for lambda environments
Running face detection with a cloud managed service
Summary