Le reti neurali trovano il loro fondamenti nei lontani anni Quaranta del Novecento, quando Warren McCulloch e Walter Pitts pubblicarono un importante articolo sul funzionamento dei neuroni e crearono una semplice rete neurale per mezzo di circuiti elettrici.

Immagine promozionale cta infografica intelligenza artificiale

L’approccio originale consisteva in un sistema computazionale in grado di risolvere problemi nello stesso modo in cui agirebbe il cervello umano. Nei decenni che seguirono, i ricercatori hanno progressivamente deviato l’attenzione sull’utilizzo di reti neurali capaci di risolvere problemi specifici, allontanandosi almeno parzialmente dai principi dell’intelligenza artificiale forte che caratterizzava l’approccio biologico della prima generazione.

Nell’ambito dell’attuale ricerca sul deep learning, vengono comunemente utilizzate tre tipologie di reti neurali: feed-forward, convoluzionali e ricorrenti.

Cosa sono le reti neurali ricorrenti?

Una rete neurale ricorrente (recurrent neural network), spesso identificata con l’acronimo RNN, è una generalizzazione della rete neurale feed-forward, rispetto alla quale si differenzia grazie alla presenza di una specifica memoria interna, che le consente di elaborare in maniera ciclica le sequenze di input che vengono caricate sul sistema.

Per focalizzare al meglio questo concetto, ricorriamo alla definizione più generica di rete neurale.

Le reti neurali, ANN (artificial neural network) rappresentano un sottoinsieme del machine learning, oltre a costituire l’elemento centrale degli algoritmi di deep learning.  Non è un caso che nome e struttura delle reti neurali si ispirino dichiaratamente al cervello umano, imitando il modo in cui i neuroni biologici si scambiano tra loro i segnali.

In termini di configurazione, le reti neurali sono composte da vari livelli di nodi, comprendenti un livello di input, uno o più livelli nascosti, oltre ad un livello di output. A regolare il funzionamento della rete neurale vi è il fatto che ogni nodo (neurone artificiale) è caratterizzato da un peso ed una soglia di attivazione e si connette agli altri nodi definendo una vera e propria topologia a rete.

Le reti neurali tradizionali presentano livelli di input e output tra loro indipendenti, condizione che le rende poco efficienti quando ci si ritrova al cospetto di dati sequenziali. Rispetto a questa condizione, la rete neurale ricorrente è in grado di memorizzare i risultati degli output nella memoria interna, per rimetterli in rete sotto forma di nuovi input, tra loro correlati.

In altri termini, gli strati nascosti di una RNN fungono da memoria interna per archiviare gli output e consentire il loop da cui deriva il concetto stesso di ricorrenza.

Rispetto alle reti neurali feed-forward, le reti neurali ricorrenti presentano alcuni evidenti vantaggi.

  • – Capacità di elaborare i dati sequenziali
  • – Capacità di memorizzare e riutilizzare i risultati precedenti
  • – La dimensione del modello rimane identica, indipendentemente dall’aumento delle dimensioni di input
  • – Nell’elaborazione dei nuovi risultati, viene tenuto conto sia dei risultati correnti che dei risultati storici

Per contro, è possibile riscontrare alcune evidenti criticità, a cui i data scientist e gli specialisti dei dati devono saper ovviare, oltre ad utilizzare le reti neurali ricorrenti per gli scopi più idonei, evitando inutili forzature:

  • – Tempi di elaborazione piuttosto lenti, per via dell’elemento ricorrente
  • – Il data training è mediamente più complesso ed oneroso rispetto ai modelli basati sulle reti neurali feed-forward
  • – Non tutte le funzioni di attivazione sono compatibili per l’elaborazione di una lunga sequenza di informazioni
  • – Impossibilità di elaborare i dati futuri nel calcolo dei dati correnti

Le reti neurali ricorrenti si basano concettualmente su elementi simili, ma esistono alcune varianti funzionali, come le bidirectional recurrent neural networks (BRNNs), capaci di apprendere in maniera simultanea le due direzioni (forward e backward) del flusso di informazioni (bidirectional information flow), una condizione che abitualmente non viene riconosciuta alla RRN standard.

