LSTM è stato inventato appositamente per evitare il problema del gradiente di sparizione. Si suppone che lo faccia con il Constant Error Carousel (CEC), che sul diagramma sottostante (da Greff et al. ) Corrisponde al loop attorno alla cella .
(fonte: deeplearning4j.org )
E capisco che quella parte può essere vista come una sorta di funzione identitaria, quindi la derivata è una e il gradiente rimane costante.
Quello che non capisco è come non svanisce a causa delle altre funzioni di attivazione? Le porte di input, output e dimenticare usano un sigmoide, la cui derivata è al massimo di 0,25, e geh erano tradizionalmente tanh . In che modo il backpropagating attraverso quelli non fa svanire il gradiente?