mozzicone Cosa sono le reti neurali? - Unite.AI
Seguici sui social
Corso di perfezionamento sull'intelligenza artificiale:

AI 101

Cosa sono le reti neurali?

mm
aggiornato on

Cosa sono le reti neurali artificiali (ANN)?

Molti dei più grandi progressi nell'IA lo sono guidato da 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, applicandoli a dati invisibili per classificare/riconoscere i dati. In questo modo la macchina “impara”. Questa è una breve panoramica sulle reti neurali, ma diamo un'occhiata più da vicino alle reti neurali per capire meglio cosa sono e come funzionano.

Spiegazione del Perceptron multistrato

Prima di esaminare reti neurali più complesse, ci prenderemo un momento per esaminare una versione semplice di una ANN, un percettrone multistrato (MLP).

Immagina una catena di montaggio in una fabbrica. In questa catena di montaggio, un lavoratore riceve un articolo, vi 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 della linea non dà gli ultimi ritocchi all'articolo e lo mette su un nastro che lo porterà fuori dalla fabbrica. In questa analogia, ci sono più "strati" nella catena di montaggio e i prodotti si spostano tra gli strati mentre si spostano da lavoratore a lavoratore. La catena 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. Il livello di input è il punto in cui i dati vengono inseriti nell'MLP e nel livello nascosto un certo numero di "lavoratori" gestisce i dati prima di passarli al livello di output che fornisce il prodotto al mondo esterno. Nel caso di un MLP, questi lavoratori sono chiamati "neuroni" (o talvolta nodi) e quando gestiscono i dati li manipolano attraverso una serie di funzioni matematiche.

All'interno della rete ci sono strutture che connettono nodo a nodo chiamate “pesi”. I pesi sono un'ipotesi su come i punti dati sono correlati mentre si spostano attraverso la rete. Per dirla in un altro modo, i pesi riflettono il livello di influenza che un neurone ha su un altro neurone. I pesi passano attraverso una "funzione di attivazione" mentre lasciano il nodo corrente, che è un tipo di funzione matematica che trasforma i dati. Trasformano i dati lineari in rappresentazioni non lineari, che consentono alla rete di analizzare modelli complessi.

L'analogia con il cervello umano implicata dalla "rete neurale artificiale" deriva dal fatto che i neuroni che compongono il cervello umano sono uniti insieme in modo simile a come sono collegati i nodi in una RNA.

Sebbene i percettroni multistrato esistano dagli anni '1940, c'erano una serie di limitazioni che impedivano loro di essere particolarmente utili. Tuttavia, nel corso degli ultimi due decenni, una tecnica chiamata "retropropagazione” che ha permesso alle reti di regolare il peso dei neuroni e quindi di apprendere in modo molto più efficace. La backpropagation modifica i pesi nella rete neurale, consentendo alla rete di catturare meglio i modelli effettivi all'interno dei dati.

Deep Neural Networks

Le reti neurali profonde prendono la forma base dell'MLP e la ingrandiscono aggiungendo più livelli nascosti al centro del modello. Quindi, invece di esserci un livello di input, un livello nascosto e un livello di output, ci sono molti livelli nascosti nel mezzo e gli output di un livello nascosto diventano gli input per il successivo livello nascosto fino a quando i dati non sono arrivati ​​fino in fondo attraverso la rete ed è stato restituito.

I molteplici strati nascosti di una rete neurale profonda sono in grado di interpretare schemi più complessi rispetto al tradizionale percettrone multistrato. Diversi livelli della rete neurale profonda apprendono i modelli di diverse parti dei dati. Ad esempio, se i dati di input sono costituiti da immagini, la prima porzione della rete potrebbe interpretare la luminosità o l'oscurità dei pixel, mentre gli strati successivi individuano forme e bordi che possono essere utilizzati per riconoscere gli oggetti nell'immagine.

Diversi tipi di reti neurali

Esistono vari tipi di reti neurali e ognuno dei vari tipi di rete neurale ha i propri vantaggi e svantaggi (e quindi i propri casi d'uso). Il tipo di rete neurale profonda descritto sopra è il tipo più comune di rete neurale ed è spesso indicato come rete neurale feedforward.

Una variante delle reti neurali è la rete neurale ricorrente (RNN). Nel caso delle reti neurali ricorrenti, i meccanismi di looping vengono utilizzati per conservare le informazioni provenienti da precedenti stati di analisi, il che significa che possono interpretare i dati laddove l'ordine è importante. Gli 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ò acquisire informazioni sia dalle parti successive della sequenza che da quelle precedenti. Poiché la RNN bidirezionale tiene conto di più informazioni, è in grado di trarre meglio i modelli corretti dai dati.

Una rete neurale convoluzionale è un tipo speciale di rete neurale in grado di 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 individuare i modelli. Una CNN è strutturata in modo che vengano prima gli strati convoluzionali che estraggono i pixel dall'immagine, e poi arrivino gli strati feed-forward densamente connessi, quelli che impareranno effettivamente a riconoscere gli oggetti, dopo questi.

Blogger e programmatore con specialità in machine Learning ed Deep Learning temi. Daniel spera di aiutare gli altri a usare il potere dell'intelligenza artificiale per il bene sociale.