Rundown on Deep Learning
Published: 2020-08-01 18:27:35

<strong>What is deep learning ?</strong> 😀

Deep learning is an artificial intelligence (AI) function that imitates the working of the human brain in processing data and creating patterns for decision making. The word "Deep" in Deep Learning isn't a reference to any kind of deeper understanding achieved by some approach, rather it stands for the idea of successive layers of representation. It is a subset of machine learning in artificial intelligence that has layers/networks, capable of learning unsupervised data that is, unstructured or unlabeled. Deep learning can also be called as deep neural learning or deep neural network.

![AI, ML, DL](https://dev-to-uploads.s3.amazonaws.com/i/3midp3bzx8meedsmnvny.jpeg)

Other appropriate names of deep learning could have been hierarchical representation learning and layered representation learning. Modern deep learning involves tens or even thousands of successive layers of representations and they are learned automatically from the exposure of training data.
These layered or hierarchical representations are learned via models called Neural Networks, which are stacked on top of each other. Most of us have learnt about neural networks in the subject Biology. Yes!, it is true that some of the core concepts of deep learning were developed by drawing inspiration from the understanding/learning procedure of our brain. But, since there is no evidence that our brain does the learning in same way as modern deep learning models do, so it is not right to say that deep learning models are the models of our brain.

<strong>How deep learning works ?</strong> 

Let’s examine how a network of several layers transforms an image of a digit in order to recognize what digit it is.

![MNIST 4](https://dev-to-uploads.s3.amazonaws.com/i/mgxxa4b53fn83387dvaq.png)

From the above image, you can get an idea about the basic deep learning architecture used by the neural network models. There are 3 layers namely input layer(layer 1), hidden layer(layer 2 & 3) and output layer(layer 4). Connections between neurons(layers) are associated with a weight, dictating the importance of the input value. 
Steps followed by the neural network are:
 
1. The above picture depicts an image of 28x28 pixels showing 4, 
   is provided as an input to the input layer of neural network. 

2. This input gets transformed in the successive hidden layers. 

3. This transformed image is allowed to pass through the output 
   layer. And in the output layer the deep learning model is able 
   to detect the digit.

You can think of a network as a distillation process in which the information passes through the successive filters and gives purified output.

This is just a brief idea about how deep learning model works.

<strong>Why deep learning ?</strong> 

Research from Gartner revealed that a huge percentage of an organization’s data is unstructured because the majority of it exists in different types of formats like pictures, texts etc. For the majority of machine learning algorithms, it’s difficult to analyze unstructured data, which means it’s remaining unutilized and this is exactly where deep learning becomes useful.
According to <strong>Andrew Ng</strong> (the chief scientist of China’s major search engine Baidu, head of the Google Brain Project and co-founder of Coursera), <strong>“The analogy to deep learning is that the rocket engine is the deep learning models and the fuel is the huge amounts of data we can feed to these algorithms.”</strong> 

![Why DL](https://dev-to-uploads.s3.amazonaws.com/i/ym3573dlog0rlabsyr8e.png)

According to the quote and the graph, above, it is evident that due to the increase in amount of data, deep learning models are very useful to obtain a perfect and desirable output. The ability to process large numbers of features makes deep learning very powerful when dealing with unstructured data. And this is the reason why deep learning has emerged in recent years.

<strong>Advantages of Deep learning over traditional machine learning</strong> 

The major advantage of using deep learning over traditional machine learning algorithm are :

1. The deep learning model has the ability to do feature 
   engineering on its own. 

2. Massively parallel computations through use of GPU - scalable 
   for large volume of data 

3. In Deep learning, problems are solved on an end-to-end basis 
   while in machine learning, tasks are divided into small pieces 
   and then received results are combined into one conclusion. 

Refer to the picture below.

![Feature Extraction](https://dev-to-uploads.s3.amazonaws.com/i/he8bwfmq9ydhzdbgknsy.png)


<strong>Examples of deep learning in real-world scenarios</strong>  

1. <u>Electronics</u>: Deep learning is being utilized 
   in automated speech translation. You can think of home 
   assistance devices which respond to your voice and understand 
   your preferences.

2. <u>Automated driving</u>: With the help of deep 
   learning, automotive researchers are now able to detect objects 
   like traffic lights, stop signs etc automatically. They’re also 
   using it to detect pedestrians that helps lower accidents.

3. <u>Medical research</u>: Deep learning is being used 
   by researchers to detect cancer cells automatically.

<strong>When to use deep learning ?</strong> 

1. Deep learning performs exceptionally good for a massive amount 
   of data. But for small data size, machine learning algorithm is 
   more preferable.

2. Deep Learning really shines when it comes to complex problems 
   such as image classification, natural language processing, and 
   speech recognition.

3. Deep Learning techniques need to have high end infrastructure 
   to train in reasonable time.

<strong>Challenges faced</strong> 

1. One needs to find and process massive datasets for training. 
   And these datasets are rarely available. Once the datasets 
   are in hand, using them to train deep learning networks can 
   require days on big clusters of CPUs and GPUs. Emerging 
   techniques such as transfer learning shows some promise with 
   regard to overcoming this challenge.

2. There can also be the danger of over-fitting of the data. Over- 
   fitting happens when an algorithm learns the detail and noise 
   in the training data to the extent that negatively impacts the 
   performance of the model in real-life scenarios.

3. Due to the sheer number of layers, nodes, and connections, it 
   is difficult to understand how deep learning networks arrive at 
   insights.

<strong>Conclusion</strong>

The points presented above illustrate that deep learning has a lot of potential, but needs to overcome a few challenges before becoming a more versatile tool. Now the question is not whether this technology is useful, rather how companies can implement it in their projects to improve the way they process data. The interest and enthusiasm for the field is, however, growing, and already today we see incredible real-world applications of this technology.

Thank you !!!