前言

门控递归单元(Gated Recurrent Unit,GRU)是LSTM的一个流行的简化变种,由Cho, et al. (2014)提出。

算法原理

GRU将遗忘门输入门合并成一个更新门(update gate)(输出为ztz_t),将胞元状态CC和隐藏层状态hh合二为一,并且加了一个作用于隐藏层状态hh重置门(reset gate)(输出为rtr_t)。

1

GRU聪明的一点就在于使用了同一个门控zz同时完成了遗忘1z1-z)和记忆zz)的操作。遗忘和记忆的程度之和为1,就保证了hh的尺度不变,也就省去了输出前的tanh操作。

与LSTM的对应关系

    1. GRU的ht1h_{t-1}对应到LSTM的胞元状态Ct1C_{t-1}
    1. GRU重置门其实对应到LSTM的输出门,则GRU的rtht1r_t*h_{t-1}对应到LSTM的隐藏层状态ht1h_{t-1},相当于隐藏层状态即算即用,也就不用额外的变量存储隐藏层状态了;
    1. GRU的1zt1-z_t对应到LSTM的遗忘门输出ftf_t,GRU的更新门输出ztz_t对应到LSTM的输入门输出iti_t

总结

GRU能达到与LSTM相同的功能,但参数比LSTM要少,需要的计算资源和时间成本更少,没有理由不流行嘛 ( :

参考

[1] Understanding LSTM Networks

[2] 人人都能看懂的GRU