Our Beginner’s Guide to Deep Learning
Do your nerdy friends speak about Artificial intelligence, Machine learning, and Deep learning with ostentatious familiarity? Your desire, in those moments, is to dig a hole and jump into it?
No problem! In this article, we will focus in particular on Deep learning, on its (non-romantic) relationship with Neural networks, and on the essential difference between Deep and “simple” Machine learning.
Are you ready? I will show you how DEEP the rabbit hole goes. You cannot imagine how much.
If someone didn’t understand the quote, well, it’s time to see “Matrix”. After all, you are just 21 years late.
Machine Learning and Deep Learning
Let’s start from the basics. Machine learning is practically a branch of artificial intelligence. It explores the study and construction of algorithms that can learn from data and make predictions about them.
Machine learning is widely applied in computer programming, providing systems the ability to automatically learn and improve from experience without being explicitly programmed.
It can be divided in four main categories, based on different approaches to train our computers: Supervised, Unsupervised, Semi-supervised and Reinforcement.
If you are new to these topics and you want to deepen them, I wrote a super user-friendly article about machine learning and also
another one about its classification. Check them out!
“Machine learning is a branch of artificial intelligence. It explores the study and construction of algorithms that can learn from data and make predictions about them.”
What Is Deep Learning?
So, what about Deep learning? Well, deep learning is subpar of machine learning that mimics the mechanisms of the human brain to process information. Let’s say that it is machine learning’s most advanced version. Later, i’ll show you why!
Understood? Deep learning is a part of machine learning that is a part of artificial intelligence. Deep-ception!
Although deep learning was first theorized in the 1980s, it has only recently shown extraordinary developments.
There are essentially two main reasons for this rapid evolution.
Firstly, deep learning requires large amounts of labeled data to train our machine. Labeled data is data that have been tagged with one or more informative labels.
Translated: it’s data associated with useful information, like a picture of a kitty labeled with the label “cat”.
In the last years, we have been able to produce, store and manage a growing amount of data. For example, developing driverless cars requires thousands, if not millions of pictures and countless hours of video.
Secondly, deep learning requires impressive computing power. Today, we can solve this problem with High-performance GPUs, combined with cloud computing services. In such a way, it’s possible to reduce the training time for a deep learning network from weeks to hours or less.
Deep Learning and Neural Networks
Deep Learning is an approach to Machine Learning based on neural networks. A neural network is a set of task-specific algorithms that are inspired by the structure and function of the human brain.
It consists of interconnected layers of units, called artificial neurons, which send data to each other though connections called edges. The output of the preceding layer will be the input of the subsequent layer.
The first and the last layer of the network are called respectively input layer and output layer. Each layer between these is known as a “hidden layer”.
Signals travel from the input layer to the output layer, possibly after traversing them multiple times. Every layer takes care of recognizing different features of the overall data.
An attached “weight” is associated with each link between layers, the value of which can be increased or decreased to alter the importance of that link. At the end of each training cycle, the system will examine whether the final output of the neural network approaches or moves away from the expected result.
“Deep Learning is an approach to Machine Learning based on neural networks. A neural network is a set of task-specific algorithms that are inspired by the structure and function of the human brain.”
Why Is It Called “Deep”?
Deep learning uses deep neural networks. The term “deep” refers to the number of layers which are hidden in the networks.
A traditional neural network can be composed of just two or three hidden layers, while deep networks can contain more than a hundred hidden layers.
Practically, deep learning expands neural networks into giant sprawling grids, with a huge number of layers that are trained using incredible amounts of data.
The complexity of deep neural networks made possible the abrupt advancing in the ability of computers to manage incredible tasks. For example, speech recognition and computer vision.
Deep Learning Is (Usually) Great!
The peculiar structure of deep neural networks determines both strengths and weaknesses.
In general, deep learning works more autonomously in a wide variety of tasks.
For example, let’s talk about image recognition. In machine learning, the relevant features must be manually extracted from images, while in deep learning feature extraction and modeling steps are automatic.
Deep Learning Grows Fast But Is Hungry!
Another key difference is that deep learning algorithms scale with data. A key advantage of deep learning networks is that they often continue to improve as the size of your data increases.
On the other hand, a successful deep learning application requires a very large amount of data (thousands of images) to train the model, as well as GPUs, or graphics processing units, to rapidly process your data. If we don’t have these things at our disposal, it’s better to use machine learning instead of deep learning.
“A successful deep learning application requires a very large amount of data (thousands of images) to train the model, as well as GPUs, or graphics processing units, to rapidly process your data.”
Some Deep Learning Applications
Today, many problems are brilliantly solved through deep learning. Let’s see some of these briefly.
Processing of Language
In 2016 the quality of Google Translate translations suddenly improved, going from a rather mediocre level to the production of sentences close to the quality of a professional human translation.
The Google Translate and Google Brain development teams have gone from using old machine translation algorithms typical of classic machine learning to using a deep neural network trained using Google’s TensorFlow framework.
For this project, Google has specifically created a new type of chip called the Tensor Processing Unit with which to manage large-scale neural networks.
Thanks to Deep-learning, a robot can learn by observing the actions of a human carrying out a task or using the interactions with several other AIs. Human brain processes input from past experiences. A deep learning robot will execute tasks based on the input of many different AI opinions.
Researchers from Nvidia recently created a deep-learning system designed to teach a robot how to carry out a task in such way. It’s not science fiction, it’s now!
Deep learning in robotics usually relies on reinforcement learning, that draws from both supervised and unsupervised learning techniques. It relies on a system of rewards based on monitored interactions to find better ways to improve results.
Classification of Images
The researchers took the visual cortex architecture of mammals as a model for neural networks designed to perform image recognition.
In 1998, Yann LeCun LeNet-5 represented a turning point thanks to a seven-level convolutional neural network, capable of recognizing handwritten digits and digitizing them in images of 32 × 32 pixels.
Today, the best image classification models can identify different objects in HD. In addition to pure deep neural networks, it’s pretty common to use hybrid vision models, which combine deep learning with classic machine learning algorithms to perform specific tasks.
Image classification can also be extended to video classification by extracting individual frames from a video and classifying each of them.
Practically, computer software programs designed to simulate human conversation via text or audio messages. Some examples? Alexa, Siri and Google Assistant.
These assistants exploit deep learning to understand their users and to give natural and appropriate answers.
Well, a bit weird and disturbing, sometimes. I still remember when I asked Google to show me a video about cooking pasta with calamaries. A video about Karl Marx started. True story, bro.
Deep learning is changing our lives and transforming every sector of the economy, from Google Translate to driverless cars to personal cognitive assistants.
For this reason, everyone should be aware of its existence and importance, even non-professionals.
Okay, I hope I made all these concepts clearer. In that case, you no longer have to jump into the hole when your friends talk about them!