Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Long Short-Term Memory (LSTM)

Esplora le reti Long Short-Term Memory (LSTM). Scopri come le LSTM risolvono il problema del gradiente svanente nelle RNN per le serie temporali, il NLP e le attività di analisi video.

La memoria a lungo termine (LSTM) è un tipo specializzato di architettura di rete neurale ricorrente (RNN) in grado di apprendere la dipendenza dall'ordine nei problemi di previsione delle sequenze. A differenza delle reti neurali feedforward standard , le LSTM dispongono di connessioni di feedback che consentono loro di elaborare non solo singoli punti dati (come le immagini), ma intere sequenze di dati (come il parlato o i video). Questa capacità le rende particolarmente adatte per compiti in cui il contesto degli input precedenti è fondamentale per la comprensione dei dati attuali, superando i limiti della "memoria a breve termine" delle RNN tradizionali.

Il problema delle RNN standard

Per comprendere l'innovazione delle LSTM, è utile esaminare le sfide affrontate dalle reti neurali ricorrenti di base . Sebbene le RNN siano progettate per gestire informazioni sequenziali, hanno difficoltà con sequenze di dati lunghe a causa del problema del gradiente svanente. Man mano che la rete si retropropaga nel tempo, i gradienti, ovvero i valori utilizzati per aggiornare i pesi della rete, possono diventare esponenzialmente più piccoli, impedendo di fatto alla rete di apprendere le connessioni tra eventi distanti. Ciò significa che una RNN standard potrebbe ricordare una parola della frase precedente ma dimenticare il contesto stabilito tre paragrafi prima. Le LSTM sono state progettate espressamente per risolvere questo problema introducendo una struttura interna più complessa in grado di mantenere una finestra di contesto per periodi di tempo molto più lunghi.

Come funzionano le LSTM

Il concetto fondamentale alla base di un LSTM è lo stato della cella, spesso descritto come un nastro trasportatore che attraversa l'intera catena della rete. Questo stato consente alle informazioni di fluire lungo di esso senza modifiche, preservando le dipendenze a lungo termine. La rete decide cosa memorizzare, aggiornare o scartare da questo stato della cella utilizzando strutture chiamate gate.

  • Forget Gate: questo meccanismo decide quali informazioni non sono più rilevanti e devono essere rimosse dallo stato della cella. Ad esempio, se un modello linguistico incontra un nuovo soggetto, potrebbe "dimenticare" il genere del soggetto precedente.
  • Input Gate: questo gate determina quali nuove informazioni sono abbastanza significative da essere memorizzate nello stato della cella.
  • Gate di output: infine, questo gate controlla quali parti dello stato interno devono essere trasmesse allo stato nascosto successivo e utilizzate per la previsione immediata.

Regolando questo flusso di informazioni, le LSTM possono colmare ritardi temporali di oltre 1.000 passaggi, superando di gran lunga le RNN convenzionali in compiti che richiedono l'analisi di serie temporali.

Applicazioni nel mondo reale

Negli ultimi dieci anni, le LSTM hanno contribuito a molte delle principali innovazioni nel campo del deep learning. Ecco due esempi significativi della loro applicazione:

  • Modellazione sequenza-sequenza nella traduzione: gli LSTM sono fondamentali per i sistemi di traduzione automatica. In questa architettura, un LSTM (il codificatore) elabora una frase di input in una lingua (ad esempio English) e la comprime in un vettore di contesto. Un secondo LSTM (il decodificatore) utilizza quindi questo vettore per generare la traduzione in un'altra lingua (ad esempio, il francese). Questa capacità di gestire sequenze di input e output di lunghezze diverse è fondamentale per l' elaborazione del linguaggio naturale (NLP).
  • Analisi videoe riconoscimento delle attività: mentre le reti neurali convoluzionali (CNN) come ResNet-50 eccellono nell'identificazione di oggetti in immagini statiche, mancano di un senso del tempo. Combinando le CNN con le LSTM, i sistemi di IA possono eseguire il riconoscimento delle azioni nei flussi video . La CNN estrae le caratteristiche da ciascun fotogramma e la LSTM analizza la sequenza di queste caratteristiche per determinare se una persona sta camminando, correndo o cadendo.

Integrazione delle LSTM con la visione artificiale

Nella visione artificiale moderna, gli LSTM sono spesso utilizzati insieme a potenti estrattori di caratteristiche. Ad esempio, è possibile utilizzare un YOLO per detect in singoli fotogrammi e un LSTM per track traiettorie o prevedere il movimento futuro.

Ecco un esempio concettuale che utilizza torch per definire un semplice LSTM in grado di elaborare una sequenza di vettori di caratteristiche estratti da un flusso video:

import torch
import torch.nn as nn

# Define an LSTM model for processing sequential video features
# Input size: 512 (e.g., features from a CNN), Hidden size: 128
lstm_model = nn.LSTM(input_size=512, hidden_size=128, num_layers=2, batch_first=True)

# Simulate a batch of video sequences: 8 videos, 10 frames each, 512 features per frame
video_features = torch.randn(8, 10, 512)

# Pass the sequence through the LSTM
output, (hidden_state, cell_state) = lstm_model(video_features)

print(f"Output shape: {output.shape}")  # Shape: [8, 10, 128]
print("LSTM successfully processed the temporal sequence.")

Concetti correlati e distinzioni

È utile distinguere le LSTM dalle altre architetture di elaborazione delle sequenze:

  • LSTM vs. GRU: La Gated Recurrent Unit (GRU) è una variante semplificata della LSTM. Le GRU combinano i gate di dimenticanza e di input in un unico "gate di aggiornamento" e uniscono lo stato della cella e lo stato nascosto. Ciò rende le GRU più efficienti dal punto di vista computazionale e più veloci da addestrare, anche se le LSTM possono ancora superarle su set di dati più grandi e complessi.
  • LSTM vs. Transformers: L' architettura Transformer, che si basa su meccanismi di auto-attenzione piuttosto che sulla ricorrenza, ha ampiamente sostituito le LSTM nei compiti di NLP come quelli eseguiti da GPT-4. I Transformer possono elaborare intere sequenze in parallelo anziché in sequenza, consentendo un addestramento molto più rapido su enormi set di dati. Tuttavia, gli LSTM rimangono rilevanti in scenari con dati limitati o vincoli specifici di serie temporali in cui il sovraccarico dei meccanismi di attenzione non è necessario.

Evoluzione e futuro

Mentre il meccanismo di attenzione ha assunto un ruolo centrale nell'IA generativa, le LSTM continuano a essere una scelta solida per applicazioni più leggere, in particolare negli ambienti di IA edge in cui le risorse computazionali sono limitate. I ricercatori continuano a esplorare architetture ibride che combinano l'efficienza di memoria delle LSTM con il potere rappresentativo dei moderni sistemi di rilevamento degli oggetti.

Per chi desidera gestire set di dati per modelli di sequenze di addestramento o attività di visione complesse, Ultralytics offre strumenti completi per l'annotazione e la gestione dei set di dati. Inoltre, comprendere il funzionamento delle LSTM fornisce una solida base per comprendere i modelli temporali più avanzati utilizzati nei veicoli autonomi e nella robotica.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora