What is Deep Learning?
In this blog, I will be talking on What is Deep Learning which is a hot buzz nowadays and has firmly put down its roots in a vast multitude of industries that are investing in fields like Artificial Intelligence, Big Data and Analytics. For example, Google is using deep learning in its voice and image recognition algorithms whereas Netflix and Amazon are using it to understand the behavior of their customer. In fact, you won’t believe it, but researchers at MIT are trying to predict future using deep learning. Now, imagine how much potential deep learning has in revolutionizing the world and the way we work around things. Before talking about deep learning, one must understand its relationship with Machine Learning and Artificial Intelligence. The easiest way to understand this relationship is by going through the diagram below:
fig: What is Deep Learning – AI Technologies Timeline
Here, in the image you can see that the Machine Learning is a subset of AI. This implies for the fact that we can build intelligent machines that can learn based on provided data set on its own. Further you will notice that the Deep Learning is a subset of Machine Learning where similar Machine Learning Algorithms are used to train Deep Neural Networks so as to achieve better accuracy in those cases where former was not performing up to the mark. Following are the topics that I am going to discuss in this deep learning tutorial:
- Artificial Intelligence
- Machine Learning
- Drawbacks of ML
- What is Deep Learning?
- Deep Learning Application
fig: What is Deep Learning – Artificial Intelligence
The term AI was coined in 1956 by John McCarthy, who is also referred as Father of Artificial Intelligence. The idea behind AI is fairly simple yet fascinating, which is to make intelligent machines that can take decisions on its own. You may think it as a science fantasy, but with respect to recent developments in technology and computing power, the very idea seems to come closer to reality day by day.
Machine Learning: A Step Towards Artificial Intelligence
Now, that you are familiar with AI, let us talk briefly about Machine Learning and understand what it means when we say that we’re programming machines to learn. Let us begin with a very famous definition of Machine Learning:
“A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.” — Tom Mitchell, Carnegie Mellon University
So, if you want your program to predict, traffic patterns at a busy intersection (task T), you can run it through a machine learning algorithm with data about past traffic patterns (experience E). Now, the accuracy of the prediction (performance measure P) will depend on the fact that whether the program has successfully learned from the data set or not (experience E).
Basically, Machine Learning is referred to as a type of artificial intelligence (AI) that provides computers with the ability to learn without being explicitly programmed by exposing them to vast amount of data. The core principle behind Machine Learning is to learn from data sets and try to minimize error or maximize the likelihood of their predictions being true.
Drawbacks of the Machine Learning
- Traditional ML algorithms are not useful while working with high dimensional data, that is where we have a large number of inputs and outputs. For example, in case of handwriting recognition we have large amount of input where we will have different type of inputs associated with different type of handwriting.
- Second major challenge is to tell the computer what are the features it should look for that will play an important role in predicting the outcome as well as to achieve better accuracy while doing so. This very process is referred as feature extraction.
Feeding raw data to the algorithm rarely ever works and this is the reason why feature extraction is a critical part of the traditional machine learning workflow. Therefore, without feature extraction, the challenge for the programmer increases as the effectiveness of algorithm very much depends on how insightful the programmer is. Hence, it is very difficult to apply these Machine Learning models or algorithms to complex problems like object recognition, handwriting recognition, NLP (Natural Language Processing), etc.
Deep learning is one of the only methods by which we can overcome the challenges of feature extraction. This is because deep learning models are capable of learning to focus on the right features by themselves, requiring little guidance from the programmer. Basically, deep learning mimics the way our brain functions i.e. it learns from experience. As you know, our brain is made up of billions of neurons that allows us to do amazing things. Even the brain of a one year old kid can solve complex problems which are very difficult to solve even using super-computers. For example:
- Recognize the face of their parents and different objects as well.
- Discriminate different voices and can even recognize a particular person based on his/her voice.
- Draw inference from facial gestures of other persons and many more.
Actually, our brain has sub-consciously trained itself to do such things over the years. Now, the question comes, how deep learning mimics the functionality of a brain? Well, deep learning uses the concept of artificial neurons that functions in a similar manner as the biological neurons present in our brain. Therefore, we can say that Deep Learning is a subfield of machine learning concerned with algorithms inspired by the structure and function of the brain called artificial neural networks.
Now, let us take an example to understand it. Suppose we want to make a system that can recognize faces of different people in an image. If we solve this as a typical machine learning problem, we will define facial features such as eyes, nose, ears etc. and then, the system will identify which features are more important for which person on its own.
Now, deep learning takes this one step ahead. Deep learning automatically finds out the features which are important for classification because of deep neural networks, whereas in case of Machine Learning we had to manually define these features.
fig: Face Recognition using Deep Networks
As shown in the image above Deep Learning works as follows:
- At the lowest level, network fixates on patterns of local contrast as important.
- The following layer is then able to use those patterns of local contrast to fixate on things that resemble eyes, noses, and mouths
- Finally, the top layer is able to apply those facial features to face templates.
- A deep neural network is capable of composing more and more complex features in each of its successive layers.
Have you ever wondered how Facebook automatically labels or tags all the person present in an image uploaded by you? Well, Facebook uses Deep Learning in a similar fashion as stated in the above example. Now, you would have realized the capability of Deep Learning and how it can outperform Machine Learning in those cases where we have very little idea about all the features that can affect the outcome. Therefore, Deep network can overcome the drawback of Machine Learning by drawing inferences from data set consisting of input data without proper labeling.
What is Deep Learning | Deep Learning Simplified | Edureka
Applications of Deep Learning
Moving ahead in this what is deep learning blog, let us look at some of the real-life applications of Deep Learning to understand its true powers.
All of you would have heard about Siri, which is Apple’s voice controlled intelligent assistant. Like other big giants, Apple has also started investing on Deep Learning to make its services better than ever.
In the area of speech recognition and voice controlled intelligent assistant like Siri, one can develop more accurate acoustic model using a deep neural network and is currently one of the most active fields for deep learning implementation. In simple words, you can build such system that can learn new features or adapt itself according to you and therefore, provide better assistance by predicting all possibilities beforehand.
Automatic Machine Translation
We all know that Google can instantly translate between 100 different human language, that too very quickly as if by magic. The technology behind Google Translate is called Machine Translation and has been savior for people who can’t communicate with each other because of the difference in the speaking language. Now, you would be thinking that this feature has been there for a long time, so, what’s new in this? Let me tell you that over the past two years, with the help of deep learning, Google has totally reformed the approach to machine translation in its Google Translate. In fact, deep learning researchers who know almost nothing about language translation are putting forward relatively simple machine learning solutions that are beating the best expert-built language translation systems in the world. Text translation can be performed without any pre-processing of the sequence, allowing the algorithm to learn the dependencies between words and their mapping to a new language. Stacked networks of large recurrent neural networks are used to perform this translation.
- Instant Visual Translation
As you know, deep learning is used to identify images that have letters and where the letters are on the scene. Once identified, they can be turned into text, translated and the image recreated with the translated text. This is often called instant visual translation.
Now, imagine a situation where you have visited any other country whose native language is not known to you. Well, no need to worry, using various apps like Google Translate you can go ahead and perform instant visual translations to read signs or shop boards written in another language. This has been possible only because of Deep Learning.
Note: You can go ahead and download Google Translate App and check out the amazing instant visual translation using the above image.
Behavior: Automated Self Driven Cars
Google is trying to take their self-driving car initiative, known as WAYMO, to a whole new level of perfection using Deep Learning. Therefore, rather than using old hand-coded algorithms, they can now program system that can learn by themselves using data provided by different sensors. Deep learning is now the best approach to most perception tasks, as well as to many low-level control tasks. Hence, now even people who do not know to drive or are disabled, can go ahead and take the ride without depending on anyone else.
Here, I have only mentioned few famous real-life use cases where Deep Learning is being used extensively and showing promising results. There are many other applications of deep learning along with many fields which is yet to be explored.
So, this is all about deep learning in a nutshell. I am sure that by now, you would have realized the difference between Machine Learning and Deep Learning as well as how Deep Learning can be very useful for various real – life application. Now, in my next blog in this deep learning tutorial series, we will deep dive into various concepts and algorithms Deep Learning along with their application in detail.
Now that you know about Deep Learning, check out the Deep Learning with TensorFlow Training by Edureka, a trusted online learning company with a network of more than 250,000 satisfied learners spread across the globe. The Edureka Deep Learning with TensorFlow Certification Training course helps learners become expert in training and optimizing basic and convolutional neural networks using real time projects and assignments along with concepts such as SoftMax function, Auto-encoder Neural Networks, Restricted Boltzmann Machine (RBM).
Got a question for us? Please mention it in the comments section and we will get back to you.