Rete neurale
Che cos'è una rete neurale?
Una rete neurale è un modello di calcolo con una struttura a strati/nodi che assomiglia alla struttura reticolare dei neuroni nel cervello umano. È caratterizzata da elementi di elaborazione interconnessi chiamati neuroni, che lavorano insieme per produrre una funzione di uscita. Le reti neurali sono costituite da strati/nodi di ingresso e di uscita e, nella maggior parte dei casi, hanno anche uno strato nascosto costituito da unità che trasformano l'input in qualcosa che il nodo di uscita possa utilizzare.
Tipologie di architetture di rete neurali
Le reti neurali, dette anche reti neurali artificiali, usano diversi algoritmi di deep learning. Ecco alcune delle tipologie più comuni di reti neurali:
Rete neurale feed-forward
È il tipo di architettura più semplice e diffuso, nella quale le informazioni viaggiano in una sola direzione, dall'ingresso all'uscita. È costituita da uno strato di ingresso, uno strato di uscita e, in mezzo, eventuali strati nascosti. Se gli strati nascosti sono più di uno, la rete viene detta rete neurale profonda, o percettrone multistrato.
Rete neurale ricorrente (RNN)
Questo tipo di rete è più complesso; si tratta di una rete neurale artificiale comunemente utilizzata per il riconoscimento vocale e l'elaborazione del linguaggio naturale (NLP). Le RNN eseguono lo stesso compito per ogni elemento di una sequenza, generando un output che dipende dai calcoli precedenti.
Rete neurale convoluzionale (ConvNet o CNN)
Una CNN ha numerosi strati attraverso i quali i dati vengono filtrati in categorie. Le CNN si sono dimostrate efficaci in campi quali il riconoscimento di immagini, l'elaborazione di testi e la classificazione. Una rete neurale convoluzionale è costituita da uno strato di ingresso, uno strato di uscita e uno strato nascosto che comprende molteplici livelli convoluzionali, livelli di pooling, livelli pienamente connessi e livelli di normalizzazione.
Esiste almeno una decina di altre tipologie di reti neurali, come le reti a connessione simmetrica: macchine di Boltzmann, reti di Hopfield e molte altre. La scelta della rete giusta dipende dai dati con cui deve essere addestrata, oltre che dall'applicazione specifica a cui è destinata.