MIT怎样教AI做虚拟家务?让它写个程序指挥自己啊 | CVPR 2018

方栗子 发自 凹非寺 量子位 出品 | 公众号 QbitAI

先提一个可能直击灵魂的问题:

你家水池里的碗,放了几天了?

显然,你和TA都不想先去洗,那样就是低了头。

让服务机器人出面化解这场僵持,可能还只是想想而已。

不过,训练AI在虚拟世界里做家务,已经有人在做了。

他们还说,教AI做虚拟家务,是为了今后能让机器人全权代理人类的家务工作。

女仆机器人嘿嘿嘿

以麻省理工 (MIT) 和多伦多大学的研究人员为主的一支AI团队,建立起了名为VirturalHome的家庭环境模拟器,化为人形的智能体可以在里面学习大量的生活技能。

事无巨细模拟器

VirtualHome由三个部分组成。

一是家务知识库,里面包含了人类在家庭生活里会经历的各种活动。

教AI做事情不容易,比如让它看电视,如果不告诉它坐到沙发上、拿起遥控器,它自己并不会去做这些准备动作。

所以,不论一项技能多么日常,都需要把它尽可能拆解成细小的步骤,比如走进厨房,拿起杯子之类。

于是,知识库里的每一个任务,都要包含分解动作的文字描述,以及用来执行的脚本。

二是3D模拟器,里面有6个公寓,以及4个人物可以选择。虚拟环境中,示例、语义标签注解、深度、姿势以及光流,应有尽有。

在这里面,角色可以执行程序给定的任务,可以生成各种家务活动的视频。

三是脚本生成模型,根据自然语言描述或者视频内容,生成相应任务的执行程序。

在模拟器并不十分广阔的天地里,研究人员要训练神经网络的各项家务技能。

论文里说,这项研究的目标,就是让AI在自然语言和视频的指引之下,自己写出程序来做好家务。

一步很难登天,那么,三步怎么样?

1 数据怎么搞

要训练出一只可靠的家务AI,首先就是搜集各种家务活动的数据,这要分为两个部分——

第一部分,让一群临时工 (AMT worker) 来提供任务的口头描述。每个人要想出一项日常家庭活动,给出高级名称,比如“做咖啡”,然后描述它的分解步骤。

活动按起始场景分类,于是就有8种,客厅、厨房、餐厅、卧室、儿童房、浴室、玄关、书房。每个场景都包含了350个物体。

第二部分,临时工们会用图形编程语言,把这些描述翻译成程序,当然也需要详细的步骤 (每一步都是一个block) ,而且要比描述的还要全面——要让 (目前还不存在的) 机器人能够贯彻落实。

数据集就这样建好了,里面充满了大大小小的任务所对应的程序。

2 动画化

把数据集里的程序变成动画,首先要看房间里的哪个物体才是要操作的对象,同时生成合理的动作。这里,系统需要把一个任务的所有步骤都看过一遍,然后规划一条合理的路径。

比如,执行一项“打开电脑然后敲键盘”的任务,比较理想的流程是,开机之后就在离目标电脑最近的键盘上操作就可以了,不用再确定哪一个才是目标键盘。

视频内容

原子动作动画化

每个任务都是由大量原子动作 (Atomic Actions) 组成的,把它们全部动画化是个不小的工程。

这里用到了12种最常见的动作:走/跑、抓取、按键开/关、(物理) 打开/关闭、放置、望向、坐下/站起,以及触摸。每种动作的执行方式不唯一,比如开冰箱开抽屉,姿势就不一样了。

团队用Unity引擎里的NavMesh来导航;用RootMotion FinalIK反向动力学包,把每个动作动画化。

另外,跟人物发生交互的物体,也要发生相应的动作。

程序动画化

要让程序里的任务显现成动画,就要先在程序中的物体、和模拟器场景中的物体之间建立映射

然后,是为程序里的每一步,计算人物和目标物体的相对位置,以及计算其他与动画化相关的数字。

视频内容

记录动画

模拟器的每个房间里,有6-9枚摄像头,每个公寓平均下来26枚。

并非每时每刻,都需要所有摄像头,系统根据人物所在的位置来决定启用哪些摄像头。

记录下来的视频,下一步可以喂给神经网络,训练它生成自己的程序

3 用视频和自然语言生成程序

给AI一段视频,或者一段自然语言,让它自动生成相应的家务执行程序,做一只有觉悟的AI。

LSTM

团队调整了seq2seq模型,来适应这个任务,然后用强化学习来训练它。

这里的模型,是由两只RNN组成的,一只给输入序列编码,另一只负责解码。神经网络每次可以生成一项家务中的一个步骤。

给文本编码,用的是word2vec

处理视频的话,就把每条视频拆成许多个2秒长的片段,然后用模型来预测中间帧的样子。这里用到了DilatedNet,还用到了Temporal Relation Netork

