目录

深入GRU

Update Gate

Reset Gate

tanh-RNN与GRU的对比

GRU与LSTM的对比

深入LSTM

训练一个RNN

Ensemble


  • 深入GRU

CS224N笔记——深入GRU和LSTM

RNN的梯度消失:损失在反向传播中必须经过所有中间节点。

CS224N笔记——深入GRU和LSTM

GRU额外添加了一些“捷径”红线,允许梯度直接流过去,而不是连乘的方式递减过去。

Update Gate

CS224N笔记——深入GRU和LSTM

用来自适应学习应该把多少注意力放到前一个隐藏层状态上。

Reset Gate

CS224N笔记——深入GRU和LSTM

自适应地删除不需要的连接。

tanh-RNN与GRU的对比

CS224N笔记——深入GRU和LSTM

朴素RNN读取所有寄存器h,运算后存入所有寄存器,没有灵活性。

CS224N笔记——深入GRU和LSTM

GRU可以灵活地选择读取部分寄存器,执行运算,写入部分寄存器。

Reset Gate起到决定要读哪些寄存器的目的,而Update Gate决定要写的寄存器。这里的“决定”其实是“强度”的意思,不是绝对的。

GRU与LSTM的对比

GRU中的隐藏状态CS224N笔记——深入GRU和LSTM类似于LSTM中的cell CS224N笔记——深入GRU和LSTM,而LSTM中的隐藏状态CS224N笔记——深入GRU和LSTM其实相当于一个暴露给外部世界的“显状态”。LSTM通过给cell加一个tanh获得非线性的灵活性。

CS224N笔记——深入GRU和LSTM

  • 深入LSTM

CS224N笔记——深入GRU和LSTM

LSTM将所有操作都设置为门,这样就可以忘记/忽略某些东西,而不是把它们全部塞进其他操作之上:

CS224N笔记——深入GRU和LSTM

New Memory Cell的计算是一个非线性的过程,与朴素RNN一模一样:

CS224N笔记——深入GRU和LSTM

最关键之处在于,Memory Cell的更新中有一个加法项直接来自上一刻的Cell,也就是说建立了ct和ct−1的直接线性连接(与ResNet类似):

CS224N笔记——深入GRU和LSTM

类似于GRU中的加法,在反向传播的时候允许原封不动地传递残差,也允许不传递残差,总之是自适应的。

有了这些改进,LSTM的记忆可以比RNN持续更长的step(大约100)。

训练一个RNN

  • 使用LSTM或GRU
  • 将递归权值矩阵初始化为正交
  • 将其他矩阵初始化为较小的值
  • 将forget gate偏置设为1:默认为不遗忘
  • 使用自适应的学习率算法:Adam、AdaDelta
  • 裁剪梯度的长度为小于1-5
  • 在Cell中垂直应用Dropout而不是水平Dropout
  • 保持耐心,通常需要训练很长时间

Ensemble

如果想获得额外的2个百分点的效果提升,可以训练多个模型,平均它们的预测。

CS224N笔记——深入GRU和LSTM

 

相关文章:

  • 2021-07-21
  • 2021-05-06
  • 2022-01-20
  • 2021-06-19
  • 2021-10-08
  • 2022-03-01
猜你喜欢
  • 2021-06-10
  • 2021-05-28
  • 2021-12-21
相关资源
相似解决方案