重排视觉世界

文 / Andy Zeng 和 Pete Florence,Google 机器人团队

重排目标(如整理书架上的书籍,收拾餐桌上的餐具,或推动一堆咖啡豆)是一项基本技能,可以使机器人与我们非结构化且多样化的世界进行物理交互。对人类来说很容易,但完成这样的任务对实体的机器学习 (embodied ML) 系统来说仍然是一项开放的 研究挑战,因为它同时需要高级和低级的感知推理。例如,当堆放一摞书时,人们会考虑书本应该放置的位置和顺序,同时确保书本的边缘相互对齐,形成整齐的书堆。

在 ML 的许多应用领域中,模型架构的简单差异会表现出迥异的泛化特性。因此,我们可能会有这样的疑问:是否存在某些深层网络架构能够支持重排问题的简单底层元素?例如,卷积架构在计算机视觉中很常见,由于它们编码翻译不变性,即使图像被移动仍能产生相同的响应;而 Transformer 架构 在语言处理中很常见,因为它们利用自我关注捕获长程上下文的依赖关系。在机器人应用中,一种常见的架构元素是在学习的模型内部使用以目标为中心的表示,如 姿势关键点目标描述符,但这些表示需要额外的训练数据(通常是手动标注数据),并且难以描述困难的场景,例如可变形物(如橡皮泥)、液体(蜂蜜)或一堆东西(切碎的洋葱)。

今天,我们介绍的是一种用于学习基于视觉的重排任务的简单模型架构 Transporter Network,在 CoRL 2020 期间作为论文和专题演讲登场。Transporter Nets 使用新颖的 3D 空间理解方法,避免了对以目标为中心的表示的依赖,普遍适用于基于视觉的操作,比基准端到端替代方案具有更高的采样效率。因此,它们在真实机器人上的训练快速且实用。

我们还将发布 Transporter Nets 的配套开源实现与 Ravens,Ravens 是我们新的模拟基准套件,包含十个基于视觉的操作任务。

Transporter Networks:为机器人操作重排视觉世界

Transporter Network 架构背后的关键思想是,人们可以将重排问题表述为学习如何移动 3D 空间的一部分。相较于依赖显式的 目标定义(这必然难以捕获所有边缘情况),3D 空间是对可以作为被重排的原子单元的更广泛定义,可以大范围地包含一个目标、一个目标的一部分或多个目标等。

Transporter Nets 通过捕获 3D 视觉世界的深层表示,将其部分覆盖到自身以想象 3D 空间的各种可能重排来利用此结构。然后,它选择与训练中看到的最匹配的重排(例如,来自专家演示),并使用它们参数化机器人动作。这种表述使 Transporter Nets 能够泛化到未见过的目标,并更好地利用数据中的几何对称性,从而推断出新的场景配置。Transporter Nets 扩展了我们早期的模型,适用于机器人操作的各种重排任务,如 基于负担能力的操作TossingBot,只关注抓取和抛掷。

Transporter Nets 捕获视觉世界的深层表示,将其中部分覆盖到自身,想象 3D 空间的各种可能重排,寻找最佳结果为机器人的动作提供参考

Ravens 基准

为了在相同的环境中评估 Transporter Nets 的性能,以便与基线和消融进行公平比较,我们开发了 Ravens,这是一个由十个模拟的基于视觉的重排任务组成的基准套件。Ravens 具有内置随机预言机的 Gym API,用于评估模仿学习方法的采样效率。Ravens 避免了无法转移到真实环境中的假设:观察数据仅包含 RGB-D 图像和相机参数;动作是末端执行器姿势(通过反向运动学转换为关节位置)。

这十项任务的实验表明,与其他端到端方法相比,Transporter Nets 的采样效率要高出几个数量级,并且仅用 100 次演示就能在许多任务上取得超过 90% 的成功率,而基线在相同数据量却难以泛化。在实践中,这使得收集足够多的演示成为在真实机器人上训练这些模型的更可行选择(我们在下面展示了一些示例)。

我们新的 Ravens 基准具有十项基于视觉的模拟操作任务,包括推动和取放。实验表明,Transporter Nets 的采样效率比其他端到端方法高出多个数量级。Ravens 具有内置随机预言机的 Gym API,用于评估模仿学习方法的采样效率

我们新的 Ravens 基准具有十项基于视觉的模拟操作任务,包括推动和取放。实验表明,Transporter Nets 的采样效率比其他端到端方法高出多个数量级。Ravens 具有内置随机预言机的 Gym API,用于评估模仿学习方法的采样效率。

亮点

给定 10 个示例演示,Transporter Nets 可以学习拾取和放置任务(如堆盘子(居然容易放错!))、多模态任务(例如将盒子的任意角对准桌面上的标记)或搭建积木金字塔。

利用闭环视觉反馈,Transporter Nets 有能力通过适量示例学习各种多步骤的顺序任务:例如为汉诺塔移动圆盘,将箱子码垛,或组装训练期间未见过的新物体的套件。这些任务具有相当大的“远景”,意味着要解决任务,模型必须正确地对许多个体选择进行排序。策略还倾向于学习紧急恢复行为。

关于这些结果,一个令人惊讶的地方是,除了感知之外,模型还开始学习类似高级规划的行为。例如,要解决汉诺塔,模型必须选择下一步要移动的圆盘,这就需要根据当前可见的圆盘及其位置来识别棋盘的状态。对于盒子码垛任务,模型必须找到托盘的空位,并确定新的盒子如何放入这些空位。这种行为之所以颇具挑战,是因为它们表明,由于所有的固有不变性,模型可以将能力集中在学习更高级别的操作模式上。

Transporter Nets 还可以学习使用由两个末端执行器姿势定义的任何运动基元的任务,例如将一堆小物体推入目标集,或者重新配置一条可变形的绳索来连接一个 3 面正方形的两个端点。这表明刚性空间位移可以作为非刚性空间位移的有用先验。

结论

Transporter Nets 为学习基于视觉的操作带来了一种很有前途的方法,但并非没有局限性。例如,它们可能容易受到嘈杂 3D 数据的影响,我们只演示了用于基于运动基元的稀疏航点控制,目前尚不清楚如何将其扩展到空间动作空间之外,以实现基于力或扭矩的动作。但总体而言,我们对这一工作方向抱有信心,希望它能为我们所讨论的应用之外的扩展提供灵感。有关详情,请查阅我们的 论文

致谢

这项研究由 Andy Zeng、Pete Florence、Jonathan Tompson、Stefan Welker、Jonathan Chien、Maria Attarian、Travis Armstrong、Ivan Krasin、Dan Duong、Vikas Sindhwani 和 Johnny Lee 完成,特别感谢 Ken Goldberg、Razvan Surdulescu、Daniel Seita、Ayzaan Wahid、Vincent Vanhoucke、Anelia Angelova、Kendra Byrne 对写作的实用反馈;Sean Snyder、Jonathan Vela、Larry Bisares、Michael Villanueva、Brandon Hurd 提供的操作和硬件支持;Robert Baruch 提供的软件基础架构、Jared Braun 提供的界面贡献;Erwin Coumans 提供的 PyBullet 建议;Laura Graesser 提供的视频解说。

原文:Rearranging the Visual World
中文:谷歌开发者公众号