AB
AiBoss
Wiki

什么是门控循环单元(Gated Recurrent Unit)?一种带门控机制的循环神经网络单元

门控循环单元(GRU)是循环神经网络中使用的一种带门控机制的循环单元。arXiv 论文《Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling》将其与长短期记忆单元(LSTM)并列比较,并在复调音乐建模与语音信号建模任务上评估,报告称这类高级循环单元优于 tanh 单元,且 GRU 与 LSTM 表现相当。

门控循环单元(Gated Recurrent Unit,缩写 GRU)是循环神经网络(Recurrent Neural Network,RNN)中一种带有门控机制的循环单元,用来在序列建模时控制信息的保留与更新。它要解决的问题是:传统循环单元在长序列上难以稳定地记住有用信息、抑制无关信息,而门控结构提供了一条可学习的通路来决定「记住多少、写入多少」。

为什么重要

在门控单元被系统比较之前,循环神经网络里常见的做法是使用较为简单的循环单元,例如 tanh 单元。这类单元在每个时间步对输入与上一时刻状态做一次固定的非线性变换,没有额外的、可学习的开关来决定信息该保留还是丢弃。序列一长,梯度在时间维度上反复相乘,训练就变得困难,模型对较早信息的利用也随之变弱。

针对这一痛点,研究者提出了更复杂的、实现门控机制的单元,其中被广泛讨论的两种是长短期记忆单元(Long Short-Term Memory,LSTM)和门控循环单元(GRU)。arXiv 论文《Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling》正是围绕这一背景展开:作者在摘要中说明,论文比较了循环神经网络中不同类型的循环单元,重点放在实现门控机制的更复杂单元上,即 LSTM 单元与「最近提出的」门控循环单元。该论文于 2014 年 12 月 11 日提交至 arXiv,作者为 Junyoung Chung、Caglar Gulcehre、KyungHyun Cho、Yoshua Bengio,并在 NIPS 2014 Deep Learning and Representation Learning Workshop 上报告。

这项工作的意义在于,它把「门控是否真的有用」以及「GRU 与 LSTM 孰优孰劣」变成了可实验检验的问题,而不是停留在结构设计的直觉层面。

工作机制

需要说明的是,下面描述的是门控循环单元这一类结构的一般做法,属于该主题的通用知识;该论文本身的主旨是经验性比较,而非提出新的门控公式。

  • 两个门。GRU 通常包含一个更新门(update gate)和一个重置门(reset gate)。更新门决定上一时刻的隐状态有多少被保留到当前时刻,重置门决定在计算候选状态时上一时刻隐状态被参考的程度。
  • 候选状态。当前时刻的候选隐状态由当前输入与「经过重置门调节后的上一时刻隐状态」共同计算得到。重置门接近关闭时,候选状态更多地依赖当前输入,相当于暂时「忘掉」历史。
  • 状态更新。最终隐状态在上一时刻隐状态与候选状态之间做一次由更新门控制的插值:更新门偏向保留时,状态变化平缓,信息得以跨较长时间步传递;更新门偏向写入时,状态更快跟随新输入。
  • 与 LSTM 的差别。相比 LSTM,GRU 把门与状态的组织方式做了简化,通常不单独维护一个与隐状态分离的细胞状态。这一简化减少了需要学习的参数与计算量,但也意味着它并非 LSTM 的严格超集或等价替换。
  • 训练方式。与普通 RNN 一样,GRU 通过随时间反向传播(backpropagation through time)训练,门控参数与其余权重一同由梯度下降更新。

从信息流的角度看,门控的价值在于把「保留」与「覆盖」变成连续、可微的系数,使模型能够针对不同任务、不同时间尺度自行学习记忆长度,而不必由人工设定固定的衰减方式。

典型例子

该论文给出的实证场景有两个:复调音乐建模(polyphonic music modeling)与语音信号建模(speech signal modeling)。作者在这两类序列建模任务上评估了不同的循环单元。

论文摘要报告的结论有两点。其一,这些高级循环单元确实优于更传统的循环单元,例如 tanh 单元。其二,作者发现 GRU 与 LSTM 表现相当(comparable)。需要强调的是,这是该论文在其设定的任务与实验条件下得出的结论,属于作者的主张,不应被推广为「GRU 普遍等同或优于 LSTM」的行业定论;论文摘要并未给出具体的性能数值,也未覆盖此后出现的各类任务与规模。

在更广的使用层面,GRU 作为循环神经网络的一种单元选择,常被用于序列到序列建模、语言建模、语音处理等需要处理变长输入的任务。这类应用属于该结构的常见用途,而非上述论文的实验结论。

边界与常见误解

  • 不是「一定比 LSTM 好」。论文的表述是二者表现相当,且限定在复调音乐建模与语音信号建模两类任务上。把它读成 GRU 全面胜出,超出了原始素材的范围。
  • 不是「门控万能」。论文的对比对象是 tanh 单元等较传统的循环单元,结论是高级门控单元更好;这并不说明门控单元能解决序列建模的所有问题,例如极长依赖、并行训练效率等仍受循环结构本身的限制。
  • 不是新结构。论文把 GRU 称为「最近提出的」单元,其贡献在于经验评估与比较,而非在该文中首次提出 GRU。把该论文当作 GRU 的原始出处是一种常见混淆。
  • 简化有代价。GRU 相对 LSTM 的结构简化减少了参数,但也去掉了独立的细胞状态通路;在具体任务上哪种更合适,需要实验判断,不能由结构简单直接推出效果更好。
  • 结论有时效与条件。论文发表于 2014 年,实验规模、数据集与基线均属当时设定;后续硬件、数据与模型规模的变化不在其考察范围内。

参考资料