从 SuperMimic 理解世界模型
策略梯度、可微仿真与真实机器人
这篇笔记从一个具体问题出发:既然已经有物理仿真,为什么还要训练一个世界模型,再通过它训练机器人?沿着这个问题,可以把 PPO、动力学模型、可微物理和价值函数放进同一张图里。
本文将论文报告的事实、一般原理和用于说明概念的例子分开。文中的一维反例是解释工具,不是对 SuperMimic 实测误差的复现。
1. SuperMimic 的世界模型是什么?
“世界模型”是一个宽泛的名称。它本身并没有规定输入必须是视频、输出必须是三维场景,也没有保证模型掌握了完整的物理规律。判断一个世界模型,首先应该问:它看见什么、预测什么、接受什么动作、服务什么任务?
| 用法 | 常见输入与输出 | 主要用途 |
|---|---|---|
| 三维场景生成 | 从图像或文本生成可探索的三维空间 | 内容生成、空间表达和场景探索 |
| 动作条件视频生成 | 根据画面和动作条件生成后续画面 | 视觉交互、预测与生成 |
| 控制用动力学模型 | 根据机器人状态和控制动作预测下一状态 | 规划、控制和策略学习 |
这些类别有交集。例如,视频模型可以学习隐含动力学,三维表示也可以成为控制系统的一部分。但“画面连贯”“几何一致”和“动作改变后的物理后果准确”是不同的能力。
在 SuperMimic 中,世界模型属于第三类。它学习仿真器的状态转移,核心可以写成:
\[\hat{s}_{t+1}=f_w(\hat{s}_t,a_t,\xi).\]这里,$s_t$ 是机器人状态,$a_t$ 是动作,$\xi$ 表示训练中随机化的物理参数。它是从 MuJoCo Warp 数据学习的神经动力学替代模型,可以对输入求导。论文 §3
因此,“它是不是物理仿真?”可以分两层回答:从用途看,它在模拟物理系统;从实现看,它是学习得到的预测器。 传统仿真器显式求解运动与接触方程;神经模型把大量转移样本压缩进参数,用一次网络前向计算近似下一步。
机器人控制中的“运控”,通常就是运动控制:把参考姿态、步行速度、轨迹等目标变成执行器命令,并在接触、噪声和扰动下保持平衡、跟踪目标。能生成一段好看的动作,与能让有质量、有惯性、会摔倒的机器人执行动作,是不同的问题。
2. PPO 和 SuperMimic 最后得到的是同一种东西吗?
从功能看,是同一类东西:一个根据当前观测和目标输出动作的策略。
\[a_t=\pi_\theta(o_{\leq t},g_t).\]其中 $o_{\leq t}$ 表示可用的当前观测及历史,$g_t$ 是要跟踪的目标。无论参数由哪种算法训练,这个策略都可以表现为一个神经网络。PPO 是训练算法,不是一种特定网络结构。 相同的网络可以用不同算法训练;得到的权重、稳定性和行为则未必相同。
真正的区别在训练阶段。
PPO 在仿真中采样轨迹。 策略输出动作,仿真返回下一状态和奖励。算法估计哪些动作比预期好,再提高这些动作在相应状态下的概率。它需要环境的样本,但不需要对环境求导。
SuperMimic 多学习了一个动力学模型。 它在仿真中收集转移、拟合世界模型,再在模型产生的短轨迹上反向传播以更新策略。这是持续交替的循环,不是把模型预训练一次后永久冻结。论文采用 32 步想象轨迹,并用 critic 补上更远的回报。项目说明:训练循环与 critic
← 梯度穿过模型,回传到策略
上图把“数据从哪里来”和“梯度从哪里来”分开了。仿真仍然提供训练世界模型的数据;更新策略的梯度穿过学习模型。更新策略时固定世界模型参数,并不等于切断它对状态和动作的导数。
用二维分类理解会更清楚:
| 轨迹来自哪里 | 不通过动力学求导 | 通过动力学求导 |
|---|---|---|
| 物理仿真器 | PPO 等采样式策略优化 | 可微物理中的策略优化,如 SHAC |
| 学习模型 | 在模型生成的轨迹上跑 PPO | 通过模型反向传播,如 SuperMimic |
这说明,“用模型产生数据”和“利用模型的导数”是两件事。 仅把 PPO 的环境换成神经模型,可以让采样更快,却不会自动获得后一类方法的梯度信息。
3. 为什么多经过一道世界模型,反而可能更高效?
额外训练一个模型当然有成本。它值得做的前提是:在整个训练过程中,省下的采样与策略优化成本超过拟合模型的成本。收益可以从两个角度理解。
每次“试动作”可以更便宜
物理仿真一步可能涉及多个积分子步、碰撞检测和接触约束求解。神经动力学模型则可以用适合 GPU 批量运算的网络,直接近似一个控制步的结果。很多参考动作共享同一个机器人和动力学,因此这个模型的学习成本可以被大量动作共同分摊。
但这不是“MLP 永远比仿真快”。吞吐量取决于批量、硬件、精度、模型规模以及是否计算反向传播。比较完整训练效率时,还必须计入仿真采样、模型训练、策略更新和数据搬运。
每次轨迹可以提供更直接的动作改进方向
考虑一个简单的一步控制问题:动作 $a$ 决定结果 $s’=f(s,a)$,我们希望最大化 $r(s’)$。如果可以对动力学求导,就能用链式法则:
\[\frac{\partial r}{\partial a}=\frac{\partial r}{\partial s'}\frac{\partial f(s,a)}{\partial a}.\]第一项告诉我们“下一状态往哪里变,奖励会更高”;第二项告诉我们“动作往哪里变,下一状态会向那个方向移动”。两者相乘,就得到动作的局部改进方向。再乘 $\partial\pi_\theta/\partial\theta$,便能更新策略参数。
PPO 的信息来源不同。忽略其裁剪与其他细节,策略梯度的核心形式是:
\[\mathbb{E}\!\left[\hat{A}_t\,\nabla_\theta\log\pi_\theta(a_t\mid o_t)\right].\]它根据采样得到的优势估计 $\hat A_t$,调整动作概率。它并非“没有梯度”,只是不需要环境对动作的导数。实际 PPO 通过裁剪概率比等机制限制一次更新的幅度。PPO 原论文
可以想象机器人落地偏左。采样式方法从多次尝试及其回报中学习哪些动作更好;可微模型则还提供局部信息:“这个关节命令增加一点,落点会向哪边移动?”在动作维度较高、回报依赖多个时刻的情况下,这种方向信息可能减少试错。
这里的关键限定是“可能”。模型梯度有偏差;接触附近的局部方向可能不稳定;长链条会放大误差。PPO 对动力学导数的要求更少,配合大规模并行仿真也可以非常有效。算法优劣应由相同任务、合理调参和完整成本下的实验来判断。
怎样读 SuperMimic 的加速数字?
项目页报告两项较能拆分机制的结果:实际训练批量下,世界模型前向 rollout 比 MuJoCo Warp 快十倍以上;在其 PPO-WM 对照中,反向传播达到对方最好训练回报所需的想象步数约少 64 倍。它们分别衡量吞吐量和样本效率,不能直接相乘当作端到端加速倍数。作者的计算成本说明
4. “状态预测准确”为什么不等于“动作梯度准确”?
预测误差问的是:模型给出的数值离真实值有多远? 梯度误差问的是:输入稍微改变时,模型认为结果朝哪个方向、以多快的速度变化? 一个函数可以贴近另一个函数,但局部斜率很不一样。
考虑我们自己构造的一维例子:
\[f(a)=a,\qquad \hat f(a)=a+0.01\sin(200a).\]学习模型与真实函数的预测差始终不超过 $0.01$。但它们的导数是:
\[f'(a)=1,\qquad \hat f'(a)=1+2\cos(200a).\]取 $a_0=\pi/200\approx0.015708$。此时两个预测值完全相同,而真实斜率为 $+1$,模型斜率为 $-1$。同一个点,数值对了,方向反了。
如果目标是让输出接近 $0.1$,损失为 $L=(f(a)-0.1)^2$,则这个点上:
\[\frac{dL_{\mathrm{true}}}{da}\approx-0.1686,\qquad \frac{dL_{\mathrm{model}}}{da}\approx+0.1686.\]梯度下降沿负梯度走,所以真实系统希望增大动作,模型却建议减小动作。模型优化器越认真沿着这个错误方向走,真实结果反而越差。
实线:真实函数 f(a) = a;虚线:模型 f̂(a) = a + 0.01 sin(200a)。
拖动动作观察斜率;单步使用学习率 0.01,目标输出为 0.1。
这个反例不说明 SuperMimic 必然有这样的波纹,而是说明:仅凭状态预测 MSE 小,逻辑上无法推出动作梯度准确。 一般地,小误差 $\varepsilon\sin(\omega a)$ 的幅度是 $\varepsilon$,其导数的幅度却是 $\varepsilon\omega$;高频变化会把数值上微小的误差放大成明显的导数误差。
机器人接触又增加了一层困难。例如,一个动作稍微变化就可能使脚提前触地,后续受力和身体姿态随之改变。平均预测误差不一定突出这些少见但影响大的区域。长时间展开时,多步动力学导数还会相乘,误差可能进一步累积。
所以,评估控制用模型,除了看预测误差,还应该验证它提出的改进方向是否在原仿真中有效。一个实用检查是:沿模型梯度迈一小步,在仿真器重新评估回报;再改变步长和状态分布,看改进是否稳定。有限差分可辅助检查局部方向,但在不光滑点附近本身也依赖步长。
5. 那为什么不直接把 MuJoCo 做成可微的?
这条路是成立的,而且已有研究。首先要纠正一个过宽的说法:不能笼统地说“MuJoCo 不可微”。 官方文档区分了支持自动微分的 MJX-JAX 与不支持该功能的 MJX-Warp;后端能力需要具体讨论。MuJoCo MJX 文档
已知方程并不等于求导在工程上容易。困难主要有三层。
接触会改变系统当前遵循的关系
先看一个仅用于解释的弹簧接触模型。令 $x$ 为脚与地面的间隙,负值表示穿透:
\[F(x)=k\max(0,-x).\]脚在地面上方时,接触力为零;进入地面后,力随穿透量变化。在边界处,两侧斜率不同。摩擦中的粘住与滑动,也可能出现类似的状态切换。这个式子不是 MuJoCo 的实际接触实现,只是说明“不同接触状态对应不同局部规律”。
可以用平滑近似处理切换,但平滑程度会影响物理行为和优化性质。MuJoCo 本身采用软接触建模,其文档也讨论了求导与约束设置的关系;不能把所有接触都简单归类为“绝对无法求导”。MuJoCo 的计算与导数说明
实现里不只有一个封闭公式
仿真步通常包含约束求解。对迭代求解器求导,可以展开迭代,也可以在适用条件下对求解结果作隐式微分。前者可能需要保存较多中间状态;后者需要推导并求解相应线性系统,也依赖解的性质与收敛条件。
因此,“数学上可微”“程序能自动微分”“反向计算足够快”是三个不同的要求。一个前向很快的 GPU 实现,未必已经提供同样高效、稳定的反向实现。
正确的局部导数也不保证长期优化容易
多步展开会出现一串雅可比矩阵相乘:
\[\frac{\partial s_T}{\partial a_0} =\frac{\partial s_T}{\partial s_{T-1}}\cdots \frac{\partial s_2}{\partial s_1}\frac{\partial s_1}{\partial a_0}.\]这里为了突出动力学链条,暂时把后续动作视为固定;闭环策略训练还会包含策略对状态的导数。即使每一步都算对,乘积仍可能很大、很小,或者只指向一个狭窄的局部改善方向。
SHAC 就研究了通过截短可微仿真窗口、使用 critic 来缓解长时梯度与优化困难。因此,“直接使用可微物理”是一个真实的替代路线,而不是被学习世界模型淘汰的旧思路。SHAC
| 方面 | 直接可微物理 | 学习可微世界模型 |
|---|---|---|
| 模型来源 | 物理方程与数值实现 | 数据拟合 |
| 主要优势 | 不引入神经替代模型的拟合误差;物理结构明确 | 批量计算可能更快;可接入不提供导数的数据源 |
| 主要代价 | 接触、求解器与反向计算的工程成本 | 数据采集与拟合成本;分布外误差和梯度偏差 |
| 梯度含义 | 对当前数值仿真模型的导数 | 对当前学习模型的导数 |
| 对现实的保证 | 仍受仿真与现实差距限制 | 同时受模型拟合误差与仿真现实差距限制 |
选择哪一条,应看实际的前向、反向成本和任务结果。神经模型的平滑性有时让优化更容易,但也可能把重要接触结构抹平;物理导数更忠于仿真,也不意味着它是现实的精确导数。
6. 这听起来很像 value function,它们到底差在哪?
这种联想很有道理:二者都在用一个学习到的函数,避免每次从头进行大量试验。区别在于,它们压缩的信息不同。
| 函数 | 回答的问题 | 输出 |
|---|---|---|
| $f(s,a)$ | 现在这样做,下一步会怎样? | 下一状态或其分布 |
| $V^\pi(s)$ | 从这里开始,继续按策略行动,长期有多好? | 一个标量回报 |
| $Q^\pi(s,a)$ | 先做这个动作,再继续按策略行动,长期有多好? | 一个标量回报 |
| $\pi(o,g)$ | 当前应该做什么? | 动作或动作分布 |
例如,给定一个向前推机器人的动作,动力学模型预测身体位置、速度和姿态怎样变化。若任务是“向前走”,这可能是好事;若任务是“原地站稳”,同样的变化可能是坏事。物理后果相同,价值却随奖励定义和后续策略改变。
所以动力学模型通常更接近可复用的环境知识,价值函数更直接服务于当前任务与策略。这里的“可复用”也有边界:如果新任务把机器人带到原数据没有覆盖的状态,动力学模型依然可能需要新数据。
为什么不直接对 $Q$ 求导,让它告诉动作往哪改?完全可以。 确定性策略梯度就使用类似下面的形式:
\[\nabla_\theta J\approx \mathbb{E}\left[\nabla_a Q^\pi(s,a)\big|_{a=\pi_\theta(s)} \nabla_\theta\pi_\theta(s)\right].\]这类方法可以不显式预测下一状态。因此,不能把“model-free”全部等同于 PPO,也不能说只有世界模型才能提供对动作的梯度。Deterministic Policy Gradient
通过动力学展开与直接学习 $Q$ 的差别在于:前者显式表示一段动作后果,再计算这段后果的价值;后者把这些后果及其长期价值压缩进一个标量函数。两者都有近似误差,且“函数值拟合准,不保证动作导数准”的问题同样适用于 $Q$。
二者也可以合作。短期用模型展开、长期用价值函数收尾,可以写成示意目标:
\[\hat J=\sum_{t=0}^{H-1}\gamma^t r(\hat s_t,a_t) +\gamma^H V_\psi(\hat s_H).\]这个公式省略了目标条件、终止权重等实现细节。它说明的是分工:世界模型描述近期会发生什么,critic 估计展开末端之后还有多少价值。 训练窗口缩短了,不代表优化目标只关心短期。
7. 只学仿真,为什么能在真实机器人上运行?
首先要分开两种误差:
\[\text{学习模型}\longleftrightarrow\text{物理仿真} \longleftrightarrow\text{真实机器人}.\]左边是拟合误差,右边是 sim-to-real gap。即使学习模型完全复制了仿真,现实中的摩擦、惯性、执行器响应、传感器误差仍可能不同。
常见的迁移思路是:让策略在训练时经历一组变化的环境参数与观测误差,并学会通过反馈修正动作。域随机化把“只适应某一套精确参数”的任务,变成“在一段参数范围内都要做好”的任务。动力学随机化的经典研究
可以想象在几种摩擦力不同的地面上训练站立。策略不能只记住一个固定力矩,而需要根据身体倾斜、速度等反馈调整输出。如果真实地面及其他误差处在它能处理的范围内,就可能直接迁移。若现实偏差超出训练覆盖,迁移依然可能失败。
对 SuperMimic,论文报告了摩擦、关节标定及躯干质心等随机化和观测噪声,并在真实 G1 上展示策略。部署使用策略网络及常规观测处理、底层控制,不需要训练时的世界模型与 critic。论文附录与真实机器人实验
这不矛盾:世界模型是在训练时帮助策略找到参数的工具。部署时,机器人持续读取传感器、计算动作、执行、再读取新观测,形成反馈闭环。它不需要一边走路一边重新展开训练图;也不是单纯播放预先算好的关节序列。
还要注意,仿真状态可以包含训练时才能获得的信息,部署策略必须使用真实设备可获得的观测。讨论迁移时,应检查 actor 输入,而不能把世界模型的输入直接当成部署输入。
8. SuperMimic 新在哪里,哪些质疑值得保留?
把它理解为“第一次提出世界模型”或者“证明 PPO 已经过时”都不准确。学习动力学、通过模型求策略梯度、短时展开加 critic,都有前人的工作。SHAC是直接可微仿真路线的一个例子;学习模型的动作控制还可以参看论文引用的 SuperTrack、ControlVAE 等前作。
我的理解是,它的重要性在于系统层面的效果:把共享动力学模型、快速想象和策略反向传播组合起来,使大规模人形动作跟踪的训练成本明显降低,并给出真实硬件上的验证。 “基本想法已有先例”和“把它做成有效的新系统”可以同时成立。
作者报告单张 H100 训练 3 小时超过 SONIC 发布检查点的回报;对照所报训练成本是 128 张 L40、7 天。两者训练数据与硬件不同,所以不能把这个对比当作控制全部变量后的纯算法倍数。项目页还明确说明,129,514 个动作的评测衡量训练动作覆盖,而非未见动作泛化。结果与评测口径
据此,几个常见质疑可以分开判断:
“它只是特定机器人的模型,算不上通用世界模型。” 范围判断是合理的,但范围有限本身不否定价值。它解决的是特定控制问题;是否覆盖语言、视觉、物体交互,需要另外的任务和证据。
“既然数据来自仿真,模型不会自动比仿真更接近现实。” 这是合理的提醒。更有利于优化的近似模型,可能训练出更好的策略,但不能据此推断它发现了比数据来源更精确的现实物理。
“如果有同样快、梯度也好用的物理仿真器,何必学模型?” 这是有价值的替代方案。它削弱了学习模型在速度和求导接口上的优势;但应比较完整成本与控制效果,而不是只比较是否可微。
“预测误差很小,梯度一定也可靠。” 这个推论不成立,前面的一维反例已经足够说明。策略在原仿真中的实际改善和真实机器人的表现,才是额外的有效性证据;成功结果也不等于所有区域的模型梯度都准确。
“这个方法就像 MBPO,只在模型里走一步。” 这混淆了不同的模型使用方式。SuperMimic 对短期多步轨迹反向传播,并利用价值函数收尾;不能仅凭“用了世界模型”就把训练机制归为同一种。
我更关心的后续问题是:换成更复杂的接触、物体操作和新状态分布后,模型的局部梯度是否仍能可靠指导策略?完整成本优势能否保持?这些问题需要新的实验,而不只需要更低的平均预测误差。
参考资料
- SuperMimic 论文,v1:方法、实验与附录。
- SuperMimic 项目页:训练循环、真实机器人演示及计算口径说明。
- Proximal Policy Optimization Algorithms:PPO 的策略优化目标。
- Accelerated Policy Learning with Parallel Differentiable Simulation(SHAC):短窗口可微仿真与 critic。
- Deterministic Policy Gradient Algorithms:通过动作价值函数更新确定性策略。
- MuJoCo MJX 文档:不同实现的功能与自动微分支持。
- MuJoCo Computation / Derivatives:接触、求解与导数的技术背景。
- Sim-to-Real Transfer of Robotic Control with Dynamics Randomization:动力学随机化与迁移。
本文由与 AI 的讨论整理,并对照上述资料核对关键表述;用于个人学习与研究交流。论文结果采用作者报告口径,本文未独立复现实验。