点击上方“AI遇见机器学习”,选择“星标”公众号

重磅干货,第一时间送达

萧箫 发自 凹非寺
量子位 报道 | 公众号 QbitAI

想让机器人像人一样思考,似乎一直是个难题。

例如,让智(zhi)能(zhang)机器人去客厅拿个遥控器,结果看到机器人在厨房翻箱倒柜…

好消息是,这个问题现在被CMU解决了。

CMU研究团队打造出了一款拥有人类「常识」的导航机器人,让找东西变得更方便。

这款机器人能利用AI判断家中最可能找到目标物体的地点,从而尽快找到它。

例如,让机器人去拿放在「植物」旁边的遥控器,机器人几乎立即检测出了「植物」盆栽所在的位置,从而检测到遥控器的存在。

项目已被ECCV 2020收录,并获得了居住地目标导航挑战赛的第一名。

一起来看看实现的过程。

让机器人「学点常识」

事实上,以往大部分采用机器学习训练的语义导航机器人,找东西的效果都不太好。

相比于人类潜意识中形成的常识,机器人往往有点“死脑筋”,它们更倾向于去记住目标物体的位置

但物体所处的场景往往非常复杂,而且彼此间差异很大(正所谓每个人的家,乱得各有章法),如果单纯以大量不同场景对系统进行训练,模型泛化能力都不太好。

于是,相比于用更多的样本对系统进行训练,这次研究者们换了一种思路:

采用半监督学习的方式,使用一种名为semantic curiosity(语义好奇心)的奖励机制对系统进行训练。

训练的核心目的,是让系统基于对语义的「理解」来确定目标物体的最优位置,换而言之,就是让机器人“学点常识”。

举个例子,通过理解冰箱和洗手间的差异,机器人就能搞懂目标物体和房间布局的关系,并计算出最容易找到某个物体的房间。(就像沙发通常会在客厅、而不是在洗手间)

一旦确定了物体最可能出现的地方,机器人就能通过导航,直接去往预计的位置,并快速检测到目标物体的存在,这个过程被称之为探索策略(exploration policy)。

采用Mask RCNN训练探索策略

如下图所示,策略的实现被分成了三步:学习、训练、测试。

首先,采用Mask RCNN对图像从上至下进行目标预测,用于训练探索策略,后者负责生成目标检测和场景分割所需的训练数据。

对训练数据进行标记后,数据会被用于微调和评估目标检测及场景分割的效果。

在目标检测的过程中,即使面对某一物体的镜头转360度,机器人也必须将之识别为同一种物体。

这其中最关键的一个步骤,在于构造语义地图

构造「有魔法的」地图

从下图可见,图像被处理成RGB和Depth两种模式。

其中,RGB图像会通过Mask RCNN网络,用于获得目标分割预测。

而Depth架构,则被用于计算点云,其中的每个点,都会在Mask RCNN的预测结果基础上与语义标签进行关联。

最后,基于几何计算,会在空间中会生成一个三维立体图。

每一个通道用于表示一种物体类别,原本2D的地图就会转变成一个3D的语义地图。

有了语义地图,机器人在移动时也能准确地对3D空间进行目标预测了。

「语义好奇心」奖励机制

不过,这会出现一种情况,如果目标物体在不同的帧上被预测的标签不同,那么语义图中对应这个物体的多个通道都会是1。

如下图,不同的时间,系统预测的目标标签可能并不一样,有时候是床,有时候则变成了沙发。

这就出现了语义好奇心的策略。

论文定义了语义好奇心累计奖励(cumulative semantic curiosity reward),指占语义地图中所有元素总和的比例。

而语义好奇心奖励机制,则采用强化学习的方式,目的是使这个比例最大化。

通过了解物体之间的差异、从而了解房间布局,系统就会逐渐理解房间与物体的联系。

实验结果

事实证明,这种方法非常有效。

机器人在训练过程中,可以专注地去理解目标物体与房间布局的关系,而非不停地进行路径规划。

训练出的机器人,在人机交互方向上变得更加容易操控。

例如,在各种方法下,即使探索区域不及倒数第二和第三种方法,但语义好奇心仍然检测出了相当的目标数量。

这说明它在进行目标检测时,能更专注于所需要探测的物体。

而从下图可见,语义好奇心明显发现了更多其他策略无法发现的物体,这对于检测目标是非常有效的。

在最终的训练结果中,语义好奇心拿到了最高的39.96分。

这个方法,使得人与机器人之间的交互也变得更加容易实现。

作者介绍

Devendra Singh Chaplot,在卡内基梅隆大学(CMU)读博,主要研究深度强化学习、以及其在机器人和自然语言处理方向上的应用。

传送门:

论文链接:
https://arxiv.org/pdf/2006.09367.pdf

项目链接:
https://devendrachaplot.github.io/projects/SemanticCuriosity

欢迎关注我们,看通俗干货

