Open Source Robotics

精选高质量开源机器人项目、工具和软件,推动机器人社区发展。

Universal Visual Decomposer: Long-Horizon Manipulation Made Easy

作者: Zichen Zhang, Yunshuang Li, Osbert Bastani, Abhishek Gupta, Dinesh Jayaraman, Yecheng Jason Ma, Luca Weihs · ICRA 2024

许可协议

  • 开放获取
  • 论文: CC BY 4.0

以下内容均依据论文全文,按其 CC BY 4.0 许可协议使用;其中的图已注明作者。

一句话总结

UVD 在演示视频中找出预训练视觉嵌入距离不再下降的位置作为子目标,然后将其用于目标条件模仿学习和奖励塑形。

为何重要

UVD 只需要视频演示和一个现成的编码器,分解步骤在标准策略训练之外每条轨迹只增加不到 0.1 秒。用这种方式找到的子目标,使在某些任务顺序上训练的策略能够执行相同子任务的未见顺序,从而减少为每个任务序列收集演示的需要。

问题

长时程操作面临误差累积、观测和动作空间庞大以及学习信号微弱等问题,因此任务通常被拆分为子任务。现有的分解方法需要特定于任务的知识,例如本体感觉或已知的子任务结构,或者需要在大型数据集上训练的计算量大的生成模型,因此无法开箱即用地应用于普通的视频演示。

提出的方法

UVD 采用一个冻结的预训练视觉编码器(例如 VIP、R3M 或 LIV),从最终帧开始向后处理:在一个子任务内,到当前目标的嵌入距离应单调下降,因此单调性被打破的最晚一帧成为前一个子目标,该步骤一直重复到视频开头。发现的子目标被用来为目标条件行为克隆重新标注演示,并把 RL 奖励定义为每一步到当前子目标的嵌入距离的减少量。测试时,目标来自最近邻查找(单任务),或来自依次传递给定的子目标序列。

关键见解

  • 为编码任务进度而在短视频上训练的表示(VIP、R3M、LIV)在单个子任务内给出近乎单调的嵌入距离;跨越多个子任务时,距离曲线会在阶段转变处出现平台,从而无需标签即可标出子任务边界。
  • 专门为平滑的时间进度而训练的 VIP 和 LIV 从 UVD 中获益最多,这支持了以下观点:经过时间训练的表示比 CLIP 和 DINOv2 等静态图像模型更适合子目标发现。
  • 启发式的子目标选择(固定窗口前方的某一帧,或 3 到 5 个随机帧)在域内表现相当,但损害了域外泛化,因为它们给出冗余、意义较弱的子目标。
  • 以遥远的最终帧定义的奖励无法在一个四阶段任务上引导 RL 探索;按子目标定义的奖励则可以。
  • 由于嵌入存在噪声,实践中需要设定子目标之间的最小时间间隔,并对距离曲线进行平滑(Nadaraya-Watson 核回归)。

主要结果

  • 使用 VIP 和 GCBC 的 FrankaKitchen 模仿学习:域外成功率从 0.035 升至 0.188,域外完成度从 0.236 升至 0.566,域内成功率不变(0.736 对 0.737)。
  • 所测试的每种表示的域外成功率都有提升:R3M 从 0.014 到 0.084,LIV 从 0.008 到 0.066,CLIP 从 0.005 到 0.073,DINOv2 从 0.012 到 0.055,在 VIP 上使用 GPT 风格的 Transformer 策略时从 0.039 到 0.213。
  • 使用 PPO 的 FrankaKitchen RL:以最终帧为目标的目标条件 RL 成功率为 0.0;使用 UVD 奖励时,3 个随机种子上的平均/最高成功率在 VIP 下为 0.65/1.0,在 R3M 下为 0.649/1.0。
  • 真实 Franka,20 次执行的域外成功率(GCBC 对 GCBC + UVD):Apple-in-Oven 0.0 对 0.25,Fries-and-Rack 0.0 对 0.25,Fold-Cloth 0.0 对 0.15。
  • 在执行过程中有人为干扰时(10 次执行),Apple-in-Oven 的成功率从 0.0 升至 0.5,Fries-and-Rack 从 0.2 升至 0.9。
  • 在 RTX A6000 上的分解时间:平均 227 帧的 FrankaKitchen 回合为 0.0023 秒,698 帧的 720p 视频为 0.011 秒,此前的编码分别耗时 0.155 秒和 0.450 秒。

局限

  • 仅在完全可观测的操作任务上得到验证;作者指出,导航和其他部分可观测的具身任务可能无法产生直观或可解释的子目标。
  • 真实世界的域外测试比训练任务短:由于真实子任务之间存在先后依赖,测试的是跳过一个人已经完成的步骤。
  • 子目标检测依赖预设的子目标最小间隔和一个平滑步骤,推理时的目标传递依赖一个距离阈值。
  • 真实机器人评估涵盖三个任务,每个任务约有 100 条遥操作演示,每种设置执行 20 次。
  • 提升幅度取决于所用表示:使用 CLIP 和 DINOv2 时,域内成功率保持在 0.32 到 0.39 之间。

对领域的影响

入围 IEEE ICRA 2024 机器人视觉最佳论文奖决选,被引用 44 次。论文链接了一个项目页面,并在附录中给出分解过程的 Python 伪代码;没有给出代码仓库链接。

摘要

真实世界的机器人任务跨越较长的时间范围,并包含多个阶段。然而,学习长时程操作任务是一个长期存在的难题,它要求把总体任务分解为若干可处理的子任务,以促进策略学习和对未见任务的泛化。以往的任务分解方法需要特定于任务的知识,计算开销大,而且难以直接应用于新任务。为解决这些不足,我们提出通用视觉分解器(Universal Visual Decomposer,UVD),这是一种开箱即用的任务分解方法,面向视觉长时程操作,使用为机器人控制设计的预训练视觉表示。从整体上看,UVD 通过检测预训练表示的嵌入空间中的阶段转变来发现子目标。UVD 只依靠视觉演示、不需要辅助信息,就能有效提取嵌入在视频中的视觉子目标,并且在标准视觉运动策略训练之外不产生任何额外训练成本。用 UVD 发现的子目标学习的目标条件策略,在测试时对未见任务表现出显著提升的组合泛化能力。此外,UVD 发现的子目标还可用于构建基于目标的奖励塑形,为强化学习中时间上延展的探索提供启动助力。我们在仿真和真实世界任务上对 UVD 进行了广泛评估,在所有情况下,无论是域内还是域外任务序列,UVD 在模仿学习和强化学习设置中都大幅优于基线,验证了在简单、紧凑的 UVD 框架内进行自动视觉任务分解的明显优势。

链接

  • arXiv 2310.08581: https://arxiv.org/abs/2310.08581
  • DOI 10.1109/ICRA57147.2024.10611125: https://doi.org/10.1109/ICRA57147.2024.10611125
  • PDF: https://arxiv.org/pdf/2310.08581v1
  • 项目主页: https://zcczhang.github.io/UVD

本网站需要 JavaScript 才能正常运行。请启用 JavaScript 以浏览我们的开源机器人项目。