【ICLR 2016最佳论文】DeepMind 开发 NPI,有望取代初级程序员(附下载)

【新智元导读】特征学习和深度学习重要会议 ICLR 2016 最佳论文,DeepMind 团队开发了一个“神经编程解释器”(NPI),能自己学习并且编辑简单的程序,排序的泛化能力也比序列到序列的 LSTM 更高。机器,已经可以取代部分初级程序员的工作了。

  • 题目:神经程序解释器(Neural Programmer-Interpreters)
  • 作者:Scott Reed & Nando de Freitas,Google DeepMind

摘要

我们提出了一种神经编程解释器(Neural Programmer-Interpreter,NPI):它是一种递归性的合成神经网络,能学习对程序进行表征和执行。NPI 有3个拥有学习能力的部件:一是任务未知的递归内核,二是持续键值程序内存,三是基于特定领域的编码器,这个编码器能在多个感知上有差异的环境中让单一的 NPI 提供截然不同的功能。通过合成低层程序表达高层程序,NPI 减少了样本复杂性,同时比序列到序列的 LSTM 更容易泛化。通过在既有程序的基础上进行建构,程序内存能高效学习额外的任务。NPI 也可以利用环境(如具有读写指针的暂时存储器)缓存计算的中间结果,从而减轻递归隐藏单元的长期存储负担。研究中我们通过完全监督的执行追踪训练 NPI。每个程序都拥有受输入影响的直接子程序调用的实例序列。我们用少量但信息丰富的样本而非大量但信息含量低的标签训练 NPI。我们展示了我们的模型学习若干种合成程序的能力,这些程序包括加法、排序和对 3D 模型进行规范化转换。此外,单一 NPI 能学会执行这些程序以及所有 21 个关联子程序。

引言

人工智能的核心挑战之一是教会机器学习新的程序、从既有程序中快速地编写新程序,并自动在一定条件下执行这些程序以解决广泛种类的任务。在各种人工智能问题中,程序以不同的面貌出现,包括运动行为、图像转换、强化学习策略、经典算法和符号关系等。

我们开发了一种合成架构,它能学习如何表征和解释程序。我们把这个构架称为神经程序解释器(NPI)。核心模块是一个基于 LSTM 的序列模型,这个模型的输入包括一个可学习的程序嵌入、由调用程序传递的程序参数和对环境的特征表征。这个核心模块的输出包括,一个能指示接下来将调用哪个程序的键、一个经典算法程序的参数,以及一个能指示该程序是否该停止的标记。除了递归性内核外,NPI 构架还包括一个关于程序嵌入的可学习的键值内存。对于对程序的持续学习和重用来说,这种程序-内存是根本性的。图 1 和图 2 揭示了 NPI 在两个不同任务中的表现。

图 1:汽车 3D 模型的规范化转换的实例执行。这里的任务是移动摄像机以达到目标角度和高度。一个只读的暂时存储器中存放着目标状态(即角度 1,高度 2)。图像编码器是一个深层卷积网络(convnet),它通过便笺使用像素进行训练。【点击查看大图】

图 2:单数字加法的实例执行追踪。这里的任务是为前两行的指针位置的数字执行单数字加法。进位(第3行)和输出(第4行)随时被更新以反映加法过程。在每个时间步骤中(从便笺中的每个指针的角度)对环境的观察都被编码进了一个固定长度的向量。【点击查看大图】

我们在实验中表明,NPI 构架能够学习 21 个程序,包括加法、排序和对图像像素的轨迹规划等。重要的是,用一个在所有任务间共享相同参数的单一核心模型就能实现这些。不同的环境(例如图像、文本和便笺)可能要求特定的知觉模型或编码器来产生能被共同内核处理的特征,它们可能也要求环境专属的执行器。知觉模型和执行器都可以在训练 NPI 构架时从数据中学习到。

为了训练 NPI,我们使用了课程学习和基于实例执行追踪的监督。每个程序都拥有受输入影响的直接子程序调用的实例序列。

通过使用神经网络来表征子程序,并从数据中学习,该方法可以适用于那些涉及丰富知觉输入和不确定性的任务。我们可以设想两种提供监督的方法。按照第1种方法,像在对象识别、语音和机器翻译中那样,我们提供大量的标签实例。按照第2种方法,也就是本文中的方法,我们的目标是只提供很少的标签样本,但这些标签却包含丰富的信息,使模型能学到合成结构。虽然无监督学习和强化学习在知觉和运动控制中起着重要作用;但同时大量监督学习和课程学习,也能形成其他认知能力。这也是我们送孩子去上学的原因。

