循环神经网络
绪论
-
基本应用: 机器翻译 股票预测 作词 模仿写论文、写代码 图像理解 视觉问答
与卷积神经网络相比
-
循环神经网络可以更好的处理具有时序关系的任务;
-
循环神经网络通过循环结构引入“记忆”的概念;
- 输出不仅依赖于输入,还依赖于“记忆”
- 将同一个结构循环利用
基本结构
传统神经网络的结构
RNN的基本结构
- 隐层的数据被存入到一个“记忆”单元中
- “记忆”作为另外一个输入与原始输入一起输入到神经网络中
等价于下面这个形式
-
深度RNN
在深度上延伸
-
双向RNN
-
BPTT算法
循环神经网络的变种
传统RNN存在的问题
传统RNN 在时间维度上非常深的时候,会导致梯度消失或者梯度爆炸问题。
梯度消失会导致长时依赖问题,从而使得RNN随着时间间隔的不断增大,丧失学习到连接远距离的信息的能力。
LSTM(Long Short-term Memory) 长短期记忆模型
-
遗忘门
-
输入门
-
输出门
传统RNN与LSTM的不同
- RNN的”记忆“在每个时间点会被新的输入覆盖,LSTM的”记忆“是与新的输入相加
- LSTM:如果前边的输入对Ct产生了影响,那这个影响会一直存在,除非遗忘门的权重为0
- LSTM中的learning rate可以被尽量的设置小
GRU
GRU只有两个门,分别是重置门和更新门,重置门主要是用来控制上一时刻状态信息保留的多少,而更新门则控制上一时刻用以计算当前时刻数据的影响的大小,更新门值越大则表示前一时刻的状态信息带入的越多