PAPER DEEP DIVE
从运动模仿中学习人形机器人可复用混合运动先验
从运动模仿中学习可复用的混合运动先验,让 RL 策略能跨步态任务迁移而非每次从零训练,提升人形运动控制的样本效率和泛化能力。
研究背景与动机
强化学习已成为人形机器人控制的标准工具,大规模仿真训练使得鲁棒控制器可以部署到物理机器人上。然而,标准 RL 控制器通常是任务特定解决方案——每个新目标需要新的奖励设计和训练过程,在此过程中策略必须重新获取基本运动能力如平衡、迈步、接触时序和全身协调。运动模仿(motion imitation)提供了一种从数据中获取运动能力的系统性方法:给定重定向的人类运动,RL 可以训练人形机器人跟踪参考轨迹,从而学习多样化的自然技能而无需为每种行为设计单独的任务奖励。但运动模仿策略本质上是参考跟踪器——它们执行提供的运动参考,但不直接解决下游任务如跟随命令、到达目标或响应任务级观测。
从技术脉络看,本文处于运动模仿与运动先验研究的交汇点。DeepMimic 开创了通过示例引导 RL 从运动片段合成物理角色技能的范式,后续方法学习了更通用的人形跟踪策略并提升了鲁棒性和可扩展性。在运动先验方向,已有工作探索了可复用的低层控制空间——下游策略查询学习到的控制器或潜在表示而非直接在完整关节动作空间中行动。神经运动原语提供了早期示例,后续工作使用 VQ-VAE 将运动技能编码为离散码本,下游策略通过选择码本条目生成动作。本文的关键区别在于"残差量化"——不量化完整的运动潜在,而是仅量化参考意图与本体感知之间的残差,这一设计使得码本只需编码"在当前本体状态下还需要什么运动意图",大幅降低了码本学习难度并提升了泛化能力。
本文旨在弥合这一差距,将运动模仿获得的运动技能转化为可复用的混合运动先验(Hybrid Motion Prior, HMP)。核心思路是:先训练一个运动模仿专家策略,再将其蒸馏为冻结的架构(本体感知编码器 + 残差向量量化码本 + 动作解码器),最后在冻结 HMP 之上训练任务级策略通过选择离散码本条目来解决下游任务。这一设计使得运动技能可以跨任务复用而无需重新训练低层运动词汇,同时通过离散码本选择提供了可解释的动作接口。研究还发现码本具有可解释的结构——活跃 RVQ 阶段数量调节可用的步态模式,且使用旋转技巧(rotation trick)训练码本相比标准直通估计器(STE)改善了潜在组织并减少了下游跌倒。
三阶段流水线方法
整个方法由三个阶段组成。本体感知观测定义为:
$$p_t = \left[{}^b\omega_t, {}^b g_t, q_t - q_{\text{nom}}, \dot{q}_t, a_{t-1}\right]$$
其中 ${}^b\omega_t$ 为基座角速度,${}^b g_t$ 为投影重力向量,$q_t$ 和 $\dot{q}_t$ 为关节位置和速度,$q_{\text{nom}}$ 为标称关节姿态,$a_{t-1}$ 为上一时刻动作。动作 $a_t$ 解释为关节级 PD 控制器的位置目标。
阶段一:运动模仿专家
第一阶段使用 PPO 在非对称演员-评论者框架中训练运动模仿专家。每次环境重置时随机采样运动片段和初始时间索引。运动命令编码为:
$$m_t = \left[\hat{q}_t, \dot{\hat{q}}_t, {}^b\hat{v}_{xy,t}, {}^b\hat{\omega}_{z,t}, {}^w\hat{h}_t, {}^w\hat{\phi}_t, {}^w\hat{\theta}_t\right]$$
其中带帽量为从参考中提取的关节位置/速度、局部基座平面速度、偏航率、基座高度和横滚/俯仰角。奖励结合基座、身体、关节和速度跟踪项以及接触、动作平滑和关节限位的正则化。专家演员使用时间卷积历史编码器 $H_\alpha(\cdot)$ 将历史窗口 $[p_{t-1}, \ldots, p_{t-H}]$($H=10$)映射为本体感知历史嵌入:
$$\eta_t = H_\alpha([p_{t-1}, \ldots, p_{t-H}])$$
专家在 27 个 LaFAN 运动片段(12 行走、4 跑步、2 冲刺、3 跳跃、6 跌倒起立)上训练 30,000 次迭代,使用域随机化和外部扰动提升鲁棒性。
残差量化设计的深层逻辑值得进一步阐述。在标准 VQ-VAE 中,编码器将完整输入编码为离散码,这要求码本覆盖整个输入空间的多样性。但在人形机器人场景中,本体感知 $p_t$ 已经包含了大量关于当前运动状态的信息(关节角度、速度、基座姿态等),这些信息是连续且高维的。如果将完整运动意图量化为离散码,码本需要同时编码"当前状态是什么"和"接下来要做什么",容量需求巨大且学习困难。残差设计将 $z_t^{ ext{ref}}$(参考意图)减去 $ ext{sg}(z_t^{ ext{prop}})$(本体感知的停止梯度副本),使得码本 $y_t$ 仅编码"参考意图超出本体感知可推断部分的那部分残差"——即纯粹的运动意图增量。这种解耦使连续本体感知编码器负责平衡和基本运动能力,离散码本负责任务条件化的运动模式调制,两者互补而非冗余。实验中通过冻结码本仅用本体感知编码器也能产生基本站立行为,验证了这种互补分工的有效性。
阶段二:混合运动先验蒸馏
第二阶段将专家蒸馏为可复用的 HMP。冻结的专家生成短时在线轨迹,存储本体感知测量、运动命令、专家动作和终止掩码,通过监督学习更新学生模型。架构包含两个共享潜在空间的编码器和一个动作解码器。参考编码器 $E_\phi(\cdot)$ 接收运动参考命令 $m_t$(训练时特权信息),产生参考潜在意图:
$$z_t^{\text{ref}} = E_\phi(p_t, \eta_t, m_t)$$
本体感知编码器 $P_\theta(\cdot)$ 输出本体感知潜在:
$$z_t^{\text{prop}} = P_\theta(p_t, \eta_t)$$
部署时仅保留 $P_\theta$,参考编码器仅在蒸馏时使用。残差量化仅量化参考潜在与本体感知潜在之间的残差:
$$y_t = z_t^{\text{ref}} - \text{sg}(z_t^{\text{prop}})$$
其中 $\text{sg}(\cdot)$ 为停止梯度算子。这种设计使本体感知编码器捕获可从机器人本体感知推断的信息,码本仅编码跟踪参考所需的残差运动意图,降低了学习难度。离散模块实现为 $M$ 阶段残差向量量化器(RVQ),每阶段码本 $C^{(m)} = \{e_1^{(m)}, \ldots, e_K^{(m)}\}$ 含 $K$ 个条目,RVQ 从每阶段选一个码条目并求和:
$$\hat{y}_t = \sum_{m=1}^{M} e_{k_t^{(m)}}^{(m)}$$
蒸馏时使用量化器 dropout——随机选择 $M' \leq M$ 个活跃阶段的前缀求和,鼓励早期阶段捕获粗粒度运动结构,后续阶段逐步细化残差。动作解码器 $D_\psi(\cdot)$ 接收量化残差加回本体感知潜在的结果 $\hat{z}_t = \text{sg}(z_t^{\text{prop}}) + \hat{y}_t$ 并重建动作。配置为 8 阶段 RVQ($M=8$),每阶段 $K=1024$ 个码条目,所有潜在维度 128,码本 EMA 衰减 0.99,蒸馏 6000 次迭代。
flowchart TD
subgraph P1["阶段1: 运动模仿专家"]
L["LaFAN 运动片段"] --> RT["重定向到G1"]
RT --> EP["PPO 专家策略
跟踪参考运动"]
end
subgraph P2["阶段2: HMP 蒸馏"]
EP -->|"冻结生成轨迹"| PE["本体感知编码器 P_θ"]
EP --> RE["参考编码器 E_φ"]
PE --> RQ["残差量化
y = z_ref - sg(z_prop)"]
RE --> RQ
RQ --> CB["RVQ 码本
8阶段 × 1024条目"]
CB --> AD["动作解码器 D_ψ"]
end
subgraph P3["阶段3: 下游任务学习"]
CB -->|"冻结"| TP["任务级策略 F_ξ
选择码本索引"]
TP -->|"输出码索引"| CB
TP --> T1["速度跟踪"]
TP --> T2["点目标导航"]
TP --> T3["跌倒恢复"]
end
在工程实现层面,该流水线的模块化设计也具有实用优势。三个阶段可以独立调试和迭代——如果运动模仿专家不够好,可以重新训练阶段一而不影响后续阶段的设计;如果码本容量不合适,可以调整阶段二的 RVQ 配置而无需修改专家或任务策略;如果某下游任务表现不佳,只需重新训练阶段三的码本选择策略。这种解耦设计大幅降低了系统调试的复杂度。训练配置方面,运动模仿专家使用 PPO 训练 30,000 次迭代,HMP 蒸馏 6,000 次迭代,下游任务分别训练 4,500-9,000 次迭代——相比之下,从头训练一个完整的速度跟踪策略通常需要更多迭代,因为策略必须同时学习基本运动能力和任务目标。HMP 的复用使得下游任务训练从"学习运动+学习任务"简化为"在已有运动词汇上学习任务选择",这是训练效率提升的根本来源。所有训练在 MuJoCo 仿真中通过 mjlab GPU 加速框架进行,使用 4096 个并行环境,策略运行频率 50Hz。
旋转技巧(rotation trick)相比直通估计器(STE)的改进也值得深入分析。STE 通过将量化操作的梯度直接传递给编码器来训练 VQ 码本,但这种梯度近似可能导致码本利用不均衡——某些码条目被频繁使用而其他条目"死掉"(从未被选中)。旋转技巧通过将编码器输出和码本条目在向量空间中旋转来计算梯度,提供了更准确的梯度估计,使所有码条目都能被有效更新。实验结果显示 STE 和 RT 的跟踪误差相似,但 RT 的跌倒率仅为 STE 的五分之一(2.1% vs 10.2%),这说明 RT 学到的码本潜在组织更好——码条目分布更均匀,下游策略在选择码条目时更不容易选到导致不稳定的组合。这一发现对 VQ-based 运动先验的实践具有重要指导意义:码本训练方法不仅影响重建质量,更直接影响下游任务的鲁棒性。
阶段三:下游任务学习
第三阶段冻结历史编码器和 HMP,训练任务级策略。下游任务不再提供参考运动 $m_t$,而是提供任务特定命令 $c_t$。任务级策略 $F_\xi(\cdot)$ 接收 $p_t, \eta_t, c_t$,输出每个量化阶段的类别 logits:
$$\ell_t = F_\xi(p_t, \eta_t, c_t) \in \mathbb{R}^{M \times K}$$
每阶段从类别分布中采样一个索引 $k_t^{(m)} \sim \text{Cat}(\text{softmax}(\ell_t^{(m)}))$,评估和部署时改为选择最高 logits 索引。结果索引从冻结码本检索码向量,按公式求和后传入冻结 HMP 返回关节位置动作。PPO 优化类别码选择策略,环境用冻结 HMP 产生的连续动作步进——新任务策略学习在模仿中获取的运动码之间选择,而不修改低层运动词汇。
实验结果
蒸馏评估
在 1024 次 30 秒仿真轨迹上评估,蒸馏模型(含参考编码器和 HMP)在主要跟踪指标上紧密匹配专家:身体位置误差 62.2mm,身体旋转误差 4.8°,关节位置误差 0.07rad,关节速度误差 0.48rad/s。这验证了蒸馏阶段有效保留了专家的跟踪行为。
下游任务性能
三个下游任务均在 Unitree G1(29 自由度)上以 50Hz 运行,使用 4096 个并行环境训练。速度跟踪命令范围为 $v_x \in [-1.0, 3.0]$ m/s、$v_y \in [-1.0, 1.0]$ m/s、$\omega_z \in [-3.0, 3.0]$ rad/s。
| 任务 | 训练迭代 | 结果 |
|---|---|---|
| 速度跟踪 | 4,500 | 线RMSE 0.46m/s, 角RMSE 1.03rad/s, 跌倒率2.1% |
| 点目标导航 | 5,500 | 成功导航到随机目标并保持平衡 |
| 跌倒恢复速度跟踪 | 9,000 | 从躺卧状态站起并恢复速度跟踪 |
旋转技巧(RT)与直通估计器(STE)对比表明两者跟踪误差相似,但鲁棒性差异显著——STE 跌倒率 10.2% 约为 RT 的 2.1% 的五倍,说明旋转技巧学到的表示在挑战性速度命令下更不易产生不稳定行为。
图1:三阶段流水线总览——运动模仿专家蒸馏为HMP后用于下游任务
图2:速度跟踪行为示例——行走、侧步、跑步、转弯和停止
图3:不同活跃RVQ深度下的步态模式——从站立到行走到快走到跑步
码本结构分析
通过改变活跃 RVQ 深度 $M_{\text{act}}$ 研究步态模式变化。结果显示有序的步态层次:
| $M_{\text{act}}$ | $\bar{v}_{0.5}$ | $\bar{v}_{1.5}$ | $\bar{v}_{3.0}$ | 行为 |
|---|---|---|---|---|
| 1 | 0.02 | 0.17 | 0.00 | 基本静止(站立) |
| 2 | 0.22 | 0.40 | 0.07 | 慢走,速度饱和 |
| 3 | 0.37 | 1.43 | 2.88 | 快走,主转折点 |
| 5 | 0.49 | 1.52 | 2.95 | 更快更自然的跑步 |
| 8 | 0.53 | 1.47 | 2.87 | 完整跑步能力 |
这表明 RVQ 码本自发形成了层次化步态结构:前 1-2 阶段编码粗粒度运动(站立、慢走),第 3 阶段是关键转折(启用快走),5 阶段以上产生跑步。这种可解释的码本结构是 HMP 架构的重要优势——不同 RVQ 深度对应质上不同的运动模式,类似于人类运动中从站立到行走到跑步的渐进层次。
从更广阔的视角看,本文工作代表了机器人学习从"任务特定策略"向"可复用运动基础模型"转变的趋势。正如大规模预训练在 NLP 和 CV 领域催生了基础模型,机器人学习也在探索类似的范式——先通过运动模仿学习通用的运动能力,再将其蒸馏为可复用的运动先验,最后在不同任务上微调轻量级高层策略。这种范式的优势在于:运动能力的获取(最耗时的阶段)只需做一次,后续新任务只需训练码本选择策略(参数量远小于完整策略),大幅降低了任务训练成本。HMP 的冻结设计还保证了运动安全——下游策略无法修改低层运动词汇,避免了任务策略为追求任务奖励而学出危险的运动模式。这种"安全屏障"设计对真实机器人部署尤为重要。此外,离散码本接口天然支持技能组合——不同码条目序列对应不同运动模式,为长程任务规划提供了结构化的动作空间。
局限性与未来方向
局限一:码本容量固定。 8 阶段每阶段 1024 条目的码本容量是预设的,可能对某些复杂运动集不够或对简单任务冗余。未来可探索自适应码本大小或动态码本增长机制。
局限二:依赖运动模仿专家质量。 HMP 的质量上限由阶段一的专家决定——如果专家无法学会某些运动模式,HMP 码本也无法编码它们。此外,27 个 LaFAN 片段的运动多样性有限,更广泛的运动数据集可能产生更丰富的码本结构。真实机器人验证仅涵盖速度跟踪任务,导航和跌倒恢复尚未在真实环境验证。
总结与启示
本文提出了三阶段流水线将运动模仿技能转化为可复用的混合运动先验。核心技术贡献包括:残差量化设计 $y_t = z_t^{\text{ref}} - \text{sg}(z_t^{\text{prop}})$ 将运动意图与本体感知分离,使码本仅编码残差降低学习难度;$M$ 阶段 RVQ $\hat{y}_t = \sum_{m=1}^{M} e_{k_t^{(m)}}^{(m)}$ 配合量化器 dropout 形成层次化码本结构;任务级策略 $F_\xi$ 通过选择离散码本索引 $\ell_t \in \mathbb{R}^{M \times K}$ 解决下游任务而不修改低层运动词汇;旋转技巧相比 STE 将跌倒率从 10.2% 降至 2.1%。在 Unitree G1 上,同一冻结 HMP 支持速度跟踪(线RMSE 0.46m/s)、点目标导航和跌倒恢复三个任务,速度跟踪策略零样本迁移到真实机器人。码本结构分析揭示了有序步态层次——活跃 RVQ 深度从 1 到 8 对应站立、慢走、快走、跑步的渐进模式。该工作为人形机器人运动技能的复用和模块化提供了新范式,HMP 作为冻结的动作接口可被任意下游策略复用的设计对降低任务训练成本具有重要意义。
在工程实现层面,该流水线的模块化设计也具有实用优势。三个阶段可以独立调试和迭代——如果运动模仿专家不够好,可以重新训练阶段一而不影响后续阶段的设计;如果码本容量不合适,可以调整阶段二的 RVQ 配置而无需修改专家或任务策略;如果某下游任务表现不佳,只需重新训练阶段三的码本选择策略。这种解耦设计大幅降低了系统调试的复杂度。训练配置方面,运动模仿专家使用 PPO 训练 30,000 次迭代,HMP 蒸馏 6,000 次迭代,下游任务分别训练 4,500-9,000 次迭代——相比之下,从头训练一个完整的速度跟踪策略通常需要更多迭代,因为策略必须同时学习基本运动能力和任务目标。HMP 的复用使得下游任务训练从"学习运动+学习任务"简化为"在已有运动词汇上学习任务选择",这是训练效率提升的根本来源。所有训练在 MuJoCo 仿真中通过 mjlab GPU 加速框架进行,使用 4096 个并行环境,策略运行频率 50Hz。



