1 什么是LSTM
长短期记忆(Long short-term memory, LSTM)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,就是相比普通的RNN,LSTM能够在更长的序列中有更好的表现。
2 深入LSTM结构
下面具体对LSTM的内部结构来进行剖析。
下面开始进一步介绍这四个状态在LSTM内部的使用。(敲黑板)
下图是普通RNN公式:
下图是LSTM公式:
3 总结
4 补充
为什么RNN中的
ht 对应于 LSTM中的
ct ?
答:LSTM中的
ct主要是用来保存先前节点的数据,而RNN起此作用的必然就是
ht了。
为什么传递下去的
ct 改变得很慢,通常输出的
ct 是上一个状态传过来的
ct?1 加上一些数值;而
ht 则在不同节点下往往会有很大的区别?
答:
ct也就是cell state中的内容,可以理解为主线,主要是用来保存节点传递下来的数据的,每次传递会对某些维度进行“忘记”并且会加入当前节点所包含的内容,总的来说还是用来保存节点的信息,改变相对较小。
ht则主要是为了和当前输入组合来获得门控信号,对于不同的当前输入,传递给下一个状态的
ht区别也会较大。
5 LSTM为什么能够缓解梯度消失问题
下图为RNN中连乘的部分: