Badge

一、问题定义:Sim-to-Real 到底难在哪?

强化学习在仿真里表现越好,真机部署时落差越大。这不是 bug,而是仿真与真实之间的结构性鸿沟。

用 MDP(马尔可夫决策过程)的视角来看,仿真环境 DSD_S 和真实环境 DTD_T 之间存在系统性的差异:

1
2
3
4
5
6
7
8
仿真:  Ds = (Ss, As, Ps, Rs)    状态/动作/转移/奖励
真实: Dt = (St, At, Pt, Rt)

差异来源:
Ss ≠ St 视觉差异(渲染 vs 真实摄像头)
Ps ≠ Pt 动力学差异(仿真物理 vs 真实物理)
Rs ≈ Rt 奖励函数通常一致
As ≈ At 动作空间通常一致

这两类差异——视觉 gap 和动力学 gap——是所有 Sim-to-Real 方法试图弥合的核心。

Zhao 等人在 2020 年的综述论文《Sim-to-Real Transfer in Deep Reinforcement Learning for Robotics: a Survey》中,首次系统性地将 Sim-to-Real 方法划分为五大类:零样本迁移、域随机化、域自适应、模仿学习、元学习与知识蒸馏。这篇综述覆盖了数十项代表性工作,为后续研究建立了完整的分类框架。

五大方法全景地图

二、方法 1:零样本迁移(Zero-Shot Transfer)

思路

把仿真建得足够逼真,训练完直接部署。不做任何额外处理。

这是最朴素的想法:仿真器的物理参数精确匹配真实世界 → 仿真里训练好的策略 → 直接放真机上跑。做这件事的方法叫系统辨识——通过实验测量真实系统的物理参数(质量、惯量、摩擦、气动系数),逐一校准仿真器。

代表工作

Kaspar et al. 用 PyBullet 仿真 KUKA LBR iiwa 机械臂做 peg-in-hole 任务。他们花了大量精力做系统辨识,构建了高保真机器人模型,最终实现了零样本迁移。

Hundt et al. 为 Universal Robot UR5 开发了 SPOT 仿真框架,通过奖励塑形(reward shaping)让仿真中训练的策略能直接用于长期多步任务。

局限性

系统辨识有三个根本性的局限:

  1. 耗时:每个新硬件都需要重新做完整的参数辨识实验
  2. 无法覆盖未建模效应:齿轮间隙、线缆摩擦、温度漂移、磨损——这些在仿真器里根本没有对应的参数
  3. 一次性的:一旦环境变化(换了桌面材质、光照变了),仿真器就过时了

零样本迁移适合参数可控的封闭环境(如工业机械臂在固定工位),不适合开放场景。

三、方法 2:域随机化(Domain Randomization)

思路

不追求仿真更”真”,而是让它足够”乱”——乱到真实世界看上去只是其中一种情况。

前面已经用整篇文章详细讨论了 Tobin 2017 的开创性工作,这里从方法对比的角度做简要回顾:

视觉域随机化:纹理、光照、相机位置、背景全部随机化。MuJoCo 低质量渲染器 + 算法生成的纯色/渐变/棋盘纹理 → 训练 CNN → 真机 1.5 cm 定位精度。

动力学域随机化:质量、摩擦系数、关节阻尼、执行器增益等物理参数随机化。OpenAI 用此方法实现了五指机械手的灵巧操作——仿真中随机化物体尺寸、质量、表面摩擦,真机上直接复现。

优势与局限

优势 局限
不需要真实数据 过度随机化有害(Matas 2018: 颜色过多降低性能)
实施简单(几行代码) 动力学随机化可能使仿真不稳定
与任何 RL 算法兼容 不能替代良好的任务设计
2017 至今仍是最广泛使用的方法 对高精度任务力不从心

2026 年演进

  • E2E-Fly(arXiv:2604.12916):可微物理学习 + 域随机化,先辨识再随机化
  • 最小域随机化(arXiv:2602.21583):物理一致的最小随机化,只随机化不确定参数
  • MAVEN(arXiv:2603.10714):元学习替代静态 DR,在线自适应质量/推力变化

四、方法 3:域自适应(Domain Adaptation)

思路

学习一个映射,把仿真域的特征空间对齐到真实域。

