📜 ⬆️ ⬇️

The use of neural networks in robotics: prospects and advantages

1. Comparison and advantages of neural systems over mathematical algorithms


Everyone knows what a neuron is. More or less familiar with neural networks. Everyone has an idea what artificial neural networks are, at least they have heard about them. I set myself the task quite superficial - to show in this publication the possibility of using neural networks in robotics and their advantage over other logical systems. Let me just remind you that artificial neural networks are built on the principle of operation of natural neural networks that living beings have. These can be insects, birds, fish or animals that are higher in intellectual development. For example, like monkeys or humans. They all have one thing in common, this is a neural network. For some, it is more developed and more complex. Someone is in a primitive form and works on the principle of "stimulus-reaction". By the way, highly intelligent animals, such as humans, very often act on the “stimulus-response” principle in everyday life. If we burn the arm, then without thinking, we sharply pull it away. It does not need a lot of mind to do this. But there are situations in life when you need to apply what we mean by the word "intellect". And what it is, no one knows. There are several formulations describing intelligence. But, for robotics, this is an abstraction, from which the use of zero, with the help of which you cannot build an “intelligent” robot.

The use of neural networks in robotics seems to be obvious. If we look at the living nature that surrounds us, then, in many cases, it is surprising that living organisms endowed with even the simplest neural network can perform those tasks that our modern computers are not capable of. But are the advantages of pre-logical systems of neural systems really obvious? What can neural networks do and what logical systems do not? The robot engineer has the right to know what he and his robot or robot system receives, which will be controlled by a neural network. When I speak logical systems, I mean all other mathematical algorithms for processing incoming information. After all, the neural network is also an algorithm.

In fact, it was very difficult to come up with some kind of test, or tests, where a comparison of neural systems with logical systems would take place. That is, a test where the advantage of neural networks over other algorithms would be clearly shown. And you know, it was not so easy. There was an obvious question, by what criteria or indicators to compare the system. It would be easiest to compare different neural networks with each other. Indeed, they can be compared by such indicators as the total number of neurons in a network, or how many neurons are in each layer, or how many total layers are in a neural network. Are these direct distribution networks, or feedback networks, and so on and so forth. Well, how to compare the neural network and logical systems? .. That is, how to compare the two algorithms? It turned out that it is better and more productive to compare neural networks and logical systems with indirect signs. With the help of indicators such as "efficiency" and "complexity". For robotics, when building a robot, cost effectiveness is an important factor. If the robot is too expensive, no one will buy it. In the future, to compare the systems by these two parameters, I will repeatedly use the system from Google, which they installed on their robotic cars. Powerful advanced system. This is what we need for comparison. It seems that Google has the most powerful and expensive technology, but their autopilot cannot drive when it rains or snows. Yes, yes, it is just that, if someone did not know. Each technology has its pros and cons. Here Google technology has such a minus. Like any other robot, Google’s autopilot is also a robot that needs to receive information about it in order to operate in the surrounding space. For this are the sensors and sensors.


')
In this picture you can see that the autopilot performs its functions, you must have some input devices or sensors. The picture compares two systems, one built on a neural system, and the other, like Google’s, on logical systems. In the center of each system is a processing unit, or artificial "brains" that receive information from these sensors. A very important point. If we remove one of the sensors, the system will not be able to effectively and safely perform its tasks. If the autopilot of Google loses the lidar, then the system will not be able to build a 3D model of the surrounding space, and therefore lose the ability to navigate in this space. If we remove the positioning system, the autopilot will not be able to determine at which point of the coordinates it is located, and it will simply be nekkorektno to issue control signals to the executive bodies. That in turn can lead to accidents and casualties. Therefore, this set of sensors for each system is minimal and necessary.

Note. Here is the system, which is used by the guys from Google, more sensors. As I have already said, such a number of sensors is the minimum necessary for the system to perform the tasks assigned, to effectively drive the car. That is, the Google system is already more expensive than this neural system, which has a smaller set of minimum sensors. Can you say that the sensors Google uses are cheaper than the sensors that are installed on this system? Unfortunately, this is not the case. On the contrary, the sensors from Google are several times more expensive than the sensors used by the neural network. One lidar only costs 30 thousand dollars. This also applies to the positioning sensor. There is no ordinary sensor, which is used in ordinary cars. This positioning system is the most accurate, and therefore more expensive. For our system, it is possible to use a conventional positioning sensor used by motorists.

