Recherche de site Web

Une introduction douce aux réseaux de mémoire à long terme et à court terme par les experts


Les réseaux LSTM (Long Short-Term Memory) sont un type de réseau neuronal récurrent capable d'apprendre la dépendance à l'ordre dans les problèmes de prédiction de séquence.

Il s'agit d'un comportement requis dans des domaines problématiques complexes tels que la traduction automatique, la reconnaissance vocale, etc.

Les LSTM sont un domaine complexe de l’apprentissage profond. Il peut être difficile de comprendre ce que sont les LSTM et comment des termes tels que bidirectionnel et séquence à séquence se rapportent au domaine.

Dans cet article, vous aurez un aperçu des LSTM en utilisant les mots des chercheurs qui ont développé les méthodes et les ont appliquées à des problèmes nouveaux et importants.

Rares sont ceux qui savent mieux articuler clairement et précisément à la fois les promesses des LSTM et leur fonctionnement que les experts qui les ont développés.

Nous explorerons les questions clés dans le domaine des LSTM à l’aide de citations d’experts, et si vous êtes intéressé, vous pourrez vous plonger dans les articles originaux à partir desquels les citations ont été tirées.

Démarrez votre projet avec mon nouveau livre Long Short-Term Memory Networks With Python, comprenant des tutoriels étape par étape et le code source Python fichiers pour tous les exemples.

Commençons.

La promesse des réseaux de neurones récurrents

Les réseaux de neurones récurrents sont différents des réseaux de neurones traditionnels à action directe.

Cette différence dans l’ajout de complexité s’accompagne de la promesse de nouveaux comportements que les méthodes traditionnelles ne peuvent atteindre.

Les réseaux récurrents… ont un état interne qui peut représenter des informations contextuelles. … [ils] conservent les informations sur les entrées passées pendant une durée qui n’est pas fixée a priori, mais qui dépend plutôt de leur poids et des données d’entrée.

Un réseau récurrent dont les entrées ne sont pas fixes mais constituent plutôt une séquence d'entrée peut être utilisé pour transformer une séquence d'entrée en séquence de sortie tout en prenant en compte les informations contextuelles de manière flexible.

— Yoshua Bengio, et al., Apprendre les dépendances à long terme avec descente de gradient est difficile, 1994.

L'article définit 3 exigences de base d'un réseau neuronal récurrent :

  • Que le système soit capable de stocker des informations pour une durée arbitraire.
  • Que le système soit résistant au bruit (c'est-à-dire aux fluctuations des entrées qui sont aléatoires ou non pertinentes pour prédire une sortie correcte).
  • Que les paramètres du système puissent être entraînés (dans un délai raisonnable).

L'article décrit également la « tâche minimale » pour démontrer les réseaux de neurones récurrents.

Le contexte est essentiel.

Les réseaux de neurones récurrents doivent utiliser le contexte pour faire des prédictions, mais dans cette mesure, le contexte requis doit également être appris.

… Les réseaux de neurones récurrents contiennent des cycles qui alimentent les activations du réseau à partir d’un pas de temps précédent en tant qu’entrées dans le réseau pour influencer les prédictions au pas de temps actuel. Ces activations sont stockées dans les états internes du réseau qui peuvent en principe contenir des informations contextuelles temporelles à long terme. Ce mécanisme permet aux RNN d'exploiter une fenêtre contextuelle changeant dynamiquement sur l'historique de la séquence d'entrée.

— Hassim Sak, et al., Architectures de réseaux neuronaux récurrents à mémoire longue et à court terme pour la modélisation acoustique à grande échelle, 2014

Les LSTM tiennent leur promesse

Le succès des LSTM réside dans leur prétention d'être l'un des premiers outils permettant de surmonter les problèmes techniques et de tenir la promesse des réseaux de neurones récurrents.

Par conséquent, les RNN standard ne parviennent pas à apprendre en présence de décalages temporels supérieurs à 5 à 10 pas de temps discrets entre les événements d'entrée pertinents et les signaux cibles. Le problème de la disparition des erreurs jette le doute sur la capacité des RNN standards à présenter des avantages pratiques significatifs par rapport aux réseaux à anticipation basés sur des fenêtres temporelles. Un modèle récent, « Long Short-Term Memory » (LSTM), n'est pas concerné par ce problème. LSTM peut apprendre à combler des décalages minimaux supérieurs à 1 000 pas de temps discrets en appliquant un flux d'erreurs constant via des « carrousels d'erreurs constantes » (CEC) au sein d'unités spéciales, appelées cellules.

— Felix A. Gers, et al., Apprendre à oublier : prédiction continue avec LSTM, 2000

Les deux problèmes techniques surmontés par les LSTM sont les gradients qui disparaissent et les gradients qui explosent, tous deux liés à la façon dont le réseau est formé.

Malheureusement, la gamme d’informations contextuelles auxquelles les RNN standards peuvent accéder est en pratique assez limitée. Le problème est que l’influence d’une entrée donnée sur la couche cachée, et donc sur la sortie du réseau, soit décroît, soit explose de façon exponentielle à mesure qu’elle circule autour des connexions récurrentes du réseau. Cette lacune… appelée dans la littérature le problème du gradient de disparition… La mémoire à long court terme (LSTM) est une architecture RNN spécialement conçue pour résoudre le problème du gradient de disparition.

— Alex Graves, et al., Un nouveau système connexionniste pour la reconnaissance de l'écriture manuscrite sans contrainte, 2009

La clé de la solution LSTM aux problèmes techniques était la structure interne spécifique des unités utilisées dans le modèle.

… régi par sa capacité à gérer des gradients qui disparaissent et explosent, le défi le plus courant dans la conception et la formation de RNN. Pour relever ce défi, une forme particulière de réseaux récurrents, appelée LSTM, a été introduite et appliquée avec grand succès à la traduction et à la génération de séquences.

— Alex Graves, et al., Classification des phonèmes Framewise avec LSTM bidirectionnel et autres architectures de réseaux neuronaux, 2005.

Comment fonctionnent les LSTM ?

Plutôt que d’entrer dans les équations qui régissent l’ajustement des LSTM, l’analogie est un outil utile pour comprendre rapidement leur fonctionnement.

Nous utilisons des réseaux avec une couche d'entrée, une couche cachée et une couche de sortie… La couche cachée (entièrement) auto-connectée contient des cellules mémoire et les unités de porte correspondantes…

L’architecture interne de chaque cellule mémoire garantit un flux d’erreurs constant au sein de son carrousel d’erreurs constantes CEC… Cela représente la base pour combler des décalages de temps très longs. Deux unités de porte apprennent à ouvrir et fermer l’accès au flux d’erreurs dans le CEC de chaque cellule mémoire. La porte d'entrée multiplicative offre une protection du CEC contre les perturbations causées par des entrées non pertinentes. De même, la porte de sortie multiplicative protège les autres unités des perturbations causées par des contenus de mémoire actuellement non pertinents.

— Sepp Hochreiter et Jurgen Schmidhuber, Mémoire à long terme, 1997.

De multiples analogies peuvent aider à comprendre ce qui différencie les LSTM des réseaux neuronaux traditionnels composés de neurones simples.

L'architecture de mémoire à long terme et à court terme a été motivée par une analyse du flux d'erreurs dans les RNN existants, qui a révélé que les longs délais étaient inaccessibles aux architectures existantes, car les erreurs rétropropagées explosent ou décroissent de façon exponentielle.

Une couche LSTM est constituée d'un ensemble de blocs connectés de manière récurrente, appelés blocs mémoire. Ces blocs peuvent être considérés comme une version différenciable des puces mémoire d’un ordinateur numérique. Chacun contient une ou plusieurs cellules mémoire connectées de manière récurrente et trois unités multiplicatives - les portes d'entrée, de sortie et d'oubli - qui fournissent des analogues continus des opérations d'écriture, de lecture et de réinitialisation pour les cellules. … Le réseau ne peut interagir avec les cellules que via les portes.

— Alex Graves, et al., Classification des phonèmes Framewise avec LSTM bidirectionnel et autres architectures de réseaux neuronaux, 2005.

Il est intéressant de noter que même après plus de 20 ans, le LSTM simple (ou vanille) peut encore être le meilleur point de départ pour appliquer la technique.

L'architecture LSTM la plus couramment utilisée (vanilla LSTM) fonctionne raisonnablement bien sur divers ensembles de données…

Le taux d’apprentissage et la taille du réseau sont les hyperparamètres LSTM réglables les plus cruciaux…

… Cela implique que les hyperparamètres peuvent être ajustés indépendamment. En particulier, le taux d’apprentissage peut être calibré au préalable en utilisant un réseau assez petit, économisant ainsi beaucoup de temps d’expérimentation.

— Klaus Greff, et al., LSTM : Une odyssée de l'espace de recherche, 2015

Que sont les applications LSTM ?

Il est important de comprendre exactement le type de problèmes d’apprentissage de séquence que les LSTM sont aptes à résoudre.

La mémoire à long terme et à court terme (LSTM) peut résoudre de nombreuses tâches qui ne pouvaient pas être résolues par les algorithmes d'apprentissage précédents pour les réseaux neuronaux récurrents (RNN).

… LSTM est prometteur pour toute tâche de traitement séquentiel dans laquelle nous soupçonnons qu’une décomposition hiérarchique peut exister, mais ne savons pas à l’avance quelle est cette décomposition.

— Felix A. Gers, et al., Apprendre à oublier : prédiction continue avec LSTM, 2000

Le réseau neuronal récurrent (RNN) est un modèle de séquence neuronale qui atteint des performances de pointe sur des tâches importantes telles que la modélisation du langage, la reconnaissance vocale et la traduction automatique.

— Wojciech Zaremba, Régularisation récurrente du réseau neuronal, 2014.

Étant donné que les LSTM sont efficaces pour capturer les dépendances temporelles à long terme sans souffrir des obstacles d'optimisation qui affectent les réseaux récurrents simples (SRN), ils ont été utilisés pour faire progresser l'état de l'art pour de nombreux problèmes difficiles. Cela comprend, entre autres, la reconnaissance et la génération de l'écriture manuscrite, la modélisation et la traduction du langage, la modélisation acoustique de la parole, la synthèse vocale, la prédiction de la structure secondaire des protéines, l'analyse des données audio et vidéo.

— Klaus Greff, et al., LSTM : Une odyssée de l'espace de recherche, 2015

Que sont les LSTM bidirectionnels ?

Une amélioration couramment mentionnée par rapport aux LSTM concerne les LSTM bidirectionnels.

L'idée de base des réseaux neuronaux récurrents bidirectionnels est de présenter chaque séquence d'entraînement en avant et en arrière à deux réseaux récurrents distincts, tous deux connectés à la même couche de sortie. … Cela signifie que pour chaque point d’une séquence donnée, le BRNN dispose d’informations complètes et séquentielles sur tous les points avant et après. De plus, comme le réseau est libre d'utiliser autant ou aussi peu de ce contexte que nécessaire, il n'est pas nécessaire de trouver une fenêtre temporelle (en fonction de la tâche) ou une taille de délai cible.

… pour des problèmes temporels comme la reconnaissance vocale, s’appuyer sur la connaissance du futur semble à première vue violer la causalité… Comment pouvons-nous fonder notre compréhension de ce que nous avons entendu sur quelque chose qui n’a pas encore été dit ? Cependant, c’est exactement ce que font les auditeurs humains. Des sons, des mots et même des phrases entières qui au premier abord ne signifient rien prennent un sens à la lumière du contexte futur.

— Alex Graves, et al., Classification des phonèmes Framewise avec LSTM bidirectionnel et autres architectures de réseaux neuronaux, 2005.

L’un des inconvénients des RNN conventionnels est qu’ils ne peuvent utiliser que le contexte précédent. … Les RNN bidirectionnels (BRNN) font cela en traitant les données dans les deux sens avec deux couches cachées distinctes, qui sont ensuite transmises à la même couche de sortie. … La combinaison des BRNN avec le LSTM donne un LSTM bidirectionnel, qui peut accéder au contexte à longue portée dans les deux sens d’entrée

— Alex Graves, et al., Reconnaissance vocale avec des réseaux de neurones récurrents profonds, 2013

Contrairement aux RNN conventionnels, les RNN bidirectionnels utilisent à la fois le contexte précédent et futur, en traitant les données dans deux directions avec deux couches cachées distinctes. Une couche traite la séquence d'entrée dans le sens direct, tandis que l'autre traite l'entrée dans le sens inverse. La sortie du pas de temps actuel est ensuite générée en combinant le vecteur caché des deux couches…

— Di Wang et Eric Nyberg, Un modèle de mémoire à long terme pour la sélection de phrases de réponse dans
Réponse aux questions, 2015

Que sont les codeurs-décodeurs seq2seq LSTM ou RNN ?

Les LSTM séquence à séquence, également appelés LSTM codeur-décodeur, sont une application des LSTM qui reçoit beaucoup d'attention en raison de leurs capacités impressionnantes.

… une application simple de l’architecture LSTM (Long Short-Term Memory) peut résoudre les problèmes généraux de séquence à séquence.

L'idée est d'utiliser un LSTM pour lire la séquence d'entrée, un pas de temps à la fois, afin d'obtenir une grande représentation vectorielle de dimension fixe, puis d'utiliser un autre LSTM pour extraire la séquence de sortie de ce vecteur. Le deuxième LSTM est essentiellement un modèle de langage de réseau neuronal récurrent, sauf qu'il est conditionné par la séquence d'entrée.

La capacité du LSTM à apprendre avec succès des données présentant des dépendances temporelles à longue portée en fait un choix naturel pour cette application en raison du décalage temporel considérable entre les entrées et leurs sorties correspondantes.

Nous avons réussi à obtenir de bons résultats sur les phrases longues car nous avons inversé l'ordre des mots dans la phrase source, mais pas les phrases cibles dans l'ensemble de formation et de test. Ce faisant, nous avons introduit de nombreuses dépendances à court terme qui ont rendu le problème d'optimisation beaucoup plus simple. … L'astuce simple consistant à inverser les mots dans la phrase source est l'une des principales contributions techniques de ce travail

— Ilya Sutskever, et al., Apprentissage séquence à séquence avec des réseaux de neurones, 2014

Un RNN « codeur » lit la phrase source et la transforme en une riche représentation vectorielle de longueur fixe, qui à son tour est utilisée comme état caché initial d'un RNN « décodeur » qui génère la phrase cible. Nous proposons ici de suivre cette élégante recette, en remplaçant le codeur RNN par un réseau de neurones à convolution profonde (CNN). … il est naturel d'utiliser un CNN comme « encodeur » d'image, en le pré-entraînant d'abord pour une tâche de classification d'image et en utilisant la dernière couche cachée comme entrée du décodeur RNN qui génère des phrases.

— Oriol Vinyals, et al., Show and Tell : un générateur de légendes d'images neuronales, 2014

… un codeur-décodeur RNN se compose de deux réseaux de neurones récurrents (RNN) qui agissent comme une paire d'encodeur et de décodeur. Le codeur mappe une séquence source de longueur variable sur un vecteur de longueur fixe, et le décodeur mappe la représentation vectorielle sur une séquence cible de longueur variable.

— Kyunghyun Cho, et al., Apprentissage des représentations d'expressions à l'aide du codeur-décodeur RNN pour la traduction automatique statistique, 2014

Résumé

Dans cet article, vous avez reçu une introduction douce aux LSTM selon les mots des chercheurs scientifiques qui ont développé et appliqué les techniques.

Cela vous donne à la fois une idée claire et précise de ce que sont les LSTM et de leur fonctionnement, ainsi qu'une articulation importante sur la promesse des LSTM dans le domaine des réseaux de neurones récurrents.

L'une des citations vous a-t-elle aidé à comprendre ou vous a-t-elle inspiré ?
Faites-le moi savoir dans les commentaires ci-dessous.

Articles connexes