门控循环单元

门控循环单元(GRU)是循环神经网络(RNN)中的一种门控机制,与其他门控机制相似,其旨在解决标准RNN中的梯度消失/爆炸问题并同时保留序列的长期信息。GRU在许多诸如语音识别的序列任务上与LSTM同样出色,不过它的参数比LSTM少,仅包含一个重置门(reset gate)和一个更新门(update gate)。

简介

门控循环单元(GRU)是循环神经网络(RNN)中的一种门控机制,与其他门控机制相似,其旨在解决标准RNN中的梯度消失/爆炸问题并同时保留序列的长期信息。GRU在许多诸如语音识别的序列任务上与LSTM同样出色,不过它的参数比LSTM少,仅包含一个重置门(reset gate)和一个更新门(update gate)。

Fig 1.门控循环单元

来源: Understanding GRU networks, Medium, https://towardsdatascience.com/understanding-gru-networks-2ef37df6c9be

Fig 2.门控循环单元的状态转换

来源:Gated recurrent unit, Wikipedia, https://en.wikipedia.org/wiki/Gated_recurrent_unit#cite_note-1

发展历史

如何提取、学习序列型数据中的长期依赖是循环神经网络的主要任务,这其中的根本问题是经过多阶段传播后的梯度倾向于消失或爆炸。即使假设循环神经网络的参数是稳定的,由于在实际工作中涉及相同函数的多次嵌套,网络在长期相互作用中的梯度幅值会呈指数减小,训练时间因此大幅增长。而当网络增加了捕获依赖关系的不同跨度,又会使得梯度的优化变得困难。

一个早期的解决思路是在神经网络中引入不同时间维度的跳跃连接,同时学习数据在细时间和粗时间尺度的依赖关系,延迟循环神经网络便是基于这种思想。

另一种思路是约束梯度的传播,典型例子是设置线性自连接的隐藏单元,称为渗漏单元(leaky unit)。它通过加权累积一个滑动平均值控制有多少过去信息被保留。这权重可以视作一个时间常数,相邻网络单元间直接的跳跃连接可看作离散型的时间常数,而渗漏单元则推广至连续型的时间常数,从而更加平滑地控制过去值的取舍,但它的时间常数还是要通过人工调试。

更一般的,门控系统采取了自主学习时间常数的方式,每一时间节点的权重都由当前数据和上一时间点隐藏单元的输入决定,从而信息累积的时间尺度也可以随着输入序列而动态改变,在此之上产生了长短期记忆模型(LSTM)。LSTM的循环单元由输入门(input gate),遗忘门(forget gate)和输出门(output gate)组成,并保留着一个hidden state和cell state分别代表当前循环单元状态和网络的综合记忆状态,类比于人的短期与长期记忆。而更进一步的,循环门控系统(GRU)则提取出LSTM学习中真正必需的元素,仅使用一个更新门(update gate)和重置门(reset gate)且去除了cell state。在实际运用中,GRU和LSTM往往有着相似的优良表现,而其他门控RNN变种在广泛任务中也难以明显击败这两个原始结构。

来源:

Deep Learning,Ian Goodfellow, Yoshua Bengio, Aaron Courville

主要事件

年份事件相关论文
1991-1993循环神经网络训练中的梯度消失/爆炸问题由不同研究员独立发现Hochreiter, S. (1991a). "Untersuchungen zu dynamischen neuronalen", Netzen. Diploma thesis, T.U. München. (pp. 343-344).
Bengio, Y., Frasconi, P., and Simard, P. (1993). "The problem of learning long-term dependencies in recurrent networks", In IEEE International Conference on Neural Networks, pages 1183– 1195, San Francisco. IEEE Press. (invited paper). (pp. 344)
1994Bengio指出使用梯度下降的网络难以学习长期的依赖关系Bengio, Y., Simard, P., & Frasconi, P. (1994). "Learning Long-Term Dependencies with Gradient Descend is Difficult", IEEE Transactions on Neural Networks, Vol. 5, No. 2 (pp. 157-166).
1997LSTMS. Hochreiter; J. Schmidhuber (1997). "Long short-term memory". Neural Computation. 9 (8): 1735–1780.
1998Sepp Hochreiter系统分析了梯度消失/爆炸问题及可能的解决方法Hochreiter, S. (1998). “The Vanishing Gradient Problem During Learning Recurrent Neural Nets And Problem Solutions”, International Journal of Uncertainty, Fuzziness and Knowledge-Based Systems, Vol. 6 (pp. 107-116).
2007渗漏单元Jaeger, H., Lukosevicius, M., Popovici, D., and Siewert,U. (2007). Optimization and applications ofecho state networks with leaky- integrator neurons.Neural Networks, 20(3), (pp. 335–352).
Pascanu, R., Mikolov, T., & Bengio, Y. (2013). On the difficulty of training Recurrent Neural Networks. arXiv preprint arXiv:1211.5063.
2014Kyunghyun Cho等提出门控循环单元(GRU)Cho, K., van Merrienboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H., & Bengio, Y. (2014). “Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation”, arXiv preprint arXiv:1406.1078, 2014.
Chung, J., Gulcehre, C., Cho, K., & Bengio, Y. (2014). "Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling", arXiv preprint arXiv:1412.3555, 2014.

成熟阶段

循环神经网络如今在处理序列数据中被广泛运用,而门控循环单元则是最常使用的两种结构之一。其在手写识别,手写生成,语音识别,机器翻译和图像标题生成等任务上都有着重大成功。

发展分析

瓶颈

门控循环单元在长序列数据的处理上依然有限,且对于复杂度高的序列,其约简过的门控单元也难以有效提取层次化信息,而分层、结构化的信息表示对于很多序列识别、理解的任务及其解读往往十分重要。

未来发展方向

新型的门控单元,在网络中引入时间维度上的和层级结构上的信息提取,注意力机制和外显记忆等都是目前的研究发展方向。

Contributor: Justin Yuan

相关人物
于尔根·施密德胡伯
于尔根·施密德胡伯
초큥현(曹景贤)
초큥현(曹景贤)
纽约大学CILVR组,计算机科学和数据科学组助理教授。Facebook AI研究机构(FAIR)研究科学家。
Sepp Hochreiter
Sepp Hochreiter
Sepp Hochreiter 是一名德国计算机科学家。 1991 年,Sepp Hochreiter 发表了德语论文,探讨了循环神经网络的梯度随着序列长度增加倾向于消失或爆炸。与 Yoshua Bengio 的相关工作几乎同时,并且开发了 LSTM 的雏形。
简介
相关人物