深度学习中的注意力机制
Neil Zhu,简书ID Not_GOD,University AI 创始人 & Chief Scientist,致力于推进世界人工智能化进程。制定并实施 UAI 中长期增长战略和目标,带领团队快速成长为人工智能领域最专业的力量。
作为行业领导者,他和UAI一起在2014年创建了TASA(中国最早的人工智能社团), DL Center(深度学习知识中心全球价值网络),AI growth(行业智库培训)等,为中国的人工智能人才建设输送了大量的血液和养分。此外,他还参与或者举办过各类国际性的人工智能峰会和活动,产生了巨大的影响力,书写了60万字的人工智能精品技术内容,生产翻译了全球第一本深度学习入门书《神经网络与深度学习》,生产的内容被大量的专业垂直公众号和媒体转载与连载。曾经受邀为国内顶尖大学制定人工智能学习规划和教授人工智能前沿课程,均受学生和老师好评。
考虑输入序列或者图像
考虑上层表示,这一层可以选择<看哪儿>,通过赋值一个权重或者概率给每个输入位置,正如一个 MLP 产生输出那样,应用在每个位置上:
上图
问题:使用 RNN 来学习选择性的注意力怎么样?你觉得在这个领域什么是最有潜力的方法?
Juergen Schmidhuber 回答说:我认为这是一个非常有趣的话题。人类和其他生物系统使用顺序的凝视移动来检测和识别模式。这个可以变得比全并行的模式识别方法更加高效。据我所知,25年钱,我们已经用了一个使用强化学习训练出来的神经网络来顺序地注意一幅输入图像的相关区域,并使用了适应性的注意力机制来确定关注哪些地方。这个系统使用了一个 RNN 方法在fovea saccades or “glimpses” [1][2] 上来学习目标输入(这些只是玩具例子——那个时候的计算能力要比现在弱百万倍)。我们持续研究了这个方法。例如,最近 Marijn Stollenga 和 Jonathan Masci 实现了一个包含反向链接的 CNN 学习来控制一个内部的注意力点。Univ. Toronto 和 DeepMind 同样也在基于注意力的神经网络[4,5]上发表了文章。当然,RL RNN 在部分可观测的场景中使用了原始的高维视觉输入流学习了视觉注意力作为副产品。[6] 我偏爱 [6] 中观点的通用性,我们在未来应该可以看到这方面更多的推广。
参考文献:
[1] J. Schmidhuber and R. Huber. Learning to generate focus trajectories for attentive vision. TR FKI-128-90, TUM, 1990. Images: http://people.idsia.ch/~juergen/attentive.html
[2] J. Schmidhuber and R. Huber. Learning to generate artificial fovea trajectories for target detection. International Journal of Neural Systems, 2(1 & 2):135-141, 1991
[3] M. Stollenga, J. Masci, F. Gomez, J. Schmidhuber. Deep Networks with Internal Selective Attention through Feedback Connections. NIPS 2014
[4] V. Mnih, N. Heess, A. Graves, K. Kavukcuoglu. Recurrent Models of Visual Attention. NIPS 2014.
[5] H. Larochelle and G. Hinton. Learning to combine foveal glimpses with a third-order Boltzmann machine. NIPS 2010.
[6] J. Koutnik, G. Cuccu, J. Schmidhuber, F. Gomez. Evolving Large-Scale Neural Networks for Vision-Based Reinforcement Learning. In Proc. GECCO, Amsterdam, July 2013.http://people.idsia.ch/~juergen/compressednetworksearch.html
问题:你有关于 LSTM 发展方向的想法么,使用这种模型进行的推断又是怎么样的?你对 NTM 和 MN 怎么看?
Juergen Schmidhuber 回答说,很高兴能够看到非标准可微的 LSTM 方法的复兴,诸如神经图灵机和记忆网络。在 1990s 和 2000s,有很多相关的工作。例如:
对 alternative 记忆网络(神经栈式机器)的可微的 push 和 pop 动作,这些机器也是通用机器,至少在理论上是:
- S. Das, C.L. Giles, G.Z. Sun, "Learning Context Free Grammars: Limitations of a Recurrent Neural Network with an External Stack Memory," Proc. 14th Annual Conf. of the Cog. Sci. Soc., p. 79, 1992.
- Mozer, M. C., & Das, S. (1993). A connectionist symbol manipulator that discovers the structure of context-free languages. NIPS 5 (pp. 863-870).
记忆机器,其中控制网络的外部可微存储器存在于另一个网络的快速权重中:
- J. Schmidhuber. Learning to control fast-weight memories: An alternative to recurrent nets. Neural Computation, 4(1):131-139, 1992
LSTM 忘记门则与这些工作相关:
- F. Gers, N. Schraudolph, J. Schmidhuber. Learning precise timing with LSTM recurrent networks. JMLR 3:115-143, 2002.
带有特定输出单元用来 addressing 和以可微的方式快速处理每个 RNN 自身的权重的自指式 RNN (所以这样的外部存储实际上是内部的):
- J. Schmidhuber. An introspective network that can learn to run its own weight change algorithm. In Proc. of the Intl. Conf. on Artificial Neural Networks, Brighton, pages 191-195. IEE, 1993.
相关的基于 LSTM RNN 的系统实际上在实践中学到了一种学习算法:
- Hochreiter, Sepp; Younger, A. Steven; Conwell, Peter R. (2001). "Learning to Learn Using Gradient Descent". ICANN 2001, 2130: 87–94.