Neural networks are one of the artificial intelligence development areas. The idea is to model how the human nervous system works, in other words, its ability to learn and correct mistakes. These neural networks are based on deep machine learning algorithms that combine certain types of neural networks. They can learn and act on their own, based on previous experience and making fewer mistakes.
Neural networks move the trend when people see a real benefit and are willing to invest. Recently, they were only available to large companies. However, in the last couple of years, there have been many affordable solutions, off-the-shelf development tools, and cloud services that are easy to adapt to the task.
In this article, we will consider the application of neural networks as an example of some of the most promising and interesting areas.
Why Do We Use Neural Networks?
A neural network is one of the software mechanisms that allows a program to learn, that is, to take experience into account. It simulates not only the activity but also the structure of the human nervous system. Such a network consists of a large number of individual computational elements “neurons”. In most cases, each “neuron” belongs to a certain layer of the network. Input data is sequentially processed on all layers of the network. Parameters of each “neuron” can change depending on the results obtained from previous sets of input data, thus changing the order of the whole system.
Neural networks perform tasks every day. For example, Brain, a neural-network-based algorithm, works on YouTube’s recommendation system every day. It selects relevant content for users by studying their behavior. That is why videos often gain views not through direct traffic when a user enters a query in the search bar, but when the system itself suggests potentially interesting content. Facebook uses neural networks to recognize your face in other people’s photos. Google uses neural networks to detect what is in pictures and give you the ones that best match your query. Shazam teaches neural networks to recognize songs even in a noisy room.
Tasks Neural Networks Perform
Neural networks help solve complex problems that require analytical calculations similar to those made by the human brain. The most common tasks using neural networks is pattern recognition.
Pattern recognition, which can be various objects: text symbols, images, sound samples, etc. This is currently the widest area of application of neural networks.
Classification, decision-making and control. Situations are to be classified, the characteristics of which are fed to the input of the neural network. On an output of a network as a result there should be a sign of the decision, which it made. In this case, various criteria for the state of the controlled system are used as input signals.
Clustering. This is a division of the set of input signals into classes, and neither the number nor the attributes of the classes are known in advance. After training, such a network can determine which class the input signal belongs to. The network can also signal that the input signal does not belong to any of the selected classes – this is an indication of the appearance of new data, which are absent in the training sample. Thus, such a network can detect new, previously unknown classes of signals.
Prediction. Such ability of a neural network follows from its capability to summarize and identify hidden dependencies between input and output data. After training, the network can predict the future value of a certain sequence based on several previous values and/or some currently existing factors.
Neural networks in medicine
Machine learning technologies are capable of working with different types of information. For example, in medicine, in the field of image processing. Workflows are inextricably linked to the collection, processing, and analysis of various medical images, such as X-rays, CT scans, digital histological studies, and so on.
Even deeper neural networks can help in the interpretation of medical scans of pathologies, electrocardiograms, and endoscopy. Google has used algorithms to interpret chest scans to make 14 different diagnoses, from pneumonia to cardiac hypertrophy to collapsed lung. DNNs can diagnose certain cancers, fractures, hemorrhages, and a host of other conditions. Algorithms can improve the work of various doctors, such as dermatologists, cardiologists, and even psychotherapists.
The peculiarity of neural networks is that they do not care at all which objects to analyze. Because they are flexible algorithms, capable of performing any task.
Another area that is actively developing is DNA analysis. The University of Michigan performs genetic research and allows the human genome to determine a person’s height to within three centimeters, to predict the development of serious diseases such as cancer, stroke and heart attack, etc.
Artificial intelligence also contributes to the creation of drugs. The first drug to enter the clinical trial phase was DSP-1181. Exscientia developed it together with a Japanese pharmaceutical company. The drug is designed to treat patients with obsessive-compulsive disorder (OCD). Usually, it takes researchers about five years to develop such drugs (Drug discovery phase). But Artificial Intelligence solved this problem in just one year.
It is very important to thoroughly investigate the results of the algorithms and conduct tests in clinical conditions.
Neural networks in security services
Neural networks are currently used in military security systems and authentication systems. Even the average user can automatically log in to their account on a computer equipped with a webcam or on a phone with a built-in Face ID. Even many stores have implemented facial recognition systems to track certain groups of customers. The purpose of such work is to learn preferences and offer the most relevant products.
Recognition can take place in different ways. The more neural network show image samples, the better it will work. In the process of learning, the system extracts key features and builds connections between them. Then it applies the knowledge when recognizing unknown images. Now neural networks can find and identify faces in photos of video and regardless of their size, position in the frame, shooting angle, the complexity of the scene in the frame.
How else do neural networks identify a person?
It is true that neural networks allow not only to identify a person by face recognition, but also by fingerprints, voice, signature, and so on. There are 14 types of biometric devices. They help with security systems, access control, and theft prevention. Law enforcement can use neural networks to identify criminals or suspects, border and migration control can identify travelers and migrants, and retail can recognize and monitor customers.
For example, Integrated Biometrics develops sensors for fingerprint registration and verification. The products use LES film, which ensures the speed, ease of use, and durability of mobile biometric verification devices. Sherlock’s fingerprint sensors are the only ones certified by the FBI. They work in direct sunlight on dry or wet fingers, are resistant to erasure, and are 90-95 percent smaller and lighter than traditional optical scanners.
Blink Identity uses its facial recognition technology. It identifies people while driving at full speed, and can identify more than 60 people per minute. And IDVoice from ID R&D performs voice recognition. The product is built on a convolutional neural network and advanced voice feature extraction technology. The technology is already in mobile banking apps and call center software to simplify recognition and prevent fraud.
Neural networks in robotics
In this case, the use of neural networks in navigation systems is widespread. Depending on the tasks, there are outdoor and indoor technologies. Outdoor navigation is suitable for unmanned cars and aircraft, and indoor navigation is needed for security and service robots in buildings. There are also global and local types of navigation. Global involves navigation via satellite systems. Local include navigation through ultrasonic, optical, and infrared systems.
For example, Tesla uses DNNs in its autopilot system. They recognize all objects around the car in real-time, classify them and determine their characteristics. The car has eight cameras that shoot video. Neural networks watch the video, process it, and make predictions about what they see. They pay attention to road markings and users, roadways, traffic lights, road signs, and so on. The ninth version of the autopilot is four times more complex than the eighth version, due to the increase in the data flow.
Robotic couriers have also appeared. Companies in the U.S., Europe, Korea, and Japan are launching autonomous robots that deliver goods from stores to homes or offices. Kiwi, Starship, Marble, Nurio, Cleveron, Postamates, and many other robots are already moving through the streets. Robots are equipped with cameras, GPS, and motion sensors, with which they receive information about the environment. Machine learning and neural networks help robots convert unstructured and low-level data into high-level information to perform tasks. Thanks to neural networks, robot couriers can safely navigate the streets, analyze the directions of objects and avoid obstacles without the help of a human operator.
There are also threats to information security in robotics. The development of the Internet of Things has influenced the active spread of botnet networks, which has become relevant for robotic devices.
But manufacturers often neglect cyberthreat protection. This leads to the use of robots for spying, phishing, or data theft. Security, though, should be one of the most important areas of robotics. One solution to the problem will be the use of AI for security management, which is already being gradually implemented by leading antivirus vendors.
Other interesting neural network uses
A neural network that can draw
Neural networks have gone beyond clever algorithms that recognize faces, and can now create works of art on their own. Each network is trained with pictures and has 10 – 30 nested layers with different levels of abstraction. The image first arrives at the input layer. It does its job and passes the information to the next layer until at the end there is a picture. Each successive layer extracts new features from the image. For example, the first layer determines the angles, the second layer determines the shapes, and so on. But the last few layers decide what is shown in the picture.
There is a neural network that can turn doodles into artistic masterpieces. Neural Doodle program based on a convolutional neural network. It is a script doodle.py that generates images, takes three or four pictures as input parameters. This includes a simple sketch and a style sample with its sketch as input. A neural network finds distinctive style features and displays them on the sketch.
Also, a neural network learned to draw complex scenes based on text descriptions. Microsoft Research unveiled a generative-adversarial neural network capable of generating images with multiple objects based on text descriptions. The algorithm is based on Object-driven attentive generative adversarial networks. It analyzes text and extracts word-objects from it to arrange them in the image.
Want to know about another unusual way neural networks work? The developers of the Yelp app for reviewing restaurant ratings and reviews have begun applying machine learning to improve the quality of the service. The Yelp team has automated the process of analyzing photos from user reviews evaluating lighting, interior, staff, and other elements of a particular establishment. Of course, humans are also involved in the verification process, but for processing tens of millions of images, the help of computer algorithms is very useful.
Programmers will soon have an assistant – a neural network capable of performing routine tasks. With such a neural network you can create programs without knowing the syntax of a particular language and without actually knowing how to program. It is necessary to draw up an algorithm and set tasks – and a neural network will write code to solve them.
So, researchers from Microsoft and Cambridge University created the DeepCoder neural network, which learns to program by borrowing code from other programs. DeepCoder uses Inductive Program Synthesis. It borrows lines of code from other programs and makes its own unique program. The neural network uses a domain-specific language. At the moment DeepCoder can solve tasks by working with about five lines of code.
Of course, while a neural network will not replace a real programmer, but rather acts as an auxiliary tool. It will allow developers to get rid of routine tasks and concentrate on more important work.
Encryption protocols creation
In 2016, employees at Google Brain, a Google department, created a neural network that developed its own encryption protocol. There were three neural networks, each of which could communicate with the others. The system was not trained in encryption principles or special algorithms; it could create its own form of encryption through machine learning.
One network would send secret information to the other, and the other network would have to decrypt the message. These two networks had to make sure that the third couldn’t understand the message. And if it did, the encryption system had to be changed.
Encryption was uncomplicated, but still able to develop simple ways to encrypt messages. nevertheless, the result was quite impressive.
Neural networks are now changing the way entire industries work. They are helping companies optimize business logistics, improve forecasting and customer interaction. They allow for more accurate customer satisfaction and increased competitiveness through deeper analysis of all available data.
The reaction of society is diverse, some people are impressed by neural networks in a good way, while others question their usefulness as specialists. Anyway, neural networks are a huge breakthrough, never ceasing to develop, and will show even more results in the future.