Reti neurali
Le reti neurali ( Neural Network o NN ) sono un modello matematico-computazionale composto da neuroni artificiali interconnessi tra loro. Sono ispirate al funzionamento dei neuroni biologici.
Una rete neurale è suddivisa in più livelli o strati
- Input layer. E' il primo strato della rete, quello dei neuroni d'ingresso dei dati.
- Hidden layer. Sono gli strati intermedi della rete, tra il primo e l'ultimo strato. Detti anche strati o livelli nascosti. Può esserci uno strato nascosto ( single neural network ), due o più strati strati nascosti ( deep learning neural network )
- Output layer. E' l'ultimo strato della rete, quello dei neuroni con i dati in uscita.
Ogni strato della rete elabora i dati che riceve in ingresso e li fornisce allo strato successivo.
Il numero degli strati intermedi è molto importante perché influisce sulle potenzialità di calcolo e sulla complessità computazionale della rete.
Le reti neurali hanno diverse applicazioni pratiche, tra le quali anche l'apprendimento automatico e il machine learning. In particolar modo sono usate nel deep learning.
Uno dei primi algoritmi di machine learning basati sulle reti neurali è il Perceptron.
Esistono diverse tipologie di reti neurali: le reti ricorrenti RNN ( LSM, LSTM, GRU ), le reti MLP, le reti CNN, DCNN, gli autoencoders Seq2seq, GANS (Generative Adversarial Networks).
Tipi di reti
Una prima classificazione è tra reti CNN e RNN.
- CNN. Rete neurale convoluzionale (Convolutional neural network o CNN). Sono reti neurali artificiali feed-forward ossia non ricorrenti, senza cicli al loro interno. Sono usate nella object recognition.
- RNN. Rete neurale ricorrente (recurrent neural network, RNN). E' una classe di rete neurale artificiale in cui le uscite di uno strato sono usati in ingresso anche negli strati precedenti, creando così dei feed-back e dei cicli.