Una rete neurale ri­cor­ren­te è una rete in grado di sfruttare con­nes­sio­ni di feedback e creare una sorta di memoria. Questa tec­no­lo­gia è uti­liz­za­ta in par­ti­co­la­re per gestire dati se­quen­zia­li e richiede un lavoro di ad­de­stra­men­to piuttosto notevole.

Che cos’è una rete neurale ri­cor­ren­te?

Una rete neurale ri­cor­ren­te (RNN) è una rete neurale ar­ti­fi­cia­le che può creare con­nes­sio­ni di feedback e quindi sfruttare le in­for­ma­zio­ni di output come nuovi input. Questo metodo è par­ti­co­lar­men­te utile nei casi in cui occorre elaborare dati se­quen­zia­li nel campo del deep learning e dell’IA. In inglese, queste reti sono dette Recurrent Neural Network (RNN). Grazie alla capacità di acquisire in­for­ma­zio­ni dagli input pre­ce­den­ti, la rete neurale ri­cor­ren­te sviluppa una specie di memoria ed è in grado di mo­di­fi­ca­re l’output a seconda degli elementi pre­ce­den­ti all’interno di una sequenza. Esistono diversi tipi di con­nes­sio­ni di feedback. Ne deriva che queste reti offrono maggiori pos­si­bi­li­tà, ma anche l’ad­de­stra­men­to si fa più im­pe­gna­ti­vo.

I software IA di IONOS
Scopri la potenza del­l'in­tel­li­gen­za ar­ti­fi­cia­le
  • Siti web in tempo record
  • Soluzioni IA per il tuo business
  • Risparmio di tempo e risultati ec­cel­len­ti

Come fun­zio­na­no le reti neurali ri­cor­ren­ti?

A prima vista, le reti neurali ri­cor­ren­ti hanno una struttura simile alle altre reti neurali. Sono co­sti­tui­te da almeno tre strati diversi (in inglese, “layer”), che a loro volta con­ten­go­no neuroni (nodi) collegati tra loro tramite i bordi. Si parla quindi di strato di ingresso (“input layer”), strato di uscita (“output layer”) e di un numero qualsiasi di strati intermedi, noti anche come “hidden layer”.

  • Strato di ingresso: questo strato ac­qui­si­sce le in­for­ma­zio­ni dal mondo esterno, che vengono poi ponderate e trasmesse allo strato im­me­dia­ta­men­te superiore.
  • Strato in­ter­me­dio: si tratta dei co­sid­det­ti hidden layer. Qui le in­for­ma­zio­ni vengono trasmesse e nuo­va­men­te ponderate. Questa ope­ra­zio­ne avviene a ogni strato ulteriore e in modo in­vi­si­bi­le, motivo per cui si parla anche di strati nascosti.
  • Strato di uscita: le in­for­ma­zio­ni ana­liz­za­te o mo­di­fi­ca­te vengono quindi emesse dall’output layer. Questo output è il risultato finale oppure funge da input per altri neuroni.
Immagine: Infografica sulle reti neurali ricorrenti
In una rete neurale ri­cor­ren­te vengono create delle con­nes­sio­ni di feedback.

La par­ti­co­la­ri­tà di una rete neurale ri­cor­ren­te è la sua capacità di stabilire da sola la direzione del flusso di in­for­ma­zio­ni. L’output di un neurone non deve ne­ces­sa­ria­men­te at­tra­ver­sa­re una con­nes­sio­ne di feedback verso lo strato im­me­dia­ta­men­te superiore, ma può anche essere uti­liz­za­to come input dallo stesso neurone, da un neurone nello stesso strato o da un neurone nello strato pre­ce­den­te. Il parametro di pon­de­ra­zio­ne è lo stesso in ogni strato. Esistono quattro diverse categorie di con­nes­sio­ni di feedback:

  • Feedback diretto: in una con­nes­sio­ne di feedback diretto il neurone utilizza il proprio output come input.
  • Feedback indiretto: in una con­nes­sio­ne di feedback indiretto l’uscita di un neurone viene collegata a uno strato pre­ce­den­te.
  • Feedback laterale: in una con­nes­sio­ne di feedback laterale l’uscita di un neurone è collegata all’input di un altro neurone nello stesso strato.
  • Feedback completo: in una con­nes­sio­ne di feedback completo tutte le uscite dei neuroni sono collegate ad altri neuroni.

Come si addestra una rete neurale ri­cor­ren­te?

L’ad­de­stra­men­to delle reti neurali ri­cor­ren­ti è molto più com­pli­ca­to in quanto spesso non è possibile sfruttare le in­for­ma­zio­ni risalenti a molto tempo prima oppure è possibile farlo in maniera in­suf­fi­cien­te. Per risolvere questo problema, si lavora spesso con funzioni come la memoria a breve-lungo termine (LSTM). In questo modo le in­for­ma­zio­ni vengono me­mo­riz­za­te più a lungo. Con il giusto ad­de­stra­men­to, una rete neurale ri­cor­ren­te è in grado di di­stin­gue­re le in­for­ma­zio­ni im­por­tan­ti da quelle non im­por­tan­ti e può quindi rein­tro­dur­le nella rete.

