想象一下,试图教机器人擦白板。对人类来说,这轻而易举。但对机器人而言,这是一场物理与控制的噩梦。机器人必须在不撞车的情况下移动到白板前,抬起手臂,施加恰到好处的压力以擦除标记且不打穿墙壁,同时还要协调轮子和关节的运动。

这是一个涉及富接触操作的“高自由度” (high-DoF) 问题。传统上,机器人学家主要有两种解决方法:

  1. 仿真到现实 (Sim-to-Real) : 在物理模拟器 (类似电子游戏) 中训练机器人,然后将“大脑”迁移到真实机器人上。问题在于? 现实鸿沟 (Reality Gap) 。 如果仿真不够完美——比如白板的摩擦系数稍有偏差——机器人就会在现实世界中失败。
  2. 真实世界强化学习 (RL) : 让机器人在物理世界中通过试错来学习。问题在于?这既缓慢危险 。 机器人为了学习如何移动而挥动手臂可能会损坏自身或周围环境,而且标准算法可能需要数周的持续交互才能收敛。

在一篇新论文中,研究人员介绍了 SLAC (仿真预训练潜在动作空间) , 这是一种结合了两这优点的混合方法。SLAC 允许复杂的移动机械手在不到一小时的时间内,在现实世界中学习困难的、富接触的任务,且无需人类演示或高保真的“数字孪生”。

图 1: SLAC 利用在低保真仿真中训练的任务无关动作空间 (左) ,在现实世界中学习下游任务。这种潜在动作空间具有安全性、时间延展性和解耦性,使双臂移动机械手能够在不到一小时的自主真实世界交互中解决具有挑战性的富接触全身任务 (右) 。

核心问题: 维度灾难

为什么控制移动机械手如此困难?归根结底在于动作空间。像上图所示的机器人可能有 17 个或更多的关节 (轮子、躯干、肩膀、肘部、手腕) 。如果你试图通过随机摆动所有 17 个关节来学习任务 (这是强化学习的起点) ,搜索空间将是天文数字般巨大。大多数随机动作不仅无用,甚至危险。

直接在现实世界中进行 RL 之所以困难,是因为它在开始解决任务之前,就浪费了数千个样本来弄清楚如何协调自己的身体。

SLAC 提出了一个巧妙的变通方案: 不要在现实世界中学习如何移动身体。在廉价的仿真中学习如何移动,然后在现实世界中学习如何完成任务

SLAC 框架

SLAC 分两个不同阶段运行。通过将“技能”的获取与“任务”的学习解耦,它绕过了对照片级逼真仿真的需求。

  1. 阶段 1: 无监督潜在动作学习 (仿真) 。 机器人在低保真仿真中玩耍,以学习一组有用的行为 (“潜在动作空间”) 。
  2. 阶段 2: 下游任务学习 (现实世界) 。 机器人使用这些预先学到的行为作为词汇库,在现实世界中解决特定任务。

让我们拆解一下这个架构。

图 2: 实现真实世界策略学习的 SLAC 两步流程。(左) 第一步,SLAC 学习一个潜在动作解码器,将每个潜在动作 \\(z \\in { \\mathcal { Z } }\\) 映射为一系列底层机器人动作 \\(( a _ { 0 } , \\hdots , a _ { T } ) , a _ { t } \\in \\mathcal { A }\\)。该解码器是在低保真仿真中通过无监督技能发现学习的,采用新颖的目标函数,鼓励机器人在保持安全的同时独立控制不同的状态特征 (如相机方向、与桌子的接触、底座位置) 。(右) 第二步,一旦解码器训练完成,机器人利用 SLAC 潜在动作空间在现实世界中通过 RL 学习下游任务。任务策略直接接收机器人的机载传感器观测 (即图像、本体感觉) 并输出潜在动作 \\(z\\),这些动作被解码为安全的机器人动作。SLAC 应用分解式潜在动作 SAC (Factorized Latent-Action SAC) 算法,利用高频异策略更新和分解式 Q 函数分解,在极少样本的情况下 (不到一小时内收敛) ,直接在现实世界中针对具有多项奖励 (例如,注视物体、保持袋子靠近、清扫垃圾) 的下游任务优化策略。

第一步: 在仿真中学习运动语言

SLAC 的第一个洞察是,你不需要完美的仿真来学习基本的运动技能。你不需要模拟特定白板标记笔的精确摩擦力,就能学会“向前伸展手臂”会导致手远离身体。

研究人员使用的是低保真仿真 。 它看起来并不逼真,甚至没有编写具体的任务程序。相反,他们使用了无监督技能发现 (Unsupervised Skill Discovery, USD)

目标: 解耦与赋能 (Empowerment)

仿真中的目标不是“擦白板”,而是学习一组控制环境不同部分的“潜在动作” (\(z\)) 。研究人员希望动作空间是解耦的 (disentangled)

