LSTM
wangzf / 2022-07-15
目录
LSTM 简介
Long Short Term Memory networks,LSTM - 让 RNN 具备更好的记忆机制
RNN 问题
梯度爆炸和梯度消失对 RNN 的影响非常大,当 RNN 加深时, 因为梯度消失的问题使得前层的网络权重得不到更新,RNN 的记忆性就很难生效
在传统的 RNN 基础上,研究人员给出了一些著名的改进方案,即 RNN 变种网络, 比较著名的是 GRU(循环门控单元)和 LSTM(长短期记忆网络)。 GRU 和 LSTM 二者的结构基本一致,但有些许不同
LSTM 简介
LSTM,是一种特殊的 RNN 网络,能够学习序列数据中的信息的长期依赖关系。 LSTM 由 Hochreiter&Schmidhuber(1997) 提出, 并在随后的工作中被许多人进行提炼和推广
LSTM 在传统的 RNN 结构上做了相对复杂的改进,这些改进使得 LSTM 相对于经典的 RNN 能够很好地解决梯度爆炸和梯度消失的问题, 让 RNN 具备更好的记忆性能,这也是 LSTM 的价值所在。LSTM 在各种各样的序列处理问题上都表现出色,现在已被广泛使用
LSTM 的设计明确避免了长期依赖的问题,长时间记住信息实际上是它们的默认行为,而不是它们努力学习的东西
LSTM 网络架构
RNN 重复模块链结构
RNN 网络是由一系列重复的单元结构组成的神经网络重复模块链的形式
RNN 单元结构:
RNN 神经网络重复模块链:
在标准的 RNN 中,此重复模块具有非常简单的结构,例如单个 tanh 层:
RNN 单元结构的具体形式:
LSTM 重复模块链结构
LSTM 也具有上面的这种链状结构,但是重复模块具有不同的结构, 而不是只有一个神经网络层,而是有四个非常特殊的方式进行交互的层
LSTM 单元结构的具体形式:
LSTML 网络架构详解
记忆细胞
记忆细胞,remember cell,cell state
LSTM 最关键的部分是 LSTM 单元的最上层有一条水平贯穿的关于记忆细胞(remember cell, cell state),即 到 的箭头直线 cell state,这个单元状态有点像传送带,它在整个链中一直沿直线运行,只有一些较小的线性相互作用, 信息很容易不加改动地流动,这样贯穿的直线表现记忆信息在网络各层之间保持下去很容易:
LSTM 确实具有删除信息或将信息添加到记忆细胞的能力,这些信息由称为 gate(门) 的结构调节, gate(门) 是一种选择性地让信息通过的方式,它们由 Sigmoid 神经网络层和逐点乘法运算组成:
Sigmoid 层的输出数值结果是在 之间的数,描述了每个组件应该允许通过多少信息, 值为 0 表示 “不让任何信息通过”,值为 1 表示 “让所有信息通过”
LSTM 有三种 gate(门),用来生成和控制记忆细胞
遗忘门
遗忘门,forget gate
遗忘门就是要决定从记忆细胞中是否丢弃某些信息,通过一个 Sigmoid 函数进行处理, 可以看到,遗忘门接受来自输入 和上一层隐状态 的值进行加权计算处理.
更新门或输入门
更新门或输入门,update/input gate
更新门确定什么信息能存入记忆细胞状态中,除了计算更新门之外, 还需要通过 计算记忆细胞的候选值 . 然后,LSTM 结合遗忘门 、更新门 、 上一层记忆细胞值和记忆细胞候选值 来共同决定和更新当前细胞状态
输出门
output gate
LSTM 提供了单独的输出门
LSTM 变形
LSTM + peephole connections
LSTM + coupled & input gates
GRU
Gated Recurrent Unit,GRU
LSTM 结构解析
LSTM 数学表示
LSTM 解释
- LSTM 通过引入了三个门来控制信息的传递,分别是遗忘门、输入门、输出门。三个门的作用为:
- 遗忘门:遗忘门 控制上一时刻的内部状态,需要遗忘多少信息
- 输入门:输入门 控制当前时刻的候选状态,有多少信息需要保存
- 输出门:输出门 控制当前时刻的内部状态,有多少信息需要输出给外部状态