[神经网络]03 循环神经网络
这一章是扩展内容,课本上没有对应内容
其实这么看来,循环神经网络这棵树也可称枝繁叶茂,只不过一来传统RNN的缺陷过于明显,另一方面这领域的后起之秀Transformer又太过耀眼,所以RNN遭到冷落了。
引子:什么是序列数据
- 音频
- 文本
- 时间序列
- 代码
序列数据将数据视为一串符号(
symbol
)的序列,重点突出的是符号之间的次序关系,(作为比较,CNN重点突出的是各元素之间的空间关系)
9.0.3 引子2:动力系统(Dynamical System)
动力系统是用于描述RNN的一种描述结构,但此时我在复习的时候,觉得这个图有点像后面将要学的贝叶斯网。
- 符号约束
符号 | 含义 |
---|---|
第 |
- 状态转移公式:
- 目的:学到状态转移公式
9.1 循环神经网络
9.1.1 循环神经网络计算流程
这张图详细展示了RNN迭代计算的过程
符号约束
:第 次迭代的损失( ) :第 次迭代的输入 :要学习的参数 :隐层迭代公式 :输出层计算公式
9.1.2 RNN的分析
- 缺陷:
- 难以并行实现,时间开销大
- 梯度爆炸与梯度消失
公式推导证明略。只要记住:在更新参数时,梯度实际上是递归累乘的结果,所以如果梯度太大或太小,就会导致参数更新时的不稳定。
9.2 LSTM与GRU
9.2.1 LSTM
LSTM在原有RNN的基础上,引入遗忘门、输入门、输出门来控制信息的流向。
- 遗忘门:接受一个长期记忆并决定哪些信息保留,哪些信息遗忘。
- 输入门:确定什么样的新信息被存放在细胞状态。
- 输出门:根据输入和细胞状态,决定输出。
9.2.2 GRU
GRU在原有RNN的基础上引入了重置门、更新门来控制信息的流向。
- 更新门:决定有多少信息需要继续传递
- 重置门:决定了哪些信息需要遗忘
- 二者都缓解了原本容易梯度消失梯度爆炸的问题;并且由于引入了记忆单元,能够更好地捕捉、记忆长距离依赖,对长序列任务效果更好。
9.3 双向RNN
匆匆提了一句,不记了
Ques09-例题整理
[概念理解·GRU和LSTM]
题目内容
- 请详细解释GRU和LSTM之间的主要差异,包括他们如何处理“长期依赖”问题的不同方式
分析与解答
- LSTM有三个门控结构,分别是输入门、遗忘门和输出门,它们可以控制信息在单元状态(长期记忆)和隐藏状态(短期记忆)之间的流动。
- GRU只有两个门控结构,分别是更新门和重置门,它们可以控制信息在隐藏状态中的流动。GRU的隐藏状态既充当长期记忆,又充当短期记忆。
[计算·根据LSTM模型结构计算参数量]
题目内容
- 若一个LSTM的隐层单元数量和输入维度均为128,求该LSTM的参数数量,并给出求解过程。
分析与解答
- 单个LSTM cell的结构如上图所示。其内部包括4个非线性变换,实现形式是一个2层的全连接网络。
- 对于这4个全连接网络,输入层是
和 的结合,设这两个参数的维度数分别为 和 ,则结合后的维度数为 ;输出层维度为 。 - 则上述的单个二层全连接的参数量为
。 - 又由于单个LSTM cell包括4个这种非线性变换,故单个cell的参数量为
。 - 代入得参数量为131584。