Quali ar­chi­tet­tu­re esistono?

Sono diverse le ar­chi­tet­tu­re che dif­fe­ren­zia­no le reti neurali ri­cor­ren­ti l’una dall’altra. Le tipologie più comuni sono le seguenti:

  • One to many: in questo caso, la rete neurale ri­cor­ren­te riceve un input e re­sti­tui­sce diversi output. Un esempio pratico di questa tipologia è la ge­ne­ra­zio­ne della di­da­sca­lia di un’immagine partendo da una singola parola chiave.
  • Many to one: in questo caso, più ingressi sono assegnati a una singola uscita. Questo principio è uti­liz­za­to, ad esempio, nell’analisi del sentiment per prevedere il riscontro sulla base di referenze.
  • Many to many: questa ar­chi­tet­tu­ra utilizza più input per ottenere anche più output. La loro quantità non deve essere ne­ces­sa­ria­men­te la stessa. Questa tecnica è uti­liz­za­ta, ad esempio, per la tra­du­zio­ne da una lingua all’altra.

Quali sono i prin­ci­pa­li campi di ap­pli­ca­zio­ne di una rete neurale ri­cor­ren­te?

Le reti neurali ri­cor­ren­ti sono par­ti­co­lar­men­te utili quando il contesto è im­por­tan­te per l’ela­bo­ra­zio­ne delle in­for­ma­zio­ni. Questo è par­ti­co­lar­men­te vero nella gestione di dati se­quen­zia­li che si pre­sen­ta­no in una sequenza specifica o in ordine cro­no­lo­gi­co. In questi casi, le RNN possono prevedere meglio un risultato grazie al contesto degli input pre­ce­den­ti. Questa tec­no­lo­gia è quindi indicata, ad esempio, per le seguenti ap­pli­ca­zio­ni:

  • Pre­vi­sio­ni e dati di serie temporali: le RNN sono uti­liz­za­te spesso per prevedere eventi o valori sulla base di dati storici, come nelle analisi dei mercati fi­nan­zia­ri, nelle pre­vi­sio­ni me­teo­ro­lo­gi­che o del consumo ener­ge­ti­co.
  • Ela­bo­ra­zio­ne del lin­guag­gio naturale: le reti neurali ri­cor­ren­ti si di­mo­stra­no par­ti­co­lar­men­te utili nel campo del co­sid­det­to Natural Language Pro­ces­sing (NLP), ossia l’ela­bo­ra­zio­ne del lin­guag­gio naturale. Sono uti­liz­za­te, ad esempio, per attività quali la tra­du­zio­ne au­to­ma­ti­ca, la mo­del­la­zio­ne lin­gui­sti­ca, il ri­co­no­sci­men­to del testo e la ge­ne­ra­zio­ne au­to­ma­ti­ca di testi.
  • Ri­co­no­sci­men­to vocale: le RNN svolgono un ruolo fon­da­men­ta­le nella tec­no­lo­gia di ri­co­no­sci­men­to vocale, dove sono uti­liz­za­te per con­ver­ti­re il lin­guag­gio parlato in testo scritto. Ad esempio, queste ap­pli­ca­zio­ni sono sfruttate dagli as­si­sten­ti digitali e dai servizi di tra­scri­zio­ne au­to­ma­ti­ca.
  • Analisi di immagini e video: sebbene le reti neurali ri­cor­ren­ti siano usate prin­ci­pal­men­te per l’ela­bo­ra­zio­ne di dati se­quen­zia­li, possono essere uti­liz­za­te anche nell’analisi e so­prat­tut­to nell’ela­bo­ra­zio­ne di immagini e video, ad esempio per la creazione di filmati rie­pi­lo­ga­ti­vi o per il ri­le­va­men­to di attività nei video di sor­ve­glian­za.

Quali sono le dif­fe­ren­ze rispetto a una rete neurale feed-forward (FNN)?

Una rete neurale ri­cor­ren­te è un ulteriore sviluppo della rete neurale feed-forward (FNN), che invece non utilizza nessuna con­nes­sio­ne di feedback. In una FNN le in­for­ma­zio­ni sono trasmesse in una sola direzione, ossia verso lo strato im­me­dia­ta­men­te superiore. Pertanto, in questo caso non è possibile reim­met­te­re un’in­for­ma­zio­ne all’indietro nella rete. La rete neurale feed-forward è in grado di ri­co­no­sce­re schemi, ma non può uti­liz­za­re in­for­ma­zio­ni che sono già state elaborate.

Vai al menu prin­ci­pa­le