引言

机器人在工业领域已经取得了令人瞩目的成就,特别是在处理刚性物体方面。我们拥有能够以亚毫米级精度焊接汽车底盘或以闪电般速度组装电子产品的机器人。然而,如果把这样的机器人搬进厨房,让它包饺子或裹面团,它很可能会束手无策。

挑战在于变形物体操作 (Deformable Object Manipulation) 。 与刚性的盒子不同,一块面团或一块布料拥有无限的自由度。它的形状会根据接触、重力和材料属性而改变。当你将其与灵巧机械手 (本身也具有高维性) 结合使用时,寻找成功运动轨迹的搜索空间会在计算上呈爆炸式增长。

传统方法 (如轨迹优化) 往往在此折戟沉沙。它们容易陷入局部最优解,或者因为“代价函数” (cost function,即我们用来告诉机器人它是否做得很好的数学方法) 直到任务接近完成时才能提供有用的反馈而陷入挣扎。

在这篇文章中,我们将深入探讨 D-Cubed (Latent Diffusion for Dexterous Deformable Manipulation,即用于灵巧变形操作的潜空间扩散模型) ,这是牛津大学研究人员提出的一种新颖方法。这篇论文提出了一个融合了三个复杂领域的迷人方案: 用于学习技能的变分自编码器 (VAEs) 、用于生成规划的潜空间扩散模型 (LDMs) , 以及用于引导机器人实现目标的无梯度优化

图 1: D-Cubed 利用从任务无关的“玩耍”数据集中训练出的潜空间扩散模型,为长视距灵巧变形物体操作任务生成开环动作轨迹。

如图 1 所示,D-Cubed 利用一个与任务无关的数据集,学习如何移动,然后优化轨迹,将一堆面团变成特定的目标形状。让我们以此探索这种架构是如何弥合模拟与现实之间的差距的。

核心问题: 为什么这很难?

要欣赏 D-Cubed 的精妙之处,我们首先必须了解标准方法为何会失败。

维度灾难

在灵巧操作中,你需要控制一只拥有许多关节 (通常 20 多个) 的手。你需要操作一个能够以无限种方式变形的物体 (如布料或橡皮泥) 。为了完成任务,你需要在一个很长的时间跨度内 (例如数百个时间步) 找到一系列动作。所有可能动作的数学空间是巨大的。通过随机搜索来解决这个问题是不可能的。

“梯度”问题

解决机器人控制问题的一种常见方法是使用可微物理模拟器 。 这些模拟器可以计算梯度——这是一种数学信号,告诉机器人: “如果你把手指稍微向左移动一点,代价就会降低。”

然而,对于变形物体,这些梯度往往是不可靠或“稀疏”的。如果机器人的手指没有接触到物体,梯度就是零 (没有信息) 。即使接触到了,复杂的接触物理特性也会使梯度变得嘈杂或不准确。这使得标准的基于梯度的优化方法很容易失败。

背景概念

D-Cubed 依赖于几个基础的机器学习概念。让我们简要回顾一下。

去噪扩散概率模型 (DDPMs)

扩散模型已经席卷全球 (驱动了像 DALL-E 和 Midjourney 这样的工具) 。它们的工作原理很简单:

  1. 前向过程: 缓慢地向数据添加噪声,直到它变成纯粹的静电噪声。
  2. 逆向过程: 训练一个神经网络逐步去除噪声,以恢复原始数据。

在机器人技术中,我们可以将轨迹 (一系列机器人动作) 视为一张“图像”。我们可以训练一个扩散模型,通过从随机静态噪声中去噪出平滑的轨迹,来生成逼真的机器人动作。

在数学上,逆向过程预测给定当前噪声步长时,前一步的均值 \(\mu\) 和方差 \(\Sigma\)。均值的更新如下:

