深度学习

门控循环单元(GRU)

/ gee-ar-YOO /

GRU——「门控循环单元」(gated recurrent unit)——是 LSTM 的一个精简版表亲。它追求的目标是一样的:让循环网络把信息跨过序列的长段一路带下去,不致褪没。区别在于,GRU 用更少的零件做到这一点。如果说 LSTM 是一台带三个阀门、两条独立记忆线的机器,那么 GRU 就是一种更利落的设计,只有两个阀门和一条记忆线,力图用更少的搭建和训练,换来几乎相同的结果。

它靠两个门来运作。更新门决定旧记忆保留多少、新信息放进多少——实际上把「守住我已知的」与「接纳刚到来的」合成了一个动作。重置门决定在形成一份新的候选记忆时,要忽略掉多少过去,这帮助它甩掉无关的历史。关键在于,GRU 把 LSTM 那条独立的细胞状态和隐状态合并成了一条,于是要学的数字更少。和 LSTM 一样,它的门可以选择「基本不动那份记忆」,正是这一点,让有用的信号——以及训练时的误差信号——能跨过许多步而存活,不致消失。

实践中,GRU 与 LSTM 在大多数任务上表现相近;谁也不是放之四海皆优,所以人们常常两者都试。GRU 的魅力在于它更轻、训练略快,这在数据集较小或硬件较紧时很要紧。要老实说出的告诫,与整个 RNN 家族相同:它们一次只读一步,因而在很长的序列上很慢,而对最大的语言模型,Transformer 已把它们超越。不过,对于规模不大的序列问题,GRU 依然是一个实用而省俭的主力。

用过去一个月去预测明天的气温:更新门让 GRU 大体把一个稳定的季节趋势带下去,同时让几天前一场突如其来的寒潮去微调预测——既守住稳定的,又为新情况做调整。

两个门、一条记忆:GRU 在「记住」这件事上更精简的做法。

GRU 与 LSTM 的较量,很少有一方明显胜出;GRU 只是更轻、往往训练更快。没有哪条规则说谁永远赢谁——真要紧的时候,就在你自己的数据上把两者都试一遍。

又称
gated recurrent unit门控循环单元閘控循環單元GRU 网络