Based on the data presented, it is possible to make an intermediate conclusion. If you install a neural network that will control the robot on your robots, then you will need fewer sensors or sensors to perform a task or tasks, and the cost of these sensors will be cheaper. And in some cases, at times cheaper. This can be seen in the example of autopilot with a neural network, where you do not need to use a lidar and a high-precision positioning system.

Installing a neural network is more cost effective. Moreover, it will perform those tasks that are not capable of logical systems. As I said, Google autopilot does not know how to drive in rain and snow.

Kohl, we started talking about the system that the guys from Google use, I would like to ask how much information this system operates per unit of time. Somebody knows? Every second, data from cameras, radar, lidar, positioning and acceleration sensors arrive in the autopilot system unit. For Google, this is 1 GB per second. Every second, the autopilot processes 1 GB of information. For comparison - an ordinary smartphone user consumes about 3-4 GB of data per month. Surely, the human brain operates with much more information. Probably for many it will be a discovery if I say that the amount of information that a person receives through his eyes is 22 times less than the autopilot from Google operates. Imagine 22 times. Every second through our vision comes 0.04 GB. This is 90% of all information that a person receives from the outside world. The rest of the incoming information is distributed between hearing, touch and charm. You can imagine that a person needs such a large amount of data to perform the functionality and tasks that even powerful computers are not capable of. It turns out that to perform the task of driving a car, Google’s autopilot needs to process 1 GB of data from the outside world every second. At the same time, for the human brain to perform the same tasks for driving a car, 0.04 GB (45 MB) per second is sufficient. This is an amazing fact, which shows that it’s not just power. And in the ability of the system using a minimum of information, perform a maximum of tasks.

You know, after comparing these figures, I had the idea to develop a test that resembles the well-known test for determining human IQ. Only this test will determine the level of "intelligence" of artificial algorithms. Determining the level of intelligence will not be determined by the power of the computer, but by the ability of the system to perform a certain functional or task using a minimum of incoming information. As I said above, to perform some tasks for each individual system requires the necessary minimum, coming through the information sensors. If the incoming information is less than the required minimum, the robotic system will not be able to perform its task. And the system that needs the least input information to complete the task will be considered the most “smarter” or smarter.

The next important factor for robotics, I think, is the ability to quickly create and develop an intelligent robot. Let's see how much work and time the developer needs to create a robot. More precisely, not the robot itself, but the algorithm that will control this robot. Let's do some benchmarking test between the two systems again. Robotics have a task to build a robot. Take again the autopilot, which can recognize the road and drive a car on these roads.



But the roads are different. Let's see the easiest way, in terms of writing an algorithm for image recognition. This road is in the upper left corner. There is a sharp contrast between the roadbed, it is dark, almost black and dividing stripes, they are bright white. Even a schoolboy can write an algorithm with the help of which the robot will drive a car along this road.

These photos show different roads and paths. The difference between these roads from each other is that the more the road merges with the background, with the terrain on which it passes, for example, this is how here - the barely noticeable road, the figure in the lower right corner, the harder, for robotics or a programmer, will be writing an algorithm by which the robot will recognize this road. At the same time, there are many different roads, as I said. And, unfortunately, in the problems of recognition by mathematical methods there are no universal solutions. Therefore, each time the programmer will be required a huge amount of work in writing the next algorithm for image recognition. But there are tasks that are even more complex, where the work of a large team is required. And these tasks are not available for a small group of robotics, and even more so for one person. For example, the tasks associated with the recognition of objects and manipulations with them.



If you look at this scheme above, you can see from it, if robotics use a mathematical method of image recognition, then the programmer is in charge of choosing features of recognizable objects. This is the most important and necessary task - to recognize the object. Without this procedure, the robot will not be able to perform its task. And in order for the robot to recognize the object, the programmer needs to select the features of the object being recognized during programming. So, if we exclude the mathematical method of image processing and recognition, which is a time-consuming process and requires specific knowledge, then the neural network will be responsible for the choice of features of recognizable objects.



