域随机化
概述
域随机化(Domain Randomization)是解决仿真到真实迁移(sim-to-real gap)的核心技术:在仿真训练中随机化大量环境参数(物理属性、外观、噪声),让策略在真实世界中见到的参数只是众多训练配置之一,从而实现零样本迁移。
关键内容
问题背景
仿真-现实差距(sim-to-real gap):在仿真中表现完美的策略往往在真实机器人上完全失效,因为摩擦特性、传感器噪声、渲染外观等参数无法精确复现。
域随机化的逻辑:与其精确建模真实世界,不如用如此宽泛的随机化范围,使真实世界只是训练中已见过的众多可能配置之一。
随机化类型
| 类型 | 典型参数 |
|---|---|
| 物理参数 | 摩擦系数、质量、关节阻尼、重力方向 |
| 外观参数 | 纹理、颜色、光照方向和强度、摄像头位置 |
| 传感器参数 | 噪声幅度、延迟、遮挡概率 |
| 控制参数 | 动作延迟、增益系数 |
自动域随机化(ADR)
OpenAI 在解魔方项目(2019)中提出的关键创新——让训练过程自动确定随机化范围,而非人类手动设定:
初始:所有参数固定为标称值(非随机化环境)
循环:
策略性能 > 上阈值 → 自动扩大某参数的随机化范围(增加难度)
策略性能 < 下阈值 → 自动缩小范围(降低难度)
ADR 的惊人发现:ADR 最终产生的随机化范围远超人类经验的直觉(如重力 0–20 m/s²,质量变化数倍)。这些"不合理"的极端参数在真实世界中不会出现,但它们迫使策略学到了极端鲁棒的控制技巧——类比"在极端条件下训练的运动员,正常比赛时反而轻松"。
应用规模:ADR + 大规模分布式 RL(64 GPU + 920 台工作机器,等效 13,000 年仿真经验),实现了 Shadow Dexterous Hand(24 自由度)零样本解魔方。
与纯仿真方法的对比
| 方法 | 思路 | 局限 |
|---|---|---|
| 精确建模 | 精确复现真实物理参数 | 参数测量困难,随时间变化 |
| 手动域随机化 | 人工设定随机化范围 | Goldilocks 问题:范围难以设定 |
| 自动域随机化(ADR) | 训练过程自适应调整范围 | 计算量大,需精心设计阈值 |
| 域适应(Domain Adaptation) | 学习对齐仿真与真实分布 | 需要真实数据 |
代表项目
- Tobin et al. (2017):系统性提出域随机化方法
- OpenAI Dactyl (2018):Shadow Hand 翻块验证
- OpenAI 解魔方 (2019):ADR 使 24 自由度灵巧手零样本迁移
- NVIDIA Isaac Lab:现代 sim-to-real 基础设施
来源
- raw/books/机器人学/15-openai-solving-rubiks-cube.md
相关
- 端到端视觉运动学习 — 端到端学习对仿真数据的需求催生了 sim-to-real 研究
- 视觉-语言-动作模型 — 大规模机器人学习的另一条路径(真实数据规模化)