logo

Qu’est-ce que LSTM – Mémoire Long Court Terme ?

LSTM excelle dans les tâches de prédiction de séquence, capturant les dépendances à long terme. Idéal pour les séries chronologiques, la traduction automatique et la reconnaissance vocale en raison de la dépendance à l'ordre. L'article fournit une introduction approfondie à LSTM, couvrant le modèle LSTM, l'architecture, les principes de fonctionnement et le rôle critique qu'ils jouent dans diverses applications.

Qu’est-ce que le LSTM ?

Mémoire à long terme est une version améliorée du réseau neuronal récurrent conçu par Hochreiter & Schmidhuber.



Une traditionnelle RNN a un seul état caché qui est transmis dans le temps, ce qui peut rendre difficile pour le réseau l'apprentissage des dépendances à long terme. Modèle LSTM résoudre ce problème en introduisant une cellule mémoire, qui est un conteneur pouvant contenir des informations pendant une période prolongée.

Les architectures LSTM sont capables d'apprendre les dépendances à long terme des données séquentielles, ce qui les rend bien adaptées à des tâches telles que la traduction de la langue , la reconnaissance vocale et prévision de séries chronologiques .

Les LSTM peuvent également être utilisés en combinaison avec d'autres architectures de réseaux neuronaux, telles que Réseaux de neurones convolutifs (CNN) pour l’analyse d’images et de vidéos.



Architecture LSTM

Les architectures LSTM impliquent la cellule mémoire qui est contrôlée par trois portes : la porte d'entrée, la porte d'oubli et la porte de sortie. Ces portes décident des informations à ajouter, à supprimer et à sortir de la cellule mémoire.

  • La porte d'entrée contrôle quelles informations sont ajoutées à la cellule mémoire.
  • La porte d'oubli contrôle quelles informations sont supprimées de la cellule mémoire.
  • La porte de sortie contrôle quelles informations sont sorties de la cellule mémoire.

Cela permet aux réseaux LSTM de conserver ou de supprimer de manière sélective les informations lorsqu'elles circulent à travers le réseau, ce qui leur permet d'apprendre les dépendances à long terme.

Le LSTM maintient un état caché, qui fait office de mémoire à court terme du réseau. L'état caché est mis à jour en fonction de l'entrée, de l'état caché précédent et de l'état actuel de la cellule mémoire.



Modèle LSTM bidirectionnel

LSTM bidirectionnel (Bi LSTM/BLSTM) est un réseau neuronal récurrent (RNN) capable de traiter des données séquentielles dans les sens avant et arrière. Cela permet à Bi LSTM d'apprendre des dépendances à plus longue portée dans les données séquentielles que les LSTM traditionnels, qui ne peuvent traiter les données séquentielles que dans une seule direction.

  • Les Bi LSTM sont constitués de deux réseaux LSTM, l'un qui traite la séquence d'entrée dans le sens aller et l'autre qui traite la séquence d'entrée dans le sens arrière.
  • Les sorties des deux réseaux LSTM sont ensuite combinées pour produire le résultat final.

Les modèles LSTM, y compris les Bi LSTM, ont démontré des performances de pointe dans diverses tâches telles que la traduction automatique, la reconnaissance vocale et la synthèse de texte.

Les réseaux des architectures LSTM peuvent être empilés pour créer des architectures approfondies, permettant l'apprentissage de modèles et de hiérarchies encore plus complexes dans les données séquentielles. Chaque couche LSTM dans une configuration empilée capture différents niveaux d'abstraction et de dépendances temporelles au sein des données d'entrée.

LSTM fonctionne

L'architecture LSTM a une structure en chaîne qui contient quatre réseaux de neurones et différents blocs de mémoire appelés cellules .

Les informations sont conservées par les cellules et les manipulations de mémoire sont effectuées par les cellules. portes. Il y a trois portes –

Oublier la porte

Les informations qui ne sont plus utiles dans l'état de la cellule sont supprimées avec la porte d'oubli. Deux entrées X t (saisie à un moment donné) et h t-1 (sortie de cellule précédente) sont transmis à la porte et multipliés par des matrices de poids, suivis de l'ajout d'un biais. Le résultat passe par une fonction d’activation qui donne une sortie binaire. Si pour un état de cellule particulier la sortie est 0, l'information est oubliée et pour la sortie 1, l'information est conservée pour une utilisation future. L’équation de la porte oubliée est :

f_t = σ(W_f · [h_{t-1}, x_t] + b_f)
où:

  • W_f représente la matrice de poids associée à la porte d'oubli.
  • [h_t-1, x_t] désigne la concaténation de l'entrée actuelle et de l'état caché précédent.
  • b_f est le biais avec la porte oubliée.
  • σ est la fonction d'activation sigmoïde.

Architecture du LSTM

Porte d'entrée