机器人懂点「常识」后,找东西方便多了:CMU打造新型语义导航AI机器人相关推荐

  1. 递归循环子组件_算法一看就懂之「 递归 」

    之前的文章咱们已经聊过了 「 数组和链表 」 . 「 堆栈 」 和 「 队列 」 ,今天咱们来看看「 递归 」,当然「 递归 」并不是一种数据结构,它是很多算法都使用的一种编程方法.它太普遍了,并且用 ...

  2. 算法一看就懂之「 递归 」

    之前的文章咱们已经聊过了「 数组和链表 」.「 堆栈 」和「 队列 」,今天咱们来看看「 递归 」,当然「 递归 」并不是一种数据结构,它是很多算法都使用的一种编程方法.它太普遍了,并且用它来解决问题 ...

  3. 行业观察 | 机器人Ameca挣脱「灵魂」枷锁觉醒?

    来源:新智元 编辑:小咸鱼 桃子 或许你根本不敢想像机器人真正苏醒时的样子. 活动肩骨后,突然间灵魂附体,大梦初醒般睁开双眼. 先是紧皱眉头,后是做出惊讶不已的表情,让人不得不惊呼<西部世界&g ...

  4. 算法一看就懂之「 堆栈 」

    戳蓝字"CSDN云计算"关注我们哦! 今天咱们再来继续看看「 堆栈 」吧,我写技术文章很少 show code,所以经常有人吐槽.好吧,这个算法系列的文章我打算每一篇的结尾处都找一 ...

  5. resultset需要关闭吗_Java程序员都需要懂的「反射」

    前言 只有光头才能变强.文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 今天来简单写一下Java的反射.本来没打算写反射这 ...

  6. 99% 的人都能看懂的「补偿」以及最佳实践

    https://www.infoq.cn/article/0lMOVdP-kqWvbAa5QiEo 也许你对降级已经有了一些认识,这次,我们来聊一聊在保证对外高可用的同时,憋出的"内伤&qu ...

  7. 分布式系统关注点(8)——99%的人都能看懂的「熔断」以及最佳实践

    如果这是第二次看到我的文章,欢迎右侧扫码订阅我哟~  > 本文长度为3319字,建议阅读9分钟. 阅读目录 熔断是什么 熔断怎么做 做熔断的最佳实践 总结 当我们工作所在的系统处于分布式系统初期 ...

  8. 5000亿美元「flag」后,微软 CEO 暂缓员工加薪,现发帖感谢大家,员工:“发钱才实际!”...

    整理 | 朱珂欣 出品 | CSDN程序人生(ID:coder_life) 打工人眼里,没有比「加薪」更能直击心巴! 据 Business Insider 报道,本周四,微软 CEO Satya Na ...

  9. access 英语什么意思_access 中文意思是?搞懂英文「access」的意思!

    access 中文意思有「存取.進入-」等的意思.access是英文口語很常見的一個單字,常常會聽到它.在電腦跟網際網路等領域,也常常會用到access這個英文單字,此時它的意思是「存取」的意思. 下 ...

最新文章

  1. 1.5亿重奖50位青年科学家!第二届“科学探索奖”揭晓
  2. 《R语言游戏数据分析与挖掘》一导读
  3. Swift字符串基本操作(三)
  4. 你一定不知道的 Linux 使用技巧
  5. poj 3281(最大流)
  6. 百万奖金!交通事件、医学病理、广告检测,江苏大数据开发与应用大赛报名...
  7. 如何集成Spring和Struts(实例说明)
  8. nagios报Connection refused by host的解决办法
  9. java spring mvc 上传_Java Spring MVC 上传下载文件配置及controller方法详解
  10. JS 判断变量类型(判断数据类型、typeof)
  11. MySQL数据库基础(数据表的SELECT操作)
  12. vue 数组中嵌套的对象添加新属性--页面更新
  13. 国内外邮箱、邮件服务大全 常见+非主流+免费+加密+域名邮箱
  14. 如何在Cell里画出虚线?
  15. 机器学习结果指标评估
  16. php怎么显示不了图片,php显示不了图片的解决办法,
  17. 只是一个文件节点类为了项目的数据处理
  18. 【写作工具】用Katex打出常见矩阵
  19. .net core 和 WPF 开发升讯威在线客服系统:调用百度翻译接口实现实时自动翻译
  20. Android学习(运用手机多媒体)

热门文章

  1. group by 字句的扩展+rollup字句+cube字句+grouping()函数
  2. CentOS7 systemctl的使用
  3. 项目进度管理和项目成本管理作业
  4. 首次创建maven项目的准备工作
  5. 经典密码学——行置换加密法
  6. python 浏览器显示本地文件夹_从浏览器中打开本地文件文件夹
  7. linux doc下生成学号,linux的.doc
  8. 2021年4月28日 深圳头条后台开发实习面试(hr面)
  9. Mybatis面试常见问题
  10. java中堆与栈的区别 彻底理解