Principles and Labs for Deep Learning provides the knowledge and techniques needed to help readers design and develop deep learning models. Deep Learning techniques are introduced through theory, comprehensively illustrated, explained through the TensorFlow source code examples, and analyzed through the visualization of results. The structured methods and labs provided by Dr. Huang and Dr. Le enable readers to become proficient in TensorFlow to build deep Convolutional Neural Networks (CNNs) through custom APIs, high-level Keras APIs, Keras Applications, and TensorFlow Hub. Each chapter has one corresponding Lab with step-by-step instruction to help the reader practice and accomplish a specific learning outcome.
Deep Learning has been successfully applied in diverse fields such as computer vision, audio processing, robotics, natural language processing, bioinformatics and chemistry. Because of the huge scope of knowledge in Deep Learning, a lot of time is required to understand and deploy useful, working applications, hence the importance of this new resource. Both theory lessons and experiments are included in each chapter to introduce the techniques and provide source code examples to practice using them. All Labs for this book are placed on GitHub to facilitate the download. The book is written based on the assumption that the reader knows basic Python for programming and basic Machine Learning.
Author(s): Shih-Chia Huang, Trung-Hieu Le
Publisher: Academic Press
Year: 2021
Language: English
Pages: 366
City: London
Principles and Labs for Deep Learning
Copyright
Preface
Environment installation
Python installation
Windows environment
Ubuntu environment
TensorFlow installation
Windows environment
Ubuntu environment
Python extension installation
Jupyter notebook
Jupyter notebook installation
Setup and create new project
Jupyter Notebook operation
PyCharm IDE
PyCharm installation
Setup and create new project
PyCharm keyboard shortcuts
GitHub labs
Download source codes
Open and run source code
Introduction to TensorFlow 2
Deep learning
Introduction to deep learning
Deep learning toolkits
Introduction to TensorFlow
Improvement of TensorFlow 2
Eager execution
Introduction to eager execution
Basic TensorFlow operations
Keras
Introduction to Keras
Sequential model
Functional model
Tf.data
Introduction to tf.data
Basic functions of tf.data API
References
Neural networks
Introduction to neural networks
A brief history of neural networks
Principle of neural networks
Training neural networks
Introduction to Kaggle
Kaggle platform
House sales in King County dataset
Experiment 1: House price prediction
Preparing dataset
Building and training network model
Displaying training results
Introduction to TensorBoard
Experiment 2: Overfitting problem
Introduction to overfitting
Code examples
Visualization with TensorBoard
References
Binary classification problem
Machine learning algorithms
Binary classification problem
Introduction to binary classification
Binary classification model
Experiment: Pokémon combat prediction
Introduction to Pokémon-Weedles cave dataset
Code examples
References
Multi-category classification problem
Convolutional neural network
Introduction to convolutional neural network
Building a convolutional neural network
Operation of convolutional neural network
Multi-category classification
Introduction to multi-category classification
Multi-category classification model
Data augmentation
Experiment: CIFAR-10 image classification
Introduction to CIFAR-10 dataset
TensorFlow datasets
Code examples
References
Training neural network
Backpropagation
Introduction to backpropagation
Vanishing gradient problem
Weight initialization
Normal Distribution
Glorot initialization
He initialization
Batch normalization
Introduction to batch normalization
Neural network with batch normalization
Experiment 1: Verification of three weight initialization methods
Code examples
Visualizing weight distribution with TensorBoard
Experiment 2: Verification of batch normalization
Comparison of different neural networks
References
Advanced TensorFlow
Advanced TensorFlow
Custom network layer
Custom loss function
Custom metric function
Custom callback function
Using high-level keras API and custom API of TensorFlow
Network layer
Loss function
Metric function
Callback function
Experiment: implementation of two network models using high-level keras API and custom API
Advanced TensorBoard
Advanced TensorBoard
tf.summary.scalar
tf.summary.image
tf.summary.text
tf.summary.audio
tf.summary.histogram
Experiment 1: Using tf.summary.image API to visualize training results
Experiment 2: Hyperparameter tuning with TensorBoard HParams
HPARAMS dashboard on TensorBoard
Code examples
Convolutional neural network architectures
Popular convolutional neural network architectures
LeNet
AlexNet
VGG
GoogLeNet
ResNet
Comparison of network architectures
Experiment: Implementation of inception-v3 network
Keras applications
TensorFlow Hub
References
Transfer learning
Transfer learning
Introduction to transfer learning
Transfer learning strategies
Experiment: Using Inception-v3 for transfer learning
Introduction to Dogs vs. Cats dataset
Code examples
References
Variational auto-encoder
Introduction to auto-encoder
Introduction to variational auto-encoder
Introduction to VAE
Operation of VAE
Variational auto-encoder loss function
Experiment: Implementation of variational auto-encoder model
Create project
Introduction to the dataset
Building a Variational auto-encoder model
References
Generative adversarial network
Generative adversarial network
Introduction to generative adversarial network
Training generative adversarial network
Introduction to WGAN-GP
Drawbacks of generative adversarial network
Introduction to Wasserstein distance
Training WGAN-GP
Experiment: Implementation of WGAN-GP
Create project
Introduction to dataset
Building WGAN-GP model
References
Object detection
Computer vision
Introduction to object detection
Object detection methods
R-CNN
Fast R-CNN
Faster R-CNN
YOLO-v1
SSD
YOLO-v2
Feature pyramid networks
RetinaNet
YOLO-v3
CFF-SSD
DSNet
Experiment: Implementation of YOLO-v3
Load YOLO-v3 project
Introduction to dataset
Building YOLO-v3 model
References
Index
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
R
S
T
U
V
W
X
Y
Z