长短期记忆网络LSTM
视频链接
1.LSTM与RNN的区别
RNN想把所有信息都记住,不管是有用的信息还是没用的信息,并且有梯度爆炸或者梯度消失的问题
而LSTM设计了一个记忆细胞,具备选择记忆功能,可以选择记忆重要信息,过滤掉噪声信息,减轻记忆负担。
2. 前向传播的过程
2.1对比RNN
2.2 单元结构
符号解释:
C t − 1 C_{t-1} Ct−1表示t-1时刻的记忆细胞
h t − 1 h_{t-1} ht−1表示t-1时刻的隐藏层状态
s i g m o i d sigmoid sigmoid门单元
f t f_t ft遗忘门
i t i_t it更新门
o t o_t ot输出门
在LSTM的每个时间步里面,都有一个记忆cell,这个东西给予了LSTM选择记忆功能,使得LSTM有能力自由选择每个时间步里面记忆的内容
2.3 结合例子理解LSTM单元结构
场景:期末考试周(高数→线性代数)
输入 X t X_t Xt:线性代数
输出 h t h_t ht:高分
遗忘门:遗忘高数积累的记忆 C t − 1 C_{t-1} Ct−1
更新门:选择性的提取有用的线性代数知识,然后结合高数保留下来的数学运算能力
输出门:把没考的知识丢掉
t a n h tanh tanh:把记忆的知识 C t C_t Ct转为答题解题的能力
4. LSTM如何缓解梯度消失
4.1 RNN梯度消失回顾
4.2LSTM反向传播
假设: t = 3 t=3 t=3,即从左到右的输出分别是 y 1 y_1 y1、 y 2 y_2 y2、 y 3 y_3 y3