# Qu’est-ce que la mémoire à long et court terme (LSTM), et comment aide-t-elle les réseaux de neurones à se souvenir?

Date: 2020-08-31 · Author: Robert Scales · https://guidetoartificialintelligence.com/fr/apprendre/qu-est-ce-que-la-lstm/

**Answer:** La mémoire à long et court terme (LSTM) est une architecture de réseau de neurones récurrent, publiée par Sepp Hochreiter et Jürgen Schmidhuber dans la revue Neural Computation en novembre 1997, qui permet à un réseau de retenir de l’information sur des centaines ou des milliers d’étapes. Chaque cellule de mémoire LSTM conserve une valeur stockée qui ne change que lorsque des « portes » apprises le permettent, ce qui règle le problème de l’erreur qui s’évanouit, qui empêchait les réseaux récurrents antérieurs d’apprendre des régularités à longue portée.

Lisez la phrase « Le chat que les enfants des voisins ont nourri tout l’été a finalement été adopté. » Pour savoir qui a été adopté, vous devez retenir « le chat » sur une douzaine de mots. Les gens le font sans effort. Pour les réseaux de neurones, retenir un fait sur une longue portion d’entrée a été, pendant des années, l’un des problèmes les plus difficiles du domaine.

La mémoire à long et court terme, ou LSTM (*long short-term memory*), a été la solution qui a fonctionné. Sepp Hochreiter, alors à la Technische Universität München, et Jürgen Schmidhuber, au laboratoire suisse d’IA IDSIA à Lugano, l’ont décrite dans un long article de *Neural Computation*, volume 9, numéro 8, daté du 15 novembre 1997. La revue l’avait reçu en août 1995. Une première version avait paru sous forme de rapport technique en 1995 et à la conférence NIPS en 1996.

## Le problème : des souvenirs qui s’effacent

Un réseau de neurones récurrent (RNN) lit une séquence un élément à la fois, comme les mots d’une phrase ou les échantillons sonores d’un discours, et transmet un résumé courant de chaque étape à la suivante. En principe, ce résumé peut transporter de l’information aussi loin que nécessaire.

En pratique, l’entraînement échouait. Les réseaux apprennent par rétropropagation : ils comparent leur sortie avec la bonne réponse et renvoient l’erreur vers l’arrière pour ajuster leurs poids. Dans un réseau récurrent, l’erreur doit remonter à travers chaque pas de temps. À chaque pas, elle est multipliée de nouveau; elle tend donc soit à exploser, soit à fondre vers zéro. Hochreiter avait analysé ce phénomène dans son mémoire de diplôme de 1991, dirigé par Schmidhuber. Quand l’erreur s’évanouit, le réseau ne peut tout simplement pas apprendre qu’une chose vue 100 pas plus tôt compte maintenant.

## Comment fonctionne la LSTM

La réponse de Hochreiter et Schmidhuber a été une unité qui, par conception, transmet son erreur vers l’arrière sans qu’elle diminue ni n’augmente. Ils l’ont appelée le **carrousel d’erreur constante** (*constant error carousel*) : une unité simple reliée à elle-même avec un poids fixe de un, de sorte que ce qu’elle stocke reste en place d’un pas à l’autre.

Un carrousel seul serait inutile, parce que chaque nouvelle entrée le perturberait. Ils l’ont donc enveloppé dans une **cellule de mémoire** dotée de deux portes. Une porte est une petite unité dont la sortie, entre 0 et 1, multiplie un signal, comme une valve :

- La **porte d’entrée** décide quand une nouvelle information peut être écrite dans la cellule.
- La **porte de sortie** décide quand le contenu de la cellule peut influencer le reste du réseau.

Le réseau apprend quand ouvrir et fermer chaque porte, tout comme il apprend ses autres poids. Voici un petit exemple détaillé d’une seule cellule, dans une tâche où le réseau doit retenir le premier symbole d’une longue séquence :

