Today we frequently hear talk about applications of artificial neural networks to the problems associated with artificial intelligence and machine learning. Let’s examine briefly, and simply what they are and how these technologies can actually help us to solve problems of an engineering nature.
Artificial Neural Networks
An artificial neural network is a mathematic and Adaptive Model which simulates the functioning of biological neural networks within a computer system. This model is represented as an oriented graph with nodes (artificial neurons) and arcs (synaptic weights) and, in general, is schematized by three levels (or macrocategories):
- Input level: receives and processes the input signals, adapting them to the network neuron requirements;
- Hidden level: executes the elaboration process and can be also structured with multiple columns/levels of neurons;
- Output level: collects the results of the elaboration of the hidden level and transfers them to the requests of potential successive levels.
To develop its role, the system must be “trained”, that means that the system must “learn”, through the use of empirical data, how to behave when it is used in the resolution of some problem.
There are different types of learning, applicable according to the cases of interest and/or data available:
- Supervised: sample data in input and the “corresponding” sample data in output are provided, in this way the system can understand the connection between these two data sets and extrapolate a general rule that can be reused to solve problems of the same type;
- Unsupervised: the system receives in input only data without any indication of the desired result. The system, independently, must identify any clusters of data and clarify hidden patterns and models using, generally, topological and/or probabilistic methods.
- For reinforcement: by interacting with the surrounding environment (from where input data will be acquired), the system must try to achieve a goal that allows it to receive a “reward” – in the event of a goal in target with expectations – and a “punishment” in the reverse case.
- Semi-Supervised: the system receives both input sets with the corresponding outputs (as in the supervised learning) and input sets without the corresponding outputs (as in the unsupervised learning). The aim is always identifying rules, functions and useful models for problem-solving.
Application of artificial neural networks in the AI field
As anticipated in the beginning, artificial neural networks are often used in the field of artificial intelligence to deal with and try to solve certain categories of problems. Despite their demonstrated usefulness, we cannot say that these networks are actually “intelligent” (in the sense of the word): intelligence, as we know it, lies essentially in the programmer who has analyzed the problem to be solved and has written some code, designed an algorithm or implemented an application dedicated to this task.
At some level of abstraction, we can consider an artificial neural network as a black box able to produce reliable and trustworthy results by a series of input data without having a thorough explanation about why and the way in which data was obtained. We have to keep in mind that the quality and precision of the output data will be strongly linked to the quality of the input data.
Clarifying these brief but fundamental concepts, we can state that a neural network finds a productive field of application in all those problems where a classification of data is required, where one wants to identify models and diagrams within a large amount of data, and where one wants to carry out predictions and even improve the results obtained by other methods.
From here, it is easy to deduce that the application areas of an artificial neural network can include many of the issues closely related to artificial intelligence such as control of vehicles and processes, game simulators, features and pattern recognition (radar, object detection, image recognition, face detection, etc.), text or audio recognition, medical diagnosis, financial applications, data mining and many more.
In conclusion, we can add that artificial neural networks can be seen as a very robust statistical system that, starting from a “known” (or almost) context, having a large amount of data of good quality and a high computing power (and here it would help us the concept of Big Data thinking about the innovative platforms and high efficiently cloud services such as AWS of Amazon, Microsoft Azure, Google GCP and similar) that properly trained, are able to draw useful conclusions for “new” or not yet explored situations.