Figure comprendre et à long réseau de mémoire à court terme du cycle LSTM réseau fermé GRU
Transfert autorisé de Almost Human
Bonjour à tous, et bienvenue Guide illustré de LSTM GRU. Dans cet article, Michael de LSTM et les principes derrière le GRU commencer, puis expliquer si LSTM et GRU ont des mécanismes internes pour d'excellentes performances. Si vous voulez comprendre à la fois ce qui se passe derrière le réseau, cet article est pour vous préparer.
Si vous préférez, vous pouvez également regarder une version vidéo de cet article.
Les questions clés - la mémoire à court terme
Recurrent Neural Network (RNN) fortement affectée par la mémoire à court terme, si la séquence est assez longue, il sera difficile de transmettre des informations de pas de temps plus tôt pour l'arrière de pas de temps. Donc, si vous essayez de faire le traitement d'une prédiction de texte, RNN peut manquer des informations importantes dès le début.
Dans le processus de propagation de retour, le réseau de neurones il existe un gradient de problèmes de circulation disparaissent. En général, le gradient est utilisé pour mettre à jour les poids du réseau de neurones, le gradient disparaît problème est proche de zéro gradient sera progressivement réduite au fil du temps. Si la valeur gradient devient très faible, il ne peut pas fournir suffisamment d'informations pour l'étude.
règle de mise à jour gradient
Donc RNN, généralement en raison d'un gradient de pré-couche disparaît et l'apprentissage d'arrêt. Par conséquent, RNN oubliera ce qu'il a vu dans la séquence plus longue, qui ont seulement la mémoire à court terme.
Solutions --LSTM et GRU
Création LSTM et GRU peut être utilisé comme des solutions de mémoire à court terme, ils ont un mécanisme interne appelé « porte », vous pouvez régler le flux d'informations.
Les portes peuvent être conservés ou mis au rebut analyse des données dans une séquence, de sorte qu'il peut transmettre des informations à la chaîne de prédiction de séquence plus longue. Presque tous basés sur les dernières réalisations en circulation réseau de neurones est réalisée par les deux réseaux. LSTM GRU et peut être appliquée à la reconnaissance vocale, la synthèse de la parole et la génération de texte. Vous pouvez même les utiliser pour générer des légendes vidéo.
Maintenant, vous devez comprendre pourquoi traiter avec de longues séquences de LSTM et GRU excellé. Je vais utiliser l'explication intuitive et illustration pour répondre à cette question, j'essaie d'éviter d'utiliser les mathématiques.
l'intuition
Eh bien, nous allons commencer par une expérience de pensée. Supposons que vous décider d'acheter des céréales de la marque La vie en regardant commentaire en ligne. Parce que nous regardons les commentaires, et juger les autres pensent qu'il est bon ou mauvais.
Quand vous lisez les commentaires, votre cerveau se souviendra inconsciemment des mots-clés importants. Vous concentrer sur certains, comme « incroyable » et « petit-déjeuner équilibré parfait » Des mots comme. Vous ne se soucient pas de « ce », « donner », « all », « devrait » et ainsi de suite. Si un ami vous demande le lendemain fait remarquer que ce que vous ne me souviens pas mot pour mot. Mais vous souvenez peut-être quelques-uns des faits saillants, tels que « certainement acheter », d'autres mots vont disparaître de la mémoire.
Tel est le rôle LSTM ou GRU, il peut apprendre à ne conserver que les informations pertinentes à prévoir. Dans ce cas, vous vous rappellerez les commentaires que vous faites de bons jugements.
Rappelant le réseau de neurones récurrents
Pour comprendre comment LSTM ou GRU est de ce faire, nous allons examiner le réseau de neurones récurrents. RNN travaille: le premier mot est converti en un vecteur lisible par machine. Ensuite, RNN traité une séquence de vecteur.
Une par une séquence de traitement
Au cours du traitement, l'état caché avant qu'il ne soit transmis à la séquence suivante d'étapes. Étant donné que les réseaux de mémoire à semi-cachés, les données stockées réseau observées précédemment.
Laissez-passer caché à l'étape suivante de temps
RNN est d'une cellule a été observée pour voir comment calculer l'état caché. Tout d'abord, l'entrée et de l'état caché avant combinaison dans un vecteur. Ce vecteur est maintenant l'entrée en cours et informations entrées précédemment. Vecteur par tanh active, la sortie est une nouvelle mémoire à semi-implicite, ou d'un réseau de neurones.
unité RNN
fonction tangente hyperbolique (tanh) est activé
tanh fonction d'activation pour ajuster la valeur transmise dans le réseau de neurones, il passe une valeur comprise entre -1 et 1 compression.
entrée tanh comprimée entre -1 et 1
Lorsque le vecteur par le réseau de neurones, une variété d'opérations mathématiques, il passera par de nombreuses transformations. En supposant une valeur continue multipliée par 3, le résultat va exploser en croissance astronomique, ce qui conduit à des changements dans d'autres valeurs deviennent insignifiants.
L'absence de conversion vecteur tanh
la fonction tanh assure maintenue entre -1 et 1, contrôlant ainsi la sortie du réseau de neurones. La valeur peut voir comment la fonction tanh figure reste stable dans les différentes étapes de temps par.
La variation de la fonction vectorielle tanh
Ceci est RNN. Son fonctionnement interne est faible, mais (ces courtes séquences) aura une bonne performance dans un environnement approprié. RNN beaucoup moins ressources informatiques qu'il utilise une version améliorée de LSTM et GRU.
LSTM
LSTM réseau de neurones a courant de cycle de commande similaire, laquelle première communication de données de transfert pour le traitement de l'information, qui se différencient par les processus au sein de la cellule.
unités arithmétiques internes et LSTM
Ces opérations internes pour permettre LSTM d'enregistrer ou d'annuler l'information, et regardez maintenant à ces opérations peut être un peu difficile, nous avons donc une étape par étape à regarder.
Concepts de base
LSTM est le concept de base de l'unité d'état, et les unités dans toutes sortes de portes. des moyens de transmission comme une route nationale, transmettre des informations dans la chaîne de la séquence. Vous pouvez le voir comme un réseau de « mémoire ». Théoriquement, l'unité d'état peut transporter des informations sur la séquence entière de processus. Ainsi, même si les informations de temps étapes de prétraitement peuvent également aider à l'étape de temps suivant, l'unité de l'État réduisant ainsi efficacement la mémoire à court terme. Avec l'unité dans l'état de passer différentes étapes de temps, nous pouvons ajouter ou supprimer l'état de l'unité d'information par le mécanisme gating. Ces portes sont différents réseaux de neurones, peuvent être utilisés pour déterminer l'état de l'accès à l'unité d'information. Pendant la formation, la porte peut apprendre quels sont les besoins d'information soient sauvés ou oubliés.
fonction sigmoïde
mécanisme gating est principalement composé d'une fonction d'activation sigmoïde, une fonction d'activation sigmoïde similaire fonction d'activation de tanh, il contrôle la valeur entre 0 et 1, au lieu de -1 à 1. Cela aide à mettre à jour ou supprimer les données, parce que tout nombre multiplié par 0 est 0, ce qui provoque la valeur de perte ou de « oublié ». Tout nombre multiplié par lui-même est 1, la valeur est inchangée, ou « sauvé ». Réseau peut savoir quelles données ne sont pas importantes, peut être oublié, ou quelles données doivent être sauvegardées.
commande numérique sigmoïde sera comprise entre 0 et 1
Penchons-nous profondément dans le rôle des diverses portes, nous avons trois portes différentes pour réguler le débit de l'unité de LSTM d'information, que la porte OUBLIEZ d'entrée et de sortie des portes.
oublié porte
Le premier est la porte oubliée (oublier la porte), la porte de décider ce qui doit être mis au rebut ou des informations sauvegardées. porte de mémoire, et l'information de l'entrée de courant à partir d'un état masqué précédent est transmis à la fonction sigmoïde, et comprimées jusqu'à une valeur comprise entre 0 et 1. Les plus proche de 0 signifie rejetés plus proche de 1 signifie que la rétention.
opération de porte oublié
Entrez dans la porte
Pour mettre à jour l'état des cellules, LSTM besoin d'entrer dans la porte (porte d'entrée). Tout d'abord, nous allons précède, l'état caché et l'entrée de courant est passé à une fonction sigmoïde, il est une valeur de 0 à 1 qui sera mise à jour par la valeur déterminée dans. 0 signifie sans importance, 1 indique importante. Vous pouvez également être caché état et l'entrée de courant à la fonction de transfert de tanh, de sorte que la valeur devient une valeur comprise entre -1 et 1, pour aider à réguler le réseau de neurones. Ensuite, la sortie sigmoïde tanh et sortie multipliée, sortie sigmoïde décidera de conserver les informations importantes de la production tanh.
Entrez l'opération de porte
Statut unité
Vous devriez maintenant avoir assez d'informations pour calculer l'état cellulaire. En premier lieu, le vecteur d'état de la cellule oubliée point multipliée par point, si elle est multipliée par une valeur proche de 0, il est possible d'obtenir un état bas dans la cellule. Ensuite, l'étape de lecture à partir de la sortie de la porte d'entrée et le point d'addition par point, la mise à jour de cellule en rapport avec le réseau de neurones que la nouvelle valeur, qui est un nouvel état de la cellule.
unité de calcul d'état
grille de sortie
Enfin, la sortie de la porte (porte de sortie), la sortie de la porte détermine le côté caché. Rappelez-vous que contiennent des informations cachées précédemment entrées. Cachée également utilisé pour la prédiction. Tout d'abord, nous implicitement devant l'état et l'entrée courant passe à une fonction sigmoïde. Ensuite, nous allons modifier le statut d'unité à la fonction tanh. Nous Tanh sortie sigmoïde et sortie multipliée pour déterminer l'état doit contenir des informations cachées. Le nouvel état de la cellule et le nouvel état est alors transféré à cacher l'étape suivante.
La sortie de l'opération de grille
Nécessité de comprendre que la porte oubliée détermine le contenu lié aux étapes précédentes. Entrez dans la porte de décider quelle information est ajoutée à partir de l'étape en cours. Sortie côté décidé état implicite ce qui devrait être.
code démontre
Pour ceux qui ont besoin de mieux comprendre le modèle dans le code, voici un exemple Python pseudocode:
Python pseudocode
GRU
LSTM nous savons déjà comment cela fonctionne, laissez-nous regarder brièvement à GRU. GRU est une nouvelle génération de réseau de neurones récurrents, il LSMC très similaire. unité GRU hors de l'état, à l'information de transmission directement avec caché, il remet à zéro que la porte et deux portes mécanisme de déclenchement de mise à jour.
unité GRU et sa porte
porte mise à jour LSTM agit comme une porte oubliée et entrez la porte. Il détermine également les informations à mettre l'ancien, ce que de nouvelles informations sont ajoutées. La porte remise à zéro est une porte de décider la quantité d'informations à oublier le passé.
Calcul du tenseur GRU si peu par rapport à la LSTM, sa vitesse de formation est plus rapide. On ne sait pas quel est le meilleur, les chercheurs et les ingénieurs choisissent souvent soit en fonction de leur situation réelle.
conclusion
En résumé, un processus pour les données de séquence RNN utiles pour la prédiction, mais les problèmes de mémoire à court terme. Création LSTM et le but GRU est d'utiliser le mécanisme « porte » pour réduire la mémoire à court terme. LSTM et GRU sont largement utilisés dans les applications les plus profondes d'apprentissage avancées telles que la reconnaissance vocale, synthèse vocale, la compréhension du langage naturel, et autres.