O LSTM foi inventado especificamente para evitar o problema do gradiente de fuga. Supõe-se que isso seja feito com o Constant Error Carousel (CEC), que no diagrama abaixo (de Greff et al. ) Corresponde ao loop em torno da célula .
(fonte: deeplearning4j.org )
E eu entendo que essa parte pode ser vista como uma espécie de função de identidade, então a derivada é uma e o gradiente permanece constante.
O que eu não entendo é como ele não desaparece devido a outras funções de ativação? Os portões de entrada, saída e esquecimento usam um sigmóide, cuja derivada é no máximo 0,25, e g e h eram tradicionalmente tanh . Como a retropropagação daqueles que não fazem o gradiente desaparecer?