| Pas | Entrée | Porte d’entrée | Valeur stockée | Porte de sortie |
|---|---|---|---|---|
| 1 | « X » (le symbole clé) | ouverte | X | fermée |
| 2 à 999 | bruit aléatoire | fermée | X | fermée |
| 1 000 | « ? » (moment de répondre) | fermée | X | ouverte : réponse « X » |

> **À essayer :** écrivez une liste de 30 lettres au hasard, mais mettez la première en majuscule. Demandez à un ami de lire la liste à voix haute, puis de vous dire la première lettre. Demandez-lui ensuite de la relire en tenant une pièce de monnaie qu’il ne peut déposer que pour la lettre qui vaut la peine d’être gardée. La pièce joue le rôle de la porte d’entrée : elle décide de ce qui est stocké.

## Ce que l’article a montré

L’article comparait la LSTM aux principales méthodes récurrentes alors en usage, dont la rétropropagation dans le temps, l’apprentissage récurrent en temps réel et les réseaux d’Elman, sur une série de tâches artificielles : apprendre une grammaire difficile, retenir des symboles à travers de longs intervalles de bruit, additionner ou multiplier deux nombres marqués quelque part dans une longue séquence, et classer des séquences selon l’ordre de symboles très éloignés les uns des autres. La LSTM a appris à franchir des intervalles de plus de 1 000 pas de temps, a résolu des tâches qu’aucune méthode récurrente antérieure n’avait résolues et a appris beaucoup plus vite. Les auteurs prévoyaient de l’essayer ensuite sur des données réelles : séries chronologiques, musique et parole.

## Ce qui a suivi

L’architecture a continué d’évoluer. En 1999, Felix Gers, Schmidhuber et Fred Cummins ont ajouté une troisième porte, la **porte d’oubli**, qui permet à une cellule d’effacer sa mémoire quand celle-ci n’est plus utile. La plupart des LSTM utilisées aujourd’hui l’incluent.

Puis sont venus les résultats. En 2009, un système à base de LSTM dirigé par Alex Graves a remporté un concours international de reconnaissance de l’écriture cursive, la première fois qu’un réseau récurrent gagnait un tel concours. En 2013, une équipe formée de Graves, d’Abdel-rahman Mohamed et de Geoffrey Hinton a intégré des LSTM dans un système qui a établi un record sur un banc d’essai classique de reconnaissance de la parole appelé TIMIT. Les LSTM sont devenues un outil standard pour la reconnaissance de la parole, la traduction automatique, la prévision de séries chronologiques et la commande de robots.

## Pourquoi les Transformers remplacent-ils les LSTM dans les modèles de langage?

Une LSTM lit un mot après l’autre, et chaque pas dépend du précédent. Il est donc difficile de répartir l’entraînement sur de nombreux processeurs à la fois, et elle doit quand même comprimer dans ses cellules, au fil de la lecture, tout ce qui vaut la peine d’être retenu.

Le Transformer, présenté par des chercheurs de Google en 2017, abandonne la lecture pas à pas. Son mécanisme d’attention permet à chaque mot de regarder directement tous les autres mots d’un passage en même temps. Cela convient au matériel moderne, conçu pour faire de nombreux calculs en parallèle, et cela rend les liens à longue portée aussi faciles que les liens courts. Les grands modèles de langage comme BERT et GPT-3 reposent sur des Transformers.

Les LSTM n’ont pas disparu pour autant. Elles restent tout indiquées pour les données en flux continu, comme les relevés de capteurs ou l’audio en direct, où l’information arrive de toute façon un pas à la fois. Et l’idée centrale de la LSTM, utiliser des portes apprises pour contrôler ce qui circule dans un réseau, se retrouve dans de nombreuses architectures plus récentes.

## Sources

- Long Short-Term Memory: https://doi.org/10.1162/neco.1997.9.8.1735
- Long short-term memory: https://en.wikipedia.org/w/index.php?title=Long_short-term_memory&oldid=975377898
