传统的神经网络,层与层之间是全连接的,但是每层内部的节点是无连接的,因此无法利用上下文关系。
1.RNN
RNN最大的不同之处就是在每层内部的节点之间也建立起权连接。
-
针对问题:训练样本是序列数据
-
模型思想:循环反馈
-
模型特点:
(1)当前时间的隐藏状态是由上一时间的隐藏状态和当前时间的输入x共同决定的
(2)U、V、W权值共享 -
模型缺点:梯度消失,无法处理长序列数据(解决:LSTM、GRU)
RNN的前向传播
基于时间反向传播BPTT
循环神经网络(RNN)模型与前向反向传播算法 - 刘建平Pinard - 博客园
https://www.cnblogs.com/pinard/p/6509630.html
RNN的缺点
梯度爆炸/消失、很难学到长距离的信息依赖
2.LSTM
使用LSTM模型可以更好的捕捉到较长距离的依赖关系。因为LSTM通过训练过程可以学到记忆哪些信息和遗忘哪些信息。
针对RNN梯度消失问题,LSTM对序列索引位置t的隐藏结构做改进:
- 新增另一个隐藏状态,称为细胞状态(LSTM的核心思想)
- 设置门控结构控制细胞状态:遗忘门、输入门、输出门
2.1 遗忘门
遗忘门决定了上一时刻的细胞状态 C ( t − 1 ) C^{(t-1)} C(t−1)(代表长期的记忆) 有多少保留到当前时刻的细胞状态 C (