让机器人的技能翻倍: MirrorDuo 如何利用反射实现高效学习

想象一下,你正在教一个孩子接球。你用右手演示了这个动作。孩子凭直觉就能明白,他们可以用左手做一个类似的动作,只是方向是镜像的。他们不需要从头开始重新学习球的物理特性或接球的概念;他们只是简单地将反射对称性应用到他们已知的知识上。

然而,在机器人领域,这种直觉是不存在的。如果你训练一个机器人在桌子右侧拿起杯子,标准的学习算法会将桌子左侧视为一个完全陌生的环境。为了教机器人在左侧使用,你通常需要收集一套全新的“左侧”演示数据。这个过程昂贵、耗时且效率低下。

在本文中,我们将深入探讨 MirrorDuo , 这是一篇旨在解决这一问题的研究论文。研究人员引入了一种方法,可以在数学和视觉上“镜像”机器人演示,有效地让机器人“收集一次演示,免费获得一次演示”。

问题所在: 高昂的数据成本

视觉运动学习——教机器人根据看到的内容移动——通常依赖于行为克隆 (Behavior Cloning, BC) 。 你向机器人展示数千个任务示例,它通过模仿来学习策略。瓶颈在于数据。

如果你的工作空间稍有变化,或者你想让机器人在镜像配置中执行相同的任务 (例如,从左侧料箱而不是右侧料箱取货) ,你通常需要收集覆盖这些特定场景的新数据。

虽然研究人员已经成功利用 3D 数据 (如点云) 来处理旋转对称性 (SE(3) 等变性) ,但在标准 2D 图像上做到这一点要难得多。3D 变换不能完美地映射到 2D 像素网格上,尤其是在涉及透视和摄像机角度时。

MirrorDuo 登场

MirrorDuo 是一个利用反射对称性的框架。它获取一个演示 (图像、机器人状态和动作) ,并对其进行数学翻转,生成一个有效的、镜像的对应物。

图 1: MirrorDuo 示意图。对源演示进行镜像以在镜像排列中合成配对的演示。

如图 1 所示,其概念非常直观:

  1. 源演示 (Source Demo): 机器人在右侧执行任务。
  2. 镜像变换 (\(\mathcal{M}\)): 系统水平翻转图像,并变换机器人的物理动作以相匹配。
  3. 镜像演示 (Mirrored Demo): 结果看起来就像是在左侧执行的有效演示。

这使得机器人能够泛化到未见过的镜像排列,或者通过将训练数据翻倍来简单地加快学习速度。


核心方法: 如何镜像机器人

镜像不仅仅是在 Photoshop 中翻转图像那么简单。一个机器人演示由三个紧密耦合的数据流组成:

  1. 视觉观察 (Visual Observations): 摄像机看到的内容 (RGB 图像) 。
  2. 本体感觉 (Proprioception): 机器人对其位置的内部感知 (关节角度、末端执行器位姿) 。
  3. 动作 (Actions): 发送给机器人的指令 (移动到坐标 \(x, y, z\),旋转,打开夹爪) 。

如果你只翻转图像,机器人的内部坐标系将与其看到的不匹配。MirrorDuo 提出了一种数学公式来确保这三者的一致性。

1. 镜像位姿 (数学原理)

机器人的手部位置 (末端执行器) 通常由 3D 空间 (SE(3)) 中的位姿矩阵 \(\mathbf{X}\) 定义。要将这个位姿沿垂直平面镜像,我们不能仅仅对 x 坐标取反;我们还必须变换旋转矩阵。

研究人员定义了一个反射矩阵 \(\mathbf{E} = \text{diag}([-1, 1, 1, 1])\)。这个矩阵翻转 x 轴,同时保持 y、z 和比例不变。从原始位姿 \(\mathbf{X}\) 获得镜像位姿 \(\mathbf{X}^*\) 的公式为:

绝对位姿镜像方程

这里,\(\mathbf{X}_C\) 是摄像机的位置。这个方程有效地将位姿转换到摄像机坐标系中,进行反射,然后再转换回来。

2. 消除摄像机依赖

上面的方程需要确切知道摄像机在哪里 (\(\mathbf{X}_C\)) 。在许多数据集中,我们没有完美的摄像机标定。为了解决这个问题,MirrorDuo 使用增量位姿 (Delta Poses)相对位姿 (Relative Poses) 。 与其说“移动到坐标 (10, 5, 3)”,机器人学习的是“从当前位置向右移动 1 个单位,向上移动 0.5 个单位”。

当使用相对位姿时,摄像机位置会被抵消,从而大大简化了数学运算:

增量和相对位姿镜像方程

这意味着镜像逻辑变得与数据集无关。你不需要知道摄像机在哪里就能翻转机器人的预期运动。

3. 统一镜像算子

现在,我们可以定义一个单一的算子 \(\mathcal{M}\),它作用于观察和动作的整个元组。

  • 图像: 我们应用水平翻转 (\(\mathcal{M}_I\))。
  • 向量 (状态和动作) : 我们将状态向量乘以一个符号翻转向量 \(\rho\)。

统一镜像算子方程

这里,\(\rho\) 是一个简单的向量,如 \([-1, 1, 1, -1, 1, 1]\),它翻转 x 轴分量 (位置和旋转) 的符号,而保持 y 和 z 不变。

