
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 of 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 possibilities of using neural networks in robotics and their advantage over other logical systems. Let me just recall that artificial neural networks are built on the principle of natural neural networks that living beings have. It can be insects, birds, fish or animals standing higher in intellectual development. For example, like a monkey or a person. All of them are united by one, it is a neural network. For someone, it is more developed and more complex. Someone is in a primitive form and works on the principle of "stimulus-reaction." By the way, and highly intelligent animals, such as man, very often in everyday life act on the principle of "stimulus-reaction." If we burn the hand, then without thinking, sharply pull it. There does not need a lot of mind to do this. But there are situations in life when you want to apply what we mean by the word "intelligence". And what is it, no one knows. There are several wordings that describe intelligence. But, for robotics, this is an abstraction, from which zero is useful, with the help of which you can’t build an “intelligent” robot. There are several wordings that describe intelligence. But, for robotics, this is an abstraction, from which zero is useful, with the help of which you can’t build an “intelligent” robot. There are several wordings that describe intelligence. But, for robotics, this is an abstraction, from which zero is useful, with the help of which you can’t build an “intelligent” robot.
Applying neural networks in robotics seems to be obvious. If we look at the wildlife around 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 neural systems over logical systems really so obvious? What do neural networks know and what do logical systems not? A robot engineer has the right to know what he and his robot or robot system receive, which will be controlled by a neural network. When I say logical systems, I mean all the other mathematical algorithms for processing incoming information. After all, a neural network is also an algorithm.
In fact, it was very difficult to come up with a certain 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 is clearly demonstrated. And you know, it turned out to be not so simple. The obvious question was, by what criteria or indicators should the systems be compared. The easiest way would be to compare different neural networks. Indeed, they can be compared by such indicators as the total number of neurons in the network, or how many neurons in each layer, or how many total layers in the neural network. Are these direct distribution networks, or feedback networks and so on and so forth. Well, how to compare a neural network and logical systems? .. That is, how to compare two algorithms? It turned out that it is better and more efficient to compare neural networks and logical systems with the help of indirect signs. With the help of indicators such as "efficiency" and "labor intensity". 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 systems for 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, this is exactly the case if anyone did not know. Each technology has its pros and cons. Google’s technology has such a minus. Like any other robot, Google autopilot is also a robot, which in order to work in the surrounding space it is necessary to obtain information about it. For this, sensors and sensors are used.
In this picture you can see that the autopilot performs its functions, it is necessary to have some input devices or sensors. Two systems are compared in the picture, one of them built on a neural system, and the other, like Google, 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 efficiently and safely perform its tasks. If Google’s autopilot loses its lidar, the system will not be able to build a 3D model of the surrounding space, which means that it will lose the ability to navigate in this space. If you remove the positioning system, then the autopilot will not be able to determine at what coordinate point it is located, and it will simply be incorrect to issue control signals to the executive bodies. Which in turn can lead to an accident and loss of life. Therefore, this set of sensors for each system is minimal and necessary.
Note. Now the system that the guys from Google use has more sensors. As I already said, such a number of sensors is the minimum necessary for the system to fulfill its tasks and effectively control the car. That is, the Google system is already more expensive than this neural system, in which the minimum required set of sensors is smaller. You can say that the sensors that Google uses are cheaper than the sensors that are installed on this system? Unfortunately, this is not the case. On the contrary, sensors from Google are many times more expensive than sensors used by a neural network. One lidar only costs 30 thousand dollars. This also applies to the sensor of the positioning system. This is not an ordinary sensor, which is used in ordinary cars. This positioning system is the most accurate, and therefore more expensive.
Based on the data presented, an intermediate conclusion can be made. If you install a neural network on your robots that will control the robot, then to perform a task or tasks you will need fewer sensors or sensors and the cost of these sensors will be cheaper. And in some cases, many times cheaper. This can be seen in the example of an autopilot with a neural network, where you do not need to use lidar and a high-precision positioning system.
Establishing a neural network is more cost-effective. Moreover, it will perform those tasks that logical systems are not capable of. As I said, Google autopilot does not know how to control in rain and snow.
Kohl we talked 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, radars, lidar, and position and acceleration sensors are received in the autopilot system unit. For Google, this figure is 1 GB per second. Every second, the autopilot processes 1 GB of information. For comparison, an ordinary smartphone user consumes somewhere 3-4 GB of data per month. Surely, the human brain operates with a lot of 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. Imagine 22 times. Every second, 0.04 GB comes through our vision. This is 90% of all information which a person receives from the outside world. The remaining incoming information is distributed between hearing, touch and charm. You can imagine, a person is quite enough of this amount of data to perform the functionality and tasks that even powerful computers are not capable of. It turns out that to complete the task of driving a car, Google autopilot needs to process 1 GB of data from the outside world every second. At the same time, 0.04 GB (45 MB) per second is enough for the human brain to perform the same tasks of driving a car. This is an amazing fact that shows that it is not only a matter of power. And in the ability of the system using a minimum of information to perform a maximum of tasks. You can imagine, a person is quite enough of this amount of data to perform the functionality and tasks that even powerful computers are not capable of. It turns out that to complete the task of driving a car, Google autopilot needs to process 1 GB of data from the outside world every second. At the same time, 0.04 GB (45 MB) per second is enough for the human brain to perform the same tasks of driving a car. This is an amazing fact that shows that it is not only a matter of power. And in the ability of the system using a minimum of information to perform a maximum of tasks. You can imagine, a person is quite enough of this amount of data to perform the functionality and tasks that even powerful computers are not capable of. It turns out that to complete the task of driving a car, Google autopilot needs to process 1 GB of data from the outside world every second. At the same time, 0.04 GB (45 MB) per second is enough for the human brain to perform the same tasks of driving a car. This is an amazing fact that shows that it is not only a matter of power. And in the ability of the system using a minimum of information to perform a maximum of tasks. that to complete the task of driving a car, Google autopilot needs to process 1 GB of data from the outside world every second. At the same time, 0.04 GB (45 MB) per second is enough for the human brain to perform the same tasks of driving a car. This is an amazing fact that shows that it is not only a matter of power. And in the ability of the system using a minimum of information to perform a maximum of tasks. that to complete the task of driving a car, Google autopilot needs to process 1 GB of data from the outside world every second. At the same time, 0.04 GB (45 MB) per second is enough for the human brain to perform the same tasks of driving a car. This is an amazing fact that shows that it is not only a matter of power. And in the ability of the system using a minimum of information to perform a maximum of tasks.
You know, after comparing these numbers, I came up with the idea to develop a test that resembles the well-known test for determining IQ of a person. Only this test will determine the level of "intelligence" of artificial algorithms. The determination of the level of intelligence will be determined not 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 task for each individual system, the required minimum required through the information sensors is required. If the incoming information is less than the required minimum, then the robotic system will not be able to fulfill the task assigned to it. And the system that needs the least incoming information to complete the task will be considered the most “more intelligent” or smarter.
The next, important factor for robotics, as I think, is the ability to quickly create and develop an intelligent robot. Let's see how much work and time a 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 again between the two systems. Robotics has the task of building a robot. Take again an autopilot that can recognize the road and drive a car along 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 schoolchild can even write an algorithm with which a 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 along which it passes, for example, like here - a barely noticeable road, the picture in the lower right corner, the more difficult it is for robotics or a programmer, will be writing an algorithm by which the robot will recognize this road. Moreover, there are many different roads, as I said. And, unfortunately, in recognition problems by mathematical methods there are no universal solutions. Therefore, each time a huge amount of work will be required from the programmer in writing the next algorithm for image recognition. But there are tasks 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, tasks
If you look at this diagram above, it can be seen that if a robot uses the mathematical method of image recognition, then the programmer rests with the choice of features of recognized objects. This is the most important and necessary task - to recognize the object. Without this procedure, the robot will not be able to perform the task assigned to it. And for the robot to be able to recognize the object, the programmer needs to highlight the features of the recognized object 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 a neural network will be responsible for choosing the features of recognized objects.
Thus, the laborious method of image processing is eliminated and the task for robotics is maximally facilitated. Robotics will require life experience to train a neural system. Everyone knows that it is better to trust to wash things with a washing machine, it’s faster and easier than hand washing. Having mastered the method of training a neural network, it turns out the same thing.
2. A brief overview of neural networks
After comparing neural systems with logical systems, the advantage of neural systems became apparent. Neural systems also win in terms of low cost, and greatly reduce the time to develop powerful and intelligent robots. Now one person can access what was previously available only to large teams and laboratories. Then why are robot control systems based on neural systems not popular? Why are work on such systems conducted only by large companies and institutions?
The fact is, to develop a more or less serious neural network that would perform serious tasks, the work of large university teams or competent robotic teams is necessary. If someone has tried to develop and train a neural network, he knows that a robot engineer is 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 to use in each layer, what connections need to be established between layers, how to determine weights? You can spend time and some questions to find simple answers in the relevant textbooks. There are no obvious and unambiguous answers to some questions. Eventually, Robotics will require painstaking and hard experimental work with a neural network to find answers to controversial questions. Yes, with the help of neural networks, the time-consuming mathematical method of image processing and recognition is eliminated, but on the other hand, robotics are faced with the complexity of the tasks 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? How to cut this vicious circle? How to make available the use of neural networks in robotics? How to cut this vicious circle? How to make available the use of neural networks in robotics?
3. Gordian knot
When a car enthusiast buys a car, he does not think about what gear ratio is used between the gearbox and the car engine. And even more so, he is not interested in what chemical composition of steel is used in the gear coupling of a car. Many do not know this. This is not necessary to know. This should not be the responsibility of the motorist. So, a robotics engineer should not face the problems and tasks of developing neural networks. He should not think about how many neurons to use in each layer, or how many layers to use in a neural network. This should not be the responsibility of robotics. Professionals should deal with such issues.
I will express my opinion about the possibility of developing competitive neural networks by individual programmers, or a small group of programmers, and I will probably disappoint you. Does anyone know Charles Darwin and is familiar with his writings on the origin of species? Someone came across the work of Academician Pavlov. Has anyone read his lectures? This is the same Pavlov, whose dogs salivated on a tanned light bulb according to the elaborated conditioned reflex. Perhaps someone read Ukhtomsky's The Doctrine of the Dominant, or familiar with Pyotr Anokhin's Theory of Functional Systems. Unfortunately, without the appropriate knowledge in neurophysiology and neurobiology, it is impossible to build a more or less decent neural system. Do not get upset, the share of robotics remains a nobler lesson in training neural networks.
This method of training neural systems should not be different from the method of control of radio-controlled models. Everything should be the same. The same interface, the same movements. The interface should be the same set of movements that is available on radio-controlled models. Everything should be simple, convenient and nothing more. For clarity, I want to bring here this work.

This interface is installed on the computer. The image of the road along 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 technical vision (camera), a photo of that subject with which manipulations will be performed is loaded. The road is shown here, in relation to which the machine will move straight. In the lower left corner of the interface two cells are shown, which are designed to set the control signal to the respective engines. Each cell is responsible for a specific engine. If the machine should go straight along this road, then the signals in these two cells should be at zeros. You can set other signals. For example, instead of zeros, set one in each cell. You can bet on the number 3.5 (three and a half). The main thing,
This is one of the examples that clearly shows how simple and fast, when compared with other methods of training neural networks, there can be training of these networks. This is a slower neural network learning interface than the one I talked about. However, a few minutes are enough to learn how to drive a car along this road. So, with a certain skill, a robot engineer will be able to train a neural system even on this interface dozens of operations per day. In my opinion, with the introduction of such simple and understandable interfaces to the market for quick training of neural robots, neural systems will occupy a significant share in such a promising area as robotics. It seems obvious to me.