Author(s): Mohit Sewak; Rezaul Karim; Pradeep Pujari
Year: 2018
Cover
Title Page
Copyright and Credits
Packt Upsell
Contributors
Table of Contents
Preface
Chapter 1: Deep Neural Networks – Overview
Building blocks of a neural network
Introduction to TensorFlow
Installing TensorFlow
For macOS X/Linux variants
TensorFlow basics
Basic math with TensorFlow
Softmax in TensorFlow
Introduction to the MNIST dataset
The simplest artificial neural network
Building a single-layer neural network with TensorFlow
Keras deep learning library overview
Layers in the Keras model
Handwritten number recognition with Keras and MNIST
Retrieving training and test data
Flattened data
Visualizing the training data
Building the network
Training the network
Testing
Understanding backpropagation
Summary
Chapter 2: Introduction to Convolutional Neural Networks
History of CNNs
Convolutional neural networks
How do computers interpret images?
Code for visualizing an image
Dropout
Input layer
Convolutional layer
Convolutional layers in Keras
Pooling layer
Practical example – image classification
Image augmentation
Summary
Chapter 3: Build Your First CNN and Performance Optimization
CNN architectures and drawbacks of DNNs
Convolutional operations
Pooling, stride, and padding operations
Fully connected layer
Convolution and pooling operations in TensorFlow
Applying pooling operations in TensorFlow
Convolution operations in TensorFlow
Training a CNN
Weight and bias initialization
Regularization
Activation functions
Using sigmoid
Using tanh
Using ReLU
Building, training, and evaluating our first CNN
Dataset description
Step 1 – Loading the required packages
Step 2 – Loading the training/test images to generate train/test set
Step 3- Defining CNN hyperparameters
Step 4 – Constructing the CNN layers
Step 5 – Preparing the TensorFlow graph
Step 6 – Creating a CNN model
Step 7 – Running the TensorFlow graph to train the CNN model
Step 8 – Model evaluation
Model performance optimization
Number of hidden layers
Number of neurons per hidden layer
Batch normalization
Advanced regularization and avoiding overfitting
Applying dropout operations with TensorFlow
Which optimizer to use?
Memory tuning
Appropriate layer placement
Building the second CNN by putting everything together
Dataset description and preprocessing
Creating the CNN model
Training and evaluating the network
Summary
Chapter 4: Popular CNN Model Architectures
Introduction to ImageNet
LeNet
AlexNet architecture
Traffic sign classifiers using AlexNet
VGGNet architecture
VGG16 image classification code example
GoogLeNet architecture
Architecture insights
Inception module
ResNet architecture
Summary
Chapter 5: Transfer Learning
Feature extraction approach
Target dataset is small and is similar to the original training dataset
Target dataset is small but different from the original training dataset
Target dataset is large and similar to the original training dataset
Target dataset is large and different from the original training dataset
Transfer learning example
Multi-task learning
Summary
Chapter 6: Autoencoders for CNN
Introducing to autoencoders
Convolutional autoencoder
Applications
An example of compression
Summary
Chapter 7: Object Detection and Instance Segmentation with CNN
The differences between object detection and image classification
Why is object detection much more challenging than image classification?
Traditional, nonCNN approaches to object detection
Haar features, cascading classifiers, and the Viola-Jones algorithm
Haar Features
Cascading classifiers
The Viola-Jones algorithm
R-CNN – Regions with CNN features
Fast R-CNN – fast region-based CNN
Faster R-CNN – faster region proposal network-based CNN
Mask R-CNN – Instance segmentation with CNN
Instance segmentation in code
Creating the environment
Installing Python dependencies (Python2 environment)
Downloading and installing the COCO API and detectron library (OS shell commands)
Preparing the COCO dataset folder structure
Running the pre-trained model on the COCO dataset
References
Summary
Chapter 8: GAN: Generating New Images with CNN
Pix2pix - Image-to-Image translation GAN
CycleGAN
Training a GAN model
GAN – code example
Calculating loss
Adding the optimizer
Semi-supervised learning and GAN
Feature matching
Semi-supervised classification using a GAN example
Deep convolutional GAN
Batch normalization
Summary
Chapter 9: Attention Mechanism for CNN and Visual Models
Attention mechanism for image captioning
Types of Attention
Hard Attention
Soft Attention
Using attention to improve visual models
Reasons for sub-optimal performance of visual CNN models
Recurrent models of visual attention
Applying the RAM on a noisy MNIST sample
Glimpse Sensor in code
References
Summary
Other Books You May Enjoy
Index