Long Short-Term Memory (LSTM)
Explore les réseaux Long Short-Term Memory (LSTM). Découvre comment les LSTMs résolvent le problème de la disparition du gradient dans les RNNs pour les séries temporelles, le NLP et l’analyse vidéo.
La mémoire à court et long terme (LSTM) est un type spécialisé d’architecture de réseau de neurones récurrents (RNN) capable d’apprendre les dépendances d’ordre dans les problèmes de prédiction de séquences. Contrairement aux réseaux de neurones classiques à propagation avant, les LSTM disposent de connexions de rétroaction qui leur permettent de traiter non seulement des points de données isolés (comme des images), mais aussi des séquences entières de données (comme la parole ou la vidéo). Cette capacité les rend particulièrement adaptés aux tâches où le contexte des entrées précédentes est essentiel pour comprendre les données actuelles, remédiant ainsi aux limites de la « mémoire à court terme » des RNN traditionnels.
Le problème des RNN standards#
Pour comprendre l’innovation des LSTM, il est utile d’examiner les difficultés rencontrées par les réseaux de neurones récurrents de base. Bien que les RNN soient conçus pour gérer des informations séquentielles, ils peinent à traiter de longues séquences de données en raison du problème du gradient évanescent. Lorsque le réseau rétropropage l’erreur dans le temps, les gradients — des valeurs utilisées pour mettre à jour les poids du réseau — peuvent devenir exponentiellement plus petits, empêchant ainsi le réseau d’apprendre les liens entre des événements éloignés. Cela signifie qu’un RNN standard peut se souvenir d’un mot de la phrase précédente, mais oublier le contexte établi trois paragraphes plus tôt. Les LSTM ont été conçus explicitement pour résoudre ce problème en introduisant une structure interne plus complexe, capable de maintenir une fenêtre de contexte sur des périodes beaucoup plus longues.
Fonctionnement des LSTM#
Le concept central d’un LSTM est l’état de cellule, souvent décrit comme un tapis roulant qui traverse toute la chaîne du réseau. Cet état permet aux informations de circuler sans modification, préservant ainsi les dépendances à long terme. Le réseau décide des informations à stocker, à mettre à jour ou à supprimer de cet état de cellule à l’aide de structures appelées portes.
- Porte d’oubli : ce mécanisme détermine quelles informations ne sont plus pertinentes et doivent être supprimées de l’état de cellule. Par exemple, si un modèle de langage rencontre un nouveau sujet, il peut « oublier » le genre du sujet précédent.
- Porte d’entrée : cette porte détermine quelles nouvelles informations sont suffisamment importantes pour être stockées dans l’état de cellule.
- Porte de sortie : enfin, cette porte contrôle quelles parties de l’état interne doivent être transmises à l’état caché suivant et utilisées pour la prédiction immédiate.
En régulant ce flux d’informations, les LSTM peuvent gérer des décalages temporels de plus de 1 000 étapes, surpassant largement les RNN conventionnels dans les tâches nécessitant une analyse des séries temporelles.
Applications concrètes#
Les LSTM ont contribué à plusieurs des avancées majeures de l’apprentissage profond au cours de la dernière décennie. Voici deux exemples marquants de leur utilisation :
- Modélisation séquence-à-séquence pour la traduction : les LSTM sont fondamentaux pour les systèmes de traduction automatique. Dans cette architecture, un LSTM (l’encodeur) traite une phrase d’entrée dans une langue (par exemple, l’anglais) et la compresse en un vecteur de contexte. Un second LSTM (le décodeur) utilise ensuite ce vecteur pour générer la traduction dans une autre langue (par exemple, le français). Cette capacité à gérer des séquences d’entrée et de sortie de longueurs différentes est essentielle au traitement automatique du langage naturel (NLP).
- Analyse vidéo et reconnaissance d’activités : bien que les réseaux de neurones convolutifs (CNNs), comme ResNet-50, excellent dans l’identification d’objets dans des images statiques, ils n’ont pas la notion du temps. En combinant des CNNs avec des LSTM, les systèmes d’IA peuvent effectuer une reconnaissance d’actions dans des flux vidéo. Le CNN extrait les caractéristiques de chaque image, puis le LSTM analyse la séquence de ces caractéristiques pour déterminer si une personne marche, court ou tombe.
Intégration des LSTM à la vision par ordinateur#
Dans la vision par ordinateur moderne, les LSTM sont souvent utilisés avec de puissants extracteurs de caractéristiques. Par exemple, tu peux utiliser un modèle YOLO pour détecter des objets dans des images individuelles et un LSTM pour suivre leurs trajectoires ou prédire leurs mouvements futurs.
Voici un exemple conceptuel utilisant torch pour définir un LSTM simple capable de traiter une séquence de vecteurs de caractéristiques extraits d’un flux vidéo :
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.")Concepts et distinctions associés#
Il est utile de distinguer les LSTM des autres architectures de traitement des séquences :
- LSTM et GRU : l’unité récurrente à portes (GRU) est une variante simplifiée du LSTM. Les GRU combinent les portes d’oubli et d’entrée en une seule « porte de mise à jour » et fusionnent l’état de cellule avec l’état caché. Les GRU sont ainsi plus efficaces sur le plan computationnel et plus rapides à entraîner, même si les LSTM peuvent encore les surpasser sur des jeux de données plus volumineux et plus complexes.
- LSTM et Transformers : l’architecture Transformer, qui repose sur des mécanismes d’auto-attention plutôt que sur la récurrence, a largement supplanté les LSTM dans les tâches de NLP comme celles réalisées par GPT-4. Les Transformers peuvent traiter des séquences entières en parallèle plutôt que de manière séquentielle, ce qui permet un entraînement beaucoup plus rapide sur des jeux de données massifs. Toutefois, les LSTM restent pertinents dans les scénarios où les données sont limitées ou soumis à des contraintes spécifiques liées aux séries temporelles, et où la surcharge des mécanismes d’attention n’est pas nécessaire.
Évolution et avenir#
Bien que le mécanisme d’attention soit devenu central dans l’IA générative, les LSTM restent un choix robuste pour les applications légères, notamment dans les environnements d’IA en périphérie où les ressources de calcul sont limitées. Les chercheurs continuent d’explorer des architectures hybrides qui combinent l’efficacité mémoire des LSTM à la puissance de représentation des systèmes modernes de détection d’objets.
Pour celles et ceux qui souhaitent gérer des jeux de données destinés à l’entraînement de modèles séquentiels ou à des tâches de vision complexes, l’Ultralytics Platform propose des outils complets d’annotation et de gestion des jeux de données. En outre, comprendre le fonctionnement des LSTM fournit une base solide pour appréhender des modèles temporels plus avancés utilisés dans les véhicules autonomes et la robotique.