理想情况下,潜在动作 \(z\) 的一个维度应该控制机器人的底座移动,另一个控制手臂高度,还有一个控制抓手方向。如果机器人能学会独立控制这些部分,下游学习将变得容易得多。

他们通过优化互信息目标来实现这一点:

()\n\\mathcal { I } ( \\theta ) = \\sum _ { i = 1 } ^ { N } I ( \\mathcal { S } ^ { i } ; \\mathcal { Z } ^ { i } ) - \\lambda I ( \\mathcal { S } ^ { - i } ; \\mathcal { Z } ^ { i } ) ,\n[

这个方程的含义如下:

  • 最大化 \(I(S^i; Z^i)\): 潜在动作的第 \(i\) 个维度 (\(Z^i\)) 应该与状态的特定特征 (\(S^i\)) (例如手的位置) 有很强的相关性。
  • 最小化 \(I(S^{\neg i}; Z^i)\): 同样的动作 \(Z^i\) 应该影响状态的其他部分 (\(S^{\neg i}\)) 。

这迫使机器人学习一个“动作键盘”,其中每个键都能做一些具体且可预测的事情。

时间延展 (Temporal Extension)

与其每秒做 100 次决定,潜在动作是时间延展的 。 一个潜在动作 \(z\) 可能对应于一段 2 秒的电机指令轨迹。这有效地缩短了任务的时间视野——高层策略不需要为了穿过房间而做出 1,000 个微观决策,只需要做出 5 或 10 个宏观决策。

通用安全性 (Universal Safety)

在仿真中训练的一个主要风险是,机器人可能会学会一些在物理引擎中可行但在现实中会损坏硬件的激进行为。为了防止这种情况,SLAC 在预训练阶段引入了通用安全奖励 :

]\nr _ { s a f e } = - \\lambda _ { 1 } | a | ^ { 2 } - \\lambda _ { 2 } | a - a _ { \\mathrm { p r e v } } | ^ { 2 } - \\lambda _ { 3 } \\cdot \\mathbb { I } _ { \\mathrm { c o l l i s i o n } } - \\lambda _ { 4 } \\cdot \\mathbb { I } _ { F > 7 0 }\n[

该奖励惩罚:

  1. \(\|a\|^2\) : 大幅度、高能量的动作。
  2. \(\|a - a_{prev}\|^2\) : 急促、不稳定的移动 (高加速度) 。
  3. \(\mathbb{I}_{collision}\) : 与环境的碰撞。
  4. \(\mathbb{I}_{F > 70}\) : 过度的接触力 (例如推得太用力) 。

阶段 1 的结果是一个潜在动作解码器 (\(\pi_{dec}\)) 。你给它一个高层指令 \(z\),它就会吐出一系列安全、平滑且物理连贯的电机扭矩。

第二步: 在现实世界中学习任务

现在我们来到现实世界。机器人被放置在真实的白板或带有托盘的桌子前。我们要用强化学习教它一项具体任务。

机器人使用标准的 RL 目标函数:

]\n\\pi ^ { * } ( a | o ) = \\arg \\operatorname* { m a x } _ { \\pi } \\mathbb { E } _ { \\pi } \\left[ \\sum _ { t = 0 } ^ { \\infty } \\gamma ^ { t } R _ { t a s k } ( s _ { t } , a _ { t } ) \\right]\n[

然而,策略不输出原始的电机扭矩 (\(a\)) ,而是输出潜在动作 (\(z\)) ,然后由预训练的解码器进行解码。

]\n\\pi ( a | o ) = \\int _ { z } \\pi _ { d e c } ( a | o _ { d e c } , z ) \\pi _ { t a s k } ( z | o ) d z\n[

算法: 分解式潜在动作 SAC (FLA-SAC)

研究人员开发了一种特定的算法 FLA-SAC 来高效地训练这一策略。

标准的柔性 Actor-Critic (SAC) 对连续动作效果很好。然而,SLAC 潜在空间通常是离散的 (一组特定的技能) 。为了使其与深度学习所需的可微训练相兼容,他们使用了 Gumbel-Softmax 技巧:

]\n\\hat { z } ( s ) = s o f t m a x \\left( \\frac { \\log \\pi _ { \\theta } ( z \\mid s ) + g _ { z } } { \\tau } \\right) , \\quad g _ { z } \\sim G u m b e l ( 0 , 1 )\n[

这允许网络采样离散技能,同时仍允许梯度在训练期间反向传播通过网络。

“秘诀”: 分解式 Q 函数分解

提高速度的最关键创新在于 SLAC 处理奖励的方式。现实世界的任务通常具有复合奖励。例如,“将垃圾扫入袋子”涉及:

  1. 将底座移动到桌子附近。
  2. 将手移动到垃圾附近。
  3. 移动另一只拿着袋子的手。

因为潜在动作空间在阶段 1 中已经解耦 , 研究人员可以分解 Q 函数 (用于估计动作的价值) 。他们知道“移动底座”的潜在动作可能会影响“导航”奖励,但可能不会影响“抓手”奖励。

]\n\\begin{array} { r l r } { { Q _ { \\pi } ( s , z ) = \\mathbb { E } _ { \\pi } { \\sum _ { t = 0 } ^ { \\infty } \\gamma ^ { t } r _ { t } } } } \\ & { } & { = \\mathbb { E } _ { \\pi } { \\sum _ { i = 1 } ^ { m } \\sum _ { t = 0 } ^ { \\infty } \\gamma ^ { t } r _ { t } ^ { i } } } \\ & { } & { = \\sum _ { i = 1 } ^ { m } \\mathbb { E } _ { \\pi } { \\sum _ { t = 0 } ^ { \\infty } \\gamma ^ { t } r _ { t } ^ { i } } } \\ & { } & { = \\sum _ { i = 1 } ^ { m } Q _ { \\pi } ^ { i } ( s , z ) } \\end{array}\n()