L'ajout d'informations utiles à l'état de la cellule est effectué par la porte d'entrée. Tout d'abord, les informations sont régulées à l'aide de la fonction sigmoïde et filtrent les valeurs à retenir de la même manière que la porte d'oubli à l'aide d'entrées. h t-1 et X t .. Ensuite, un vecteur est créé en utilisant de poisson fonction qui donne une sortie de -1 à +1, qui contient toutes les valeurs possibles de ht-1et X t . Enfin, les valeurs du vecteur et les valeurs régulées sont multipliées pour obtenir l'information utile. L'équation de la porte d'entrée est la suivante :

i_t = σ(W_i · [h_{t-1}, x_t] + b_i)

Ĉ_t = tanh(W_c · [h_{t-1}, x_t] + b_c)

On multiplie l'état précédent par ft, sans tenir compte des informations que nous avions précédemment choisi d'ignorer. Ensuite, nous incluons moit∗Ct. Cela représente les valeurs candidates mises à jour, ajustées en fonction du montant que nous avons choisi pour mettre à jour chaque valeur d'état.

C_t = f_t ⊙ C_{t-1} + i_t ⊙ Ĉ_t

  • ⊙ désigne une multiplication par éléments
  • tanh est la fonction d'activation de tanh

Porte de sortie

La tâche d'extraction des informations utiles de l'état actuel de la cellule à présenter en sortie est effectuée par la porte de sortie. Tout d’abord, un vecteur est généré en appliquant la fonction tanh sur la cellule. Ensuite, les informations sont régulées à l'aide de la fonction sigmoïde et filtrées par les valeurs à retenir à l'aide des entrées h_{t-1} etx_t. Enfin, les valeurs du vecteur et les valeurs régulées sont multipliées pour être envoyées en sortie et en entrée à la cellule suivante. L'équation de la porte de sortie est la suivante :

o_t = σ(W_o · [h_{t-1}, x_t] + b_o)

Applications du LSTM

Certaines des applications célèbres de LSTM incluent :

  • Modélisation du langage : Les LSTM ont été utilisés pour des tâches de traitement du langage naturel telles que la modélisation du langage, la traduction automatique et la synthèse de texte. Ils peuvent être entraînés à générer des phrases cohérentes et grammaticalement correctes en apprenant les dépendances entre les mots d'une phrase.
  • Reconnaissance de la parole: Les LSTM ont été utilisés pour des tâches de reconnaissance vocale telles que la transcription de la parole en texte et la reconnaissance de commandes vocales. Ils peuvent être formés à reconnaître des modèles de discours et à les associer au texte correspondant.
  • Prévisions de séries chronologiques : Les LSTM ont été utilisés pour des tâches de prévision de séries chronologiques telles que la prévision des cours boursiers, de la météo et de la consommation d'énergie. Ils peuvent apprendre des modèles dans les données de séries chronologiques et les utiliser pour faire des prédictions sur des événements futurs.
  • Détection d'une anomalie: Les LSTM ont été utilisés pour des tâches de détection d'anomalies telles que la détection de fraude et d'intrusion sur le réseau. Ils peuvent être formés pour identifier les modèles de données qui s’écartent de la norme et les signaler comme anomalies potentielles.
  • Systèmes de recommandation : Les LSTM ont été utilisés pour des tâches de recommandation telles que la recommandation de films, de musique et de livres. Ils peuvent découvrir des modèles de comportement des utilisateurs et les utiliser pour formuler des recommandations personnalisées.
  • Analyse vidéo : Les LSTM ont été utilisés pour des tâches d'analyse vidéo telles que la détection d'objets, la reconnaissance d'activités et la classification des actions. Ils peuvent être utilisés en combinaison avec d'autres architectures de réseaux neuronaux, telles que les réseaux neuronaux convolutifs (CNN), pour analyser les données vidéo et extraire des informations utiles.

LTSM et RNN

Fonctionnalité

LSTM (mémoire longue à court terme)

RNN (réseau neuronal récurrent)

Mémoire

Possède une unité de mémoire spéciale qui lui permet d'apprendre les dépendances à long terme dans les données séquentielles

N'a pas d'unité de mémoire

Directionnalité

Peut être formé pour traiter des données séquentielles dans les sens avant et arrière

Ne peut être formé que pour traiter des données séquentielles dans une seule direction

Entraînement

Plus difficile à entraîner que RNN en raison de la complexité des portes et de l'unité de mémoire

Plus facile à former que LSTM

Apprentissage de la dépendance à long terme

Oui

Limité

Capacité à apprendre des données séquentielles

Oui

Oui

Applications

Traduction automatique, reconnaissance vocale, résumé de texte, traitement du langage naturel, prévision de séries chronologiques

Traitement du langage naturel, traduction automatique, reconnaissance vocale, traitement d'images, traitement vidéo

Problème avec les dépendances à long terme dans RNN

