What is the difference between deep learning and machine learning?

 

If you’re constantly trying to figure out the difference between machine learning and deep learning, read this article and I’ll explain the differences for you in plain language. Machine learning and deep learning are becoming more and more popular. Suddenly, everyone is talking about machine learning and deep learning, whether they know it or not. Whether you've actively followed data science or not, you've probably heard of these two terms. To show how hot they are, I searched Google trends for these keywords:


If you want to make yourself understand the difference between machine learning and deep learning, please read this article, I will introduce you the difference between them in plain language. The terms in machine learning and deep learning are explained in detail below. And, I compared the difference between the two, don't explain their respective usage scenarios.

What is machine learning? 

In a nutshell, the most widely cited definition of machine learning is best explained by Tom Mitchell. Here's what it says: 
"A computer program can learn from experience E given some class of task T and performance measure P, and if its performance on task T happens to be measured by P, it improves with experience E. "

Doesn't it sound confusing to read? 

Let's break down this description with a simple example. 

Example 1: Machine learning and estimating weight from a person's height 

Suppose you want to create a system that can estimate weight from a person's height (perhaps you're interested in this for some reason). Then you can use machine learning to find out any possible errors and errors in data capture, first you need to collect some data, let's see what your data looks like:

Each point in the graph corresponds to a piece of data, and we can draw a simple slash to predict weight based on height. For example, this slash: 
Weight (in kg) = Height (in cm) - 100 
These slashes can help us To make a prediction, although these slashes are great, we need to understand how it behaves, we want to reduce the error between the prediction and the actual, which is also a measure of its performance. 

On a deeper level, the more data we collect (experience), the better the model gets. We can also refine our model by adding more variables (eg gender) and adding different predicted slopes. 

Example 2: Hurricane Prediction System Let's look at a more complex example. 

Suppose you want to build a hurricane forecasting system. Suppose you have data on all previous hurricanes and weather information for the first three months of this hurricane. 

If we were to manually build a hurricane prediction system, what should we do?


First of all, our task is to clean all the data to find the patterns in the data and find the conditions that produce the hurricane. 

We can either input model condition data (for example, the temperature is higher than 40 degrees, the humidity is 80-100, etc.) into our system to generate output; we can also let our system generate appropriate output through these condition data. 

We can feed all previous data into the system to predict whether there will be a hurricane in the future. Based on the values of our system conditions, evaluate the performance of the system (the number of times the system correctly predicts hurricanes). We can continue to iterate the above steps multiple times with the system predictions as feedback. 

Let's define our forecasting system according to the previous explanation: our task is to determine the meteorological conditions that are likely to produce a hurricane. The performance P is how many times the hurricane is correctly predicted under all the given conditions of the system. The experience E is the number of iterations of our system.

What is deep learning? 

The concept of deep learning is not new. It's been around for several years. But with all the existing hype, deep learning is getting more and more attention. As we do in machine learning, let's take a look at the official definition of deep learning and then explain it with an example. 
"Deep learning is a special kind of machine learning that achieves great power and flexibility by learning to represent the world using nested hierarchies of concepts, where each concept is defined as being associated with simple concepts, and more abstract Representation is computed in a less abstract way." 
This is also a bit confusing. Let's break down this concept using a simple example. 

Example 1: Shape Detection 

Let's start with a simple example to explain what's going on at a conceptual level. Let's try to see how to recognize squares from other shapes.

The first thing in our eyes is to check if there are four lines in the graph (simple concept). If we find such four lines, we further check that they are connected, closed and perpendicular to each other, and that they are equal (nested concept hierarchy).

So, we took a complex task (identifying a square) and did it with a simple, less abstract task. Deep learning essentially performs similar logic at scale. 

Example 2: Cats vs Dogs 

Let's take an example of animal recognition, where our system has to identify whether the animal in a given image is a cat or a dog. Read this article to learn how deep learning is one step ahead of machine learning in solving such problems.

Machine Learning VS Deep Learning

Now that you have an understanding of machine learning and deep learning, we will learn some of the highlights and compare the two techniques.

Data Dependency

The main difference between deep learning and traditional machine learning is that its performance continues to grow as the scale of data increases. Deep learning algorithms do not perform well when there is little data. This is because a deep learning algorithm needs a lot of data to understand it perfectly. On the other hand, in this case, traditional machine learning algorithms using the established rules will perform better. The figure below summarizes this fact.

Hardware-Dependent 

Deep Learning algorithms require a lot of matrix operations. GPUs are mainly used to efficiently optimize matrix operations, so GPUs are necessary hardware for deep learning to work properly. Compared to traditional machine learning algorithms, deep learning relies more on high-end machines with GPUs installed. 

Feature Processing 

Feature processing is the process of putting domain knowledge inside a feature extractor to reduce the complexity of the data and generate better patterns for learning algorithms to work. The feature processing process is time-consuming and requires expertise. 

In machine learning, the features of most applications need to be determined by experts and then encoded as a data type. 

Features can be pixel values, shapes, textures, locations, and orientations. The performance of most machine learning algorithms depends on the accuracy of the extracted features.

