【RNN系列】RNN的变种 以及提高RNN训练速度的多种方法

最受欢迎的两个循环单元是长短期记忆(LSTM)和门控循环单元(GRU),两者都可以将先前的记忆存储在隐藏状态,并使用门控机制来确定应该在何种程度将先前的记忆应与当前的输入结合。但是,由于其循环的结构,RNN不能并行计算。因此,训练RNN需要花费大量时间,这限制了学术研究和工业应用。

为了解决这个问题,一些学者尝试在NLP领域使用卷积神经网络(CNN)来代替RNN。但是,CNN无法获得序列的顺序信息,而顺序信息在NLP任务中非常重要。

线性激活函数

简介

瓶颈

  1. 训练速度
  2. 模型收敛 (梯度消失、弥散)

针对LSTM结构的加速策略

  • 合并input gate和forget gate:GRU、SRU
  • 合并cell state和hidden state: GRU、
  • 分割成多个子序列来实现并行化 SRNN。它在不改变循环单元的情况下,能够比标准RNN快得多
    -

针对模型收敛的优化

  • LSTM
  • shortcut

TOD

SRU+slice。有必要吗?貌似没必要了。SRU中计算