Why are neural networks built and trained in IT?
Table of Contents
- What is a neural network?
- Types of neural networks
- What are neural networks used for?
- Tasks of neural networks
- Applications of neural networks
- How a neural network works
- The main difficulty in working with neural networks
- Risks of training neural networks
- Advantages and disadvantages of neural networks
- Let’s sum it up
What is a neural network?
Types of neural networks
The classification of neural networks is based on the tasks they work with:● Multilayer neural networks, or perceptrons, process numerical data;
● convolutional neural networks work with images;
● Recurrent neural networks collect and process information that changes over time;
● generative neural networks create content – texts, images.
The full range of neural networks can be seen in the diagram from The Asimov Institute.
What are neural networks used for?
The essence of neural networks is to simulate the problem-solving process inherent to humans. To determine the gender of a person depicted in a photograph, a neural network will use the same principles that underlie human vision. The use of neural networks relies on accumulated experience in the form of data and is suitable for solving problems with which humanity is already familiar. For example, neural networks can help plan a flight within the solar system, while planning a flight beyond it is better to rely on physical theory.
Tasks of neural networks
The use of neural network functions allows us to solve the following types of problems:● Classification. For example, it is necessary to determine whether a person fits into a population category that is entitled to benefits.
● Prediction. For example, to predict the price of a company’s shares.
● Recognition. For example, when you need to determine whether a person in a photograph is a man or a woman.
● Unsupervised problem solving. For example, audience selection for targeted advertising.
Applications of neural networks
Neural networks can be used to solve problems in any field, but there are some subtleties. Neural networks perform well only when the problem has already been solved by other methods, and there is a wealth of relevant data. A new problem is an area of knowledge that a neural network is unlikely to be able to approach. If context is important in addition to data, it is better to solve the problem without the help of neural networks. For example, a logistics company needs to build the fastest routes. If the initial data is based on the routes built by the drivers themselves, there’s no point in using a neural network. They’ll rely on other factors when making their decisions.
If the use of neural networks is appropriate, then not just one neural network, but several can be used to solve the main problem. In this case, a large task is broken down into many smaller ones.
For example, to teach a neural network to control a self-driving car, it’s necessary to simulate the behavior of a human driver, who must recognize road signs and markings, respond to traffic lights, predict the behavior of other drivers, and notice people on the road. A separate neural network is used in the self-driving car to solve each of these tasks.
How a neural network works
The entire process can be divided into six stages, each of which is managed by data scientists.1. Statement of the problem
This is where work on building a neural network begins.
2. Collection of initial data
A neural network needs information to learn how to find a solution. The data must be high-quality, because the network is a bit like a child: set a bad example, and it will follow it; say a bad word, and it will repeat it.
3. Data analysis
This is necessary to find out if there are any hidden dependencies or incorrect data.
4. Training the neural networkNeural networks are shown a subset of the data to understand the relationships between them, and their performance is periodically monitored. Typically, several neural networks are trained, the highest-quality one is selected, and the network continues to work with it.
5. Neural network monitoring
Data scientists monitor how well a model performs on real data. As soon as it starts to perform poorly, it is retrained by showing it several new data examples until it improves.
To detect when a neural network starts making mistakes, the human-in-the-loop method is used. This involves a human solving the same problem using the same data, and then a data scientist compares the results. If the problem is solved incorrectly, the neural network is retrained.
6. Further training of the neural network
Continuous learning is the foundation of any neural network. The process of testing and retraining continues in a cycle until the neural network loses its usefulness.
Neural networks don’t necessarily need to be trained from scratch—they can simply be refined to the required parameters. This is called transfer learning. For example, a pre-trained neural network can detect whether a person is in a photograph. The next step is to distinguish whether the person is wearing a seat belt or talking on the phone while driving.
The main difficulty in working with neural networks
The process of selecting the correct data is currently only partially automated. To build a neural network, a data scientist manually selects some of the data.This is because databases always contain anomalous values, also known as outliers or outliers. Some of these are removed automatically, while decisions on the rest must be made by humans.
For example, a bank wants to analyze which categories of clients repay their mortgages and which don’t. Let’s say the database has a column for “number of children per client.” A value of “100” in this column is clearly an outlier and can be removed. However, a value of “10” or even “20” may be anomalous, but still real. It’s important to keep it in the database.
Large structured datasets may contain errors, so neural network decisions cannot be fully relied upon.
Risks of training neural networks
It’s important for specialists working with neural networks to avoid overfitting them. When a neural network overfits to the data, it increases the risk of missing other important decisions.For example, the task is to teach a neural network to detect spam. A retrained neural network will detect emails of the same type with 100% accuracy if they contain the words “millionaire” and “inheritance.” But if a spammer replaces one of the input words, “millionaire,” with “billionaire,” the neural network might consider such an email normal.
Advantages and disadvantages of neural networks
Advantages
The use of neural networks can significantly facilitate human work because they:● actively learn and can find optimal solutions instead of a person;
● work well in a “human-neural network” connection, increase the viewing angle for decision-making, and protect against serious errors.
Disadvantages
Despite their advantages, neural networks are not perfect.● The result of their work depends on the choice of initial data for training.
● They take up a lot of space on the server: the more complex the task that the neural network solves, the larger its volume.
● A person does not fully understand how the neural network works and what data from the provided volume it uses to make a decision.
● They do not guarantee the correct solution to the problem, since they depend on the data that the person selected for them.
Let’s sum it up
- Neural networks can replace or complement human work in cases where decisions need to be made based on previous experience.
- To launch a neural network, you need initial data, but you don’t have to start from scratch. You can take a pre-trained neural network and fine-tune its knowledge to the required parameters.
- Neural networks can be used in any field. The key is to give them tasks that humans have already solved and train them using high-quality data.
- Neural networks can solve problems in place of humans or alongside them. Using neural networks reduces the likelihood of errors, but does not eliminate them.
