前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学界 | 斯坦福提出神经任务编程NTP:让机器人从层级任务中学习

学界 | 斯坦福提出神经任务编程NTP:让机器人从层级任务中学习

作者头像
机器之心
发布2018-05-08 12:03:52
8320
发布2018-05-08 12:03:52
举报
文章被收录于专栏:机器之心

选自arXiv

机器之心编译

参与:朱乾树、蒋思源

斯坦福视觉与学习实验室与加州大学提出神经任务编程(NTP),它可以将指定任务作为输入,并递归地将该任务分解成更精细的具体子任务而进行学习。

论文地址:https://arxiv.org/abs/1710.01813

摘要: 在本篇论文中,我们提出一个新的称为神经任务编程(Neural Task Programming/NTP)的机器人学习框架,它支持从演示和神经网络程序归纳中进行 few-shot 学习。NTP 以指定任务(例如,任务的视频演示)作为输入,并将这一任务递归地分解成更精细的具体子任务。这些特定子任务被馈送到分级神经网络程序(hierarchical neural program),其中底层程序是与环境交互的可调用子程序。我们通过三个机器人任务来检验我们的方法。NTP 通过显式分层结构和组合结构的序列任务实现了模型的强泛化能力。实验结果表明,NTP 学习可以通过不断增加的长度,可变拓扑(variable topologies)和多变的目标来应用于未知的任务。

复杂操作任务中的自主性,如目标分类、装配和整理,需要通过机器人与环境之间的长时间交互进行一系列的决策。在复杂的任务中进行规划,适应新任务目标和初始条件绝对是是机器人领域长期面临的挑战 [6,13]。

实验表明 NTP 囊括了三种任务结构的变化:

1)任务长度:因问题大小的增加而改变步数(例如,具有更多的传送对象);

2)任务拓扑:灵活的排列和子任务的组合达到相同的终极目标(例如,以不同的顺序操纵对象);

3)任务语义:不同的任务定义和完成条件(例如,将对象放入不同的容器)

图 1:(上)测试时,NTP 实例化一个条件任务策略(一个神经网络程序),通过解释示范任务来执行指定的任务。策略与环境通过机器人 API 相互作用。(下)我们通过模拟和真实的环境中的块堆叠(A,B),目标分类(C,D)和清理桌子(图 8)任务评估 NTP。

成果总结:

1)我们的主要贡献是提出一个新颖的建模框架:NTP,其可以实现层次化任务的元学习(meta-learning)。

2)我们在模拟和实际机器人实验中对单臂操作任务建模以评估 NTP,这些任务包括:块堆叠(Block Stacking),目标分类(Object Sorting)和清理桌子(Table Clean-up)。

3)实验表明,NTP 使知识传播和基于泛化的一次性演示适用于长度增加、拓扑和语义改变的新任务,而不受限于初始配置。

4)我们还表明 NTP 可以通过视觉输入(图像和视频)进行端到端的训练。

图 2: 神经任务编程(NTP)给定一个输入程序,一个指定任务,结合当前环境评测,NTP 模型预测子程序是否继续运行,以特定任务的顺序子程序作为输入,还是应该停止当前程序。

图 3:块堆叠任务中 NTP 的样本执行轨迹图。任务是按指定要求堆叠字母块(block_D 堆在 block_E 之上,block_B 堆在 block_D 之上,等等)。顶层程序 block_stacking 作为输入参与整个演示(红色窗口),并预测下一个运行的子程序是 pick_and_place,它应该是将橙色窗口标记为特定输入作为指定任务的一部分。底层 API 调用机器人移动并关闭/打开手指。当程序结束符(EOP)为 True,当前程序停止并返回其调用方程序。

环境配置

我们的实验评价的目的是为了回答以下问题:

(1)NTP 是否概括了变化的所有三个维度:长度、拓扑和语义,如图 4 所示。

(2)NTP 是否直接以图像作为输入而不必使用标注真值。

(3)NTP 是否适用于复杂多变的现实任务。我们用三个机器人操作任务评估了 NTP:目标分类、块堆叠、清理桌子。每个任务需要完成多个步骤,并且可以递归地分解为重复的子任务。

图 4:任务结构的变化包括改变完成条件(任务语义),可变子任务排列(任务拓扑)和更大的任务容量(任务长度)。我们评估 NTP 模型对这三个变体类型的泛化能力。

图 5:任务长度:对模拟目标分类的评估。y 轴代表进行 100 次评估的平均成功率和 x 表示未知任务实例中的目标数。NTP 适用于日益增长的任务,而这是基准程序做不到的。

图 6:语义任务:块堆叠的模拟评估。x 轴是用于训练的任务数量。y 轴是整体成功率。图 A 和图 B 展示了随着任务数量的增加,NTP 和其变量能为新的任务示范和目标生成更好的结果。

图 7:可视化的 NTP:NTPVID(检测器)对图片使用对象检测器用于生成下一步的运行状态。NTP(E2E)是一种端到端模型,完全针对没有低级状态信息的图像进行训练。我们注意到,在部分观测案例(仅视频)中,与完全观察到的样例(NTP(全态))相比,可以看到类似的学习趋势,尽管性能有些损失。

表 1:机器人实例评估:锯木机器人在模拟训练的 NTP 模型中 20 个未知的块堆叠任务和 10 个未知分类任务的结果。NTP 失败表示算法错误,Manip 表示硬件交互错误(例如,抓取失败与碰撞)

表 2:动态对抗:在模拟对抗环境中块堆叠任务的评估结果。我们发现,使用 GRU 的 NTP 会发生间歇性故障,表现更差。

图 8:清理桌子:模拟及真实情况。右表模拟状态下叉子和碗个数对应的成功率。

本文为机器之心编译,转载请联系本公众号获得授权。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-10-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境配置
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档