长短期记忆模型(long-short term memory)是为了解决RNN模型梯度弥散的问题而提出的;在传统的RNN中,训练算法使用的是BPTT,当时间比较长时,需要回传的残差会指数下降,导致网络权重更新缓慢,无法体现出RNN的长期记忆的效果,因此需要一个存储单元来存储记忆,因此LSTM模型被提出;
LSTM中有3个控制门:输入门,输出门,遗忘门;和控制单元
门上的激活函数都是sigmoid,控制单元是tanh;
输入门和遗忘门的输入是上一时刻状态,上一时刻输出,当前时刻输入,决定了哪些信息留下来。(遗忘和补充新的)
输出门输入是当前状态,上一时刻输出和当前输入,决定当前输出。
整体结构如下图所示:
LSTM整体结构
细胞状态类似于传送带。直接在整个链上运行,只有一些少量的线性交互。信息在上面流传保持不变会很容易。
细胞状态
遗忘门:忘记过去的某些记忆
遗忘门
输入门:记忆现在的某些信息
输入门
控制单元sigmoid函数选择更新内容,tanh函数创建更新候选。
将过去与现在的记忆进行合并:
过去与当前记忆合并
输出门:
输出门
综上。