Deep learning attempts to obtain high-level features directly from data, which is the main difference between deep learning and traditional machine learning algorithms. Based on this, deep learning cuts the work of designing feature extractors for each problem. For example, convolutional neural networks try to learn low-level features (boundaries, lines) in the previous layers, then learn partial faces, and then high-level face descriptions.

Problem Solving

When applying traditional machine learning algorithms to solve problems, traditional machine learning usually decomposes the problem into multiple sub-problems and solves each sub-problem one by one, and finally combines the results of all sub-problems to obtain the final result. Instead, deep learning advocates direct end-to-end problem solving.

For example:

Suppose there is a multi-object detection task that requires the type of objects in the image and the position of each object in the image


Traditional machine learning breaks down the problem into two steps: object detection and object recognition. First, use a bounding box detection algorithm to scan the entire image to find areas that may be objects; then use an object recognition algorithm (such as SVM combined with HOG) to identify the objects detected in the previous step. 

In contrast, deep learning directly operates on the input data to obtain the output result. For example, you can directly pass the picture to the YOLO network (a deep learning algorithm), and the YOLO network will give the objects and names in the picture.

Execution Time 

Typically, training a deep learning algorithm takes a long time. This is because there are many parameters in a deep learning algorithm, so it takes longer to train the algorithm. The state-of-the-art deep learning algorithm ResNet takes two weeks to fully train once, while the training of machine learning will consume relatively little time, only a few seconds to a few hours. 

But the timing of the two tests is completely opposite. Deep learning algorithms take very little time to run when tested. When compared to k-nearest neighbors (a machine learning algorithm), the test time increases with the amount of data. However, this does not apply to all machine learning algorithms, because some machine learning algorithms also have short test times. 

Interpretability

Crucially, we include interpretability as a factor in comparing machine learning and deep learning.

Let's look at an example. Suppose we apply deep learning to automatically score articles. Deep learning can achieve near-human standards, which is quite an astonishing performance. But there is still a problem. A deep learning algorithm won't tell you why it's giving this score. Of course, mathematically, you can find out which deep neural network node is activated. But we don't know what model neurons should be, and we don't know what these layers of neurons are going to do together. So there is no way to explain how the results came about.

On the other hand, machine learning algorithms like decision trees give clear rules to explain why an algorithm is chosen this way, so it is easy to explain the reasoning behind the decision. Therefore, algorithms like decision trees and linear/logistic regression are mainly used for interpretability in industry.

Where are machine learning and deep learning used?

The Wikipedia article on machine learning provides an overview of all areas where machine learning is used. These include:
  • Computer vision is used in applications such as license plate recognition and facial recognition.
  • Information retrieval For applications such as search engines - including text search and image search.
  • Marketing Applications for automated email marketing and target group identification, etc.
  • Medical Diagnostics Applications such as cancer identification and anomaly detection.
  • Applications of Natural Language Processing such as sentiment analysis and photo tagging

The above diagram aptly summarizes the application areas of machine learning, covering the broader topic of machine intelligence as a whole.

A prime example of a company using machine learning/deep learning is Google.

In the image above, you can see that Google is applying machine learning to its various products. The applications of machine learning/deep learning are endless - you just need to find the right moment!

Surprise Test

To assess whether you really understand the difference, we'll run a quiz. You can post your answer in this thread

Be sure to cover the following steps to ensure a complete answer to each scenario.
  • How would you use machine learning to solve the following problems?
  • How do you use deep learning to solve the following problems?
  • Conclusion: Which method is better?

Scenario 1 

You must build a software component for an autonomous vehicle. The system you build should take raw pixel data from the camera and predict at what angle you should steer the wheel. 

Scenario 2 

Given a person's credit and background information, your system should assess whether the person should be eligible for a loan. 

Scenario 3 

You have to create a system that can translate Russian messages into Hindi messages so that Russian representatives can communicate with the local masses. 

Find here discussion notes and perspectives of various data scientists on the above issues.

Future Trends

This article provides an overview of machine learning and deep learning and their differences. In this section, I will share my views on the future development of machine learning and deep learning.

  • First, with the growing trend in the industry towards the use of data science and machine learning, it will be very important for every company that wants to survive to take machine learning seriously. Apple is using machine learning in the iPhone X, which marks where the technology is headed.
  • Deep learning surprises us every day and will continue to do so in the near future. This is because deep learning is one of the best performing techniques proven to be state-of-the-art.
  • Research on machine learning and deep learning will continue. But unlike previous years where research was limited to academia, research in machine learning and deep learning will explode in both industry and academia. And with more funding than ever before, it is more likely to become the main theme of the overall development of mankind.

Note: This article is reproduced from Open Source China. The source of the translation is to understand the difference between deep learning and machine learning. The English original text Deep Learning vs. Machine Learning, Tocy, rever4433, soaring, mskf and others participated in the translation. Be a hard-working IT dry cargo porter, just to achieve a better you!

Want to learn more? Checkout:

Post a Comment

Previous Post Next Post

Contact Form