IA 101
Che cosa sono le Reti Neurali?

Che cosa sono le Reti Neurali Artificiali (ANN)?
Molti dei più grandi progressi nell’intelligenza artificiale sono guidati dalle reti neurali artificiali. Le Reti Neurali Artificiali (ANN) sono la connessione di funzioni matematiche unite insieme in un formato ispirato alle reti neurali trovate nel cervello umano. Queste ANN sono in grado di estrarre modelli complessi dai dati, applicando questi modelli a dati non visti per classificare/riconoscere i dati. In questo modo, la macchina “impara”. Questo è un rapido riassunto sulle reti neurali, ma analizziamo più da vicino le reti neurali per capire meglio cosa sono e come funzionano.
Perceptron a Multi-strati Spiegato
Prima di esaminare reti neurali più complesse, prendiamo un momento per esaminare una versione semplice di una ANN, un Perceptron a Multi-strati (MLP).

Immagina una linea di montaggio in una fabbrica. Su questa linea di montaggio, un lavoratore riceve un articolo, apporta alcune modifiche e poi lo passa al lavoratore successivo nella linea, che fa lo stesso. Questo processo continua fino a quando l’ultimo lavoratore nella linea aggiunge i tocchi finali all’articolo e lo mette su una cintura che lo porterà fuori dalla fabbrica. In questa analogia, ci sono molti “strati” nella linea di montaggio e i prodotti si spostano tra gli strati mentre si spostano da un lavoratore all’altro. La linea di montaggio ha anche un punto di ingresso e un punto di uscita.
Un Perceptron a Multi-strati può essere pensato come una linea di produzione molto semplice, composta da tre strati in totale: uno strato di input, uno strato nascosto e uno strato di output. Lo strato di input è dove i dati vengono alimentati nel MLP e nello strato nascosto un certo numero di “lavoratori” gestisce i dati prima di passarlo allo strato di output, che fornisce il prodotto al mondo esterno. Nell’istanza di un MLP, questi lavoratori sono chiamati “neuroni” (o a volte nodi) e quando gestiscono i dati, li manipolano attraverso una serie di funzioni matematiche.
All’interno della rete, ci sono strutture che collegano un nodo all’altro chiamate “pesi“. I pesi sono un’ipotesi su come i punti dati sono correlati mentre si muovono nella rete. In altre parole, i pesi riflettono il livello di influenza che un neurone ha su un altro neurone. I pesi passano attraverso una “funzione di attivazione” mentre escono dal nodo corrente, che è un tipo di funzione matematica che trasforma i dati. Trasformano dati lineari in rappresentazioni non lineari, il che consente alla rete di analizzare modelli complessi.
L’analogia con il cervello umano implicata da “rete neurale artificiale” deriva dal fatto che i neuroni che compongono il cervello umano sono uniti insieme in modo simile a come i nodi in una ANN sono collegati.
Mentre i percettroni a multi-strati esistono dal 1940, c’erano diverse limitazioni che li hanno impediti di essere particolarmente utili. Tuttavia, nel corso degli ultimi due decenni, una tecnica chiamata “backpropagation” è stata creata che ha consentito alle reti di regolare i pesi dei neuroni e quindi imparare molto più efficacemente. La backpropagation cambia i pesi nella rete neurale, consentendo alla rete di catturare meglio i modelli reali all’interno dei dati.
Reti Neurali Profonde
Le reti neurali profonde prendono la forma di base del MLP e la rendono più grande aggiungendo più strati nascosti nel mezzo del modello. Quindi, invece di avere uno strato di input, uno strato nascosto e uno strato di output, ci sono molti strati nascosti nel mezzo e gli output di uno strato nascosto diventano gli input per lo strato nascosto successivo fino a quando i dati non hanno attraversato l’intera rete e sono stati restituiti.
Gli strati nascosti multipli di una rete neurale profonda sono in grado di interpretare modelli più complessi rispetto al percettron a multi-strati tradizionale. Diversi strati della rete neurale profonda apprendono i modelli di diverse parti dei dati. Ad esempio, se i dati di input consistono in immagini, la prima parte della rete potrebbe interpretare la luminosità o l’oscurità dei pixel, mentre gli strati successivi individueranno forme e bordi che possono essere utilizzati per riconoscere oggetti nell’immagine.
Tipi Diversi di Reti Neurali

Ci sono vari tipi di reti neurali e ogni tipo di rete neurale ha i suoi vantaggi e svantaggi (e quindi i suoi casi d’uso). Il tipo di rete neurale profonda descritto sopra è il tipo più comune di rete neurale e viene spesso chiamata rete neurale feedforward.
Una variante delle reti neurali è la Rete Neurale Ricorrente (RNN). Nel caso delle Reti Neurali Ricorrenti, vengono utilizzati meccanismi di loop per mantenere le informazioni dagli stati precedenti dell’analisi, il che significa che possono interpretare dati in cui l’ordine è importante. Le RNN sono utili nel derivare modelli da dati sequenziali/cronologici. Le Reti Neurali Ricorrenti possono essere unidirezionali o bidirezionali. Nel caso di una rete neurale bidirezionale, la rete può prendere informazioni da più tardi nella sequenza, così come da porzioni precedenti della sequenza. Poiché la RNN bidirezionale prende in considerazione più informazioni, è in grado di trarre i modelli giusti dai dati.
Una Rete Neurale Convoluzionale è un tipo speciale di rete neurale che è adatta a interpretare i modelli trovati all’interno delle immagini. Una CNN opera passando un filtro sui pixel dell’immagine e ottenendo una rappresentazione numerica dei pixel all’interno dell’immagine, che può quindi analizzare per modelli. Una CNN è strutturata in modo che gli strati convoluzionali che estraggono i pixel dall’immagine vengano per primi e poi vengono gli strati feed-forward densamente connessi che imparano effettivamente a riconoscere gli oggetti, vengono dopo questo.












