速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

Google 提出 Grasp2Vec 模型:利用自监督方法学习物体表示

  • 2019-01-03
  • 本文字数:2637 字

    阅读完需:约 9 分钟

Google提出Grasp2Vec模型:利用自监督方法学习物体表示

让机械臂抓取指定物体的难点在于物体识别任务。针对这一问题,Google 提出了 Grasp2Vec 模型,用强化学习的方式,让机械臂提供抓取信息,从而自监督地学习物体表示。让我们一起来学习一下吧!


在年龄很小很小的时候,我们就能够识别自己喜欢的物品并将它们捡起来——尽管从未有人明确地教过我们如何这样做。根据认知发展研究,与世界中的物体相互作用的能力(例如有针对性的抓取),在人类感知和操纵物体的能力形成的过程中起着至关重要的作用。通过与周围世界的互动,人们能够进行自监督学习:我们知道自己采取了什么行动,并能够从结果中学习。在机器人技术领域,人们正在积极研究这种类型的自监督学习,因为它使机器人系统能够在缺少大量训练数据或无人工监督的情况下进行学习。


“客体永久性(object permanence)”概念的启发,我们提出了Grasp2Vec——一种用于获取物体表示的简单而高效的算法。Grasp2Vec 基于这样的直觉:尝试抓取任何东西都会提供以下几条信息—— 如果机器人抓住一个物体并将其抬起,则物体必须在抓取前进入场景。此外,若机器人知道它抓住的物体当前处于其抓取器中,就会将其从场景中移除。通过使用这种形式的自监督,机器人可以利用抓取前后的场景视觉变化来学习识别物体。



基于我们之前与X Robotics的合作项目(该项目的任务是让一系列机器人同时学习使用单目相机输入来抓取家用物品),我们让机械臂“无意地”抓住物体,这种经验可以帮助机器人学到更丰富的物体种类。然后,可以利用这些表示来获取“有意识地抓取”能力,即机械臂可以抓取用户指定的物体。

构建感知奖励函数

强化学习的框架中,任务的成功与否是通过“奖励函数(reward function)”来衡量的。通过最大化奖励函数,机器人可以从头开始自学各种各样的技能。如果任务的成功与否可以通过简单的传感器测量来衡量,设计奖励函数就很容易。一个简单的例子是,给定一个按钮,当它被推动时,机器人便可直接获取奖励


然而,当我们的成功标准取决于对当前任务的“感性理解”时,设计奖励函数就要困难得多。考虑实例抓取的任务,其中机器人看到的是被保持在抓手中的期望物体的图片。机器人试图抓住该物体后,它会检查抓取器的内容。此任务的奖励函数可以看作物体识别问题:抓住的物体是想要的吗?


左图:抓手握住刷子,背景中有一些物体(黄色杯子,蓝色塑料块)。右图:抓手握住黄色杯子,刷子在背景中。如果左图是期望的结果,则一个好的奖励函数应该“理解”上面的两个图像中抓手抓到的是不同的物体。


左图:抓手握住刷子,背景中有一些物体(黄色杯子,蓝色塑料块)。右图:抓手握住黄色杯子,刷子在背景中。如果左图是期望的结果,则一个好的奖励函数应该“理解”上面的两个图像中抓手抓到的是不同的物体。


为了解决这种识别问题,我们需要一种感知系统:该系统能从非结构化图像数据中提取有意义的物体概念(没有任何人类注释),以无监督的方式学习物体的视觉感知。无监督学习算法起作用的核心是其对数据做出的结构性假设。通常假设图像可以被压缩到低维空间中,并且可以从视频中之前的帧预测当前的帧。不过,如果没有对数据内容的进一步假设,这些信息通常不足以学习出被分解开的多个物体的表示。


如果我们在数据收集过程中用一个机器人将物体彼此物理地分开,会怎么样呢?机器人领域为表示学习提供了一个令人兴奋的机会,因为机器人可以操纵物体,从而提供数据所需的变化因素。我们的方法基于这样一种观察:物体一旦被抓取,就被从场景中移除了。这样,我们可以获得:1)抓取前的场景图像,2)抓取后的场景图像和 3)抓握物体本身的孤立视图。


左:抓取前的物体;中:抓取后的物体;右:被抓取的物体


左:抓取前的物体;中:抓取后的物体;右:被抓取的物体


如果我们考虑一个从图像中提取“物体集合”的嵌入函数,那么此函数应该满足以下减法关系:


抓取前的物体 - 抓取后的物体 = 被抓取的物体


抓取前的物体 - 抓取后的物体 = 被抓取的物体


我们使用了全卷积架构和简单的度量学习算法来实现这种等式关系。训练时,下图中的架构将预抓图像和后抓图像嵌入密集的空间特征图中。特征图经过平均池化保存到向量中,而“先掌握”和“后掌握”向量的差表示一组物体。该向量和对应的被抓取物体的向量表示之间的等价约束是通过N-Pairs目标函数实现的。



训练过后,我们的模型中自然而然地会出现两个有用的属性。

1. 物体相似度

第一个属性是,我们可以利用向量嵌入之间的余弦距离对物体进行比较,并确定它们是否相同。这个属性可以用于实现强化学习的奖励函数,并允许机器人在没有人工提供的标签的情况下学习实例抓取。


2. 目标物体本地化

第二个属性是,我们可以组合场景空间映射和物体嵌入来本地化图像空间中的“查询对象”。通过对空间特征图和对应的查询对象向量进行逐元素相乘,我们可以找到空间映射中与查询对象“匹配”的所有像素。


