GDPR Declaration !!

I am not collecting any personal information of any reader of or visitor to this blog. I am using Blogger, provided by Google to host this blog. I understand that Google is using cookies to collect personal information for its Analytics and Adsense applications.

Sunday, November 22, 2020

What is Deep Learning (DL)?

This is the third of a series of articles that I am writing in my blog. I intend to cover 21 technologies / ideas. Here is my publishing history.

What is deep learning?

Deep Learning is a subset of Machine Learning that uses Artificial Neural Networks to identify complex patterns in the given data. Artificial Neural Networks are a set of algorithms that mimic the functioning of the brain. Deep Learning is widely used on Object Identification, Pattern Recognition and Natural Language Processing (NLP). As we saw earlier, ML is a subset of AI. The relationship between AI, ML and DL can be explained in the diagram below. 

 

Why is it called 'Deep' learning? 

Neural Networks is an a advanced approach to Machine Learning. In neural networks, the input data (called Training Data) passes through multiple layers of neurons which process different aspects of training data, before coming out with the correct output. The three groups of layers are the Input Layer, the Hidden Layers, and the Output Layer. Traditional ML has a couple of hidden layers at the maximum, but the advanced ML has many more hidden layers (about 200, is the maximum now), hence the term 'Deep Learning'.

How is Deep Learning different from Machine Learning?

It is important to realize that deep learning is an advancement on machine learning, brought about by a set of factors (see below under Why Now? section). Deep Learning can do things that ML cannot do.

Let us look at two examples of 'auto complete' to understand the difference between what ML and DL could do.

If I type 'It is a cloudy..." the autocomplete can type sky. There is no confusion, the next word just follows from the word 'Cloudy'. This can be handled easily by ML

Let us look at another sentence. "I was born and brought up in France. My favorite Language is...". In this case, to autocomplete with the word French, the ML algorithm should remember the original context of 'Born and brought up in France'. This is technically called 'back propagation' and cannot be done by traditional ML. This can be achieved by advances in Deep Learning.

Deep Learning is a form of 'Supervised Learning' approach, which if you remember, is one of the three main learning approaches in ML. The others are unsupervised learning and reinforcement learning. Supervised learning use labelled data. The algorithm is first trained on many images labelled as 'CAT' and when presented with a raw image of a 'DOG', it infers the image as 'NOT CAT'. 

Training and Inferring are the two aspects of any Machine Learning

Machine Learning has a 'supervisor' or a 'trainer', a part of the learning algorithm that helps refine the model. Deep learning do not have a 'Trainer'. It scans millions of Labelled Data and based on the features of the data, identifies and labels the new image presented. Absence of a 'trainer' in DL is the key difference between ML and DL

Deep Learning. Why now? 

One of the catalysts for AI and the related technologies is availability of data. Data was used to make advances in ML. As the data volume grew, the performance of ML algorithms hit a plateau. That is 

where deep learning took over. Deep learning algorithms learn faster when exposed to more and more data. The huge amount of data collated and labelled over the last decade has facilitated the growth of deep learning.  

Another factor for the evolution of deep learning is the improvements in computing power. One of the main usage of Deep Learning is in the area of Object Identification and Classification. This required the systems to work with millions of images presented to them. The advent of GPU (Graphic Processing Units) facilitated the move to Deep Learning. 

The third part of the equation is the advances in technology. The Neural Network Algorithms, the backbone of deep learning, has evolved rapidly over the last decade. The latest neural network architecture, named Convolutional Neural Network (CNN) is able to accurately classify objects from millions of images presented to it. 

The fourth factor is the availability of pre-trained models built by experts that one can retrain to recognize objects pertaining to their environment. This is called transfer learning.  

In summary, Availability of large amount of Data, Improvements in Computing Power, advances in Technology, and availability of pre-trained models contributed to the progress in Deep Learning that we see today.

Types of Neural Networks

There are three types of neural networks:

1. Artificial Neural Network (Or Neural Network or Standard Neural Network): ANN
2. Recurrent Neural Network: RNN
3. Convolutional Neural Network: CNN

1. Artificial Neural Network (ANN): This is the simplest form of neural network. This follows a 'Feed Forward' mechanism where the Successive Neurons cannot 'remember' the input in the previous stages. The Neuron do not carry any memory, it just receives an input, processes it and sends it to the next layer. 

Due to this limitation, ANNs are used in simple applications that do not require 'contextual information'. This may include 'Text to speech' where the system reads a text from a text editor (a feature available in PDF, for example)

2. Recurrent Neural Network (RNN): In RNNs each neuron has 'memory'. It can remember the past input data and modify its output accordingly. The neuron will understand the 'context' before generating the modified output to the next layer. This can be used in advanced 'auto complete' where the contextual memory is important. We saw the example earlier. 

This is a powerful algorithm. This has both 'Feed Forward' and 'Back Propagation' where algorithm can move back in the layers to identify the past input to modify the current output. RNNs are very useful in Speech to Text and Real Time Language Translation, a feature that can be useful for travelers worldwide. 

One of the challenges in RNNs is the 'Diminishing Gradient', which means that farther back in the input data the algorithm goes, it becomes progressively weaker. A new approach called 'Long Short-Term Memory' (LSTM) is being used nowadays to handle the problem of 'Diminishing Gradient'.  

3. Convolutional Neural Network (CNN): One of the challenges with both ANN and RNN is their limitation in handling image data. However most of the AI applications require computers to Identify and Classify image data. For example, autonomous vehicles cannot run if they are not able to process the image data presented to them. 

CNNs first introduced in 2012, handles image processing, both object identification and depth perception, easily. CNNs need huge computational power. They would not have been feasible without the availability of large number of images as well as advances in computational power as discussed earlier. 

Benefits of Deep Learning

1. Better usage of existing data: Deep learning can process large amount of data to come up with patterns and insights that could never have been identified by human brain. 'Move 37' in Game 2 between Google's AlphaGo and the reigning GO Champion Lee Sedol is a classic example of this. The move executed by Google Deep Mind was something that a human player would never have thought about. 

2. Elimination for the need for feature engineering: Remember that in traditional supervised learning, you needed to input the features and then guide the algorithm to the correct output. For example, if you were creating an algorithm to identify snakes, you need to input and refine various features of snakes before the algorithm can identify a new input as a 'snake'. In this case you need to compromise on different features to come to the right set of features (for example, if  'have scales' is a feature, the algorithm could identify a fish as a snake!). Deep learning scans millions of data and can automatically identify a set of features on their own and hence the effort required for feature engineering is saved.  

3. Consistent delivery of highly accurate results: Computers never get tired, people.

4. Cost reduction: Deep learning can identify defects early hence can help in Predictive Analytics. The early identification of defects help reduce the cost of repair. For example, the early identification of cancer can reduce the cost of treatment. 

5. Elimination of data labeling: Since deep learning algorithm can identify images, the need for labeling and costly errors can be reduced. 

This section is based on THIS ARTICLE from Magnimind. Thank you so much.

Business Use Cases

Image identification and classification has enormous potential. 

1. In healthcare industry, by presenting MRI images, computers can quickly segregate the normal from the abnormal helping early identification of potential health hazards
2. In cancer treatment, especially in skin cancer, Deep Learning algorithms can help the doctors in early identification of cancer.
3. Without deep learning, autonomous vehicles will not be possible
4. Facial recognition is a major use case of deep learning with a lot of potential. 
5. Other areas of use include Text to Speech conversion and real-time translation from one language to another.

References: 

No comments: