Una rete neurale è un sistema di calcolo che si ispira al comportamento del cervello umano. Ciò consente ai programmi informatici di riconoscere modelli e risolvere problemi comuni nell’ambito dell’Intelligenza Artificiale, del machine learning e del deep learning.
Le reti neurali – o, per meglio dire, le reti neurali artificiali – si basano su un inseme di nodi interconnessi in una struttura stratificata, che ricordano vagamente i neuroni nel cervello umano. Ogni connessione trasmette un segnale agli altri nodi. Ogni neurone artificiale riceve ed elabora i segnali che ricevere e può inviarne agli altri nodi collegati. Le connessioni tra i vari nodi sono dette, in inglese, edge.
Si crea così un sistema adattivo, che in informatica è usato per imparare dagli errori commessi e migliorare continuamente. In questo modo è possibile assolvere a compiti complessi con sempre maggiore precisione.
Esistono svariati tipi di reti neurali:
- Il percettrone è il “modello base” di rete neurale. Fu proposto nel 1958 dallo psicologo americano Frank Rosenblatt in diversi studi, confluiti nella pubblicazione del volume Principles of neurodynamics (Spartan Books, Washington DC 1962);
- Le reti neurali feedforward o percettroni multilvello (o MLP, multi-layer perceptron). I dati di queste reti sono la base per la computer vision, del Natural Language Processing e di altre reti neurali;
- Le reti neurali convolutive (convolutional neural network) sono di solito utilizzate per il riconoscimento delle immagini, il riconoscimento dei modelli e/o la computer vision. Ricorrono ai principi dall’algebra lineare e, in particolare, alla moltiplicazione della matrice;
- Le reti neurali ricorrenti (recurrent neural network) sono contraddistinte dai loro loop di feedback. In altre parole, si tratta di algoritmi che utilizzano serie di dati temporali per fare delle previsioni su risultati futuri.