Le reti neurali adatte ad elaborare sequenze di dati

Le reti neurali adatte ad elaborare sequenze di dati

Condividi con i tuoi amici...

Le Reti Neurali Ricorrenti (RNN) sono un tipo di rete neurale particolarmente efficace per l’elaborazione di dati sequenziali. A differenza delle reti neurali feedforward tradizionali, le RNN possiedono connessioni che formano cicli diretti, permettendo loro di mantenere uno stato interno e di elaborare sequenze di input in modo sequenziale. Questo le rende ideali per applicazioni come il riconoscimento vocale, la traduzione automatica e l’analisi delle serie temporali.

Ne abbiamo parlato nell’articolo “La sintesi vocale con le reti neurali ricorrenti”

dove h(t), x(t) e y(t) sono vettori e W sono matrici.
x(t) sono vettori di embedding (input)
h(t) sono i vettori che risultano dal calcolo indicato del livello nascosto
y(t) è il vettore di output

In un modello destinato alla generazione di testo, come per esempio la traduzione automatica, l’output y(t) potrebbe essere un vettore di embedding che rappresenta la parola prevista che segue la parola rappresentata dal vettore di embedding x(t) in input.

Per un approfondimento sui vettori di embedding leggi l’articolo
Word embedding e il modello Skip-gram

Limiti delle RNN unidirezionali

Le RNN unidirezionali elaborano una sequenza di dati in una sola direzione, di solito dalla prima all’ultima parola. Tuttavia, questa architettura presenta alcuni limiti significativi.

Spesso le RNN faticano a catturare dipendenze a lungo termine all’interno delle sequenze. Man mano che la sequenza cresce, l’influenza dei primi elementi tende a svanire, rendendo difficile per la rete mantenere informazioni rilevanti nel tempo.

In molte applicazioni, conoscere il contesto futuro può essere cruciale per comprendere il significato dell’input corrente. Le RNN unidirezionali non possono accedere a informazioni future mentre elaborano la sequenza, limitando così la loro capacità di interpretare correttamente il contesto.

RNN Bidirezionali

Le RNN bidirezionali (Bi-RNN) affrontano questi limiti elaborando la sequenza di input in entrambe le direzioni: dalla prima all’ultima parola (direzione avanti) e dall’ultima alla prima parola (direzione indietro).

Questa architettura permette alla rete di avere una visione completa del contesto sia passato che futuro, migliorando significativamente la sua capacità di catturare dipendenze a lungo termine e di comprendere meglio il contesto dell’input.

In una Bi-RNN, ci sono due reti RNN separate:

Una che processa la sequenza in avanti.
Una che processa la sequenza all’indietro.

Gli stati nascosti di entrambe le reti vengono concatenati per ogni posizione nella sequenza, creando una rappresentazione più ricca dell’input. Questo permette al modello di utilizzare informazioni dal passato e dal futuro per prendere decisioni migliori.

Sebbene le Bi-RNN migliorino significativamente le capacità delle RNN unidirezionali, esse possono ancora avere problemi nel catturare dipendenze a lungo termine in sequenze molto lunghe. Questo è dovuto alla natura dei gradienti nelle RNN, che possono svanire o esplodere durante il processo di addestramento.

Affrontare le Dipendenze a Lungo Termine: LSTM

Le Long Short-Term Memory (LSTM) sono una variante delle RNN progettata specificamente per risolvere il problema delle dipendenze a lungo termine. Le LSTM introducono una struttura di memoria più complessa che permette alla rete di mantenere e aggiornare informazioni importanti per lunghi periodi.

Le LSTM utilizzano celle di memoria e tre tipi di porte (gate) per controllare il flusso di informazioni:

Porte di input: Decidono quali nuove informazioni devono essere memorizzate.
Porte di output: Decidono quali informazioni devono essere utilizzate per l’output corrente.
Porte di forget: Decidono quali informazioni devono essere dimenticate.

Questa architettura permette alle LSTM di mantenere informazioni rilevanti per periodi di tempo molto lunghi e di evitare i problemi di gradiente delle RNN tradizionali.

In questo articolo abbiamo spiegato le reti LSTM:
L’interfaccia cervello-computer e le reti LSTM per compensare le disabilità

Bi-LSTM