Por que os RNNs com unidades LSTM também sofrem com "gradientes explosivos"?

13

Eu tenho um conhecimento básico de como as RNNs (e, em particular, com as unidades LSTMs) funcionam. Tenho uma idéia pictórica da arquitetura de uma unidade LSTM, que é uma célula e alguns portões, que regulam o fluxo de valores.

No entanto, aparentemente, eu não entendi completamente como o LSTM resolve o problema dos "gradientes que desaparecem e explodem", que ocorre durante o treinamento, usando a retropropagação ao longo do tempo, uma RNN convencional. Não tive a oportunidade de ler os jornais para entender completamente a matemática.

Esta resposta fornece uma breve explicação de como os RNNs com unidades LSTM resolvem o problema dos "gradientes de fuga". Matematicamente, a razão parece ser a inexistência de um derivado que não desaparece, ou seja, não tende a zero. Consequentemente, o autor afirma: "existe pelo menos um caminho em que o gradiente não desaparece". IMHO, essa explicação é um pouco vaga.

Enquanto isso, eu estava lendo o artigo Sequence to Sequence Learning with Neural Networks (de Ilya Sutskever, Oriol Vinyals, Quoc V. Le) e, nesse artigo, a seção "3.4 Detalhes do treinamento", afirma-se

Embora os LSTMs tendam a não sofrer com o problema do gradiente de fuga, eles podem ter gradientes explosivos.

Eu sempre pensei que RNNs com unidades LSTM resolvem os problemas de "desaparecimento" e "gradientes explosivos", mas, aparentemente, RNNs com unidades LSTM também sofrem com "gradientes explosivos".

Intuitivamente, por que isso? Matematicamente, quais são as razões?

nbro
fonte

Respostas:

12

Uma resposta muito curta:

O LSTM desacopla o estado da célula (normalmente indicado por c) e a camada / saída oculta (normalmente indicado por h), e apenas crealiza atualizações aditivas , o que torna as memórias cmais estáveis. Assim, o gradiente flui através cé mantido e difícil de desaparecer (portanto, o gradiente geral é difícil de desaparecer). No entanto, outros caminhos podem causar explosão de gradiente.


Uma resposta mais detalhada com explicação matemática:

Vamos revisar o mecanismo CEC (Constant Error Carousel) primeiro. O CEC diz que, do tempo taté o momento t+1, se o portão de esquecer for 1 (não há portão de esquecer no documento LSTM original, portanto esse é sempre o caso), o gradiente pode fluir sem alterações. Seguindo as fórmulas BPTT no artigo LSTM: A Odyssey no Espaço de Pesquisa Apêndice A.2 ( no artigo está em outra literatura), o fluxo CEC realmente corresponde à equação δ c t = + δ c t + 1f t + 1 . Quando fdl/dctyhδct=+δct+1ft+1sem perdas. é próximo de 1,δ c t + 1 se acumula paraδ c tft+1δct+1δct

No entanto, o LSTM é mais do que o CEC. Além do caminho CEC de a c t + 1 , existem outros caminhos entre duas etapas de tempo adjacentes. Por exemplo, y to t + 1y t + 1 . Percorrendo o processo de propagação traseira em 2 etapas, temos: δ y tR T o δ o t + 1δ y t + 1R T o δ o tctct+1ytot+1yt+1 , vemos R t o é multiplicada duas vezes neste caminho apenas como RNNs baunilha, o que pode provocar uma explosão gradiente. Da mesma forma, os caminhos através da entrada e do portão de esquecimento também são capazes de causar explosão de gradiente devido à auto-multiplicação de matrizes R T i , R T f , R T z .δytRoTδot+1δyt+1RoTδot+2RoTRiT,RfT,RzT

Referência:

K. Greff, RK Srivastava, J. Koutnik, BR Steunebrink e J. Schmidhuber. LSTM: Uma odisséia no espaço de pesquisa. CRR, abs / 1503.04069, 2015.

soloice
fonte
Você poderia incluir uma citação completa para esse artigo? Os links tendem a ficar mortos.
mkt - Restabelece Monica
2
@mkt Obrigado pelo seu conselho. Na verdade, este é um artigo muito famoso e o link vai para o arXiv, portanto, não é provável que ele morra, mas ~ Certifique-se de verificar a versão v1 (porque a versão atual v2 não inclui um apêndice).
soloice
Obrigado por adicioná-lo de qualquer maneira, e os detalhes sobre o apêndice.
mkt - Reinstala Monica
Ótima resposta, não costumo comentar para colocar +1, mas isso merece. Mostrar um exemplo real com álgebra matricial de caminhos possivelmente instáveis ​​em uma célula LSTM responde exatamente ao OP.
DeltaIV 12/04/19
3

0.992000.134
1200=1
1.0120013

No entanto, ainda existem alguns caminhos pelos quais o gradiente pode se tornar instável, e quanto maior a rede, maior a probabilidade de você encontrar esse problema.

Lugi
fonte
3
Por que isso responderia à minha pergunta? Eu gostaria de saber os detalhes.
Nvr 16/0218