mozzicone Cosa sono gli RNN e gli LSTM nel Deep Learning? - Unite.AI
Seguici sui social
Corso di perfezionamento sull'intelligenza artificiale:

AI 101

Cosa sono gli RNN e gli LSTM nel Deep Learning?

mm
aggiornato on

Molti dei progressi più impressionanti nell’elaborazione del linguaggio naturale e nei chatbot basati sull’intelligenza artificiale sono guidati da Reti neurali ricorrenti (RNN) e reti di memoria a breve termine (LSTM). RNN e LSTM sono speciali architetture di reti neurali in grado di elaborare dati sequenziali, dati in cui l'ordine cronologico è importante. Gli LSTM lo sono versioni essenzialmente migliorate di RNN, in grado di interpretare sequenze di dati più lunghe. Diamo un'occhiata a come sono strutturati RNN e LSTMS e come consentono la creazione di sofisticati sistemi di elaborazione del linguaggio naturale.

Cosa sono le reti neurali feed-forward?

Quindi, prima di parlare di come funzionano la memoria a lungo termine (LSTM) e le reti neurali convoluzionali (CNN), dovremmo discutere il formato di una rete neurale in generale.

Una rete neurale ha lo scopo di esaminare i dati e apprendere modelli rilevanti, in modo che questi modelli possano essere applicati ad altri dati e i nuovi dati possano essere classificati. Le reti neurali sono divise in tre sezioni: un livello di input, un livello nascosto (o più livelli nascosti) e un livello di output.

Il livello di input è ciò che porta i dati nella rete neurale, mentre i livelli nascosti sono ciò che apprende i modelli nei dati. I livelli nascosti nel set di dati sono collegati ai livelli di input e output da "pesi" e "distorsioni" che sono solo ipotesi di come i punti dati sono correlati tra loro. Questi pesi vengono regolati durante l'allenamento. Durante il training della rete, le ipotesi del modello sui dati di training (i valori di output) vengono confrontate con le effettive etichette di training. Durante il corso dell'addestramento, la rete dovrebbe (si spera) diventare più precisa nel prevedere le relazioni tra i punti dati, in modo che possa classificare accuratamente i nuovi punti dati. Le reti neurali profonde sono reti che hanno più livelli negli strati intermedi/più nascosti. Più strati nascosti e più neuroni/nodi ha il modello, meglio il modello può riconoscere i modelli nei dati.

Reti neurali regolari, feed-forward, come quelle che ho descritto sopra sono spesso chiamate "reti neurali dense". Queste reti neurali dense sono combinate con diverse architetture di rete specializzate nell'interpretazione di diversi tipi di dati.

Cosa sono le RNN (reti neurali ricorrenti)?

Le reti neurali ricorrenti prendono il principio generale delle reti neurali feed-forward e consentono loro di gestire dati sequenziali dando al modello una memoria interna. La parte "ricorrente" del nome RNN deriva dal fatto che gli ingressi e le uscite si ripetono in loop. Una volta prodotto l'output della rete, l'output viene copiato e restituito alla rete come input. Quando si prende una decisione, non vengono analizzati solo gli input e gli output attuali, ma viene considerato anche l'input precedente. Per dirla in altro modo, se l'input iniziale per la rete è X e l'output è H, sia H che X1 (l'input successivo nella sequenza di dati) vengono immessi nella rete per il successivo ciclo di apprendimento. In questo modo, il contesto dei dati (gli input precedenti) viene preservato mentre la rete si allena.

Il risultato di questa architettura è che gli RNN sono in grado di gestire dati sequenziali. Tuttavia, gli RNN soffrono di un paio di problemi. Gli RNN soffrono di problemi di gradiente evanescente e gradiente esplosivo.

La lunghezza delle sequenze che un RNN può interpretare è piuttosto limitata, soprattutto rispetto agli LSTM.

Cosa sono le LSTM (Long Short-Term Memory Networks)?

Le reti Long Short-Term Memory possono essere considerate estensioni delle RNN, applicando ancora una volta il concetto di preservare il contesto degli input. Tuttavia, gli LSTM sono stati modificati in diversi modi importanti che consentono loro di interpretare i dati passati con metodi superiori. Le modifiche apportate agli LSTM affrontano il problema del gradiente di fuga e consentono agli LSTM di considerare sequenze di input molto più lunghe.

I modelli LSTM sono costituiti da tre diversi componenti, o cancelli. C'e 'un porta di ingresso, una porta di uscita e una porta dimenticata. Proprio come gli RNN, gli LSTM prendono in considerazione gli input dal timestep precedente quando modificano la memoria del modello e i pesi di input. La porta di input prende decisioni su quali valori sono importanti e dovrebbero essere lasciati passare attraverso il modello. Una funzione sigmoide viene utilizzata nella porta di ingresso, che determina quali valori trasmettere attraverso la rete ricorrente. Zero abbassa il valore, mentre 1 lo conserva. Anche in questo caso viene utilizzata una funzione TanH, che decide quanto sono importanti per il modello i valori di input, che vanno da -1 a 1.

Dopo aver tenuto conto degli input correnti e dello stato della memoria, il gate di output decide quali valori spingere al passo temporale successivo. Nella porta di uscita, i valori vengono analizzati e viene assegnata un'importanza compresa tra -1 e 1. Questo regola i dati prima che vengano portati al successivo calcolo del passo temporale. Infine, il compito del forget gate è eliminare le informazioni che il modello ritiene non necessarie per prendere una decisione sulla natura dei valori di input. Il forget gate utilizza una funzione sigmoid sui valori, emettendo numeri compresi tra 0 (dimentica questo) e 1 (mantieni questo).

Una rete neurale LSTM è composta sia da strati LSTM speciali in grado di interpretare dati di parole sequenziali sia da quelli densamente connessi come quelli descritti sopra. Una volta che i dati si spostano attraverso i livelli LSTM, procedono nei livelli densamente connessi.

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.