Nell’ambito delle reti neurali, le proiezioni forward vengono solitamente utilizzate per le analisi predittive, mentre le proiezioni backward risultano funzionali alla descrizione di uno storico o del presente. Raramente vengono utilizzate insieme, come nel caso delle reti neurali ricorrenti bidirezionali.

Occorre inoltre ricordare che oltre alle reti neurali feed-forward e alle reti neurali ricorrenti, sono molto utilizzate anche le reti neurali convolutive (CNN), note soprattutto per le applicazioni deepfake e per gli utilizzi nel restauro conservativo.

Le diverse tipologie

Le reti neurali ricorrenti vengono classificate utilizzando vari criteri. Il più noto è quello che si riferisce alla correlazione tra i dati di input e quelli di output del modello, che identifica quattro tipologie fondamentali: uno a uno, uno a molti, molti a uno e molti a molti. Vediamo in cosa consistono.

Uno a uno (One-to-one)

La tipologia di RNN più semplice nella sua topologia è costituita dalla One-to-one, che correla un singolo input ad un singolo output. Le dimensioni di input e output non variano e agisce in costanza come una rete neurale tradizionale. La RNN One-to-one è particolarmente utilizzata nell’ambito della classificazione delle immagini (image classification).

Uno a molti (One-to-many)

La RNN One-to-many costituisce una tipologia in grado di fornire molteplici output a partire da un singolo input. A livello funzionale, prende una dimensione di input fissa e fornisce una sequenza di dati di output. Le RNN One-to-many vengono utilizzate soprattutto nel contesto generativo, in particolare per quanto concerne le applicazioni musicali, oltre a venire apprezzate anche nell’ambito dell’image captioning.

Molti a uno (Many-to-one)

Le reti neurali ricorrenti di tipologia Many-to-one vengono utilizzate quando si necessita di un singolo output a partire da molteplici input, come avviene ad esempio quando ci si avvale di una sequenza di dati. Le RNN Many-to-one sono ad esempio utilizzate nell’ambito della sentiment analysis, le cui indicazioni sono preziose soprattutto nell’ambito del marketing.

Molti a molti (Many-to-many)

L’ultima tipologia di RNN basata su una classificazione input-output è costituita dalla Many-to-many, che correla più input ad una molteplicità di output. Tale tipologia di RNN è inoltre distinguibile in due sottocategorie: equal unit size e unequal unit size.

Nel caso di una RNN Many-to-many equal unit size, il numero delle unità di input e output è identico. Questa tipologia di RNN è largamente utilizzata nell’ambito della name-entity recognition.

Le RNN Many-to-many unequal unit size invece presentano valori di input e output differenti nel numero e sono impiegate nell’ambito dei servizi di traduzione automatica.

Tipologie basate sull’architettura della rete neurale

Una ulteriore suddivisione delle RNN si basa sulla loro architettura:

RNN standard

La RNN nella sua accezione più generica è composta da livelli nascosti con un’organizzazione di tipo ricorrente. È sviluppata per gestire modelli in cui l’input è rappresentato da sequenza di dati, mentre l’output può essere sia una sequenza in loop (many-to-many) che l’ultimo output di una sequenza (many-to-one), presentando nel caso un unico valore in uscita.

LSTM (Long Short Term Memory)

Rispetto alla RNN standard, gli strati nascosti sono costituiti da vere e proprie celle di memoria, dove il flusso dei dati viene gestito da unità di calcolo definite “gates”. In ogni cella sono attivabili tre tipi di gate. Il primo si occupa di resettare lo stato della cella, il secondo provvede ad aggiornare lo stato, mentre l’ultimo si occupa nello specifico di aggiornare le unità nascoste.

GRU (Gated Recurrent Unit)

Si tratta di una variante che presenta un’architettura relativamente più semplice rispetto alle LSTM, oltre ad essere più efficiente dal punto di vista computazionale. Simili alle LSTM, non presentano tuttavia celle di memoria separate, ed è proprio in questo aspetto che risiede la minor complessità del layout.

Alcuni esempi di utilizzo delle reti neurali ricorrenti

Tra i principali ambiti applicativi delle reti neurali ricorrenti ritroviamo: modelli di linguaggio, classificazione delle immagini, name entity recognition, sentiment analysis e traduzione automatica.

Modelli di linguaggio AI

