Fondamenti di IA

Che cosa sono le Reti Neurali?

mm
Aggiungi Unite.AI alle tue fonti preferite su Google

Che cosa sono le Reti Neurali Artificiali (ANN)?

Molte delle più grandi scoperte nell’ambito dell’intelligenza artificiale sono guidate dalle reti neurali artificiali. Le Reti Neurali Artificiali (ANN) sono la connessione di funzioni matematiche unite insieme in un formato ispirato alle reti neurali presenti 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”. Questa è una breve panoramica sulle reti neurali, ma analizziamo meglio le reti neurali per capire cosa sono e come funzionano.

Perceptron Multistrato Spiegato

Prima di esaminare reti neurali più complesse, prendiamo un momento per esaminare una versione semplice di una ANN, un Perceptron Multistrato (MLP).

Immagina una linea di montaggio in una fabbrica. In questa linea di montaggio, un lavoratore riceve un oggetto, 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’oggetto e lo mette su un nastro trasportatore 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 Multistrato 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 inseriti nel MLP e nello strato nascosto alcuni “lavoratori” gestiscono i dati prima di passarli allo strato di output, che fornisce il prodotto al mondo esterno. Nel caso 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 dati siano correlati mentre si spostano 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 in un modo simile a come i nodi in una ANN sono collegati.

Le reti neurali multistrato esistono dal 1940, ma c’erano alcune limitazioni che le hanno rese meno 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 in modo molto più efficace. 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 i dati in uscita di uno strato nascosto diventano i dati in ingresso per lo strato nascosto successivo, fino a quando i dati non hanno attraversato tutta la rete e sono stati restituiti.

I molti strati nascosti di una rete neurale profonda sono in grado di interpretare modelli più complessi rispetto al tradizionale perceptron multistrato. Diversi strati della rete neurale profonda imparano i modelli di diverse parti dei dati. Ad esempio, se i dati in ingresso sono immagini, la prima parte della rete potrebbe interpretare la luminosità o l’oscurità dei pixel, mentre gli strati successivi riconosceranno forme e bordi che possono essere utilizzati per riconoscere oggetti nell’immagine.

Tipi Diversi di Reti Neurali

Esistono 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 per 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 punti successivi della sequenza, oltre che da punti 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 è particolarmente adatta a interpretare i modelli presenti 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ò poi 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 feedforward densamente connessi, quelli che impareranno effettivamente a riconoscere gli oggetti, che vengono dopo questo.

Blogger e programmatore con specializzazioni in Machine Learning e Deep Learning argomenti. Daniel spera di aiutare gli altri a utilizzare il potere dell'AI per il bene sociale.