
Deep Learning and its Applications using Python
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions


Persons
Niha Kamal Basha is an assistant professor in the Department of Information Security, School of Computer Science and Engineering, Vellore Institute of Science and Technology, India. She has received a number of awards and published numerous research articles in peer-reviewed journals.
Surbhi Bhatia, PhD, is an assistant professor in the Department of Information Systems, College of Computer Sciences and Information Technology, King Faisal University, Saudi Arabia. She has more than 10 years of teaching experience in different universities in India and Saudi Arabia. She has published many articles in peer-reviewed journals, authored or edited 9 books, and has been granted 8 national and international patents.
Abhishek Kumar gained his PhD in computer science from the University of Madras, India in 2019. He is assistant director/associate professor in the Computer Science & Engineering Department, Chandigarh University, Punjab, India. He has more than 100 publications in peer-reviewed international and national journals, books & conferences. His research interests include artificial intelligence, image processing, computer vision, data mining, and machine learning.
Arwa Mashat, gained her PhD in Instructional Design and Technology from Old Dominion University, Virginia, USA in 2017. She has a rich 14 years of teaching and academic experience. She is currently an assistant professor at the College of Computing and Information Technology, King Abdulaziz University, Saudi Arabia. She is currently the Vice Dean for two colleges; the College of Computing and Information Technology and the Applied College at King Abdulaziz University. She has published many research papers in reputed journals.
Content
Preface ix
1 Introduction to Deep Learning 1
1.1 History of Deep Learning 1
1.2 A Probabilistic Theory of Deep Learning 4
1.3 Back Propagation and Regularization 14
1.4 Batch Normalization and VC Dimension 17
1.5 Neural Nets--Deep and Shallow Networks 18
1.6 Supervised and Semi-Supervised Learning 19
1.7 Deep Learning and Reinforcement Learning 21
2 Basics of TensorFlow 25
2.1 Tensors 25
2.2 Computational Graph and Session 27
2.3 Constants, Placeholders, and Variables 28
2.4 Creating Tensor 32
2.5 Working on Matrices 35
2.6 Activation Functions 36
2.7 Loss Functions 39
2.8 Common Loss Function 39
2.9 Optimizers 40
2.10 Metrics 41
3 Understanding and Working with Keras 45
3.1 Major Steps to Deep Learning Models 45
3.2 Load Data 47
3.3 Pre-Process Data 48
3.4 Define the Model 48
3.5 Compile the Model 49
3.6 Fit and Evaluate the Mode 51
3.7 Prediction 52
3.8 Save and Reload the Model 52
3.9 Additional Steps to Improve Keras Models 53
3.10 Keras with TensorFlow 55
4 Multilayer Perceptron 57
4.1 Artificial Neural Network 57
4.2 Single-Layer Perceptron 60
4.3 Multilayer Perceptron 61
4.4 Logistic Regression Model 61
4.5 Regression to MLP in TensorFlow 63
4.6 TensorFlow Steps to Build Models 63
4.7 Linear Regression in TensorFlow 63
4.8 Logistic Regression Mode in TensorFlow 67
4.9 Multilayer Perceptron in TensorFlow 69
4.10 Regression to MLP in Keras 72
4.11 Log-Linear Model 72
4.12 Keras Neural Network for Linear Regression 73
4.13 Keras Neural Network for Logistic Regression 73
4.14 MLPs on the Iris Data 75
4.15 MLPs on MNIST Data (Digit Classification) 76
4.16 MLPs on Randomly Generated Data 78
5 Convolutional Neural Networks in Tensorflow 81
5.1 CNN Architectures 81
5.2 Properties of CNN Representations 82
5.3 Convolution Layers, Pooling Layers - Strides - Padding and Fully Connected Layer 82
5.4 Why TensorFlow for CNN Models? 84
5.5 TensorFlow Code for Building an Image Classifier for MNIST Data 84
5.6 Using a High-Level API for Building CNN Models 88
5.7 CNN in Keras 88
5.8 Building an Image Classifier for MNIST Data in Keras 88
5.9 Building an Image Classifier with CIFAR-10 Data 89
5.10 Define the Model Architecture 90
5.11 Pre-Trained Models 91
6 RNN and LSTM 95
6.1 Concept of RNN 95
6.2 Concept of LSTM 96
6.3 Modes of LSTM 97
6.4 Sequence Prediction 98
6.5 Time-Series Forecasting with the LSTM Model 99
6.6 Speech to Text 100
6.7 Examples Using Each API 102
6.8 Text-to-Speech Conversion 105
6.9 Cognitive Service Providers 106
6.10 The Future of Speech Analytics 107
7 Developing Chatbot's Face Detection and Recognition 109
7.1 Why Chatbots? 109
7.2 Designs and Functions of Chatbot's 109
7.3 Steps for Building a Chatbot's 110
7.4 Best Practices of Chatbot Development 116
7.5 Face Detection 116
7.6 Face Recognition 117
7.7 Face Analysis 117
7.8 OpenCV--Detecting a Face, Recognition and Face Analysis 117
7.8.1 Face Detection 117
7.8.2 Face Recognition 120
7.9 Deep Learning-Based Face Recognition 124
7.10 Transfer Learning 127
7.11 API's 131
8 Advanced Deep Learning 133
8.1 Deep Convolutional Neural Networks (AlexNet) 133
8.2 Networks Using Blocks (VGG) 137
8.3 Network in Network (NiN) 140
8.4 Networks with Parallel Concatenations (GoogLeNet) 144
8.5 Residual Networks (ResNet) 148
8.6 Densely Connected Networks (DenseNet) 151
8.7 Gated Recurrent Units (GRU) 154
8.8 Long Short-Term Memory (LSTM) 156
8.9 Deep Recurrent Neural Networks (D-RNN) 158
8.10 Bidirectional Recurrent Neural Networks (Bi-RNN) 159
8.11 Machine Translation and the Dataset 160
8.12 Sequence to Sequence Learning 161
9 Enhanced Convolutional Neural Network 167
9.1 Introduction 167
9.2 Deep Learning-Based Architecture for Absence Seizure Detection 178
9.3 EEG Signal Pre-Processing Strategy and Channel Selection 180
9.4 Input Formulation and Augmentation of EEG Signal for Deep Learning Model 188
9.5 Deep Learning Based Feature Extraction and Classification 196
9.6 Performance Analysis 200
9.7 Summary 201
10 Conclusion 205
10.1 Introduction 205
10.2 Future Research Direction and Prospects 205
10.3 Research Challenges in Deep Learning 210
10.4 Practical Deep Learning Case Studies 210
10.4.1 Medicine: Epilepsy Seizure Onset Prediction 219
10.4.2 Using Data from Test Drills to Predict where to Drill for Oil 232
10.5 Summary 235
References 235
Index 239
1
Introduction to Deep Learning
The deep learning history is often tracked back to 1943 when Walter Pitts and Warren McCulloch computed a model (computer model) which support the human brain (the neural networks). To mimic the thought process of human, they used a collection of algorithms and arithmetic concepts which is called as threshold logic. Since 1943, Deep learning [1] is evolving without break. As it utilizes multiple algorithm in multiple layers to mimic the thought process by processing the data, understanding the human speech and visually recognizing objects. Here the information is processed by passing it into multiple layers, where each layer's output act as an input for the next layer. The first layer in a network is called the input layer, while the last is called an output layer. All the layers between the two are referred to as hidden layers. Each layer is typically a simple, uniform algorithm containing one kind of activation function. Deep learning's other aspect is feature extraction. It uses an algorithm to automatically construct meaningful "features" from the data which will be used for training, learning, and understanding. Mostly, a data scientist, or a programmer, is responsible for this process.
1.1 History of Deep Learning
Right now, the world is seeing a global Artificial Intelligent revolution across all industry with the driving factor as deep learning. Google and Facebook using deep learning now, and it has not appeared overnight, rather it evolved slowly and steadily over several decades. There are so many machine learning researchers worked with great determination behind this evaluation. All might be surprised to know the key discoveries of deep learning made by our researchers from 1940s has been illustrated in Table 1.1.
For the evolution of deep learning, many researcher's contributions directly or indirectly, would have influence in the growth. Here, to present the history of deep learning with the help of some key moments have been attempted. Work has been made to present the chronological events of deep learning history as accurately as possible. For more information on the above chronological events, refer to the links given in the references. All these inventions incorporate mathematics that quantify uncertainty by probability. Introducing probability concept to deep learning helps deep learning-based system to act like a human with common sense. Which mean when dealing with real world, these systems make decisions with incomplete information. Using probability in deep learning helps to model components of uncertainty.
Table 1.1 Key discoveries of deep learning.
Year Inventor name Invention/technique 1943 Warren Mcculloch and Walter Pitts Computer Model based on human brain [2]-Threshold Logic (combination of algorithms and mathematics) 1957 Frank Rosenblatt Perceptron (Binary Classifier) [3]-has true learning ability. 1960 Henry J. Kelley Neural Network [4]-Continuous Back Propagation Model. Used to recognize the kinds of patterns. 1962 Stuart Dreyfus Updated the Neural Network back propagation model with chain rule [5]. 1965 Alexey Grigoryevich Ivakhnenko and Valentine Grigor'evich Lapa Multilayer Neural Network with activation function and GMDH (Group Method of data Handling) 1969 Marvin Minsky and Seymour Papert Frank Rosenblatt perceptrons are proposed with multiple hidden layers. 1970 Seppo Linnainmaa Generated and implemented the automatic differnceable back propagation method in computer code. 1971 Alexey Grigoryevich Ivakhnenko 8 Layer Deep Neural Network with GMDH (Group Method of data Handling) 1980 Kunihiko Fukushima Convolutional Neural Network with Neocognitron. 1982 John Hopfield Recurrent Neural Network (Hopfield Network)-it acts as a content addressable memory system. 1982 Paul Werbos Proposed the steps to use Back propagation 1985 David H. Ackley, Geoffrey Hinton and Terrence Sejnowski Stochastic Recurrent Neural Network (Boltzmann Machine). 1986 Terry Sejnowski NeTalk-Talking Neural Network. 1986 Geoffrey Hinton, Rumelhart and Williams Implemented back propagation in neural network [6]. 1986 Paul Smolensky Updated the Boltzmann Machine to Restricted Boltzmann Machine with connection between input and hidden layer. 1989 Yann LeCum Implemented back propagation in Convolutional Neural Network. 1989 George Cybenko Implemented Feed Forward Neural Network [7] to approximate continuous function. 1991 Sepp Hochreiter Identified the vanishing gradient problem in deep neural network. 1997 Sepp Hochreiter and Jurgen Schmidhuber LSTM [8]-Long short-term memory 2006 Geoffrey Hinton, Ruslan Salakhutdinov, Osindero and Teh Deep Belief Network [9] 2008 Andrew NG's Implemented GPU with Deep Neural Network 2009 Fei-Fei Li Launches ImageNet dataset with deep learning. 2011 Yoshua Bengio, Antoine Bordes, Xavier Glorot Implemented ReLU activation function in Neural Network as Rectified Neural Network to solve vanishing gradient problem. 2012 Alex Krizhevsky AlexNet-Implemented GPU with Convolutional Neural Network (CNN) for image classification. 2014 Ian Goodfellow Created Generative Adversarial Network (GAN) 2016 Deep Mind Technology AlphaGo-Deep reinforcement Learning Model 2019 Yoshua Bengio, Geoffrey Hinton and Yann LeCun Turing Award 20181.2 A Probabilistic Theory of Deep Learning
Using probability in science quantify uncertainty. When lots of data are utilized by machine learning and deep learning for training and testing a model to find patterns, only data is utilized by the system instead of logic. At that time uncertainty increases with relevant probability. In deep learning, most of the models like Baysian model, Hidden Markov model, probability graphical model completely depend on the concepts of probability. Since these system using real world data they have to handle chaoticness with the help of tools. The simplified versions [10] of probability and statistics are presented here in terms of deep learning. In Figure 1.1, the MNIST digit recognition dataset have been shown, which is a hello world program of deep learning. This explains the foundation of probability concept in terms of deep learning. This data set is used to classify the handwritten digits and label them.
Figure 1.1 MNIST data set.
To do this classification task, the system which planned to create using machine learning is not going to be an accurate one. To do this task, the below neural network in Figure 1.2 has been used to process the input images of 28*28 pixel.
The input image of size 28*28 is feed into input neural network layer. In this layer input image is computed by multiplying with weights (w) and bias (b). Each neural network layer has ten neurons in which each digit processed to proceed further with activation function. At the end, probability of each digit of length 10 along with the vector value is obtained as output. Here in the output vector, the highest values index with its probability have been obtained using argmax. The detailed explanation of neural networks and its layers will be discussed in detail in chapter 4. The purpose of using neural network example in this chapter is to understand how some basic probability concepts used in deep learning. Consider a given vector below in Eq. 1.1.
(1.1)Figure 1.2 Structure of neural network.
The hidden probability and distribution concepts, such as sample space, random variable, probability distribution, discrete distribution, conditional probability, normalization, joint probability, marginal probability, continuous distribution, binomial distribution, uniform distribution, normal distribution, and softmax distribution along with how these concepts correlate with input data used by neural network have been explained below.
Sample Space-All the set of possible data used in a procedure to test a hypothesis.
In terms of MNIST data set, the input used to compute sample space is...
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.