Thus, the time-consuming image processing method is eliminated and the task for robotics is made as easy as possible. Robotics will be required to have life experience for learning the neural system. Everyone knows that washing things is better to entrust the washing machine, so faster and easier than washing hands. Having mastered the method of learning the neural network, here we get the same thing.

2. Overview of neural networks


After comparing neural systems with logical systems, the advantage of neural systems became obvious. Neural systems also benefit in terms of cheapness, and greatly reduce the time to develop powerful and intelligent robots. Now, one person becomes available to what was previously available only to large teams and laboratories. Then why are robot control systems based on neural systems not popular? Why work on such systems are carried out only by large companies and institutions?

The point is to develop a more or less serious neural network that would perform serious tasks, it is necessary to work large university teams or competent robotic teams. If someone tried to develop and train a neural network, he knows that robotics are always faced with the need to solve many ambiguous and specific issues. For example: how many layers to use in a neural network, how many neurons should be used in each layer, what connections should be established between layers, how to determine weights? You can spend time on some questions and find simple answers in the appropriate textbooks. Some questions have no obvious and unambiguous answers. As a result, the robotics will need hard and hard experimental work with the neural network to find answers to ambiguous questions. Yes, using neural networks eliminates the time-consuming mathematical method of image processing and recognition, but on the other hand, robotics are faced with the difficulty of developing the structure of neural networks that are at the level of university teams. How to cut this vicious circle? How to make available the use of neural networks in robotics?

3. Gordian knot


When a motorist buys a car, he does not think about what gear ratio is used between the gearbox and the car engine. And, all the more, he is not interested in the chemical composition of the steel used in the gear coupling of the car. Many do not know. This is not necessary to know. This should not be the responsibility of the motorist. So, robotics should not face problems and tasks in the development of neural networks. He should not think about how many neurons there are to use in each layer, or how many layers to use in the neural network. This should not be the responsibility of robotics. Professionals should deal with such issues.

I will express my opinion on the possibility of developing competitive neural networks by individual programmers, or a small group of programmers and, probably, I will disappoint you. Does anyone know of Charles Darwin and is familiar with his writings on the origin of the species? Someone came across the works of Academician Pavlov. Has anyone read his lectures? This is the very Pavlov, whose dogs allowed saliva to a tanned bulb according to a conditioned reflex. Perhaps someone was reading Ukhtomsky's "The Doctrine of the Dominant," or was familiar with the "Theory of Functional Systems" by Peter Anokhin. Unfortunately, without appropriate knowledge in neurophysiology and neurobiology, it is impossible to build a more or less decent neural system. Do not be upset, the share of robotics remains a more noble lesson in the training of neural networks. And in order for learning to be accessible to everyone, not even robotics, but every user, a clear and simple interface is required for learning neural robots.



This method of teaching neural systems should be no different from the method of control of radio-controlled models. It must be the same. The same interface, the same movements. The interface must be the same set of motions that is available on radio-controlled models. Everything should be simple, convenient and nothing superfluous. For clarity, I want to bring this job here.



This interface is installed on the computer. The image of the road on which the machine will move is loaded through the camera installed on the machine. If this is not a machine, but, for example, a manipulator with a technical vision (camera), a photo of the item with which the manipulations will be performed is loaded. Here is the road relative to which the machine will go straight. In the lower left corner of the interface, two cells are depicted, which are designed to set the control signal to the corresponding engines. Each cell is responsible for a specific engine. If the machine must go straight along this road, then the signals in these two cells must be zero. You can set other signals. For example, instead of zeros, set one in each cell.You can put on the number 3.5 (three and a half). The main thing is that in each cell, the numbers are the same.

This is one of the examples that clearly shows how simple and fast, when compared with other methods of teaching neural networks, there can be training of these networks. This is a slower interface for learning neural networks than the one I mentioned. However, for learning to control the machine on this road, a few minutes is enough. So, with a certain skill, robotics will be able to train a neural system even through this interface for dozens of operations per day. In my opinion, with the introduction to the market of such simple and clear interfaces for fast learning of neural robots, neural systems will take a significant share in such a promising area as robotics. It seems obvious to me.

Source: https://habr.com/ru/post/239543/


All Articles