Les réseaux de neurones récurrents (RNN) sont conçus pour gérer des données séquentielles en maintenant un état caché qui capture les informations des pas de temps précédents. Cependant, ils sont souvent confrontés à des difficultés dans l’apprentissage des dépendances à long terme, où les informations provenant de pas de temps distants deviennent cruciales pour faire des prédictions précises. Ce problème est connu sous le nom de problème de gradient de disparition ou de gradient explosif.

conversion de chaîne en int java

Quelques problèmes courants sont répertoriés ci-dessous :

Dégradé de disparition

Lors de la rétropropagation dans le temps, les gradients peuvent devenir extrêmement faibles à mesure qu'ils sont multipliés à travers la chaîne de connexions récurrentes, ce qui entraîne des difficultés pour le modèle à apprendre des dépendances séparées par de nombreux pas de temps.

Dégradé explosif

À l’inverse, les gradients peuvent exploser lors de la rétropropagation, entraînant une instabilité numérique et rendant difficile la convergence du modèle.

Différentes variantes sur la mémoire à long terme

Au fil du temps, plusieurs variantes et améliorations de l'architecture LSTM originale ont été proposées.

Vanille LSTM

Il s'agit de l'architecture LSTM originale proposée par Hochreiter et Schmidhuber. Il comprend des cellules de mémoire avec des portes d'entrée, d'oubli et de sortie pour contrôler le flux d'informations. L'idée clé est de permettre au réseau de mettre à jour et d'oublier de manière sélective les informations de la cellule mémoire.

Connexions des judas

Dans le judas LSTM, les portes sont autorisées à examiner l'état de la cellule en plus de l'état caché. Cela permet aux portes de prendre en compte l’état de la cellule lors de la prise de décisions, fournissant ainsi davantage d’informations contextuelles.

Unité récurrente fermée (GRU)

GRU est une alternative au LSTM, conçue pour être plus simple et plus efficace sur le plan informatique. Il combine les portes d'entrée et d'oubli en une seule porte de mise à jour et fusionne l'état de la cellule et l'état caché. Bien que les GRU aient moins de paramètres que les LSTM, il a été démontré qu’ils fonctionnent de manière similaire dans la pratique.

Conclusion

La mémoire à long terme (LSTM) est un type puissant de réseau neuronal récurrent (RNN) bien adapté à la gestion de données séquentielles avec des dépendances à long terme. Il résout le problème du gradient de disparition, une limitation courante des RNN, en introduisant un mécanisme de contrôle qui contrôle le flux d'informations à travers le réseau. Cela permet aux LSTM d'apprendre et de conserver des informations du passé, ce qui les rend efficaces pour des tâches telles que la traduction automatique, la reconnaissance vocale et le traitement du langage naturel.

Vérifiez également :

Foire aux questions (FAQ)

1. Qu’est-ce que le LSTM et pourquoi est-il utilisé ?

LSTM, ou Long Short-Term Memory, est un type de réseau neuronal récurrent conçu pour les tâches séquentielles, excellant dans la capture et l'utilisation des dépendances à long terme dans les données.

2. Comment fonctionne le LSTM ?

Les LSTM utilisent un état de cellule pour stocker des informations sur les entrées passées. Cet état de cellule est mis à jour à chaque étape du réseau et le réseau l'utilise pour faire des prédictions sur l'entrée actuelle. L'état de la cellule est mis à jour à l'aide d'une série de portes qui contrôlent la quantité d'informations autorisées à entrer et sortir de la cellule.

3. Quels sont les exemples LSTM ?

Les exemples de LSTM (Long Short-Term Memory) incluent la reconnaissance vocale, la traduction automatique et la prédiction de séries chronologiques, tirant parti de sa capacité à capturer les dépendances à long terme dans les données séquentielles.

4. Quelle est la différence entre LSTM et Gated Recurrent Unit (GRU) ?

LSTM dispose d'un état de cellule et d'un mécanisme de déclenchement qui contrôle le flux d'informations, tandis que GRU dispose d'un mécanisme de mise à jour à porte unique plus simple. LSTM est plus puissant mais plus lent à entraîner, tandis que GRU est plus simple et plus rapide.

5. Quelle est la différence entre LSTM et RNN ?

  • RNN avoir une structure récurrente simple avec un flux d’informations unidirectionnel.
  • LSTM avoir un mécanisme de contrôle qui contrôle le flux d’informations et un état de cellule pour la mémoire à long terme.
  • LSTM surpassent généralement les RNN dans les tâches qui nécessitent l’apprentissage de dépendances à long terme.

6. LSTM est-il plus rapide que CNN ?

Non, les LSTM et les CNN ont des objectifs différents. Les LSTM sont destinés aux données séquentielles ; Les CNN sont destinés aux données spatiales.

7. LSTM est-il plus rapide que GRU ?

En général, oui. Les GRU ont moins de paramètres, ce qui peut conduire à une formation plus rapide par rapport aux LSTM.