← 返回列表

DiffGen: Robot Demonstration Generation via Differentiable Physics Simulation, Differentiable Rendering, and Vision-Language Model

作者 Yang Jin, Jun Lv, Shuqiang Jiang, Cewu Lu
年份 2025
会议/期刊 arXiv 2025
评分
标签 机器人操控 可微仿真 视觉语言模型
摘要 可微物理仿真 + 可微渲染 + VLM 端到端优化机器人轨迹:语言指令→余弦相似度损失→梯度反传生成演示,比 RL 快 500×,跨机器人迁移成功率 84%

核心思想

机器人学习操控任务通常需要大量人工演示或精心设计的奖励函数。能否直接用语言描述目标,让系统自动生成演示轨迹?

DiffGen 提出:将可微物理仿真、可微渲染和视觉-语言模型串联成端到端可微的优化管道

  1. 给定语言指令(如”抓红色方块”)
  2. 可微仿真器前向模拟 → 可微渲染器生成图像
  3. VLM 计算图像与指令的余弦相似度
  4. 梯度反传到动作序列 → 直接优化轨迹

结果:比 RL 方法快 500×,成功率 85%,支持跨机器人迁移。

背景知识

什么是可微仿真

传统仿真器是”黑箱”——输入动作、输出状态,但无法计算梯度。可微仿真器允许:

\[\frac{\partial s_{t+1}}{\partial a_t} = \frac{\partial f(s_t, a_t)}{\partial a_t}\]

这意味着可以通过仿真器反传梯度,直接优化动作序列。

什么是可微渲染

传统渲染(如光栅化)不可微。可微渲染器允许:

\[\frac{\partial I}{\partial s_t} = \frac{\partial g(s_t)}{\partial s_t}\]

即图像像素对物体状态的梯度可计算 → 可以从”图像看起来像不像目标”反推”物体该怎么移动”。

为什么传统 RL 方法效率低

问题 说明
奖励设计难 每个任务需要手工设计奖励函数
采样效率低 PPO 需要数百万步才能收敛
稀疏奖励 只有成功/失败信号 → 探索困难
不可迁移 换机器人需要重新训练

DiffGen 的核心优势

对比 RL 方法 DiffGen
奖励来源 手工设计 VLM 自动提供
优化方式 策略梯度(高方差) 解析梯度(低方差)
优化步数 数百万 数千
目标描述 需要数学公式 自然语言

方法详解

1. 问题形式化

目标是找到动作序列 ${a_t}_{t=0}^T$ 最大化累积奖励:

\[\max_{a_t} \mathbb{E}\left[\sum_{t=0}^{T} \gamma^t \mathcal{R}(s_t, a_t; G)\right]\]

约束条件:$s_{t+1} = \mathcal{T}(s_t, a_t)$(状态转移)

2. 端到端可微管道

2.1 可微物理仿真

使用 NimblePhysics 仿真器,通过线性互补问题(LCP)求解接触力学:

\[s_{t+1} = f(s_t, a_t)\]

支持刚体碰撞、摩擦等复杂物理交互,同时提供解析梯度。

2.2 可微渲染

使用 Redner 渲染器(快速延迟渲染模式):

\[I_t = g(s_t)\]

将 3D 物体状态渲染为 2D 图像,像素级梯度可反传。

2.3 VLM 目标指定

使用 LIV 模型(ResNet-50 视觉骨干 + DistilBERT 语言编码器,在 ~400K EpicKitchen 机器人视频上微调):

文本编码:$z^l = h(l)$

图像编码:$z^I = h(I)$

损失函数(余弦相似度):

\[\mathcal{L}(z^l, z^I) = -\frac{z^l \cdot z^I}{\|z^l\| \|z^I\|}\]

2.4 梯度链式法则

关键:整个管道端到端可微,梯度可以一路反传到动作:

\[\frac{\partial \mathcal{L}}{\partial \{a_t\}_{t=0}^T} = \frac{\partial \mathcal{L}}{\partial z^I} \cdot \frac{\partial z^I}{\partial I} \cdot \frac{\partial I}{\partial s_T} \cdot \frac{\partial s_T}{\partial \{a_t\}_{t=0}^T}\]

动作更新规则:

\[\{a_t\}_{t=0}^T \leftarrow \{a_t\}_{t=0}^T - \lambda \frac{\partial \mathcal{L}}{\partial \{a_t\}_{t=0}^T}\]

3. 分段优化策略

问题:长时间步轨迹中,梯度通过仿真器的多步传播会导致梯度消失/爆炸

解决方案:将长轨迹分解为多个短段(episode),顺序优化

  • 每段用更高的学习率、更少的优化步数
  • 前一段的终态作为后一段的初始状态
  • 避免长链梯度传播的数值不稳定

4. 实现细节

参数
优化器 AdamW
默认学习率 1e-2(粗调),1e-3(精细)
视觉骨干 ResNet-50
语言编码器 DistilBERT
VLM LIV(EpicKitchen 微调)
物理仿真器 NimblePhysics
渲染器 Redner(延迟模式)

实验结果

任务设计(Franka Emika Panda 机器人)

任务 目标 成功阈值 优化步数 时间步
方块选择 抓取目标颜色方块 距离 < 10cm 200 50
杯子放置 将杯子放到碟子上 距离 < 5cm 200 70
绕障碍 移动方块绕过墙壁 到达目标区域 300 100

与 RL 基线对比(方块选择任务)

方法 成功率 偏差 (m) 总优化步数
DiffGen(最佳) 0.85 0.082 20K
DiffGen(最后) 0.81 0.095 20K
PPO-CosSim 0.06 0.446 10M
PPO-InfoNCE 0.00 0.259 10M
PPO-LLM(1轮) 0.25 0.274 5M
PPO-LLM(2轮) 0.37 0.173 5M
PPO-LLM(3轮) 0.40 0.224 5M

DiffGen 用 20K 步达到 85% 成功率,PPO 用 10M 步只有 6% → 500× 效率优势

零样本目标泛化(绕障碍任务)

指令 成功率 位移
向左移动 0.978 -0.205m
向右移动 0.704 0.049m

无需重新训练,直接用语言指定新目标。

跨机器人迁移(杯子放置任务)

场景 成功率 偏差 (m)
同机器人,训练中见过的颜色 0.87 0.029
同机器人,未见过的颜色 0.53 0.055
UR5e(新机器人),见过的颜色 0.84 0.054

跨机器人迁移成功率 84% → VLM 的语义理解使目标描述机器人无关

消融实验(绕障碍任务)

变体 成功率 总优化步数
完整方法 0.72 23.9K
无分段优化 0.41 30K
无可微渲染(手工奖励) 0.19 30K

分段优化贡献 +31%,可微渲染 + VLM 贡献 +53%。

个人思考

  1. 端到端可微管道是最核心的贡献:将”语言→图像→物理→动作”的完整链路打通 → 梯度信号从语义空间直达动作空间。
  2. 500× 效率优势来自解析梯度 vs 策略梯度的根本差异:RL 用高方差的采样估计梯度,DiffGen 用精确的解析梯度 → 收敛速度天壤之别。
  3. 分段优化策略巧妙解决了长时间步梯度问题——类似于 BPTT 的截断反传,但在轨迹层面而非时间步层面。
  4. 跨机器人迁移的关键在于目标描述是语义级的(”杯子在碟子上”)而非几何级的 → VLM 抽象掉了机器人特有的信息。
  5. 局限性:依赖可微仿真器(不支持所有物理交互)和 VLM 的质量 → 复杂场景可能超出当前 VLM 的理解能力。
← 返回列表