图:使用Grasp2Vec嵌入来本地化场景中的物体。左上角的图像显示了桶中的物体。左下角是我们想要抓取的查询对象。通过将查询对象矢量与场景图像的空间特征做点乘,我们得到每像素“激活图”(右上图像)。该图像表示两张图像的各区域相似度。该响应图可用于接近物体,从而进行抓取。


图:使用 Grasp2Vec 嵌入来本地化场景中的物体。左上角的图像显示了桶中的物体。左下角是我们想要抓取的查询对象。通过将查询对象矢量与场景图像的空间特征做点乘,我们得到每像素“激活图”(右上图像)。该图像表示两张图像的各区域相似度。该响应图可用于接近物体,从而进行抓取。


当有多个对象与查询对象匹配时,或甚至查询包含多个对象(两个向量的平均值)时,我们的方法也有效。例如下图中的场景,我们的模型可以检测出场景中的多个橙色块。



点乘操作得到的“热图(heatmap)”可用于规划机器人接近目标物体的方法。我们将 Grasp2Vec 的本地化和实例识别功能与我们的“抓取一切”策略相结合,在数据收集过程中所看到的物体上获得了 80%的成功率,在机器人以前未遇到的新对象上获得了 59%的成功率。

结论

在我们的论文,我们展示了机器人抓取技能如何生成用于学习以物体为中心的表示的数据。然后,我们可以使用表示学习来“引导”更复杂的技能,例如实例抓取,同时保留我们的自主抓取系统的自监督学习属性。


除了我们自己的工作,最近的一些论文还研究了如何通过抓取推动和以其他方式操纵环境中的物体、获得自监督交互,从中学习物体表示。展望未来,我们很兴奋,这种兴奋不仅来自机器学习通过优化机器人的理解、控制能力,可以为机器人技术带来怎样的进步,也来自机器人技术在新的自监督范式方面能为机器学习注入怎样的新鲜血液。

致谢

这项研究由 Eric Jang,Coline Devin,Vincent Vanhoucke 和 Sergey Levine 完成。我们要感谢 Adrian Li,Alex Irpan,Anthony Brohan,Chelsea Finn,Christian Howard,Corey Lynch,Dmitry Kalashnikov,Ian Wilkes,Ivonne Fajardo,Julian Ibarz,Ming Zhao,Peter Pastor,Pierre Sermanet,Stephen James,Tsung-Yi Lin,Yunfei Bai,和 Google、X 公司和中的许多其他员工,以及更广阔的机器人社区中的许多其他研究者为改进这项工作做出的贡献。


原文链接:https://ai.googleblog.com/2018/12/grasp2vec-learning-object.html


2019-01-03 14:087094

评论

发布
暂无评论
发现更多内容

如果延迟退休势在必行,区块链如何助力“养老助老”?

CECBC

养老

第二章-利益相关方分析

阿珍爱上阿强

利益相关者

多线产品作战,奔疲于不确定的路上

boshi

创业 产品策略 七日更

区块链:热追背后需冷静 技术应用要同步

CECBC

区块链

新思科技网络安全研究中心发现Jetty Web服务器存在漏洞

InfoQ_434670063458

新思科技 Jetty Web

职场的信任危机

ES_her0

28天写作 3月日更

初学者思维 - 找到解决问题的新方法

石云升

程序员 思维模型 28天写作 3月日更 初学者思维

SICP 习题解答 1.11

十元

黑客之XSS注入练手:XSS Challenges通关指南

BigYoung

黑客 信息安全 XSS

Wireshark数据包分析学习笔记Day6

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

话说 AQS

木子的昼夜

Java AQS

紫霞仙子:区块链的十二连问

悟空聊架构

Java 比特币 区块链 架构 分布式

为什么 HashMap 的加载因子是0.75?我研究源码发现一个重大秘密。。。

程序员 架构 面试

常见 git 需求整理(持续更新中)

blueju

git 大前端 工具 npm

第五.需求评审与产品发布 (承上启下的作用)

让我思考一会儿

两会引爆数字经济 银行与科技公司找到合作新赛道

CECBC

数字经济

高盛:机构需求量巨大,比特币年内或有望涨至10万美元

CECBC

比特币

BGP的那些事

“数”看2021年“3•15征集令”

百分点大数据团队

翻译:《实用的Python编程》04_03_Special_methods

codists

Python

网点数字化也要适老化 浦发银行为老年人跨越“数字鸿沟”制定服务范本

CECBC

数字鸿沟

c++编程思路

张鹤羽

28天写作 3月日更

Vue源码学习 | 4个实用的javascript技巧

devpoint

Vue vuejs stringify

调整好心态

Nydia

鬼才|闲鱼PMO的年终总结

闲鱼技术

神了!华为18级专家把困扰我多年的操作系统与网络,讲明白了

程序员 架构 计算机

2021最新腾讯面经分享:Java面试核心点/技术笔记/学习视频(春招必备)

比伯

Java 编程 程序员 架构 面试

每日打卡1:删除字符串中的所有相邻重复项

有梦想的tester

七日更 3月日更

Redis 数据结构介绍

一个大红包

七日更 3月日更

Oracle 是如何处理异常的?

xiezhr

oracle 异常处理 3月日更 PLSQL

并行编程首篇

shun123456789

开发语言 基础知识

Google提出Grasp2Vec模型:利用自监督方法学习物体表示_AI&大模型_Eric Jang_InfoQ精选文章