1.结构
2.计算
例1:
假设,,均为输入,当的时候将加入记忆单元,当时将将记忆单元清空,当的时候输出记忆单元里面的数值。根据规则,最开始记忆单元里面存储的是0,当输入时因为,所以记忆单元和输出都不工作,到了第二列,因为,,,所以将加入记忆单元,输出依旧为0,第三列,,,,所以不会被加入到记忆单元,输出依旧为0,第四列,,,所以会被加入到记忆单元此时记忆单元变为7,输出依然为零,直到出现,记忆单元的数才会被输出。
例2:
还是假设最开始记忆单元里面储存的是0,经过函数可以得到3,经过Input Gate的sigmoid函数可以求出1,经过Output Gate的sigmoid函数计算出0,经过Forget Gate的sigmoid函数计算出1,然后根据上面的公式就可以算出最终的输出。
3.LSTM与传统神经网络的联系
我们只要把LSTM看作是传统神经网络的一个神经元(neuron)即可
另外,LSTM需要四个输入
4.LSTM的最终形态
LSTM的四个输入都是从最初始的x乘以不同的权重得来的,然后还要考虑上一个时间点的和。
5.LSTM的数学公式
将上图的LSTM封装起来就是:
输入和上一个时间点的隐藏状态相加经过一个sigmoid函数得。
所以遗忘门(foget gate)的路径和式子是:
输入和上一个时间点的隐藏状态相加经过一个sigmoid函数得,这是一个输入门,
记忆单元的值由上面提到的几个式子决定:
输出和这一个时刻的隐藏状态式子如下
注:表示把两个向量连接成一个更长的向量
Pytorch中LSTM的参数与案例理解.
Pytorch中文文档.
LSTM.
重推:详解LSTM.
刘建平讲LSTM.
pytorch实现LSTM.
外国大神的博文.
Understanding LSTM Networks.