Le LSTM a été inventé spécifiquement pour éviter le problème du gradient disparaissant. Il est supposé faire cela avec le carrousel à erreur constante (CEC), qui sur le diagramme ci-dessous (de Greff et al. ) Correspond à la boucle autour de la cellule .
(source: deeplearning4j.org )
Et je comprends que cette partie peut être vue comme une sorte de fonction d'identité, donc la dérivée est une et le gradient reste constant.
Ce que je ne comprends pas, c'est comment cela ne disparaît pas à cause des autres fonctions d'activation. Les portes d’entrée, de sortie et d’oubli utilisent un sigmoïde, dont la dérivée est au plus égale à 0,25, et g et h étaient traditionnellement tanh . Comment la rétro-propagation à travers ceux-ci ne fait-elle pas disparaître le gradient?
la source
Réponses:
Le gradient de fuite est mieux expliqué dans le cas unidimensionnel. La multidimensionnelle est plus compliquée mais essentiellement analogue. Vous pouvez le lire dans cet excellent article [1].
Supposons que nous ayons un état caché au pas de temps t . Si nous simplifions les choses et supprimons les biais et les entrées, nous avons h t = σ ( w h t - 1 ) . Ensuite, vous pouvez montrer queht t
Le facteur factorisé marqué par !!! est le crucial. Si le poids n'est pas égal à 1, il tombera à zéro de manière exponentielle rapide danst'-tou augmentera de manière exponentielle.
Dans les LSTM, vous avez l'état de la cellule . Le dérivé y est de la forme ∂ s t 'st
Icivtest l’entrée de la porte d’oubli. Comme vous pouvez le constater, aucun facteur de décroissance rapide n’est impliqué de manière exponentielle. Par conséquent, il existe au moins un chemin où le gradient ne disparaît pas. Pour la dérivation complète, voir [2].
[1] Pascanu, Razvan, Tomas Mikolov et Yoshua Bengio. "Sur la difficulté de former des réseaux de neurones récurrents." ICML (3) 28 (2013): 1310-1318.
[2] Bayer, Justin Simon. Représentation des séquences d'apprentissage. Diss. München, Technische Universität München, Diss., 2015, 2015.
la source
L'image du bloc LSTM de Greff et al. (2015) décrit une variante que les auteurs appellent vanilla LSTM . C'est un peu différent de la définition originale de Hochreiter et Schmidhuber (1997). La définition initiale n'incluait pas la connexion oubliée et les connexions de judas.
Le terme carrousel d'erreur constante a été utilisé dans le document d'origine pour désigner la connexion récurrente de l'état de la cellule. Considérons la définition d'origine dans laquelle l'état de la cellule est modifié uniquement par addition, lorsque la porte d'entrée s'ouvre. Le gradient de l'état de la cellule par rapport à l'état de la cellule à un pas de temps antérieur est égal à zéro.
Une erreur peut toujours entrer dans le CEC par la porte de sortie et la fonction d'activation. La fonction d'activation réduit un peu l'ampleur de l'erreur avant son ajout au CEC. CEC est le seul endroit où l’erreur peut circuler sans changement. De nouveau, lorsque la porte d'entrée s'ouvre, l'erreur se produit par la porte d'entrée, la fonction d'activation et la transformation affine, réduisant ainsi l'amplitude de l'erreur.
Ainsi, l’erreur est réduite lorsqu’elle est rétablie par une couche LSTM, mais uniquement lorsqu’elle entre dans le CEC et en sort. L'important est que cela ne change pas dans la CEC, quelle que soit la distance parcourue. Cela résout le problème du RNN de base, à savoir que chaque pas de temps applique une transformation affine et une non-linéarité, ce qui signifie que plus la distance entre l'entrée et la sortie est grande, plus l'erreur est petite.
la source
http://www.felixgers.de/papers/phd.pdf Veuillez vous référer à la section 2.2 et 3.2.2 où la partie d'erreur tronquée est expliquée. Ils ne propagent pas l'erreur en cas de fuite hors de la mémoire de la cellule (c'est-à-dire s'il y a une porte d'entrée fermée / activée), mais ils mettent à jour les poids de la porte en fonction de l'erreur uniquement pour cet instant. Plus tard, il est mis à zéro lors d'une propagation ultérieure. C'est une sorte de bidouille mais la raison en est que l'erreur coule de toute façon le long des portes, elle décroît de toute façon avec le temps.
la source
J'aimerais ajouter quelques détails à la réponse acceptée, parce que je pense qu'elle est un peu plus nuancée et que la nuance peut ne pas être évidente pour quelqu'un qui commence par se renseigner sur les RNN.
Par exemple, dans le cas 1D, supposons queht′- k= 1 w σ′( w ∗ 1 ) 0,224 w = 1,5434 ( 0,224 )t′- t
la source