PAPER DEEP DIVE
World Translation:通过反向动力学提取和无配对域翻译最小化sim-to-real差距
仿真与现实的差距仍是部署仿真训练机器人策略的根本挑战。World Translation通过反向动力学提取和无配对域翻译学习真实世界转移动力学,最小化sim-to-real差距。
1. 概述
本文解决了仿真到现实(sim-to-real)迁移中的核心难题:同一观测-动作对在不同隐变量(hidden variable)下可能产生不同的状态转移。现有学习方法假设隐变量可从观测历史中恢复,但这一假设在历史信息不充分时会失效(例如突然的接触事件)。
World Translation 框架的核心洞察是:仿真器(simulator)和学习动力学模型(learned dynamics model)在不同方向上失败——仿真器状态完整但物理不准,学习模型准确但在部分可观测下欠定。作者提出后向动力学提取(backward dynamics extraction):从已观测的转移结果中反向编码不可观测的动力学信息,再通过非配对域翻译(unpaired domain translation)将仿真域的特征映射到现实域,用 CycleGAN 保持动力学内容、仅迁移域风格。
实验覆盖人形机器人(G1)、四足机器人(Go2)和机械臂(R5),在历史信息不足以恢复隐变量的场景中取得最大提升,并在 Go2 真机上验证了策略迁移的改善。
2. 问题形式化
2.1 系统动力学与隐变量
定义完整状态 $\mathbf{s}_{t}\in\mathcal{S}$、可观测状态 $\mathbf{o}_{t}\in\mathcal{O}$、动作 $\mathbf{a}_{t}\in\mathcal{A}$。系统动力学在状态空间中确定性演化:$\mathbf{s}_{t+1}=g(\mathbf{s}_{t},\mathbf{a}_{t})$。但由于 $\mathbf{s}_{t}$ 和 $\mathbf{o}_{t}$ 之间的信息鸿沟,同一 $(\mathbf{o}_{t},\mathbf{a}_{t})$ 可产生不同结果。引入隐变量 $\mathbf{h}_{t}\in\mathcal{H}$ 后恢复确定性:
$$\mathbf{o}_{t+1}=f(\mathbf{o}_{t},\mathbf{a}_{t},\mathbf{h}_{t})$$
其中 $\mathbf{h}_{t}$ 捕获完整状态中不可观测的部分,可能随时间不可预测地变化。该方法不对 $p(\mathbf{h}_{t+1}|\mathbf{h}_{t},\mathbf{o}_{t},\mathbf{a}_{t})$ 做任何假设,仅要求 $\mathbf{h}_{t}$ 的效应可从观测转移 $(\mathbf{o}_{t},\mathbf{a}_{t})\to\mathbf{o}_{t+1}$ 中识别。
2.2 后向动力学提取
引入动力学特征 $\mathbf{z}_{t}=\omega(\mathbf{h}_{t})$ 表示隐变量在潜空间中的信息:
$$(\mathbf{o}_{t},\mathbf{a}_{t},\mathbf{o}_{t+1}) \xrightarrow{\;\text{encode}\;} \mathbf{z}_{t}=\omega(\mathbf{h}_{t})$$
$$(\mathbf{o}_{t},\mathbf{a}_{t},\mathbf{z}_{t}) \xrightarrow{\;\text{decode}\;} \mathbf{o}_{t+1}$$
称为"后向提取"是因为它利用未来信息 $\mathbf{o}_{t+1}$ 推断时刻 $t$ 的 $\mathbf{z}_{t}$。但单靠提取无法预测——$\mathbf{z}_{t}$ 需要观测结果 $\mathbf{o}_{t+1}$,而这正是要预测的。因此需要从仿真器(转移可观测)获取替代来源,再翻译到目标系统。
2.3 非配对域翻译
跨域时同一隐变量 $\mathbf{h}_{t}$ 在不同域产生不同观测转移,因此提取的特征不仅依赖 $\mathbf{h}_{t}$,还依赖域。引入域特征 $\mathbf{c}$ 捕获系统性差异:
$$\mathbf{o}_{t+1}=f(\mathbf{o}_{t},\mathbf{a}_{t},\mathbf{h}_{t},\mathbf{c})$$
动力学特征 $\mathbf{z}_{t}$ 同时由隐变量和域特征决定:$\mathbf{z}_{t}=\omega(\mathbf{h}_{t},\mathbf{c})$。目标是学习 $G_{A\rightarrow B}$ 使得:
$$G_{A\rightarrow B}(\omega(\mathbf{h}_{t},\mathbf{c}^{A}))\approx\omega(\mathbf{h}_{t},\mathbf{c}^{B})$$
这是非配对翻译问题:跨域收集的转移无法保证底层 $\mathbf{h}_{t}$ 相同。
3. 方法
World Translation 用 VAE(含辅助正则化)实现后向动力学提取,用 CycleGAN 实现非配对域翻译。
3.1 后向动力学提取(VAE)
编码器 $E_{\phi}$ 将转移元组映射到潜分布 $(\boldsymbol{\mu},\log\boldsymbol{\sigma}^{2})=E_{\phi}(\mathbf{o}_{t},\mathbf{a}_{t},\mathbf{o}_{t+1})$,采样 $\mathbf{z}_{t}\sim\mathcal{N}(\boldsymbol{\mu},\text{diag}(\boldsymbol{\sigma}^{2}))$,解码器重构 $D_{\theta}$:$\hat{\mathbf{o}}_{t+1}=D_{\theta}(\mathbf{o}_{t},\mathbf{a}_{t},\mathbf{z}_{t})$。
训练中面临两大挑战:
挑战1:$\mathbf{o}_{t+1}$ 的直接编码。 编码器可能绕过动力学学习,直接将 $\mathbf{o}_{t+1}$ 编码进 $\mathbf{z}_{t}$。引入盲解码器 $D_{\psi}$,仅从 $\mathbf{z}_{t}$ 预测 $\mathbf{o}_{t+1}$,形成对抗目标:
$$\mathcal{L}_{\text{blind}}=\lambda_{b}\exp\left(-\frac{\|\mathbf{o}_{t+1}-\tilde{\mathbf{o}}_{t+1}\|^{2}}{\sigma_{b}^{2}}\right)$$
挑战2:$(\mathbf{o}_{t},\mathbf{a}_{t})$ 的信息泄露。 数据采集策略对 $\mathbf{h}_{t}$ 和 $\mathbf{c}$ 都有反应,解码器可从输入推断域信息而忽略 $\mathbf{z}_{t}$ 中的 $\mathbf{c}$。引入域分类器 $C_{\xi}$ 强制 $\mathbf{z}_{t}$ 编码域信息:
$$\mathcal{L}_{\text{cls}}=\lambda_{c}\cdot\text{BCE}(C_{\xi}(\mathbf{z}_{t}),d)$$
并用 FiLM(Feature-wise Linear Modulation)让 $\mathbf{z}_{t}$ 条件化解码器每层:
$$D_{\theta}(\mathbf{o}_{t},\mathbf{a}_{t},\mathbf{z}_{t})=\boldsymbol{\gamma}(\mathbf{z}_{t})\odot f(\mathbf{o}_{t},\mathbf{a}_{t})+\boldsymbol{\beta}(\mathbf{z}_{t})$$
完整训练目标:
$$\mathcal{L}_{\text{VAE}}=\underbrace{\|\mathbf{o}_{t+1}-\hat{\mathbf{o}}_{t+1}\|^{2}}_{\text{重构}}+\underbrace{\beta\cdot\text{KL}(q_{\phi}(\mathbf{z}_{t})\|p(\mathbf{z}_{t}))}_{\text{正则}}+\underbrace{\lambda_{b}\exp\left(-\frac{\|\mathbf{o}_{t+1}-\tilde{\mathbf{o}}_{t+1}\|^{2}}{\sigma_{b}^{2}}\right)}_{\text{盲惩罚}}+\underbrace{\lambda_{c}\cdot\text{BCE}(C_{\xi}(\mathbf{z}_{t}),d)}_{\text{域分类}}$$
3.2 非配对域翻译(CycleGAN)
在仿真域 $S$ 和现实域 $R$ 之间,用 CycleGAN 的生成器 $G_{S\to R}$、$G_{R\to S}$(残差 MLP)和判别器 $D_{S}$、$D_{R}$。生成器训练用对抗损失、循环一致性损失($\mathbf{z}^{S}\approx G_{R\to S}(G_{S\to R}(\mathbf{z}^{S}))$)和可选恒等损失。
3.3 训练与部署流程
VAE 和 CycleGAN 联合训练,编码器-解码器在两个域共享,确保不同域的动力学特征占据共同潜空间。部署时,给定仿真转移 $(\mathbf{o}_{t},\mathbf{a}_{t},\mathbf{o}_{t+1}^{\text{S}})$,编码、翻译、解码得到对齐观测 $\mathbf{o}_{t+1}^{S\to R}$,并覆写仿真器状态(而非仅变换观测),确保策略在翻译后的动力学轨迹上训练。
4. 整体架构
flowchart LR
subgraph 仿真域 S
OS[观测 o_t] --> AS[动作 a_t]
AS --> SS[仿真器转移 o_t+1^S]
end
subgraph 后向提取 VAE
SS --> ENC[编码器 E_φ]
OS --> ENC
AS --> ENC
ENC --> ZS[动力学特征 z_t^S]
ZS --> DEC[解码器 D_θ]
DEC --> OS2[对齐观测 o_t+1^S→R]
end
subgraph 非配对域翻译 CycleGAN
ZS --> G1[生成器 G_S→R]
G1 --> ZR[翻译特征 z_t^R]
ZR --> G2[生成器 G_R→S]
G2 --> ZS2[循环重构 z_t^S]
end
ZR --> DEC
OS2 --> POLICY[策略训练]
style ENC fill:#4f9eff,color:#fff
style G1 fill:#ff6b6b,color:#fff
style DEC fill:#51cf66,color:#fff
5. 实验结果
5.1 动力学建模精度
在三个平台上创建具有不同物理参数(刚度、阻尼、质量、摩擦)的源域和目标域,分为低 $\mathbf{h}_{t}$ 和高 $\mathbf{h}_{t}$ 条件。
在低 $\mathbf{h}_{t}$ 任务中,历史信息足以恢复隐变量,各方法差异小。但在高 $\mathbf{h}_{t}$ 任务中,历史方法(如 RSSM)仍显著高于 World Translation(Go2 Payload: 0.298 vs 0.148;R5 Force: 0.515 vs 0.401),说明差距源于历史推断本身的局限而非模型容量。
| 方法 | Go2 低 h_t | Go2 高 h_t (Payload) | R5 高 h_t (Force) |
|---|---|---|---|
| DirectPred | 0.082 | 0.241 | 0.515 |
| RSSM | 0.079 | 0.298 | 0.515 |
| RawSim | 0.120 | 0.120 | 0.360 |
| World Translation | 0.075 | 0.148 | 0.401 |
5.2 多步展开
在 Go2 高 $\mathbf{h}_{t}$ 任务上评估自回归展开(horizon 1-50)。无 $\mathbf{h}_{t}$ 推断的方法(ResDyn、DirectPred)迅速发散;RSSM 不发散但 MSE 仍高于 RawSim;World Translation 在 horizon 30 内保持稳定,horizon 50 仅约 2% 发散率,在操作相关的时间跨度内提供最佳精度-稳定性权衡。
5.3 隐变量信息验证
训练轻量解码器从不同表示预测真实隐变量 $\mathbf{h}_{t}$(归一化外力),用 $R^{2}$ 衡量。$(\mathbf{o}_{t},\mathbf{a}_{t})$ 单独解释 66-73% 方差(确认泄露),加入 $\mathbf{z}_{t}$ 后匹配完整转移的预测力(68-81%)。翻译后预测力大部分保留(67-78%)。
| 输入表示 | w/o 辅助组件 $R^2$ | Full 模型 $R^2$ |
|---|---|---|
| $(\mathbf{o},\mathbf{a})^{S}$ | 0.73 | - |
| $(\mathbf{o},\mathbf{a},\mathbf{o}_{t+1})^{S}$ | 0.78 | - |
| $(\mathbf{o},\mathbf{a})^{S},\mathbf{z}^{S}$ | 0.81 | 0.80 |
| $(\mathbf{o},\mathbf{a})^{S},\mathbf{z}^{S\to R}$ | 0.67 | 0.68 |
| $(\mathbf{o},\mathbf{a})^{R},\mathbf{z}^{R\to S}$ | 0.75 | 0.78 |
5.4 域特征信息验证
域分类器探测:无辅助组件时 $\mathbf{z}_{t}$ 仅 64-67% 域分类准确率(不如 $(\mathbf{o}_{t},\mathbf{a}_{t})$ 的 79-85%),翻译后 $\mathbf{z}^{S\to R}$ 仅 43%(低于随机)。加入辅助组件后 $\mathbf{z}_{t}$ 达 94%,$\mathbf{z}^{S\to R}$ 达 91%,说明翻译特征成功覆写了输入中的域信号。
| 输入 | 目标域 | w/o 准确率 | Full 准确率 |
|---|---|---|---|
| $\mathbf{z}^{S}$ | S | 0.6729 | 0.9407 |
| $\mathbf{z}^{S\to R}$ | R | 0.4288 | 0.9124 |
| $(\mathbf{o},\mathbf{a})^{S},\mathbf{z}^{S\to R}$ | R | 0.2702 | 0.9070 |
5.5 消融实验
在观测层面直接翻译 $(\mathbf{o}_{t},\mathbf{a}_{t},\mathbf{o}_{t+1}^{A})\to\mathbf{o}_{t+1}^{B}$ 立即崩溃——判别器可从 $(\mathbf{o}_{t},\mathbf{a}_{t})$ 轻易区分域。去除循环一致性后循环误差增大 8 倍(0.034→0.273),预测误差显著退化。
| 变体 | 循环误差 | 恒等误差 | 预测误差 |
|---|---|---|---|
| Full Model | 0.034 | 0.233 | 0.401 |
| w/o Cycle Consistency | 0.273 | 0.004 | 0.681 |
| w/o Identity Loss | 0.026 | 0.463 | 0.483 |
5.6 真机下游策略性能
在 Go2 四足机器人上部署验证。World Translation 训练的策略在真实命令跟踪中表现优于 RawSim 和 DirectPred,验证了改善的动力学建模直接带来更好的 sim-to-real 策略迁移。
6. 讨论与展望
6.1 设计权衡
非配对 vs 直接监督:间接优化可能牺牲精度,但配对的 sim-real 转移(匹配隐变量)通常无法获取,该权衡使得从原本不可用的数据中学习成为可能。
隐式表示:$\mathbf{z}_{t}$ 隐式捕获 $\mathbf{h}_{t}$ 和 $\mathbf{c}$,可编码系统辨识无法触及的未建模动力学,代价是可解释性降低。
6.2 实践挑战
$\mathbf{h}_{t}$ 和 $\mathbf{c}$ 紧耦合时翻译更难(R5 任务中外力与电机增益耦合)。状态覆写可能导致物理不一致。VAE、盲解码器、域分类器和 CycleGAN 联合训练涉及竞争目标,但相同超参数在三个平台上迁移有效。
6.3 未来方向
- 多步训练:在轨迹段上用自回归目标训练,减少误差累积。
- 在线适应:部署时更新翻译模型以应对分布漂移,非配对公式天然适合此场景。
- 视觉观测:扩展到图像观测,需将视觉外观与动力学相关内容解耦。
7. 总结
World Translation 将动力学对齐重新表述为学习特征上的非配对域翻译问题。后向动力学提取从已观测转移中捕获隐变量效应,无需假设历史信息足以恢复;循环一致的翻译则跨域映射这些特征同时保留动力学信息。在人形、四足和机械臂平台上的实验表明动力学建模改善,在历史信息不足以恢复隐变量效应时提升最大,Go2 真机部署验证了命令跟踪的改善。



