7.3 Sim-to-Real 迁移:Domain Randomization 与域适应


文档摘要

7.3 Sim-to-Real 迁移:Domain Randomization 与域适应 在仿真里跑得再完美的策略,搬上真机往往立刻失败——这就是 Reality Gap。怎么让仿真训练的策略在真实世界也工作?这是 Sim-to-Real 迁移要解决的核心问题。 7.3.1 Reality Gap 的来源 第 7.2 节列出了 Reality Gap 的几个维度,这里更具体地拆解: Gap 类型 | 具体表现 | 例子 物理 Gap | 仿真物理参数与真实不一致 | 摩擦系数、质量、惯性 接触 Gap | 接触模型简化 | 软接触、塑性变形 感知 Gap | 渲染图像与真实图像差异 | 纹理、光照、噪声 动力学 Gap | 关节动力学简化 | 电机摩擦、谐波减速器非线性 传感器 Gap |

7.3 Sim-to-Real 迁移:Domain Randomization 与域适应

在仿真里跑得再完美的策略,搬上真机往往立刻失败——这就是 Reality Gap。怎么让仿真训练的策略在真实世界也工作?这是 Sim-to-Real 迁移要解决的核心问题。

7.3.1 Reality Gap 的来源

第 7.2 节列出了 Reality Gap 的几个维度,这里更具体地拆解:

Gap 类型 具体表现 例子
物理 Gap 仿真物理参数与真实不一致 摩擦系数、质量、惯性
接触 Gap 接触模型简化 软接触、塑性变形
感知 Gap 渲染图像与真实图像差异 纹理、光照、噪声
动力学 Gap 关节动力学简化 电机摩擦、谐波减速器非线性
传感器 Gap 传感器模型简化 相机畸变、CMOS 噪声、IMU 漂移
分布 Gap 仿真物体分布与真实不同 物体形状、布局多样性

7.3.2 Sim-to-Real 的两大策略

下面分别展开。

7.3.3 Domain Randomization:让仿真覆盖真实

Domain Randomization(DR) 是 Sim-to-Real 最成功的策略之一,OpenAI 在 Dactyl 解魔方中验证。核心思想:让仿真环境参数大幅随机化,让真实世界成为随机化的「一个特例」。

ASCII 流程: [仿真训练] ├── 随机化光照(强度、方向、颜色) ├── 随机化纹理(物体表面、桌面) ├── 随机化相机(内参、外参、噪声) ├── 随机化物体(质量、摩擦、形状) └── 随机化动力学(电机摩擦、控制延迟) ↓ [策略学到的鲁棒表征] ↓ [真机部署] → 真实环境 = DR 的一个采样

视觉 Domain Randomization

让仿真渲染的图像大范围变化:

随机化维度 范围
光照强度 0.3x - 3x
光照方向 任意方向
光照颜色 RGB 各通道
物体纹理 程序生成(噪声、条纹)
背景纹理 随机图像
相机位姿 ±10cm, ±10°
相机内参 焦距 ±20%

策略学到的不再是「具体颜色」,而是「几何结构」——这种表征对真实图像的视觉差异鲁棒。

动力学 Domain Randomization

让物理参数大范围变化:

随机化维度 范围
物体质量 ±50%
摩擦系数 0.1 - 1.0
关节摩擦 ±100%
控制延迟 0-50ms
外扰 随机推力

策略学会处理广泛的物理参数,迁移到真机时面对的物理特性是它训练分布的一个采样。

DR 的成功与代价

OpenAI 2019 年的 Dactyl 用 DR 训练灵巧手解魔方,证明 DR 的可行性。但代价是:

  • 训练数据需求大:随机化让任务难度激增,需要更多采样。
  • 性能上限降低:策略要鲁棒到处理所有随机化,单点性能不如专门策略。
  • 过度随机化失败:随机化范围太大,策略学不到任何东西。

💡 DR 的艺术:随机化范围要 刚好覆盖真实分布,不大不小。这是工程经验,没有理论指导。

7.3.4 Domain Adaptation:让仿真像真实

Domain Adaptation(DA) 走另一条路:让仿真图像看起来像真实图像,缩小感知 Gap。

域对抗训练(DANN)

把仿真图像和真实图像送给一个判别器,判别器试图区分两者。编码器同时优化「让判别器分不清」+「下游任务表现好」:

仿真图像 → 编码器 → 特征 → 任务头 → 动作 ↓ 判别器 → 这是仿真还是真实? ↑ 真实图像 → 编码器 → 特征

训练目标:

  • 编码器欺骗判别器(让仿真特征和真实特征分布一致)。
  • 编码器在仿真任务上表现好。

学到的编码器对真实图像也能输出有效特征。

图像到图像翻译(Pix2Pix/CycleGAN)

用 GAN 把仿真图像翻译为「看起来真实」的图像:

仿真图像 → CycleGAN → 看起来真实的图像 → 训练策略

这种方式直接生成「真实风格」的训练数据。

域适应的优劣

优势 劣势
缩小感知 Gap 需要真实图像样本
不牺牲性能 GAN 训练不稳定
与 DR 兼容 工程复杂

DR 和 DA 经常组合使用:DR 处理物理 Gap,DA 处理感知 Gap。

7.3.5 系统辨识:调仿真参数