学习和推断

这个过程分为两步。

第一步,用交叉熵损失 (Cross Entropy Loss) 对解码器做预训练。

第二步,强化学习登场,智能体要学习一下策略 (Policy) ,用来生成程序里面的步骤。

模拟器里很幸福

数据集的质量如何?动画化的效果怎样?系统生成的程序又能不能指向希望的任务呢?

测试过程请见论文。不过在那之前,先看看这个人。

看电视的任务做得很流畅,他还会找个舒服的姿势坐下来,很悠然。

团队也觉得,从生成的视频来看,各种任务的完成度还是不错的。

下一步,就要给AI喂真实拍摄的视频了,毕竟模拟器里发生的一切,和物理世界还是不一样的。

是太幸福了吧?

毕竟,模拟器里的家庭环境一成不变,东西都摆在它该在的地方,也没有小朋友跑来跑去。

在机器人接手任务之前,AI可能还需要在更加难以预测的模拟环境里,训练很长时间。

另外,就算环境变化不是问题,真实的家务操作也并不像捡个装备那么简单,且容错率非常低。

比如,端一杯咖啡不可以只有90%的准确度,95%也不太行。因为,百分之一的差错,会造成百分之百的灾难。

不过,作为一个日常手抖的操作渣,我端咖啡也没那么安全,从某种程度上说,还是很有潜力成为机器人女仆的重度用户。

CVPR欢迎您

不久以后,研究团队就要怀着激动的心情,登陆CVPR,在世人面前宣告,他们为了这个宏远的理想,踏出了多么坚实的一小步。

代码还没放出来,不过可以先看看论文啊。

传送门:

VirtualHome: Simulating Household Activities via Programs

http://virtual-home.org/paper/virtualhome.pdf

原文发布于微信公众号 - 量子位(QbitAI)

原文发表时间:2018-05-31

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据小魔方

对,你没看错,真的有这种操作~

之前的ggplot2入门实践篇已经更新告一段落,也已经做了归总分类分享给大家。 最近翻看突然发现少了一个知识点,就是分面中没有讲填充多边形分面的应用,虽然其理念...

4168
来自专栏AI科技评论

学界丨如何玩转网络安全下的深度学习?最全的学习资料清单看这里

近日,外媒 KDnuggets 刊登了一篇机器学习与网络安全相关的资料大汇总,文中列出了相关数据源的获取途径,优秀的论文和书籍,以及丰富的教程。大部分都是作者在...

40010
来自专栏智能算法

(干货) |机器视觉不可不知的相机内部工作原理

工业相机是机器视觉系统中的一个关键组件,其最本质的功能就是将光信号转变成有序的电信号。选择合适的相机也是机器视觉系统设计中的重要环节,相机的选择不仅直接决定所采...

45413
来自专栏玉树芝兰

如何用Python从海量文本抽取主题?

你在工作、学习中是否曾因信息过载叫苦不迭?有一种方法能够替你读海量文章,并将不同的主题和对应的关键词抽取出来,让你谈笑间观其大略。本文使用Python对超过10...

3752
来自专栏北京马哥教育

天龙八部:8步从Python白板到专家

如果你想做一个数据科学家,或者作为一个数据科学家你想扩展自己的工具和知识库,那么,你来对地方了。 这篇文章的目的,是给刚开始使用Python进行数据分析的...

4055
来自专栏AI研习社

玩机器学习要知道哪些开源数据库?

开发 AI 和机器学习系统从来没有像现在这样方便。 类似于 TensorFlow、Torch 和 Spark 这样的开源工具,在 AI 开发者群体中已是无处不在...

5074
来自专栏大数据文摘

谷歌首届TensorFlow开发者峰会 重磅发布TensorFlow 1.0 | 附主题演讲视频

1653
来自专栏ATYUN订阅号

俄罗斯研究人员利用神经网络使金属3D打印更加高效

3D打印机需要使用数学模型对定位和控制算法进行微调,以达到最佳性能。这是一个漫长而艰巨的过程,可能需要数周才能设置打印参数。即便如此,仍然存在打印错误的可能性。

912
来自专栏思影科技

PTSD的心理治疗对前额皮层功能的选择性影响

暴露疗法是创伤后应激障碍(PTSD)的有效治疗方法,但心理治疗究竟如何影响仍缺乏综合的、以情绪为重点理解。来自斯坦福大学精神病和行为科学部的Gregory A....

4359
来自专栏新智元

改名了?NIPS网站出现NeurIPS,官网新地址现身!

登录原先NIPS官网,你会发现会议名称默默地改为了“NeurIPS”,现在,此事已经在Twitter上引发一片热议。

1335

扫码关注云+社区

领取腾讯云代金券