Attention和增强RNNs—翻译Attention and Augmented Recurrent Neural Networks
关于翻译
因为之前看了Colah的博客Understanding LSTM Networks觉得受益匪浅,便关注了他的网站,最近又看了他和同事写的关于注意力机制(原文地址)的文章,便翻译一下,有些地方不到位,各位谅解。
作为深度学习重要基石之一的RNN允许神经网络可以处理诸如文本、音频、视频这些序列化的数据。他们可以从一个序列提炼出更高层次的理解,来注释序列甚至可以从头开始来生成新序列。
基本的RNN设计在处理长序列的问题有些欠缺,但一个特殊的变种—LSTM可以处理这些问题。这些模型被证实很强大,在包括机器翻译、语音识别、图片描述等许多任务中取得了显著的成果。在过去的几年中RNNs被广泛应用。
随着这一流行趋势,我们看到了很多给RNNs增加新属性的尝试。其中有四个令人激动的方向脱颖而出:
-
Neural Turing Machines-神经图灵机
有可以读写的外部记忆 -
Attentional Interfaces-注意力接口
允许RNNs关注输入的局部 -
Adaptive Computation Time-自适应计算时间
随着迭代允许自适应计算量 -
神经程序员
运行的时候可以自动调用函数构建程序
值得一提的是,这些技术都是RNNs的有力扩展,但是更重要的是这些技术可以被结合使用,就像RNNs扩展到更广阔空间的基点。此外,这些技术都依赖于一个一样的隐藏机制—注意力来生效。
我们猜想这些增强RNNs将会在未来深度学习的性能扩展上扮演重要的角色。
神经图灵机-Neural Turing Machines
神经图灵机把RNN和一个外部记忆库结合。因为用向量表示神经网络的自然语言,所以记忆库是向量的数组。
但是如何实现读写机制的呢?问题是我们想让读写的差异很小。特别是,我们希望使它们与我们读取或写入的位置相差无几,这样我们可以学习到读写的位置。因为记忆地址的离散使问题显得很棘手。NTMs采取了一个机制的方案:每一步都对所有位置进行读写,知识程度不同。
比如,我们关注读的例子。