域自适应的核心形式化:给定源域(仿真)的大量标注数据,以及目标域(真实)的少量或无标注数据,学习一个特征变换使得两个域的特征分布不可区分。

三大技术路线

A. 基于差异的方法(Discrepancy-based)

直接度量源域和目标域特征分布之间的距离,最小化这个距离。

  • MMD(Maximum Mean Discrepancy):在再生核 Hilbert 空间中度量分布差异
  • CORAL(Correlation Alignment):对齐二阶统计量(协方差矩阵)
  • 优点:数学干净,不需要训练额外的网络
  • 缺点:需要手工选择距离度量和核函数

B. 基于对抗的方法(Adversarial-based)

训练一个域分类器来区分特征来自源域还是目标域,同时训练特征提取器欺骗域分类器。这就是 GAN 的思路应用到域自适应。

  • Ganin et al. 2015 的梯度反转层(GRL)是里程碑:前向传播正常通过,反向传播时梯度取反,迫使特征提取器产生域不变表示
  • 在机器人领域,CycleGAN 被广泛用于将仿真图像风格迁移为真实图像风格
  • 纳米无人机门框估计(arXiv:2603.02936,ICRA 2026)使用自监督几何一致性损失,仅需 10 分钟真实飞行数据做域自适应

C. 基于重建的方法(Reconstruction-based)

学习一个共享特征空间,使得原始输入可以从共享特征中重建出来。共享特征必须包含足够信息来重建任一域的输入 → 这些特征天然是域无关的。

  • 通常使用编码器-解码器架构
  • 优点:不需要目标域标签
  • 缺点:重建损失不能保证下游任务性能

域自适应 vs 域随机化

比较维度 域随机化 域自适应
是否需要真实数据 不需要 需要(少量即可)
实施复杂度 中高
擅长场景 视觉多样性 风格/外观迁移
核心机制 数据增强 特征对齐
适用于 训练时无真实数据 有少量真实数据可用

两者并不互斥——E2E-Fly 同时使用了域随机化和域自适应。

五、方法 4:模仿学习(Imitation Learning)

思路

与其手动设计复杂的奖励函数,不如让专家”演示”应该怎么做。

行为克隆(Behavioral Cloning)

最直接的形式:收集专家的 (状态, 动作) 对 → 监督学习 → 策略网络。

  • 优点:简单、不需要奖励函数、训练稳定
  • 致命问题:分布漂移(distribution shift)——策略的小误差导致进入专家从未见过的状态,然后完全失控
  • 缓解方案:DAgger(Dataset Aggregation)——边执行边让专家标注纠正,迭代改进

逆强化学习(Inverse RL)

从专家轨迹推断奖励函数,然后在这个奖励函数上做标准 RL。

  • 优点:学到的奖励函数可能是更本质的”任务理解”
  • 缺点:逆 RL 本身是困难的优化问题,计算代价高

在 Sim-to-Real 中的位置

模仿学习特别适合难以用公式描述奖励函数的任务——比如”优雅地飞行”、”自然地抓取”。专家可以通过遥操作(VR 手柄、SpaceMouse)提供示范。

Rajeswaran et al. 使用人类演示(通过 VR 操作)训练 ADROIT 24-DoF 五指手完成灵巧操作,结合 DAPG(Demo-Augmented Policy Gradient)算法实现了从仿真到真实手的迁移。

六、方法 5:元学习与知识蒸馏

元强化学习(Meta-RL)

普通 RL 学习一个任务的最优策略。Meta-RL 学习如何快速适应新任务

核心机制:LSTM 策略网络,输入不仅包含当前观测,还包含上一时刻的奖励 rt1r_{t-1} 和动作 at1a_{t-1}。LSTM 的隐状态充当”记忆”,跟踪当前任务的特性。

训练时:在多个不同任务上(不同物理参数、不同环境)训练,迫使策略学会从少量交互中推断任务特征。

部署时:策略在前几步探索中快速推断当前环境的特性,然后适应。

MAVEN(arXiv:2603.10714)是 2026 年的代表:预测性上下文编码器 → 零样本 sim-to-real,在线适应质量变化 66.7%、单桨推力损失 70%。

知识蒸馏(Knowledge Distillation)

教师网络(大模型,在仿真中训练)→ 学生网络(小模型,部署到真机)。

  • 教师可以访问仿真中的全状态信息
  • 学生只接收真实机器人上的有限传感器输入
  • 通过蒸馏,学生学会利用有限信息做出接近教师的决策