系统辨识(System Identification) 走第三条路:测量真机参数,让仿真匹配

参数 辨识方法
关节摩擦 让关节自由滑动,测减速
关节惯性 给已知力矩,测加速度
电机常数 给电流,测力矩
控制延迟 发指令,测响应时间
物体摩擦 倾斜法、滑动实验
相机内参 张正友标定

辨识后的仿真物理上接近真机,训练的策略更容易迁移。

优势

  • 物理一致性好。
  • 解释性强(知道哪个参数准)。

局限

  • 不能覆盖所有参数(有些难测)。
  • 真机参数随时间变化(温度、磨损)。
  • 仍需配合 DR(参数无法完全辨识)。

7.3.6 双层 Agent 策略:仿真高层 + 真实底层

双层 Agent(Two-tier Agent) 把策略分为两层:

[仿真训练的高层策略] ← 在仿真中学 ↓ 高层指令(如「向左 5cm」) [真实底层控制器] ← 真机上的传统控制 ↓ 关节力矩 [真机执行]

高层策略学的是「抽象动作」(如末端位移、子目标),底层用真实控制器精确执行。

优势

  • 高层抽象动作跨域更鲁棒(5cm 在仿真和真实都是 5cm)。
  • 底层控制器处理真实物理(如阻抗控制)。
  • Sim-to-Real gap 主要在高层,相对小。

代表

VLA + 传统控制分层架构(5.4/6.4 节)本质就是双层 Agent。VLA 学高层,传统控制做底层。

7.3.7 渐进式 Sim-to-Real

直接 zero-shot 部署有风险。渐进式 Sim-to-Real 是更稳健的策略:

阶段:

  1. 纯仿真:大规模训练基础策略。
  2. 混合:仿真 + 少量真机数据微调。
  3. 真机监督部署:策略上真机,人类监督纠错(遥操作飞轮)。
  4. 真机自主:策略成熟后自主运行,同时持续采集数据。

第 4 步采集的数据反哺第 2 步,形成数据飞轮。

7.3.8 仿真验证与失败模式

部署前要在仿真中验证策略。验证要点:

  • 鲁棒性测试:在随机化的环境中测成功率。
  • 极端情况:测策略在分布外场景的表现。
  • 退化模式:传感器失效、关节故障时的行为。
  • 安全约束:是否始终满足力限制、碰撞避免。

但仿真验证不能 100% 保证真机成功——这正是 Reality Gap 的本质。真机部署必须有人类监督兜底,逐步放开自主度。

7.3.9 Sim-to-Real 与 Sim-to-Real2Sim

最新的研究方向是 Real2Sim2Real

  1. 用 NeRF/3DGS 扫描真实场景,转为仿真资产。
  2. 在仿真中训练(这个仿真与真实场景高度一致)。
  3. 部署到真机。
  4. 真机采集的新数据反哺仿真。

这种闭环让仿真与真实差距最小化,是当前 Sim-to-Real 的前沿方向。

7.3.10 当前 Sim-to-Real 的工程最佳实践

总结一套生产级 Sim-to-Real 流程:

  1. 选好仿真平台(Isaac Sim/MuJoCo,7.2 节)。
  2. 系统辨识关键物理参数(电机、摩擦、惯性)。
  3. Domain Randomization(视觉 + 动力学,范围适中)。
  4. 大规模 RL/BC 训练
  5. 仿真验证(鲁棒性、安全)。
  6. 渐进部署(监督 → 自主)。
  7. 数据飞轮(真机数据反哺训练)。

⚠️ 现实判断:完全 zero-shot Sim-to-Real 仍困难,仿真 + 少量真机微调 是当前主流。NeRF/3DGS Real2Sim 让仿真更接近真实,是缩小 gap 的新希望。

7.3.11 Sim-to-Real 失败的常见原因

失败原因 表现 应对
DR 范围错 训练时学不到东西 / 真机仍失败 反复调随机化范围
物理简化太多 真机行为完全不同 加接触模型、摩擦模型
传感器噪声未建模 真机感知失效 加真实噪声模型
过拟合仿真 bug 仿真里超好,真机全废 多仿真环境测试
任务定义错 仿真目标与真机不匹配 精心设计奖励/损失

本节小结

  • Reality Gap 来自物理、接触、感知、动力学、传感器、分布六个维度。
  • 三大 Sim-to-Real 策略:Domain Randomization(覆盖真实)、Domain Adaptation(仿真像真实)、系统辨识(仿真匹配真实)。
  • DR 让仿真大范围随机化,让真实成为分布的一个采样,OpenAI Dactyl 是里程碑。
  • DA 用域对抗/GAN 让仿真图像接近真实。
  • 系统辨识测量真机参数让仿真物理一致。
  • 双层 Agent(仿真高层 + 真实底层)降低 gap。
  • 渐进式 Sim-to-Real:纯仿真 → 混合 → 监督部署 → 自主。
  • Real2Sim2Real 是新前沿,用 NeRF/3DGS 扫描真实场景缩小 gap。

下一节《7.4 数据引擎与具身基础模型》将讨论数据规模化的更高维度——Open X-Embodiment、合成数据、自动标注、数据农场。


发布者: 作者: 灏天文库 转发
评论区 (0)
U