设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 624|回复: 1
收起左侧

人工智能|Neural Program Meta-Induction

[复制链接]
发表于 2017-10-18 16:47:18 | 显示全部楼层 |阅读模式
本帖最后由 yeslab官方 于 2017-10-18 16:49 编辑

近期微软研究院发布了一篇题材新颖的论文《Neural Program Meta-Induction》,研究团队是由 Google,Google-DeepMind,Oxford,Microsoft Research 等多人组成的,旨在证明多项人工智能任务的相关性 (Meta-Induction) 能够用来提高人工智能程序处理全新任务时的经验。
    该项研究是建立在 Karel 这种编程语言的,因为 Karel 机器人任务为自学习类程序打造了更艰巨的挑战:大量复杂的操作流(图1)。 Karel编程语言是由Richard E. Pattis在他的书《Karel The Robot: A Gentle Introduction to the Art of Programming》中提出,最早发布是在 1981 年。目前 Pattis 在他斯坦福大学的课堂上使用这门语言。


                               
登录/注册后可看大图

   图1:图中I_1,O_1是对应的一对IO,IO下标1与2都是训练数据,而ÎÔ是测试数据,Underlying Program则是数据的示例(操作流)

   可以看到交叉任务(cross-task)是很可能对 Karel 机器人程序中的操作流产生学习效果的,类似于自然语言处理中 Seq2Seq 的形式。
   此类任务在目前的学习类算法中通常需要使用大量的 IO,例如为程序输入“左转-前进-抓取-右转-右转-前进-停止”这样的操作序列,然后与实际产生的效果做匹配(机器人抓回了指定货物),此为一条IO数据。如果我们使用Reinforcement learning(Alphgo核心学习技术),则需要几乎遍历所有操作流步骤的单项任务 IO 数据,所以就需要巨量的 IO 数据来进行训练,例如“星际争霸”游戏AI不经过再次训练的话,并不适合玩“魔兽争霸”,如何利用任务的相关性以及在限制IO数量的条件下提升人工智能对同类任务的“类化”学习能力,是本文的研究重点。
   本文使用了4种技术进行对比:
   • Plain Program Induction (PLAIN) 不能处理交叉任务(cross-task)
   • Portfolio-Adapted Program Induction (PLAIN+ADAPT) 处理交叉任务效果不佳
   • Meta Program Induction (META) 适合处理交叉任务
   • Adapted Meta Program Induction (META+ADAPT) 适合处理交叉任务
   单任务学习与多任务学习具有不同的网络结构(图2),单任务学习直接由传统的Encoder-Decoder 模型构成,而多任务学习的 Encoder 则由两部分构成:本任务的Input 和来自相关任务的Task Encoder。

                               
登录/注册后可看大图

  图2:左侧为单任务学习,右侧为多任务交叉学习

   本文使用的神经网络系统结构:
   • Input Encoder: 输入数据(本任务输入数据)>> 3-layer CNN >> FC+relu
   • Output Decoder: 1-layer LSTM >> 输出值
   • Task Encoder: 输入数据(旁路任务输入数据+旁路任务输出数据)>> 1-layer CNN >> 变成一个单任务single example >> 6-layer CNN >> FC+relu >> 所有旁路任务汇聚 >> Max-Pooling
   其中一些超参如下:
   • CNN均使用3x3 kernel with 64-dim feature map
   • 全连接层为1024 dim
   • LSTM为1024 dim
   • Dropout, Learning rate, batch size通过grid search 优化,这种优化是针对每一个n值(选择测试数据数量,论文Section5,6中有描述)
   • 优化方法为SGD + momentum
   详细实验系统组成与过程如图3,训练结果(测试集准确率)如图4,可以看到 Meta和 Meta+Adapt 在训练数据较少的时候处于领先地位,随着训练数据的增多,Meta+Adapt 仍然表现不俗,且论文中明确说明了,Meta 开始训练时,本任务训练数据仅 5 个,但会具备大量相关任务。

                               
登录/注册后可看大图

  图3:行项为使用的技术,列项为不同的训练任务


                               
登录/注册后可看大图

图4:测试结果

   在此实验后,该团队又对上面几种技术的结合形式进行了测试,从而得到了以下指引性结果(图5)


                               
登录/注册后可看大图
图5:适用场景对比指引



   该结果论证了怎样的数据、应用场景应该选用哪种技术。人工智能系统的自学习任务应当面向更少数据与更复杂的任务类型,毕竟人工智能的目的是创造类似人类的智能机器,完成对人类造成困扰与危险的社会工作,使人类的生存环境更加舒适,而不是只有饱读数据的机器人才能完成简单的仓库搬运工作。
(论文来源是arXiv)

                               
登录/注册后可看大图


发表于 2017-10-18 21:29:35 | 显示全部楼层
路过了解一下!
沙发 2017-10-18 21:29:35 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-3-29 19:58 , Processed in 0.281411 second(s), 9 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表