视频学习:循环神经网络
绪论
- 基本应用:语音问答、机器翻译、股票预测、作词/诗机、模仿写论文/代码、图像理解、视觉问答
- RNN vs CNN
- 传统神经网络,卷积神经网络,输入和输出之间是相互独立的。
- RNN可以更好的处理具有时序关系的任务。
- RNN通过其循环结构引入"记忆"的概念。
- 输出不仅依赖于输入,还依赖于“记忆”
- 将同一结构循环利用
基本组成结构
-
基本结构:两种输入,两种输出,一种函数
-
深度RNN
-
双向RNN
-
BPTT算法
变种
-
传统RNN的问题:
-
当循环神经网络在时间维度上非常深的时候,会导致梯度消失或者梯度爆炸的问题
-
梯度爆炸导致的问题:模型训练不稳定,梯度变为Nan(无效数字),lnf(无穷大)
-
梯度爆炸的改进:权重衰减、梯度截断
-
梯度消失的改进:改进模型、LSTM、GRU
-
-
LSTM(长短期记忆模型)
RNN和LSTM的区别
- RNN和LSTM对记忆的处理方式不同。
- RNN 的“记忆”在每个时间点都会被新的输入覆盖,但 LSTM 中“记忆”是与新的输入相加。
- LSTM:如果前边的输入对 Ct 产生了影响,那这个影响会一直存在,除非遗忘门的权重为0。
- 小技巧:LSTM中learning rate可以被尽量的设置小。
-
GRU(门控循环单元)
扩展
-
解决RNN梯度消失的其他方法
-
基于attention的RNN
attention是受到人类注意力机制的启发。人们在进行观察图像的时候,其实并不是一次就把整幅图像的每个位置像素都看过,大多是根据需求将注意力集中到图像的特定部分。而且人类会根据之前观察的图像学习到未来要观察图像注意力应该集中的位置。