()\n\\mu _ { \\theta } ( \\mathbf { x } _ { i } , i ) = \\frac { \\sqrt { \\bar { \\alpha } _ { i - 1 } } \\beta _ { t } } { 1 - \\bar { \\alpha } _ { i } } \\mathbf { x } _ { 0 } + \\frac { \\sqrt { \\alpha _ { t } } \\left( 1 - \\bar { \\alpha } _ { i - 1 } \\right) } { 1 - \\bar { \\alpha } _ { i } } \\mathbf { x } _ { i }\n[

方差通常是固定的或学习得到的:

]\n\\Sigma _ { \\pmb { \\theta } } ( \\mathbf { x } _ { i } , i ) = \\sigma _ { i } ^ { 2 } \\mathbf { I } = \\widetilde { \\beta } _ { i } = \\frac { 1 - \\overline { { \\alpha } } _ { i } - 1 } { 1 - \\overline { { \\alpha } } _ { i } } \\beta _ { i } ,\n[

模型的训练目标是最小化预测的纯净数据与实际数据之间的差异:

]\n\\mathcal { L } _ { \\mathrm { d i f f u s i o n } } = \\mathbb { E } _ { \\mathbf { x } _ { 0 } \\sim q ( \\mathbf { x } _ { 0 } ) , i \\sim [ 1 , N ] } \\left[ | | \\mathbf { x } _ { 0 } - G ( \\mathbf { x } _ { i } , i ) | | _ { 2 } ^ { 2 } \\right] .\n[

交叉熵方法 (CEM)

CEM 是一种不需要梯度的流行优化算法。它的工作原理是:

  1. 从一个分布 (通常是高斯分布) 中采样一批解决方案。
  2. 评估它们。
  3. 选择前 k 个表现最好的样本 (“精英”) 。
  4. 根据这些精英样本拟合一个新的高斯分布。
  5. 重复直到收敛。

D-Cubed 将巧妙地结合这两个概念。

D-Cubed 架构

D-Cubed 方法分为两个阶段: 学习轨迹优化

图 2: 方法概览。(1) 训练 VAE 以通过重建从任务无关的玩耍数据集中随机采样的短视距动作序列 \\(\\mathbf { a } ^ { t : t + H }\\) 来学习技能潜表示 \\(\\mathbf { z }\\)。(2) 训练潜空间扩散模型 (LDM) 将技能组合成技能轨迹,代表从数据集中采样的长视距动作轨迹。(3) 在轨迹优化过程中,生成 \\(B\\) 个技能轨迹 \\(\\{ \\mathbf { z } _ { i } ^ { 1 : T _ { s k i l l } } \\} ^ { | \\bar { B | } }\\),其中 \\(T _ { s k i l l } = \\frac { T } { H }\\) 是技能轨迹的长度。这些轨迹在模拟器中进行评估,具有最小代价的最佳序列 \\(\\mathbf { z } _ { b e s t } ^ { 1 : T _ { s k i l l } }\\) 被选中用于后续的逆向过程。详情见算法 1。

第一部分: 从“玩耍”数据中学习

机器人技术的最大瓶颈之一是收集专家演示。通过手动移动机器人的手臂 1000 次来教它叠衬衫既昂贵又乏味。

D-Cubed 通过使用任务无关的玩耍数据集 (task-agnostic play dataset) 绕过了这个问题。该数据集包含通用的手部动作——张开、闭合、摆动手指、弯曲手腕——模仿人类的手部运动。它并不试图实现特定目标;它只是在探索手的能力。

步骤 A: 技能潜空间 (VAE)

机器人手的原始动作空间是高频且抖动的。优化每一毫秒的每个关节角度是低效的。

研究人员使用变分自编码器 (VAE) 将这些动作的短序列 (例如 10 个时间步) 压缩成一个紧凑的“技能”向量 \(z\)。

  • 编码器 (Encoder): 接收短动作序列并将其压缩为潜代码 \(z\)。
  • 解码器 (Decoder): 接收 \(z\) 并重建动作序列。

VAE 使用证据下界 (ELBO) 损失进行训练:

]\n\\mathcal { L } ^ { \\mathrm { E L B O } } = \\mathbb { E } _ { \\mathbf { z } \\sim q _ { \\psi } ( \\mathbf { z } | \\mathbf { a } ^ { t : t + H } ) } \\log p _ { \\psi } ^ { d e c } ( \\mathbf { a } ^ { t : t + H } \\mid \\mathbf { z } ) - D _ { \\mathrm { K L } } \\left[ q _ { \\psi } ( \\mathbf { z } \\mid \\mathbf { a } ^ { t : t + H } ) \\lVert p ( \\mathbf { z } ) \\right]\n[

为什么要这样做? 这种抽象缩小了搜索空间。系统现在规划的是一系列“技能” (例如“合拢手指”、“旋转手腕”) ,而不是规划成千上万个单独的运动指令。

步骤 B: 潜空间扩散模型 (LDM)

现在我们有了“技能”,我们需要一种方法将它们串联成长的轨迹。这就是潜空间扩散模型发挥作用的地方。

作者在玩耍数据集上训练了一个 LDM (使用 Transformer 主干) 。该模型学习生成技能潜变量序列 (\(z^{1:T_{skill}}\))。因为它是一个扩散模型,所以它非常擅长建模复杂的多模态分布。它可以生成多样化且物理上合理的技能序列。

LDM 的训练目标是最小化从噪声序列预测纯净技能序列的误差:

]\n\\mathcal { L } _ { \\mathrm { l d m } } = \\mathbb { E } _ { \\mathbf { z } ^ { 1 : T _ { s k i l l } } \\sim \\mathcal { D } _ { p l a y } , i \\sim [ 1 , N ] } [ | \\mathbf { z } _ { 0 } ^ { 1 : T _ { s k i l l } } - G ( \\mathbf { z } _ { i } ^ { 1 : T _ { s k i l l } } , i ) | | _ { 2 } ^ { 2 } ] .\n[

第二部分: 无梯度引导采样 (优化)

这是论文中最具创新性的部分。我们拥有一个可以构想机器人手部动作的模型 (LDM),但我们需要它来解决特定任务,比如折叠面团。

标准的扩散引导 (分类器引导) 通常使用梯度来推动生成过程朝向目标发展。但如前所述,变形物体模拟器中的梯度是不可靠的。

取而代之的是,D-Cubed 将交叉熵方法 (CEM) 直接嵌入到逆向扩散过程中。

算法分步解析

  1. 初始化: 从一批纯高斯噪声轨迹开始。
  2. 逆向扩散循环 (从第 \(N\) 步到第 1 步) :
  • 探索: LDM 预测下一个去噪步骤的均值 \(\mu_i\)。
  • 采样: D-Cubed 在这个均值周围采样一批带噪声的技能轨迹。
  • 评估: 这些带噪声的技能轨迹被解码为实际的运动动作并在模拟器中执行。计算代价 (与目标形状的距离) 。
  • 选择: 识别出代价最低的轨迹作为 \(z_{best}\)。
  • 引导: 这个“最佳”轨迹用于更新下一个扩散步骤的均值。

均值的更新方程有效地将扩散过程拉向低代价的轨迹:

]\n\\mu _ { \\theta } ( \\mathbf { z } _ { i } ^ { 1 : T _ { s k i l l } } , i ) = \\frac { \\sqrt { \\bar { \\alpha } _ { i - 1 } } \\beta _ { t } } { 1 - \\bar { \\alpha } _ { i } } G _ { \\theta } ( \\mathbf { z } _ { b e s t } ^ { 1 : T _ { s k i l l } } , i ) + \\frac { \\sqrt { \\alpha _ { t } } \\left( 1 - \\bar { \\alpha } _ { i - 1 } \\right) } { 1 - \\bar { \\alpha } _ { i } } \\mathbf { z } _ { b e s t } ^ { 1 : T _ { s k i l l } }\n()

