第四周:卷积神经网络 part3
第四周:卷积神经网络 part3
1.绪论
1.1 循环神经网络的应用
语言问答、机器翻译、股票预测、作词机、作诗、模板写论文、模板写代码、图像理解、视觉问答
1.2 循环神经网络VS卷积神经网络
-
传统神经网络,卷积神经网络,输入和输出之间是相互独立的
-
RNN可以更好的处理具有时序关系的任务
-
RNN通过其循环结构引入"记忆"的概念
- 输出不仅依赖于输入,还依赖于“记忆”
- 将同一结构循环利用
2.基本组成结构
2.1基本结构
- 隐层的数据将被存入到一个“记忆”单元中
- 存在“记忆”中的数据会被作为另一个输入与原始输入一起输入到神经网络中
2.2 深度RNN
2.3 双向RNN
2.4 小结
-
隐藏层状态h可以被看作是“记忆”,因为它包含了之前时间点.上的相关信息。
-
输出y不仅由当前的输入所决定,还会考虑到之前的“记忆”。由两者共同决定。
-
RNN在不同时刻共享同一组参数(U, W, V),极大的减小了需要训练和预估的参数量。
3.循环神经网络的变种
3.1传统RNN的问题
-
当循环神经网络在时间维度上非常深的时候,会导致梯度消失或者梯度爆炸的问题
-
梯度爆炸导致的问题:模型训练不稳定,梯度变为Nan(无效数字), Inf(无穷大)。
-
梯度爆炸问题的改进?
- 权重衰减
- 梯度截断,检查误差梯度的值是否超过阈值,如果超过了那么就截断梯度,将梯度设置为阈值
-
梯度消失导致的问题:长时依赖问题
-
梯度消失问题如何改进?
- 改进模型
- LSTM, GRU
3.2 LSTM
传统RNN与LSTM的差异
-
RNN和LSTM对记忆的处理方式不同。
-
RNN的“记忆”在每个时间点都会被新的输入覆盖,但STM中“记忆"是与新的输入相加。
-
LSTM:如果前边的输入对Ct生了影响,那这个影响会一直存在,除非遗忘门的权重为0。
LSTM拥有三个门(遗忘门,输入门,输出门),来保护和控制细胞状态。
遗忘门
输入门
输出门
小结
-
LSTM实现了三个门计算,即遗忘门,输入门,和输出门。
-
LSTM的一个初始化技巧就是将输出门]的bias置为正数(例如1或5,这点可以查看各大框架代码),这样模型刚开始训练时forget gate的值接近于1,不会发生梯度消失。
-
但LSTM有三个门,运算复杂,使用GRU来解决
3.3 LSTM的变形
LSTM与GRU的差异与相似
-
差异
- GRU只有两个门,分别为重置门和更新门。
- 混合了细胞状态和隐藏状态
- 重置门:控制忽略前- -时刻的状态信息的程度,重置门越小说明忽略的越多。
- 更新门:控制前- -时刻的状态信息被带入到当前状态中的程度,更新门值越大表示前一时刻的状态信息带入越多。
-
相似
- 从t-1到时刻的记忆的更新都引入加法。
- 可以防止梯度消失
4.扩展
4.1解决RNN梯度消失的其他办法
Clockwise RNN:普通RNN都是隐层丛前一个时间步连接到当前时间步。而CW-RNN把隐层分成很多组,每组有不同的循环周期,有的周期是1 (和普通RNN- -样),有的周期更长(例如从前两个时间步连接到当前时间步,不同周期的cell之间也有一些连接。这样- -来,距离较远的某个依赖关系就可以通过周期较长的cell少数几次循环访问到,从而网络层数不太深,更容易学到。
4.2基于attention的RNN
attention是受到人类注意力机制的启发。人们在进行观察图像的时候,其实并不是一次就把整幅图像的每个位置像素都过,大多是根据需求将注意力集中到图像的特定部分。而且人类会根据之前观察的图像学习到未来要观察图像注意力应该集中的位置。