I modelli linguistici rappresentano uno degli argomenti di maggiore attualità, grazie alla diffusione di tecnologie come GPT e Chat-GPT, capaci di creare un effetto dirompente sia sul piano tecnologico che per quanto concerne le implicazioni di carattere etico-normativo. Tali sistemi sfruttano tecniche di intelligenza artificiale per addestrare le macchine a comprendere e generare linguaggio sulla base degli input ricevuti.

Grazie a questa capacità, i modelli di linguaggio AI vengono utilizzati in moltissimi ambiti, come la finanza, il marketing e la finanza, per creare automaticamente contenuti e strutturare testi di varia complessità. Ad oggi è difficile prevedere l’ascesa che i modelli di linguaggio saranno capaci di generare sul mercato, ma le potenzialità tecnologiche, già evidenti in prima fase, e il forte interesse da parte degli investitori, lascia presagire un futuro molto roseo per i loro utilizzi.

Analisi predittive (fintech)

Il deep learning viene utilizzato nell’ambito delle analisi predittive complesse, come quelle relative all’ambito finanziario, dove operazioni come il monitoraggio di una enorme quantità di titoli / azioni, la selezione degli stock, l’individuazione dei trend, l’asset management, le investor relations e la gestione del rischio e del credito, costituiscono ormai l’ordine del giorno.

Le funzioni predittive delle RNN vengono impiegate con successo in questi ambiti, aiutando a supportare e automatizzare le decisioni in ambito finanziario, sia quando vengono prese dal personale umano che quando vengono demandate alle macchine.

Sentiment analysis

L’analisi del sentiment è il processo di analisi del testo utile a determinare se il tono del messaggio è positivo, negativo o neutro. Tale analisi viene solitamente effettuata sui grandi volumi di dati testuali provenienti dai canali di interazione con i clienti, come e-mail, trascrizioni di chat dell’assistenza clienti, commenti sui social media e recensioni.

Gli strumenti di sentiment analysis analizzano la scansione dei testi per determinare automaticamente l’atteggiamento dell’autore nei confronti di un argomento. Le aziende utilizzano tali informazioni per migliorare il servizio clienti e aumentare la reputazione del marchio.

Traduzione automatica

La traduzione automatica è il processo di utilizzo dell’intelligenza artificiale per tradurre simultaneamente il testo tra più lingue senza rendere necessario il coinvolgimento di un interprete umano. La traduzione automatica di più recente generazione va oltre la tradizionale traduzione parola per parola, per trasmettere il significato del testo in lingua originale nelle lingue di destinazione.

Named entity recognition

La named entity recognition (NER) è un metodo di natural language processing (NLP) che estrae informazioni dai testi. La NER si occupa infatti di rilevare e categorizzare informazioni nel testo che vengono definite entità denominate. Le entità denominate si riferiscono agli argomenti chiave di una parte del testo, come: nomi, eventi, luoghi, aziende, e prodotti, nonché temi, argomenti, tempi, valori monetari e percentuali.

La NER è utilizzata in molti campi dell’intelligenza artificiale (AI), tra cui il machine learning (ML), il deep learning e appunto le reti neurali. La NER è inoltre componente chiave dei sistemi NLP, come i chatbot, gli strumenti di sentiment analysis e i motori di ricerca. Viene utilizzato in vari settori di business, che spaziano dall’assistenza sanitaria, alla finanza, alle risorse umane (HR), all’assistenza clienti, all’analisi dei social media.

ARGOMENTI CORRELATI
Categoria: INTELLIGENZA ARTIFICIALE
colleghi che osservazioni lo schermo del pc sorridendo

Regressione lineare: cos’è, tipologie e importanza

La regressione lineare è uno degli strumenti statistici più diffusi per comprendere le relazioni tra due o più variabili. Applicabile… Leggi tutto

Colleghi che osservando dati su un foglio con un pc di fronte

Reti Neurali Convoluzionali (CNN): come funzionano e cosa sono

Le reti neurali convoluzionali (CNN) rappresentano una classe di reti neurali profonde, particolarmente potenti ed efficienti nel riconoscimento di pattern… Leggi tutto

Concept di colleghi di frontie ad un computer che studiano gli algoritmi

Apprendimento supervisionato: come funziona ed esempi pratici

Il machine learning è una tecnica ombrello che comprende al momento oltre 100 algoritmi riconosciuti dalla comunità scientifica, ognuno caratterizzato… Leggi tutto