为什么这行得通

在扩散的早期步骤 (高噪声) 中,方差很大。这意味着模型会生成非常多样化的轨迹——它有效地“探索”了搜索空间。随着步骤的进行 (低噪声) ,方差缩小,模型“利用”最佳轨迹,微调精细动作以最小化代价。

通过在每一步都通过模拟器过滤样本,D-Cubed 确保最终轨迹不仅仅是扩散模型的幻觉——它是经过物理验证可行的。

实验与结果

作者在一套包含六个具有挑战性的任务中评估了 D-Cubed,这些任务涉及模拟的面团和绳索。其中包括单手任务 (折叠、翻转) 和双手任务 (包饺子、做包子) 。

目标形状 图 3: D-Cubed 的定性结果。(上) 翻转任务 - 手主要使用手腕和手指的自由度,能够将橡皮泥折叠成代表目标状态的构型。(下) 饺子任务 - D-Cubed 使用双手使静止的橡皮泥变形,能够将橡皮泥操作至接近目标形状。

定性结果 (图 3) 显示机器人执行了复杂的操作,利用摩擦和接触来重塑物体。

定量比较

D-Cubed 与强大的基线方法进行了比较:

  • Grad TrajOpt: 基于梯度的轨迹优化。
  • MPPI: 一种标准的基于采样的优化方法。
  • PPO: 一种流行的强化学习算法。
  • LDM with Classifier Guidance: 使用标准梯度引导的 LDM。

