2. 循环神经网络 RNN
2.1 RNN 与序列建模 **
RNN 结构
隐藏状态 ,通常 tanh
输出状态
损失
基于时间的反向传播(Back Propagation Through Time, BPTT)
CNN 对序列建模
TextCNN:文本序列 -> 二维网格数据
时间卷积网络:因果卷积、空洞卷积
2.2 RNN 中的 Dropout ***
Dropout 作用(正则化)
近似 Bagging,但不同网络共享参数
减少神经元共适应关系,更加泛化
RNN 中的 Dropout
前馈连接:t => t,循环连接:t => t+1
直观思路:Dropout 前馈连接,但效果不理想,因为大量参数在 循环连接
基于变分推理的 Dropout:所有时刻的循环连接上,采用相同的丢弃方法
Zoneout
2.3 RNN 中的长期依赖问题 **
梯度消失 / 爆炸:
最大特征值>1,梯度爆炸,梯度裁剪(超过阈值等比收缩)
最大特征值<1,梯度消失,LSTM / GRU
解决方案:初始化1,激活函数,正则化,跳跃连接,LSTM
2.4 长短期记忆网络 LSTM ****
长期依赖问题
LSTM
输入门 ,当前状态,多大程度更新到记忆单元中
遗忘门 ,之前记忆单元中的信息,多大程度被遗忘掉
输出门 ,当前输出,多大程度取决于当前记忆单元
内部记忆单元 ,于是
GRU(用更新门 实现 遗忘+记忆)
重置门 ,先前是否被忽略
更新门 ,当前是否被更新
,于是 $h_t=(1-z_t)h_{t-1}+z_t \tilde h_t$
2.5 Seq2Seq 架构 ***
机器翻译、语音识别、自动对话
思想:输入序列 - 编码 - 解码 - 输出序列
核心是 解码环节(贪心法、集束搜索、注意力机制)
信息丢失:序列翻转、注意力机制
Last updated