Muutke küpsiste eelistusi

Deep Learning in Practice [Kõva köide]

(University of San Diego)
  • Formaat: Hardback, 198 pages, kõrgus x laius: 234x156 mm, kaal: 435 g, 15 Tables, black and white; 86 Line drawings, black and white; 86 Illustrations, black and white
  • Ilmumisaeg: 01-Dec-2021
  • Kirjastus: Chapman & Hall/CRC
  • ISBN-10: 0367458624
  • ISBN-13: 9780367458621
  • Formaat: Hardback, 198 pages, kõrgus x laius: 234x156 mm, kaal: 435 g, 15 Tables, black and white; 86 Line drawings, black and white; 86 Illustrations, black and white
  • Ilmumisaeg: 01-Dec-2021
  • Kirjastus: Chapman & Hall/CRC
  • ISBN-10: 0367458624
  • ISBN-13: 9780367458621
Deep Learning in Practice helps you learn how to develop and optimize a model for your projects using Deep Learning (DL) methods and architectures.

Key features:





Demonstrates a quick review on Python, NumPy, and TensorFlow fundamentals. Explains and provides examples of deploying TensorFlow and Keras in several projects. Explains the fundamentals of Artificial Neural Networks (ANNs). Presents several examples and applications of ANNs. Learning the most popular DL algorithms features. Explains and provides examples for the DL algorithms that are presented in this book. Analyzes the DL networks parameter and hyperparameters. Reviews state-of-the-art DL examples. Necessary and main steps for DL modeling. Implements a Virtual Assistant Robot (VAR) using DL methods. Necessary and fundamental information to choose a proper DL algorithm. Gives instructions to learn how to optimize your DL model IN PRACTICE.