使用的指标是“推土机距离 (EMD) 的归一化改进量”,其中 1.0 表示与目标形状完美匹配。

表 1: 报告了每种方法的平均归一化改进 EMD 和标准差。分数是 3 个种子的平均值。Grad TrajOpt 和 PPO 的分数取自先前的工作 [14]。

从表 1 得出的关键结论:

  • D-Cubed 占据主导地位: 它在所有任务中都以显著优势优于所有基线方法。
  • 梯度失效: 注意 Grad TrajOptLDM w/ Classifier Guidance 的表现挣扎 (分数接近 0.0 或非常低) 。这证实了模拟器梯度太嘈杂,无法指导复杂的变形任务。
  • 基线方法陷入困境: 即使是 PPO 和标准 MPPI 也无法处理状态空间的复杂性。

为什么它表现这么好? (消融研究)

作者进行了消融研究,以证明其设计选择的必要性。

1. 采样数量的重要性 在图 4(a) 中,他们表明增加逆向过程中采样的轨迹数量可以提高性能。这是合理的: 样本越多 = 找到好路径的机会越大。

图 4: 我们报告了所有六个任务的平均 EMD 改进的均值和四分位距均值 (IQM)。(a) 在我们提出的无梯度引导采样中采样的轨迹数量的消融实验 (算法 1 中的第 10 行) 。(b) 在我们的方法中有无额外梯度引导的性能比较。

2. 梯度没有帮助 图 4(b) 特别有趣。它表明,在他们的方法之上额外添加梯度引导并没有带来统计学上显著的改进。“黑盒”模拟器评估已经足够且更稳健。

3. 技能潜变量的力量 VAE (技能潜变量) 真的有帮助吗?还是我们可以直接对原始动作进行扩散?图 5 比较了有无技能潜空间的 D-Cubed。

图 5: 有/无技能潜表示的 D-Cubed 的比较。

对于简单的任务 (翻转、折叠) ,原始动作效果还可以。但对于像“绳索”和“包裹”这样的复杂任务,技能潜变量版本的表现要好得多。技能空间充当了一种“宏”语言,允许规划者以行为而不是肌肉抽动的方式进行思考。

4.随时间推移的改进 图 7 展示了扩散时间步上的优化过程。

图 7: D-Cubed 轨迹优化过程中 EMD 的改进。我们提出的采样方法在扩散时间步长上成功地提高了性能 (即最小化了代价函数) 。

我们可以看到早期有急剧的改进。这表明“探索”阶段 (高噪声) 迅速确定了接触物体所需的总体运动,而后的步骤则对形状进行了微调。

虚实迁移

最后,机器人研究的圣杯: 它能在现实世界中工作吗?

作者将模拟中优化的轨迹迁移到了使用 LEAP 手的真实世界设置中。尽管存在“现实差距” (摩擦力、传感器噪声等的差异) ,该轨迹还是成功地翻转了一个变形物体。

图 6: 在真实世界实验中使用 LEAP 手的 D-Cubed 定性结果。LEAP 手有效地操作了变形物体,展现出与模拟中观察到的类似的变形。

这是可能的,因为 D-Cubed 生成的是开环轨迹,只要初始条件相似,它就足够稳健,无需持续的实时修正即可工作。

结论与启示

D-Cubed 代表了机器人操作领域向前迈出的重要一步。通过摆脱对梯度的依赖并拥抱生成式建模,它解决了以前难以处理的任务。

以下是给学生和研究人员的关键要点:

  1. 技能优于动作: 将低级控制抽象为“技能” (通过 VAE) 使得长视距规划变得可行。
  2. 扩散作为规划器: 扩散模型不仅仅用于图像。它们是生成像机器人轨迹这样复杂时间序列数据的强大先验。
  3. 模拟是一个强大的批评者: 即使模拟器梯度嘈杂,模拟器的输出状态也是评估和选择轨迹的宝贵信号。

局限性?D-Cubed 目前计算量很大,因为它需要在推理 (规划) 阶段运行许多次模拟。然而,随着并行模拟技术 (如 Isaac Gym) 的进步,像 D-Cubed 这样的方法可能会变得足够快,从而应用于实时场景。

这篇论文是一个很好的例子,展示了现代生成式 AI 技术如何创造性地应用于经典的机器人问题,为机器人最终能够处理我们所处的这个混乱、柔软的世界打开了大门。