要点:
1.LSTM 即 Long Short-Term Memory 长短期记忆网络, 是一种特殊的RNN循环神经网络。
2.LSTM解决了RNN存在的长期依赖问题而专门设计出来的。
RNN的问题在于其中重复神经网络模块的链式形式只有一个非常简单的结构,如一个tanh层。这就使得RNN在以前信息距离现在信息很近的时候,可以利用以前的信息。但当以前的信息距离现在很远的时候,RNN就无法利用信息。
3.LSTM是如何解决远距离信息无法利用的问题的?
与标准RNN中的重复模块的单层神经网络不同,LSTM有四层以特殊方式进行交互。
LSTM的四层交互神经网络如何发挥作用的?
LSTM结构中图的顶部水平线表示细胞状态,类似于传送带,细胞的状态在整个链上传递。
细胞状态可以被LSTM改变,如删除或添加。这个能力是由Gate门结构实现的。门结构是由Sigmoid神经网络层和一个点乘法运算组成,可以自主地让信息通过。
Sigmoid神经网络层输出0和1之间的数字,这个数字描述每个组件有多少信息可以通过, 0表示不通过任何信息,1表示全部通过。LSTM有三个门,用于保护和控制细胞的状态。
以语言模型为例,试图根据以前的语料来预测下一个单词。
LSTM执行过程:
第一步:丢弃信息
Forget Gate “忘记门”是一层Sigmoid函数,它接收上一层的输出h
t
−
1
_{t-1}
t−1和当前输入x
t
_t
t,并为上一个状态C
t
−
1
_{t-1}
t−1中每个数字输出0和1之间的数字。1代表完全保留,0代表彻底删除。
第二步:存储信息
Input Gate"输入门"是一层Sigmoid函数,它决定了更新的值。还有一个tanh层创建候选向量C
t
_t
t,加入细胞状态中。
结合两个向量来更新C
t
_t
t.
第三步:输出信息
Output Gate 输出门是一个Sigmoid函数,它接收上一层的输出h
t
−
1
_{t-1}
t−1和当前输入x
t
_t
t得到o
t
_t
t。然后用一层tanh处理更新过的C
t
_t
t,并与o
t
_t
t相乘后作为结果输出。