This book is useful for undergraduate and graduate students, as well as practitioners in industry and academia. It will serve as a useful reference for learning deep learning fundamentals and implementing a deep learning model for any project, step by step.
Preface xv
Acknowledgments xvii
Author xix
Chapter 1 Introduction 1(4)
1.1 What Is Learning?
1(1)
1.2 What Is Machine Learning?
1(1)
1.3 What Is Deep Learning?
2(1)
1.4 About This Book!
2(3)
1.4.1 Introduction
2(1)
1.4.2 Python /NumPy
3(1)
1.4.3 TensorFlow and Keras Fundamentals
3(1)
1.4.4 Artificial Neural Networks (ANNs) Fundamentals and Architectures
3(1)
1.4.5 Deep Neural Networks (DNNs) Fundamentals and Architectures
3(1)
1.4.6 Deep Neural Networks for Images and Audio Data Analysis
3(1)
1.4.7 Deep Neural Networks for Virtual Assistant Robots
3(1)
1.4.8 Finding the Best Model?
4(1)
Chapter 2 Python/NumPy Fundamentals 5(24)
2.1 Python
5(13)
2.1.1 Variables
5(1)
2.1.2 Keywords
6(1)
2.1.3 Operators and Operands
6(1)
2.1.4 Statements and Expressions
7(1)
2.1.5 Sequence
8(1)
2.1.6 For Loop
9(1)
2.1.7 While Loop
10(1)
2.1.8 String
10(1)
2.1.9 List
11(1)
2.1.10 Dictionary
11(2)
2.1.11 Tuple
13(2)
2.1.12 Sets
15(2)
2.1.13 Function
17(1)
2.1.14 File
17(1)
2.1.15 Object (class)
18(1)
2.2 NumPY
18(11)
2.2.1 Create Array
18(1)
2.2.2 ndarray
18(1)
2.2.3 Access Elements
19(1)
2.2.4 Array Slicing
20(1)
2.2.5 Data Type
21(1)
2.2.6 Array Data Check
21(1)
2.2.7 Shape and Reshape Array
22(1)
2.2.8 Array Iterating
22(1)
2.2.9 Joining Array
23(1)
2.2.10 Splitting Array
24(1)
2.2.11 Searching Arrays
24(1)
2.2.12 Sorting Arrays
24(1)
2.2.13 Filter Array
25(1)
2.2.14 Random Numbers
25(1)
2.2.15 Array Vectorization
26(1)
2.2.16 np.zeros and np.ones
27(1)
2.2.17 hstack and vstack
27(1)
2.2.18 Generate Random Numbers
27(1)
2.2.19 Mathematical Functions
28(1)
2.2.20 Dot Product and Matrix Multiplication
28(1)
2.2.21 Determinant
28(1)
Chapter 3 TensorFlow and Keras Fundamentals 29(22)
3.1 How Does Tensorflow Work?
29(2)
3.2 Tensors
31(3)
3.3 Tensorflow
34(1)
3.4 Building An NN Using Tensorflow
35(4)
3.4.1 Import the Data
35(1)
3.4.2 Load and Normalize the Data
36(1)
3.4.3 Build the Model
36(1)
3.4.4 Train and Evaluate the Model
37(2)
3.5 Building A CNN Using Tensorflow
39(3)
3.5.1 Dataset
39(1)
3.5.2 Input Layer
39(1)
3.5.3 Convolutional and Pooling Layers
40(1)
3.5.4 Dense Layer
40(1)
3.5.5 Train and Evaluate the Model
41(1)
3.5.6 Test the Model
41(1)
3.6 Setup And Install Keras
42(4)
3.6.1 Create a Virtual Environment
42(1)
3.6.2 Activate the Environment
42(1)
3.6.3 Python Libraries
43(1)
3.6.4 Available Modules
44(1)
3.6.5 Import Libraries and Modules
44(1)
3.6.6 Train and Predict the Model
45(1)
3.7 Implement An Example Using Keras
46(5)
3.7.1 MNIST Example
47(4)
Chapter 4 Artificial Neural Networks (ANNs) Fundamentals and Architectures 51(26)
4.1 Terminology
51(5)
4.1.1 Inputs
51(1)
4.1.2 Weights
51(1)
4.1.3 Outputs
52(1)
4.1.4 Targets
52(1)
4.1.5 Activation Function
52(1)
4.1.6 Error
52(1)
4.1.7 Training, Testing, and Validation Sets
52(1)
4.1.8 Overfitting
52(1)
4.1.9 Underfitting
52(1)
4.1.10 Confusion Matrix
53(1)
4.1.11 Accuracy Metrics
54(1)
4.1.12 Balanced and Unbalanced Datasets
55(1)
4.1.13 One Hot Encoding
55(1)
4.2 Artificial Neural Networks (ANNs)
56(2)
4.2.1 Biological Neuron
56(1)
4.2.2 Artificial Neuron
57(1)
4.3 Activation Functions
58(3)
4.3.1 Sigmoid (sig)
58(1)
4.3.2 Tanh or Hyperbolic Tangent (tan)
59(1)
4.3.3 Rectified Linear Unit (ReLU)
59(1)
4.3.4 Leaky ReLU
60(1)
4.3.5 Softmax
60(1)
4.4 Loss Functions
61(1)
4.4.1 Cross-Entropy Loss
61(1)
4.4.2 MSE (L2) Loss
62(1)
4.5 Optimization Functions
62(3)
4.5.1 Learning Rate
62(1)
4.5.2 Convex
63(1)
4.5.3 Gradient Descent
63(1)
4.5.4 Stochastic Gradient Descent
64(1)
4.5.5 Adagrad
64(1)
4.5.6 Adam
64(1)
4.6 Linear And Nonlinear Functions
65(3)
4.6.1 Linear Functions
65(2)
4.6.2 Nonlinear Functions
67(1)
4.7 ANNS Architectures
68(9)
4.7.1 Feed Forward Neural Networks (FFNNs)
68(4)
4.7.1.1 FFN Example in TensorFlow
70(2)
4.7.2 Backpropagation
72(1)
4.7.3 Single-Layer Perceptron
72(1)
4.7.4 Multi-Layer Perceptron (MLP)
73(4)
4.7.4.1 MLP Example in TensorFlow
73(4)
Chapter 5 Deep Neural Networks (DNNs) Fundamentals and Architectures 77(32)
5.1 Deep Neural Networks
77(3)
5.1.1 What Is Deep Learning?
77(1)
5.1.2 Deep Learning Needs!
78(1)
5.1.3 How to Deploy DL More Efficiently?
78(1)
5.1.4 Vanishing Gradient
78(1)
5.1.5 Channel
78(1)
5.1.6 Embedding
79(1)
5.1.7 Fine-Tuning
79(1)
5.1.8 Data Augmentation
79(1)
5.1.9 Generalization
79(1)
5.1.10 Regularization
79(1)
5.1.11 L1 and L2
79(1)
5.1.12 Dropout
80(1)
5.1.13 End-to-End Learning
80(1)
5.2 Deep Learning Applications
80(2)
5.3 Deep Learning Algorithms And Architectures
82(5)
5.3.1 Convolutional Neural Networks (CNNs)
84(1)
5.3.2 Recurrent Neural Networks (RNNs)
84(1)
5.3.3 Long Short-Term Memory (LSTM)
85(1)
5.3.4 Generative Adversarial Network (GAN)
85(1)
5.3.5 Residual Neural Network Learning (ResNets)
86(1)
5.4 Convolutional Neural Networks (CNNs)
87(6)
5.4.1 CNN Layers
87(3)
5.4.1.1 Convolution Layers
87(1)
5.4.1.2 Pooling Layers
88(1)
5.4.1.3 Dropout
88(1)
5.4.1.4 Batch Normalization
89(1)
5.4.1.5 Fully Connected Layer
90(1)
5.4.2 Design a CNN
90(3)
5.5 Recurrent Neural Networks (RNNs)
93(3)
5.5.1 Recurrent Neural Network Architecture
93(1)
5.5.2 Long Short-Term Memory (LSTM)
93(1)
5.5.3 Designing an RNN
94(2)
5.5.3.1 Import Libraries
94(1)
5.5.3.2 Load and Normalize the Dataset
94(1)
5.5.3.3 Build the Model
94(1)
5.5.3.4 Train the Model
95(1)
5.5.3.5 Evaluate the Model
95(1)
5.6 Generative Adversarial Networks (GANs)
96(13)
5.6.1 What Is a GAN?
96(2)
5.6.2 A GAN for Fashion Dataset
98(12)
5.6.2.1 Loading Dataset
98(1)
5.6.2.2 Data Preprocessing
99(1)
5.6.2.3 Defining the Discriminator Model
100(2)
5.6.2.4 Defining the Generator Model
102(1)
5.6.2.5 Combining the Generator and Discriminator Model
103(2)
5.6.2.6 Create Train Function and Train the Model
105(2)
5.6.2.7 Predict (Generate Data)
107(2)
Chapter 6 Deep Neural Networks (DNNs) for Images Analysis 109(44)
6.1 Deep Learning And Image Analysis
109(1)
6.2 Convolutional Neural Networks (CNNs) And Image Analysis
110(15)
6.2.1 Filter Parameters
113(2)
6.2.1.1 Number and Type of Filters
113(1)
6.2.1.2 Filters Size
114(1)
6.2.1.3 Stride and Padding Size
114(1)
6.2.2 Number of Parameters
115(3)
6.2.2.1 Input Layer
115(1)
6.2.2.2 Convolutional Layer
115(1)
6.2.2.3 Pooling Layer
116(1)
6.2.2.4 Fully Connected Layer (FC)
117(1)
6.2.3 Imagenet Challenge
118(1)
6.2.4 CNN Architecture
118(7)
6.2.4.1 LeNet-5 (1998)
118(1)
6.2.4.2 AlexNet (2012)
119(1)
6.2.4.3 GoogleNet/Inception-v1 (2014)
120(1)
6.2.4.4 VGGNet-16 (2014)
121(1)
6.2.4.5 Inception-v3 (2015)
121(1)
6.2.4.6 ResNet (2015)
122(2)
6.2.4.7 Inception-v4 (2016)
124(1)
6.3 General Strategy To Implement Model Using CNNs
125(1)
6.3.1 Import Libraries
125(1)
6.3.2 Load the Data and Create the Data Categories
125(1)
6.3.3 Make the Model
126(1)
6.3.4 Train the Model
126(1)
6.3.5 Test the Model
126(1)
6.4 Object Recognition Using CNNs
126(4)
6.4.1 Import Libraries
127(1)
6.4.2 Load the Data and Generate a Dataset
127(1)
6.4.3 Make the Model
128(1)
6.4.4 Train the Model
129(1)
6.4.5 Test the Model
129(1)
6.5 Image Classification Using CNNs
130(3)
6.5.1 Import Libraries
130(1)
6.5.2 Load the Data
130(1)
6.5.3 Make the Model
131(2)
6.5.4 Train the Model
133(1)
6.5.5 Test the Model
133(1)
6.6 Image Segmentation
133(13)
6.6.1 Import Libraries
133(1)
6.6.2 Load the Data and Generate a Dataset
133(1)
6.6.3 Segmentation Map
134(1)
6.6.4 Make the Model
135(9)
6.6.5 Train the Model
144(1)
6.6.6 Test the Model
144(2)
6.7 Object Recognition Using CNNs
146(7)
6.7.1 Import Libraries
146(1)
6.7.2 Load the Data and Generate a Dataset
147(1)
6.7.3 Make the Model
147(3)
6.7.3.1 The Generator Function
147(1)
6.3.7.2 The Discriminator Function
148(2)
6.7.4 Train the Model
150(1)
6.7.5 Generate Images
151(2)
Chapter 7 Deep Neural Networks (DNNs) for Virtual Assistant Robot 153(22)
7.1 Virtual Assistant Robot
153(1)
7.2 Facial Detection And Recognition
154(8)
7.2.1 Architecture
154(1)
7.2.2 Face Detection
155(3)
7.2.2.1 Import Libraries
155(1)
7.2.2.2 Dataset
156(1)
7.2.2.3 Define CNN Model and Training
156(1)
7.2.2.4 Model Training
157(1)
7.2.2.5 Evaluate Performance
158(1)
7.2.3 Landmark Detection
158(2)
7.2.3.1 CNN Model
158(2)
7.2.3.2 Model Training
160(1)
7.2.3.3 Test the Trained Model
160(1)
7.2.4 Spoof Detection
160(1)
7.2.5 Encoding the Face
161(1)
7.2.6 Training
161(1)
7.2.7 Testing
161(1)
7.3 Emotion Recognition Using Speech
162(7)
7.3.1 Dataset Collection
162(2)
7.3.2 Data Preprocessing
164(1)
7.3.2.1 Labeling
164(1)
7.3.3 Feature Extraction
165(1)
7.3.3.1 Data Augmentation
165(1)
7.3.4 Model Training
166(2)
7.3.5 Model Evaluation
168(1)
7.3.6 Test the Trained Model
169(1)
7.4 Speech To Text
169(2)
7.4.1 Feature Extraction
170(1)
7.4.2 Deep Neural Networks Modeling
170(1)
7.4.3 Decoder
170(1)
7.4.4 Predictions Calculation
171(1)
7.5 Sentiment Analysis
171(4)
7.5.1 Load Dataset
172(1)
7.5.2 Create a DAN Network
173(1)
7.5.3 Train the Network
173(1)
7.5.4 Evaluate the Model
173(2)
Chapter 8 Finding the Best Model 175(14)
8.1 Data Preprocessing
175(1)
8.2 What Is A Good Model?
176(1)
8.3 What Is The Noise?
177(3)
8.3.1 Labeling
179(1)
8.3.2 Features
179(1)
8.4 What Is The Bias?
180(2)
8.4.1 Incorrect Classifier
181(1)
8.4.2 Incorrect Features
181(1)
8.5 What Is The Variance?
182(2)
8.5.1 New Dataset
183(1)
8.6 Biasnariance
184(1)
8.7 How Can We Find The Problems In A Model?
185(4)
8.7.1 High Variance
186(1)
8.7.2 High Bias
187(2)
Biography 189(6)
Index 195
Dr. Mehdi Ghayoumi is a course facilitator at Cornell University and adjunct faculty of Computer Science at the University of San Diego. Prior to this, he was a research assistant professor at SUNY at Binghamton, where he was the Media Core Labs dynamic leader. He was also a lecturer at Kent State University, where he received the Teaching Award for two consecutive years in 2016 and 2017. In addition, he has been teaching machine learning, data science, robotic and programming courses for several years.

Dr. Ghayoumi research interests are in Machine Learning, Machine Vision, Robotics, and Human-Robot Interaction (HRI). His research focuses are on building real systems for realistic environment settings, and his current projects have applications in Human-Robot Interaction, manufacturing, biometric, and healthcare.

He is a technical program committee member of several conferences, workshops, and editorial board member of several journals in machine learning, mathematics, and robotics, like ICML, ICPR, HRI, FG, WACV, IROS, CIBCB, and JAI. In addition, his research papers have been published at conferences and journals in the fields, including Human-Computer Interaction (HRI), Robotics Science and Systems (RSS), International Conference on Machine Learning and Applications (ICMLA), and others.