我们建造和训练模型的方法的优点是,学到的程序展现了较强的泛化能力。特别是训练程序对长达 20 个数字的序列进行排序之后,测试时程序能够对更长的序列进行排序。与此相对比,我们的实验表明,更标准的序列到序列 LSTM 只展现出了较弱的泛化能力(参见图6)。一个具有固定参数和学到的程序库,并且经过训练过的 NPI,既能够充当解释器,也能够充当编程器。作为解释器,它以程序嵌入和数据输入的方式获得输入,随后执行程序。作为编程器,它利用从新任务中获得的样本来产生新的程序嵌入,而这个新的程序嵌入可以被添加到程序库中。

图 6:NPI 与 序列到序列 LSTM 对不同长度的序列进行排序的准确率对比,最长序列含有20个数组。

  • 相关研究(略)
  • 模型建立(略)
  • 试验过程(略)

结论

我们证明了 NPI 能在差异巨大且功能不同的环境中学习编程。排序任务中我们证明 NPI 比序列到序列的 LSTM 泛化能力更高。我们也展示了一个拥有固定内核、经过训练的 NPI 能够在不遗忘已学到的程序的情况下,继续学习新的程序。

本文分享自微信公众号 - 新智元(AI_era)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-05-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏新智元

耶鲁编程马拉松:用神经网络学习超级马里奥游戏

? Joe Crozier 和我最近刚从YHack 回来,那是一个耶鲁大学举办的36小时编程马拉松,有1500人参加。这是我们连续第二年参加这个比赛,也是我们...

43380
来自专栏AI科技评论

动态 | 新里程碑!微软语音到文字转录已经达到人类水平

AI 科技评论按:语音到文字的转换是语音研究领域的重要课题。自引入神经网络的方法以来,语音识别正确率有了长足的进展,也为苹果 Siri、亚马逊 Echo、科大讯...

44790
来自专栏人工智能快报

IBM类脑计算机正式上市

据《计算机世界》网站2016年3月31日报道,IBM迄今为止最大型的类脑计算机NS16e正式上市。首个采购NS16e的买家是美国劳伦斯·利弗莫尔国家实验室,IB...

42450
来自专栏人工智能快报

欧盟“人脑工程”开放六大ICT平台

2016年3月30日,欧盟“人脑工程(HBP)”项目宣布向该项目外部的用户开放六大信息与通讯技术(ICT)平台,这些平台旨在帮助科学界加速神经科学、医学与计算领...

43840
来自专栏新智元

深度学习会让机器学习工程师失业吗?

有人说,每10到15年神经网络就会经历一个这样的循环:由于人们变得对大规模凸优化问题兴致盎然,神经网络会被遗忘10年——然后换上一个性感的新名字(比如深度学习)...

44570
来自专栏AI科技评论

观点 | 号称打败谷歌翻译的 DeepL 究竟靠不靠谱?

鉴于数据、计算力、算法等诸多门槛,自神经机器翻译(NMT)产品化以来,在很大程度上便是互联网巨头们的竞技场。 如今,又一个新的挑战者高调加入进来,直接把矛头指向...

38690
来自专栏AI科技评论

「AI识别的是同性恋,警醒的是所有人的隐私安全」,斯坦福作者回应论文争议

AI 科技评论按:上周,斯坦福大学一篇识别同性恋的论文引起了轩然大波。 ? 这是一篇用深度神经网络识别同性恋的论文,即将要发表在美国心理学会的「人格与社会心理学...

35590
来自专栏AI科技评论

学界 | 全景照片不怕歪!Facebook 用神经网络矫正扭曲的地平线

AI科技评论按:最近微博上的全景照片很火呀,相比各位都已经在自己的iPhone或者iPad上品鉴了多家IT公司的办公室、游玩了多个旅游胜地、享受了被小猫小狗环绕...

41270
来自专栏新智元

【深度学习】深度学习的最新进展及诺亚方舟实验室的研究

深度学习是机器学习的一个领域,研究复杂的人工神经网络的算法、理论、及应用。自从2006年被Hinton等提出以来[1],深度学习得到了巨大发展,已被成功地应用到...

43150
来自专栏AI科技评论

业界 | 腾讯论文入选Interspeech 2017:在单通道语音分离中应用的深度神经网路的训练优化

AI 科技评论按:2017年8月20日,语音通信领域的国际顶级学术会议Interspeech 2017在瑞典斯德哥尔摩召开,腾讯音视频实验室王燕南博士的一篇论文...

52770

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励