Arndt et al. 将 Meta-RL 与域随机化结合:先在随机化仿真中用 PPO 训练元策略,再在真实 Kuka 机械臂上做少量微调,实现了冰球推击任务。

元学习 vs 域随机化

比较维度 域随机化 元学习
训练哲学 覆盖所有情况 学习适应能力
部署时 固定策略 在线自适应
对分布外情况 无应对 可快速适应
计算代价 低(训练时) 高(元训练)
代表工作 Tobin 2017, OpenAI 2018 MAVEN 2026, MAML

七、方法对比与选型指南

五类方法全览

方法 核心思想 需要真数据? 适合场景
零样本迁移 系统辨识 → 建精准仿真 需要(校准) 封闭工业环境
域随机化 随机化到覆盖真实分布 不需要 视觉为主的任务
域自适应 学习仿真→真实映射 需要少量 风格/外观差异
模仿学习 专家示范替代奖励设计 需要专家 难以定义奖励
元学习 学习如何快速适应 不需要 动态变化环境

五大方法对比矩阵

决策树

方法选择决策树

1
2
3
4
5
6
7
8
9
10
你是否能获取真实世界数据?
├─ 不能 → 域随机化 或 零样本迁移
│ ├─ 任务涉及大量视觉输入 → 域随机化
│ └─ 任务动力学为主 → 零样本 + 系统辨识

├─ 能(少量)→ 域自适应 或 模仿学习
│ ├─ 专家容易做示范 → 模仿学习
│ └─ 主要是外观差异 → 域自适应

└─ 能(大量)→ 你不需要 Sim-to-Real,直接在真实世界训 RL

实际应用中的组合

绝大多数成功的 Sim-to-Real 项目不是只用一种方法,而是组合:

1
2
3
4
5
成功率最高的组合:
域随机化(视觉) + 域自适应(风格迁移) + 真实数据微调

最常见的最小化方案:
域随机化(纹理 + 光照 + 相机) → 直接部署

八、从 2020 到 2026:方法的演进

Zhao 2020 的综述发表五年多后,Sim-to-Real 领域发生了几个重要变化:

1. 仿真器从 CPU 到 GPU

2020 年主流用 PyBullet/MuJoCo CPU 版。2026 年 Isaac Lab + Newton 已经在做数千并行环境的 GPU 原生训练。这改变了”训练效率”这个维度。

2. 可微物理成为新支柱

2020 年的综述没有覆盖可微物理。到 2026 年,可微仿真已经可以与域随机化和元学习深度结合——梯度穿过物理引擎,端到端优化策略。

3. 基础模型(VLM/VLA)的冲击

大规模视觉-语言模型(如 GPT-4V)可以直接理解从未见过的场景。Sim-to-Real 中”视觉域自适应”的价值因此被重新评估——如果基础模型已经能理解真实图像,还需要做风格迁移吗?

4. 四旋翼成为 Sim-to-Real 主战场

2020 年综述中的主要应用是机械臂操作。2026 年,四旋翼飞行器的 Sim-to-Real 论文急剧增加——从激进机动到缝隙穿越到纳米无人机竞速,无人机因为”掉下来就坏了”的特性,天然适合先在仿真中训练。

九、关键教训

  1. 没有银弹:五种方法各自擅长不同的 gap,组合使用是最佳实践
  2. 域随机化是基线:如果你不知道从哪里开始,先做 DR——实施最简单、效果最稳定
  3. 域自适应在有少量真实数据时效果最好:一点真实数据可以显著提升性能
  4. 模仿学习的天花板是专家水平:如果专家都不能完美完成任务,行为克隆学不到超过专家的策略
  5. Meta-RL 是未来方向但门槛高:需要设计任务分布,超参数敏感,训练不稳定
  6. 2026 年最重要的趋势:可微物理 × 域随机化 × GPU 原生仿真的融合

十、延伸阅读

  • 论文原文arXiv:2009.13303 — Zhao et al., Sim-to-Real Transfer in Deep Reinforcement Learning for Robotics: a Survey
  • 域随机化开山之作arXiv:1703.06907 — Tobin et al., Domain Randomization
  • 本文是系统性 Sim-to-Real 学习笔记的一部分,建议配合论文原文阅读。