泛化、过拟合与 Sim-to-Real
RL 策略对训练环境严重过拟合(ProcGen 基准)。本章讨论程序化生成、数据增强、领域随机化在模拟到现实迁移中的作用,以及泛化差距的度量。
记住关卡 vs 学会技能
Section titled “记住关卡 vs 学会技能”RL 策略的一个系统性倾向:记住具体的训练环境,而不是学出可迁移的技能。在固定的关卡上训练到超人类水平,换一个随机种子生成的关卡,成绩可能跌到接近随机——策略学的是"这一关怎么走",不是"这类游戏怎么玩"。
ProcGen(Procedural Generation benchmark, Cobbe et al., 2019)把这个现象标准化:程序化生成无限关卡,考察泛化而非记忆。结论:训练环境数量对泛化的影响呈幂律——训练关卡数翻倍,泛化差距按幂律缩小;要让泛化差距消失,需要的训练环境数量远超直觉(某些任务上 10 万+ 关卡仍未饱和)。
这与监督学习的"数据规模定律"同构:泛化能力的来源是训练分布的广度,不是算法的聪明。
程序化生成与数据增强
Section titled “程序化生成与数据增强”- 程序化生成(procedural generation):无限生成训练关卡,把"记忆关卡"的路堵死——ProcGen、BRAX 类环境的核心设计。生成器的设计决定学到什么(生成空间的偏差会被策略继承)。
- 数据增强(data augmentation):对观测做随机变换(随机裁剪、颜色抖动)。对像素输入的 RL 效果显著——随机裁剪几乎是 Atari/DMC 像素方法的标配(DrQ、SVEA 等),因为卷积特征对裁剪的敏感正是过拟合的通道。这是监督学习的数据增强在 RL 中的直接对应。
领域随机化:Sim-to-Real 的主力
Section titled “领域随机化:Sim-to-Real 的主力”领域随机化(domain randomization):在仿真训练时随机化仿真参数(摩擦、质量、光照、纹理、动力学),让真实世界的物理落在训练分布之内。
- 机制:策略见过足够多的参数组合,真实世界只是"又一个随机样本"——零样本迁移;
- 代价:以牺牲单环境性能换鲁棒性——随机化让每个具体环境上的成绩下降(策略必须对所有参数都保守);
- 适用:Sim-to-Real 迁移(仿真到真实机器人),是机器人 RL 的标准流程之一(→ 机器人)。
与"学一个精确的仿真器"是两条路:随机化赌"分布覆盖",精确仿真赌"模型准确"——现实中常混合使用(随机化 + 系统辨识)。
泛化差距的度量
Section titled “泛化差距的度量”- 泛化差距:训练环境成绩与留出环境成绩之差——最直接的度量;
- 零样本迁移:完全不微调、直接部署到新环境的成绩——Sim-to-Real 的标准指标;
- 样本内 vs 样本外:训练关卡上超人类、留出关卡上随机,是"记忆而非技能"的证据模式。
泛化问题与元学习(→ 元强化学习)的关系:元学习在任务分布上训练、元泛化到新任务;本章的泛化在环境分布上训练、泛化到新环境实例——结构相同,粒度不同。两者的工程答案也相同:更广的分布 + 更好的表示。
- 训练关卡数量对泛化的影响呈幂律
- 领域随机化以牺牲单环境性能换鲁棒性
- 视觉增强(随机裁剪)对像素输入 RL 效果显著