LSTM был изобретен специально, чтобы избежать проблемы исчезающего градиента. Предполагается, что это будет сделано с помощью карусели постоянных ошибок (CEC), которая на диаграмме ниже (от Греффа и др. ) Соответствует петле вокруг ячейки .
(источник: deeplearning4j.org )
И я понимаю, что эту часть можно рассматривать как своего рода функцию тождества, поэтому производная равна единице, а градиент остается постоянным.
Что я не понимаю, так это как он не исчезает из-за других функций активации? Врата ввода, вывода и забывания используют сигмоид, производная которого составляет не более 0,25, а g и h традиционно были tanh . Как обратное распространение через тех, кто не делает градиент исчезает?