How Artificial Intelligence, Machine and Deep Learning work
Smart homes, self-driving cars, robot assistants… We are surrounded by innovative technologies based on algorithms that resemble the work of the human brain in their specificity. They are called in different ways: algorithms using machine learning, deep learning, and sometimes even artificial intelligence (AI).
What is the difference between these terms?
All tasks that a person or computer can solve can be divided into two categories: routine and non-routine.
Routine tasks include those where it is easy to find a universal solution: for example, adding numbers or measuring air temperature.
Artificial intelligence is now called anything that can solve non-routine tasks at a level close to human, and sometimes better. Such tasks surround us everywhere. Cameras over the road calculate the speed of the car, recognize its sign and send a fine, and security systems in the subway and airports find criminals in the crowd. All of this today is considered to be artificial intelligence, although in reality the algorithms that underlie each such technology are unique. And only a few use machine learning.
Machine learning is AI learning
Artificial intelligence is not the name of a particular algorithm, but rather a group of methods that are used to solve various kinds of problems. Algorithms that use learning approaches are just one of the subgroups of the whole set of algorithms that are called artificial intelligence.
Machine learning is an approach in which an algorithm “learns” to solve a problem. One of the simplest examples of an algorithm that uses machine learning is the classification of photographs into those that depict cats and those that have dogs:
Suppose there are several thousand photographs of cats and several thousand photographs of dogs. This data can be loaded into the algorithm and made it “learn” to distinguish cats from dogs, “scolding” for errors in classification and “encouraging” for correct answers. Depending on the quantity and quality of the input data, as well as on the complexity of the algorithm used, after a certain number of iterations with “punishment” and “encouragement”, a trained algorithm is obtained that can distinguish cats and dogs with different qualities.
Using machine learning methods, these same algorithms can also be “trained” to perform more complex tasks – such as finding people on the frame, determining the gender and age of a person, etc.
Can such algorithms be taught to solve problems of any complexity?
In theory, yes. But in practice, we are faced with a large number of problems, ranging from insufficient data for training, ending with the inability to interpret human actions in solving the same problem. It turns out that it is impossible to build an algorithm that would perform these actions. A good example is an autopilot car. To teach a car to keep the lane, to enter turns and automatically re-route if repair is on the road is relatively easy, because there is an understanding of how a person would behave (and therefore how a car should behave) in such situations.
However, it is much more difficult to teach a car to make decisions in emergency situations: the problem is that it is difficult for a person to understand exactly how to act in an emergency case. Therefore, a person cannot show algorithms examples of good and bad behavior for such cases.
How is deep learning different from machine learning?
As machine learning is a subspecies of artificial intelligence, so deep learning is a subspecies of machine intelligence (see the picture at the beginning of the article). In deep learning, the same approaches are used: the algorithm is given a lot of data and is “scolded” for errors. The difference here is that the deep learning algorithms themselves are much more complex and often use more serious mathematical models. Nowadays, deep learning algorithms almost always mean neural networks.
What are neural networks?
A neural network is a sequence of layers, each of which, in turn, consists of neurons, and each performs its own role. There are neurons (or groups of neurons) that learn to identify important elements in images, such as the hair of a cat or dog; there are those that learn to draw conclusions based on the selected elements — for example, if an animal has long legs, it is most likely a dog. These neurons are combined into groups (layers), and they turn into a single neural network.
Is it possible to compare the processes within the neural network with the activity of the brain?
A number of ideas used in neural networks, developers have learned from knowledge about the structure of the human brain. One of the most common tasks for neural networks is the tasks associated with working with images. For such tasks, they use a special type of neural networks, inside which there are so-called convolutional layers.
In simple terms, the meaning of these layers is to evaluate each element of the picture (pixel) not separately, but in a group with several neighboring ones, so that you can find both basic shapes (lines, angles, etc.) and objects entirely. Approximately the same process occurs in the human brain when processing visual information. After removing all possible visual signs in the neural network, as well as in the human brain, an analysis of these signs takes place, and then a decision is made: we see, for example, a cat or a dog.
How is the learning process?
The process of learning an algorithm is much like the process of learning a person. As we make mistakes and learn from them (for example, that we don’t need to put our hands in boiling water), so algorithms that use machine learning make mistakes, for which they receive a fine.
As an example, we can consider the process of learning a neural network to recognize faces. In order to correctly train any neural network, you need to do two things: collect enough data and determine why we will fine it. In relation to this task, it is necessary to collect several dozen photographs of faces for each of the people that need to be identified, and fine the neural network because the person predicted by it does not coincide with the person in the photo.
What does it mean to “encourage” and” fine ” the neural network?
From a mathematical point of view, a neural network is a function with a large number of parameters. The penalty of this function for the incorrect definition of the face is when, in simple terms, we correct the function so that in the future it is less mistaken. Accordingly, the promotion of a neural network is when we simply do not fine it.