使用 MirrorDuo 的两种方式

研究人员提出了两种应用这种数学方法的不同方式:

A. 数据增强 (MirrorAug)

这是最简单的方法。在训练期间,你获取一批数据,使用上述数学方法翻转其中一半,然后将其输入标准的学习算法 (如 Diffusion Policy 或 BC-RNN) 。这在不改变神经网络架构的情况下有效地使数据集的大小和多样性翻倍。

B. 反射等变策略 (MirrorDiffusion)

这是更严谨的方法。研究人员不仅仅是添加数据,而是设计了一种神经网络架构,强制 实施数学对称性。

图 8: 反射等变扩散 (MirrorDiffusion) 网络架构示意图。

如图 8 所示, MirrorDiffusion 使用专门的“等变 ResNets”。如果你将图像输入该网络,然后再输入该图像的镜像版本,网络保证内部特征 (以及输出动作) 也将是完美的镜像对应物。这直接将“左手等于右手”的逻辑硬编码到了机器人的大脑中。


挑战: 现实世界并不完美对称

在完美的模拟中,镜像图像看起来就像是从对面看到的真实世界。在现实中,情况要复杂得多。

  • 机器人不对称性: 机器人手臂的一侧可能有电缆或徽标。当你翻转图像时,徽标会反过来,或者电缆会跳到错误的一侧。
  • 光照与背景: 阴影投射在特定方向。镜像的阴影看起来可能在物理上是不可能的。

图 3: 来自机器人的视觉不对称。近景中,不对称出现在手腕和夹爪附近,而广角视角下则延伸到肘部和肩部。

上图说明了这个问题。请注意,与现实相比,镜像版本中机器人的手腕和肘关节看起来可能略有“偏差”。这是一个视觉域差异 (Visual Domain Gap)

解决方案: 为了处理这个问题,作者将 MirrorDuo 与视觉泛化技术相结合:

  1. 随机覆盖 (Random Overlay): 他们在训练期间用随机图像替换桌子/背景。这迫使机器人忽略背景,专注于物体和手臂。
  2. 预训练骨干网络 (Pretrained Backbones): 使用标准的视觉网络 (如在 ImageNet 上训练的 ResNet-18) 使模型对镜像引起的奇怪视觉伪影更具鲁棒性。

实验与结果

研究人员在仿真和真实的 Franka Emika 机器人上测试了 MirrorDuo。他们研究了两个主要场景: 单侧演示 (我们能泛化到另一侧吗?) 和双侧演示 (这能让学习更快吗?) 。

1. 零样本迁移到镜像设置

他们仅使用工作空间右侧的演示来训练机器人,并在左侧进行测试。

表 1: 近景单侧演示的成功率 (%)。

表 1 的结果令人震惊:

  • 标准策略 (Diffusion Policy, BC-RNN) 在镜像设置上几乎完全失败 (0-3% 成功率) ,因为它们从未见过这种情况。
  • MirrorDuo (标记为 \(\mathcal{M}\)) 显著提高了性能。
  • 当结合随机覆盖 (\(\mathcal{O}\))预训练权重 (\(\mathcal{P}\)) 时,Diffusion Policy 在镜像任务上达到了 93% 的成功率——实际上与其在原始侧的性能相同!

2. 数据效率

即使我们有来自两侧的数据,MirrorDuo 还有帮助吗?是的。它让机器人学得快得多。

图 4: 广角视角成功率 (%),随额外对侧演示数量变化。

图 4 显示了随着我们增加演示数量,成功率的变化。实线 (启用 MirrorDuo) 比虚线 (基线) 上升得快得多。在某些情况下,MirrorDuo 仅需 5 次演示 就能达到基线需要 50 次以上演示 才能学到的效果。

3. 真实世界验证

该系统在物理硬件上也同样有效。在一个“玩具拾取与放置”任务中,使用 MirrorDuo 训练的机器人仅用 5 次真实世界的演示就能处理镜像设置,而基线则完全失败。

图 6: 真实任务设置示意图。


局限性与冲突线索

虽然功能强大,但镜像并不是适用于所有场景的灵丹妙药。研究人员发现了一个涉及冲突视觉线索的有趣边缘情况。

有时,镜像视图会创建一个在几何上看起来有效,但与人类做法相比暗示了错误动作的场景。

图 9: 冲突视觉线索示意图。

在图 9 中,研究人员解释说,镜像演示可能看起来类似于不同的原始演示,但需要相反的旋转。如果数据集很密集,这些“幽灵”决策边界可能会混淆网络,导致在高度特定、数据丰富的场景中性能略有下降。然而,对于绝大多数情况——尤其是数据稀缺的情况——其好处远大于风险。

结论

MirrorDuo 为将几何先验整合到现代深度学习中提供了一个令人信服的论据。通过将反射对称性视为世界的基本属性,而不是从头开始学习,我们可以使机器人:

  1. 更具泛化能力: 瞬间将技能从左侧迁移到右侧。
  2. 更高的数据效率: 仅用一小部分数据就能实现高性能。

无论是作为简单的数据增强步骤实施,还是作为复杂的等变网络实施,MirrorDuo 都为那些在昂贵的数据收集成本中挣扎的机器人学家提供了一顿实用的“免费午餐”。随着我们迈向通用机器人,利用这类物理对称性将是扩展其能力的关键。