【新智元导读】DeepMind 的最新研究成果,对广泛使用于语音识别、图像识别、语义理解等领域的深度学习人工网络RNN性能带来显著提升(substantially better )。研究主要在记忆时序生成模型上用了外部记忆来增强,对深度学习领域的研究有一定启发。作者介绍,新提出的模型可用在 Introspection Network、神经图灵机、Least-Recently Used access mechanism (LRU) 和可差分神经计算机(DNC) 。
DeepMind 的研究员们15日在arXiv 上传了一篇论文,名为《记忆时序生成模型》的论文,自称新的模型能在性能上比现在被广泛使用的RNN,比如LSTM ,有显著的提升。
论文作者包括:Mevlana Gemici, Chia-Chun Hung, Adam Santoro, Greg Wayne,Shakir Mohamed, Danilo J. Rezende, David Amos, Timothy Lillicrap 。这是DeepMind内部专攻通用人工智能的研究小组。
在论文摘要中,作者写道:
论文使用远程依赖(long-range dependencies)来解决时序数据建模中的一般问题。在这个研究中,基于时序的间隔和过去的观察,新的观察是完全可预测或部分可预测的。
足够有效的时序模型应该可以将序列的可预测元素和不可预测元素分开,对不可预测元素标示不确定性,并且快速识别可以帮助预测未来的新元素。
为了创建这样的模型,DeepMind 的研究者们提出了一种使用外部记忆系统增强的时序生成模型。它们是在变分推理(variational inference )框架下开发的,提供了实用的训练方法和深入了解模型运作的方法。研究展示了一系列稀疏的、远程时序依赖问题,这些模型从序列的早期阶段开始存储信息,并能有效地对已存储的信息进行再利用。
最终,新的模型在实验中比现有的基于递归神经网络(如 LSTM)的模型在性能上有显著的改进。
那么,这一研究有何意义?我们先来看看RNN是什么。
维基百科上的介绍是,循环神经网络(RNN)是人工神经网络的一种,网络中的单元之间的连接形成有向循环。这创建了网络的内部状态,允许其展现动态时间行为。与前馈神经网络不同,RNN可以使用其内部存储器来处理任意序列的输入。
图来自知乎用户:YJango
常规网络可以将输入和输出以向量对向量(无时间维度)的方式进行关联。而循环层的引入将其扩展到了序列对序列的匹配。从而产生了one to one右侧的一系列关联方式。较为特殊的是最后一个many to many,发生在输入输出的序列长度不确定时,其实质两个循环网络的拼接使用,公共点在紫色的隐藏状态ht+1ht+1。
根据YJango 的介绍,具体应用上:
正如上文提到,RNN在当下的深度学习技术中有着非常广泛的应用,从最早的手写字体识别,到后来的语音识别,再到机器翻译等等。
不过,RNN 自身也有一些缺陷,原因在于梯度消失(vanishinggradient)和梯度爆炸(exploding gradient)问题,由此,在研究中也延展出了许多新的模型,比如长短记忆网络和门网络等等。目前常见的RNN架构可以分为以下几种:
关于生成记忆模型
在DeepMind 的这一研究是基于一种被称为生成记忆模型(Generative Temporal Models )的架构,其中的一大亮点是使用了外部的记忆来增强网络。
在论文中,作者写道:我们在机器翻译应用中使用的许多数据集具有序列性,此外,无论是自然语言、语音处理数据、高清晰度的视频流、医疗诊断中纵向的时间序列数据,还是天气预报中的时空数据。
生成记忆模型对于这些应用来说是必需的。生成记忆模型对于智能代理来说也是重要组件,因为它们允许虚拟推理、物理预测、机器人本地化和在其他领域的基于模仿的规划。
这些任务要求了带有高水平的观测序列、并包含了复杂的、具有长程依赖性的模型,大部分现有GTM是无法达到要求的。研发达到上述要求的GTM是他们此项研究的一个大目标。
许多GTM——无论他们是线性的还是非线性的、确定的还是随机的——假设了潜在的时间动态是由低序马尔科夫迁移主导并使用了固定维度的充足数据。这样的模型有隐马尔科夫模型和像卡尔曼滤波器这样的线性动态系以及它们的非线性扩展。使用在这些模型中的定序马尔科夫假设对于描写许多实际相关的系统是不够的。Bialek在数量上论证了马尔科夫假设无法描写长程相关的物理系统,对文献中长距离相关性的部分也无法准确描写。那些去长程、多序的记录中获取信息的模型,比如循环神经网络,在这方面比限制在定序马尔科夫假设的模型要有显著优势。
许多最近提出的GTM,比如变量循环神经网络(VRNN)和深度卡尔曼滤波器,建立在广为人知的循环神经网络基础上,比如长短记忆网络 Long Short-Term Memory (LSTM) (Hochreiter and Schmidhuber, 1997) 和 Gated Recurrent Units (GRUs) (Chung et al., 2015a)。
原则上,这些循环网络可以解决变序马尔科夫问题,比如设计新增动态以存储和保护长程信息。实践中,当要求更高的存储容量时,它们表现很差。这些RNN是典型的密集联接,因此模型的参数复杂性会随着存储容量成二次方增长。再有,它们的循环动态必须服务于两个相互竞争的角色:一方面必须稳定地存储信息以供未来的提取,另一方面必须进行相关计算以提取即刻使用的信息。这些限制指向了对于将记忆存储从计算中区分出来的RNN的需要。
DeepMind的研究者证明了GTMM有更强的解决复杂、长程依赖性任务的能力。他们研发了一个通用结构,研究了四种使用不同类型存储系统的情况。这四个模型展示出不同的存储系统是如何适应不同类型的序列结构,以及对于成功建模、有效数据和生产质量的影响。
他们首先描述了设计generative temporal models的一般方法,并进行了几个不同的推断(第二部分)。然后,基于一系列为凸显给长程依赖性信息建模的不同问题而设计的视觉序列任务,比较了GTMM和VRNN。最后,大踏步地迈向为在三维环境中更富有理解能力的模型评级。
作者写道,在这一过程中,主要有以下技术贡献:
我们研发了带存储的产生模型的通用结构。这一结构使得我们可以发展基于我们存储系统的GTMM:一个新型位置存储结构,可用在 Introspection Network、神经图灵机, Least-Recently Used access mechanism (LRU) ,可差分神经计算机(DNC) 。
研究结果
在7个任务上测试了我们的模型,测试它们的学习能力和对有复杂依赖性的时序数据进行预测的能力。这些任务涉及图像序列建模,并提供演绎、空间推理和一次性生成(one-shot generalisation)的测试。下面为每个任务提供了示例训练序列。
任务中的样本序列 :pre-recall interval l = 20 , recall interval k = 5。
在奇偶校验调用任务中,调用的区间由标志每个初始图像k的均匀性或奇数性图像组成。
对于一次性调用任务,在测试时间的序列是用训练期间未使用的一组符号创建的。即便如此,完美的调用仍然是可能的。
在index-and-recall之后的动态依赖性任务的训练序列,其中每个图像里的数字提供序列次序中下一个数字的位置参考
相似性提示回忆任务的示例训练序列。
随机游走动作序列及在每个位置上发现的图像被提供给模型。在边界处,动作序列被限制在边界内。每个动作作为一个条件变量提供给生成模型,而不是自己建模。
30个时间步长原地交替的训练序列,该周期直到重复到约15个步长为止。
参考资料:https://zhuanlan.zhihu.com/p/24720659?refer=YJango