通过将全局 Q 函数拆分为更小的、分解的 Q 函数 (\(Q^i\)) ,算法的学习速度大大加快。这有效地将一个巨大的、充满噪声的学习问题转化为几个更小、更清晰的问题。

实验结果

研究人员在双臂移动机械手上测试了 SLAC。他们设置了四个具有挑战性的任务:

  1. 白板 (Board): 清除白板上的标记。
  2. 白板-障碍物 (Board-Obstacle): 越过障碍物清洁白板。
  3. 桌子-托盘 (Table-Tray): 将物体推入托盘。
  4. 桌子-袋子 (Table-Bag): 将物体扫入另一只手拿着的袋子中。

这些任务需要富接触交互和全身协调

速度与成功率

结果非常明显。SLAC 与三个基线进行了比较:

  • SERL: 现实世界中的直接 RL (无预训练) 。
  • Sim2Real: 从仿真到现实的零样本迁移。
  • RLPD: 使用真实数据微调仿真策略。

表 1: 我们将 SLAC 与基线方法在四个任务中的成功率 (\\(\\uparrow\\)) (超过10次推演) 以及训练期间的总安全违规次数 (\\(\\downarrow\\)) 进行了比较。在所有四个任务中,SLAC 均实现了最高的成功率,同时引起的安全违规次数最少。

如表 1 所示,SLAC 在所有任务中都实现了较高的成功率 (70-90%) 。

  • SERL 完全失败 (0% 成功率) ,因为搜索空间太大。
  • Sim2Real 表现不佳 (0-40%) ,因为模拟海绵在白板上或垃圾在桌子上的精确摩擦和接触动力学极其困难。

最令人印象深刻的是不安全次数 (Unsafe #) 这一栏。SLAC 几乎没有安全违规行为。SERL 和 RLPD 触发了数十次安全停止,需要人工干预。

学习效率

这花了多长时间?

图 3: SLAC 的训练曲线。SLAC 能够在不到一小时的真实世界交互中学会富接触全身操作任务 (图 3a) ,并且也可以应用于非机器人领域 (图 3c) 。消融实验 (图 3b) 表明,SLAC 中的所有技术对其成功都至关重要。

图 3a 显示了训练曲线。SLAC 在大约 40-60 分钟的真实世界交互中收敛到高回报。这颠覆了游戏规则。通常,在硬件上训练策略需要数小时甚至数天。

消融研究 (图 3b) 证实了这些组件是必不可少的:

  • 纠缠 (Entangled): 如果移除仿真阶段 (阶段 1) 中的解耦约束,性能会显着下降。
  • 无时序 (No Temp): 如果移除时间延展 (即高频做决策) ,学习会变得太慢。

结论: 两全其美

SLAC 代表了机器人学习领域务实的飞跃。它承认仿真是现实的不完美表征,但它们是学习抽象技能的绝佳环境。

通过将仿真视为通用协调的“健身房”,将现实世界视为任务执行的“赛场”,SLAC 绕过了现实鸿沟。机器人不是在仿真中死记硬背做什么;它学习的是如何安全有效地控制自己

其影响深远:

  1. 安全性: 如果动作空间受到仿真中习得的安全先验的约束,我们就可以信任昂贵硬件上的 RL 智能体。
  2. 效率: 分解式 Q 学习结合解耦的动作,使得在严格限制的时间框架内进行真实世界训练成为可能。
  3. 简单性: 我们不再需要花费数月时间构建“数字孪生”仿真。一个低保真的沙盒足以引导出有能力的现实世界智能体。

SLAC 证明,只要有正确的抽象,机器人学习与复杂、混乱的物理世界交互的时间,甚至比看一部电影的时间还短。