All of a sudden everybody has started discussing the terms- Machine Learning
and Deep Learning
regardless of whether they are understanding the dissimilarity or not!
Let us start with a classic example of “Dog vs Cat”. Take a look at the picture shown below, are you able of identifying cat and dog? If yes, then how?
[caption id="attachment_3200" align="aligncenter" width="501"]
The chances are, you may have been fed this information when you were a kid and since then you’ve seen cats and dogs over and over, so you've learned to identify them. Similarly, machines can be trained to identify data which is also the crux of machine learning. But then what about deep learning, and how is it different from machine learning? Well technically, deep learning is just a part of advanced machine learning that focuses on mimicking the learning process of the brain. Still confused? Let’s dive in to discuss these in an elaborative fashion.
What is Machine Learning and Deep Learning?
For maintaining a transparency let's start with discussing the basics of Machine Learning and Deep Learning.
The widely used definition by Tom Mitchell of Machine Learning in a nutshell;
It's a science of getting the computers to learn and act without being explicitly programmed.
In Machine Learning, the process of learning begins with a data scientist observing the data to find patterns, and dividing it into two broad categories: features and result. This data is then used to train the machine learning algorithm, which generates a hypothesis (h). The hypothesis is further used to test and predict a result whenever a similar set of data is passed to it. The broad idea is to improve the predictive accuracy of the machine so that whenever we feed it a similar set of data, it gives the desired result with high accuracy.
The labeling of data (dividing the data into categories), can be further categorized based on the type of input and required output. But we will not go into that much detail for this post. The important point to make here is that in this type of machine learning, human intervention is required initially to concoct the foundation on which the machine builds its hypothesis. This process is called Supervised Learning. For those who are interested in the definitions, here is one from Wikipedia:
Supervised learning is the machine learning task of learning a function that maps an input to an output based on example input-output pairs.
All of this was probably a bit technical, but you need to let it sink in. Let’s move a step further and understand what Deep Learning is.
Deep Learning is a subset of machine learning in AI, that is inspired by the structure and functions of the brain. Basically, in deep learning the data scientists feed the machine with raw data without labeling it as we discussed in Machine Learning section above. This unlabelled data is passed through machine learning algorithms where the hypothesis is created based on experience. Although the accuracy of machine learning always depends on the amount of data being fed to the system, in case of deep learning, this becomes very important. Deep learning cannot be applied if we have less amount of data. For a machine to be able to find similarities or differences in the data, a large set of data is needed.
Deep Learning symbolizes machine learnings true leading edge. It is one of the highly sought after skills in tech these days.
So, what deep learning can exactly do?
Some of the impressive deployments of deep learning include:
The navigation of self-driven cars that make the use of sensors and onboard analytics, as on the way they start learning to detect obstacles and react to them accordingly by utilizing Deep Learning.
The recoloring of black and white pictures - this can be achieved by teaching the computers and making them understand what a particular thing should look like to a human.
Machine Learning Algorithms
From what we discussed above, it’s clear that machine learning can be divided into two broad categories: one in which data is labeled before feeding to the machine and other in which raw data is passed to the machine. Based on these, machine learning has been divided into two categories: supervised learning and unsupervised learning. Let’s try to understand them through the algorithms they use:
Supervised Machine Learning algorithms
The supervised Machine Learning algorithms could be applied to the new data with the use of some labeled examples for forecasting the forthcoming events. It starts with the analysis of a known training dataset. The learning algorithm produces an inferred function for making the predictions about the out-turn values. The system becomes able of providing targets for every new input after ample training.
Unsupervised Machine Learning algorithms
In distinction, unsupervised Machine Learning algorithms are used when the provided information used to train is neither classified nor labeled. Unsupervised learning educates how a system can conclude a function for describing a hidden structure from unlabelled data. The system then becomes unable of finding out the right output but it can explore the data and can draw inferences from datasets for describing hidden structures from unlabelled data.
Semi-Supervised Machine Learning algorithms
The semi-supervised machine learning algorithms lie in between the supervised and unsupervised machine learning algorithms. The supervised, as well as unsupervised machine learning algorithms, use both the labeled and unlabeled data for training; this commonly includes a large amount of unlabeled data and a small amount of labeled data. The systems that are using this method are greatly improving learning accuracy.
Reinforcement Machine Learning algorithms
Under this method, the machine is made to interact with its environment by producing actions and discovering errors or rewards. In this method, the machine is trained to take specific decisions. The trial and error search and delayed rewards are few of the most relevant characteristics of reinforcement learning. This procedure allows the machine and software agents to automatically determine the ideal behavior within a specific context in order to maximize its performance. The machine, under this method, tries to learn from past experiences and tries catching the perfect knowledge for making precise decisions. One of the most relevant examples of Reinforcement Machine Learning Algorithm is Markov Decision Process.
Machine Learning Vs. Deep Learning
Now that you have understood the variations between machine learning and deep learning, we will discuss the two techniques by taking a few points:
1. Data Dependencies:
One of the most important differences between machine learning and deep learning is, their performance based on the scale of increasing data. When the data is small; deep learning algorithms don't carry out that well. The reason behind it is: deep learning algorithms need a huge amount of data to grasp it perfectly. On the other hand, the traditional machine learning algorithms with its handcrafted rules sound more powerful and superior.
2. Hardware Dependencies:
Deep learning algorithms heavily depend on high-end machines; in opposition to machine learning algorithms that are compatible with the low-end machines. The reason behind this is the requirement of a huge GPU; that is an integral part of its functioning. The deep learning algorithms innately do a lot of multiplication operations. These operations can be easily optimized using a GPU, as the GPU's are meant for this purpose only.
3. Problem Solving Approach:
When working on problem-solving; with the help of machine learning algorithm, it is suggested to break the problem into multiple sections, solve them individually and later, combine them to get the desired results. Deep learning, in contrary; supports solving problems end-to-end.
Let's perform an example for better understanding:
Supposedly, you are provided with a task of multiple objects detection. The task is of identification of what the object is and where is it located in the image. In machine learning approach, the task is divided into two simple steps; object detection and object recognition. first, you would have to use a bounding box detection algorithm like the GrabCut
; to quickly skim through the image and finding out the objects. Later, for all the recognized objects you would have to use some object recognition algorithms like SVM with HOG for recognizing the relevant objects.
On the other hand, in deep learning, you would process end-to-end. For example, in a deep learning algorithm, you would have to pass in an image and in the result, it will automatically give out the location along with the name of the object.
4. Execution time:
Generally, deep learning algorithms take a lot of time to get trained; this is due to the huge parameters in a deep learning algorithm that training them takes longer than usual. Unlike deep learning, machine learning takes lesser time from few seconds to few hours.
This, in turn, goes reversed during the testing phase. During the test, machine learning takes lesser time to run whereas in deep learning the test increases on the increase of the size of data. Moreover, this isn't applicable to all machine learning algorithms as few of them take lesser time as well.
Machine learning and deep learning are being applied to various domains like Computer Vision, Information Retrieval, Data Mining, Marketing, Medical Diagnosis, Natural Language Processing, Online Advertising, and more.
One prime example of the company using Machine Learning and Deep Learning is Google. Do you use Google Maps every day right? Have you ever thought how Google tells you the traffic updates so accurately? Well actually there are many technologies at work there, but one of the most important ones is Machine Learning. How does YouTube or Amazon always know what you like? These are called self-customizing applications, which are possible due to Machine Learning.
Few more of the applications of Machine Learning
and Deep Learning are:
- Colorization of black and white images
- Autonomous Helicopters / Drones
- Handwriting recognition and character text generation
- Object classification and detection in photos
- Automated machine translations
- Natural language processing
… and many more.
Lately, Machine Learning has become so extensive that today every individual uses it in his daily life without even realizing.