外观
评估与基准
一句话定位:这一页讲清楚 RL 的评估与基准(Evaluation & Benchmarks)——RL 的评估比监督学习难一个量级:回报有方差、结果依赖随机种子、比较还牵涉计算预算;读完后你能搭出"固定 seed × 多次运行 × 学习曲线"的正确评估协议,看懂主流基准(Atari、MuJoCo 等)各自测什么,并能识破"只看一个 seed 下结论"的评估作弊。
一、为什么 RL 评估这么难
1. 监督学习 vs RL:评估对象的本质差异
| 维度 | 监督学习 | RL |
|---|---|---|
| 评估对象 | 一个训练好的模型 | 一个正在与随机环境交互的策略 |
| 指标 | 测试集上的确定性指标 | 回报(本身是随机变量) |
| 一次评估 | 测一遍即可 | 必须跑多次(策略 + 环境都随机) |
| 环境 | 测试集固定 | 训练环境 = 评估环境(无独立测试集) |
| 额外维度 | 无 | 样本效率、计算预算 |
关键:监督学习里"训练集/测试集"天然分离;RL 里你训练用的环境和你评估用的环境是同一个——智能体完全可以"背下"训练环境的状态分布,评估时照样高分(这就是"评估作弊"的来源之一,见第四节)。
2. 回报的四个方差来源
一次 RL 评估得到一个回报数字,它同时被四层随机性污染:
| 随机源 | 说明 |
|---|---|
| 环境随机性 | 同一策略在相同初始条件下也会走出不同轨迹 |
| 策略随机性 | 随机策略(SAC/PPO)每次采样动作不同 |
| 种子链 | 初始 seed 决定网络初始化 + 数据顺序 + 探索序列 |
| 训练噪声 | mini-batch 采样、梯度噪声造成训练轨迹不同 |
所以"一次运行"的回报不能说明任何问题。正确的单位是"多次运行(多个 seed)的分布"。
3. 非平稳性:训练中途评估 vs 训练后评估
RL 策略在训练中不断变化,评估时必须明确"评估哪个时间点":
- 最终性能:训练结束时策略的水平;
- 学习曲线:整个训练过程中性能的演化(评估调参最重要的可视化,见调参与超参数优化)。
二、评估协议要素:五个必选项
一套站得住脚的 RL 评估至少包含:
text
RL 评估五要素
─────────────────────────────
1. 固定 seed 集合(至少 5-10 个,覆盖 0..n)
2. 每个 seed 完整训练(不中途取"最好的那个 checkpoint")
3. 每个评估点多次采样取平均(去策略/环境噪声)
4. 报告分布:中位数 + IQR,而不是均值 ± std
5. 明确预算:训练步数 / 环境交互数 / 计算资源
─────────────────────────────1. 为什么中位数 + IQR 而不是均值 ± 标准差
RL 回报分布通常长尾(偶尔一次爆高分,或偶发崩溃到极低),均值会被长尾拉偏。中位数稳健、IQR(四分位距)直观显示稳定性。报告格式示例:
算法 中位回报 IQR 成功中位步数 交互数
PPO 245.0 [221, 262] 1.2M 50M
SAC 398.5 [372, 405] 0.8M 50M2. 学习曲线:评估的核心可视化
横轴=训练步数(或环境交互数),纵轴=回报。三张典型形态:
text
不收敛(欠学习) 振荡(不稳定) 正常收敛
▲ ▲ ▲
│ ╱╲ │ ╱╲╱╲╱ │ ╱‾‾‾
│╱ ╲ │╱ ╲ │ ╱
│ ╲ │ ╲╱╲ │ ╱
│ ╲ │ ╲ │╱
└─────────▶ └─────────▶ └─────────▶- 不收敛:奖励设计/超参问题(先查奖励工程再查超参);
- 振荡:学习率太大 / 探索过度 / 价值高估(见Actor-Critic 家族);
- 正常:初期平缓 → 中期陡升 → 后期平台。
三、样本效率 vs 最终性能:两个必须分开看的维度
1. 一个常见错觉
"算法 A 的最终回报比算法 B 高,所以 A 更好"——错。A 可能用了 10 倍样本才达到。在样本昂贵的场景(机器人、真实业务)里,样本效率与最终性能同等重要。
| 维度 | 度量 | 典型对比 |
|---|---|---|
| 样本效率 | 达到某性能门槛所需交互数 | SAC 用 100K 步到 X 分,PPO 要 1M 步 |
| 最终性能 | 训练收敛后的最高回报 | PPO 可能最终分数更高 |
正确的评估报告画两条轴都要:横轴交互数,看曲线谁先爬上去、谁爬得高。详见从零搭一套 RL 评估。
2. 计算预算公平性
on-policy(PPO)与 off-policy(SAC)在相同"环境交互数"下的计算成本不同(PPO 每个 token 都要算 actor 和 critic 两个网络)。报告时必须同时声明:环境交互数 + 训练 wall-clock 时间 + GPU/CPU 资源。只报其一都是"预算不公平"。
评估作弊的常见形态
- 用"训练中最好的 checkpoint"报告(不是最终策略);
- 只用 1 个 seed,恰好撞上一个好 seed;
- 给自家算法调参、给对手用默认参数("苹果对橘子");
- 在训练环境评估(背题)。 完整反模式清单见常见陷阱与反模式。
四、主流基准图谱
1. 基准总表
| 基准 | 环境/任务 | 动作空间 | 难度 | 测什么 | 适用 |
|---|---|---|---|---|---|
| Gymnasium | 经典控制(CartPole、MountainCar、LunarLander) | 离散/连续 | 低 | 入门、调试 | 学习/算法验证 |
| Atari 100k / ALE | 49+ 街机游戏(像素输入) | 离散(18) | 中高 | 视觉、稀疏奖励、泛化 | 深度 RL 标准 |
| MuJoCo | 机器人关节控制(HalfCheetah、Humanoid) | 连续 | 中 | 连续控制 | 算法对比标配 |
| DM Control | 像素/状态连续控制 | 连续 | 中高 | 视觉控制 | DeepMind 系 |
| Procgen | 16 程序生成游戏 | 离散 | 中 | 泛化(未见关卡) | 泛化研究 |
| Meta-World | 50 个机器人操作任务 | 连续 | 中高 | 多任务、泛化 | meta-RL |
| MiniGrid / Maze | 网格迷宫 | 离散 | 低中 | 探索、稀疏奖励 | 探索研究 |
| D4RL | 离线数据集 | 离散/连续 | 中 | 离线 RL | 离线算法 |
| Isaac Gym / Brax | 大规模并行物理 | 连续 | 高 | 大规模并行 | 大规模训练 |
2. 两大台柱:Atari 与 MuJoCo
- Atari(Arcade Learning Environment, Bellemare et al., 2013):从原始像素学策略,考验"视觉 + 探索 + 时序",是 DQN 家族和探索研究的主战场。批评:部分游戏用随机策略也高分、环境确定性强(背题容易)、得分尺度差异大(需要 human-normalized 分数)。
- MuJoCo(Todorov et al., 2012):连续控制基准,物理仿真、可精确复现,是 SAC/TD3/PPO 的标准擂台。批评:任务单一、容易"过拟合基准"(调参只对这几个任务有效)、动力学与现实差距大。
3. 泛化基准:Procgen、Meta-World
监督学习看重泛化,RL 曾经不看。泛化基准修正这一点:
- Procgen:每个训练 seed 生成不同关卡,训练集与测试关卡不重叠——直接测"策略能不能用到没见过的关卡";
- Meta-World:50 个不同的机械臂操作任务,测"多任务共享与快速适应"。
五、评估报告规范:一篇可信的 RL 实验该报什么
1. 报告清单
text
一份完整 RL 评估报告应包含
────────────────────────────
环境与任务:版本号、奖励设计、截断/终止定义
seed 数:至少 5(论文 10+)
评估协议:训练步数、评估间隔、每次评估采样次数
指标:中位数 + IQR + 学习曲线(含全部 seed 的曲线)
预算:交互数、wall-clock、硬件
超参:完整超参表 + 搜索方法(随机/网格/贝叶斯)
代码:指向可复现实现(或附录)
────────────────────────────2. 学习曲线可视化规范
- 曲线画中位数,阴影画 IQR(不要只画均值);
- 横轴统一为"环境交互数"(不同算法步数定义不同,PPO 的 step 与 SAC 的不同);
- 附上"训练时间 vs 性能"对比(算力公平性);
- 多个算法画在同一张图、同刻度。
与本站实践页的衔接
本页讲"评估为什么难、基准测什么",动手搭评估协议、写评估报告模板见从零搭一套 RL 评估;调参时怎么用评估区分"超参问题 vs 算法问题"见调参与超参数优化。
六、基准的批评与"过拟合基准"问题
1. 过拟合基准:RL 圈的"应试教育"
"在 MuJoCo 的 HalfCheetah 上刷到 SOTA"已经越来越不能代表真实能力。原因:
- 基准任务太少:主流对比集中在一打任务上,超参可以被调成"对这打任务最有利"——换一组任务立刻现原形;
- 评估就是训练:训练环境和评估环境是同一个,智能体可以背下状态分布(见第一节);
- 发表激励:论文按"在某某基准 +N 分"评价,研究跟着基准走,而不是跟着问题走。
这就是过拟合基准(benchmark overfitting):分数涨了,泛化没涨。
2. 减少过拟合的实践
| 手段 | 说明 |
|---|---|
| 多用程序化生成环境 | Procgen 每个关卡不同,训练/测试关卡不重叠(见数据集与工具档案) |
| 多环境交叉验证 | 不要只报 MuJoCo,混合 Atari + DM Control + 自建任务 |
| 报告"调参成本" | 写清楚超参是默认值还是专门搜出来的(诚实披露公平性) |
| 独立测试分布 | 刻意留出一组"从未参与开发"的任务做最终评估 |
3. 基准的正确心态
基准不是"证明算法好"的工具,而是"暴露算法弱点的仪器"。分数是给审稿人看的,诊断是给自己用的——花同样时间盯着"为什么这条曲线在 1M 步后不涨",比再跑一个基准更有价值。
七、评估中的探索维度:别忘了"训练中表现"
评估不只是"最终得分"。RL 训练过程中还有一个关键维度——探索是否健康(见探索与利用)。调参时应该同时画三组曲线:
| 曲线 | 看什么 |
|---|---|
| 回报 | 性能是否上升 |
| 策略熵 | 探索是否被过早压缩(熵骤降 = 过早收敛) |
| Q 值 | 是否高估/虚高(Q 涨但回报不涨 = 价值幻觉) |
这三组曲线是调参与超参数优化的"诊断仪表盘"。
八、不同子领域的评估侧重
评估不是一刀切。离线 RL、多智能体、RLHF 各有各的"评估难",不理解特异性的评估比不评估更危险。
1. 离线 RL:评估最难的一类
离线 RL 训练时禁止交互,所以"这个新策略好不好"只能靠离线手段回答。可用工具与各自的坑:
| 手段 | 做法 | 主要问题 |
|---|---|---|
| 轨迹级重要性采样 | 用数据内轨迹按 IS 加权估计 | 方差随轨迹长度指数爆炸,长时域任务几乎不可用 |
| 学习到的 Q/Critic 打分 | 用训练出的价值函数评估策略 | Q 本身对 OOD 动作有幻觉(见离线强化学习),等于"用幻觉评价幻觉" |
| 世界模型模拟 | 学一个环境模型再在其中评估 | 模型误差会传导进评估结论 |
| 保守价值(CQL 系) | 用"不会高估"的价值给策略排序 | 只能给相对下界,不能给精确值 |
工程结论:离线评估的唯一可靠用途是"给候选策略排序",然后小流量在线验证。任何宣称"离线预测绝对上线性能"的方案都要警惕(详见常见陷阱与反模式)。
2. 多智能体:对手就是"测试集"
多智能体评估的最大问题:结果取决于对手是谁。一个策略能打败 A 对手,未必能打败 B 对手。评估要回答三件事:
- 对谁评估:固定基线对手(随机/固定策略)、最佳响应(最强对手)、还是自博弈(自己跟自己打)?
- 联盟稳定性:与合作者协同训练后,换一个合作者还能工作吗?
- 涌现能力:是否出现了人类可解释的高级行为(OpenAI Five、AlphaStar 的评估都靠"对战胜率 + 人类评审"双通道)。
常见陷阱:只报告"对随机策略的胜率"——这只能证明"不是乱来",证明不了任何真实水平。严谨的 MARL 论文要报"对多个基线的完整胜率矩阵",详见多智能体强化学习。
3. RLHF / 语言模型:三套指标各有所图
LLM 对齐的评估同时要监控三个维度,任何单一指标都会被"刷分":
| 指标 | 测什么 | 已知漏洞 |
|---|---|---|
| 奖励模型分数 | 对齐于人类偏好代理 | Goodhart 定律:优化到极端会偏离真实偏好(见RLHF 与人类反馈对齐) |
| 人工评估(preference win-rate) | 真实人类偏好 | 贵、主观、难复现 |
| 标准能力基准(MMLU、代码评测) | 通用能力有没有掉 | 测"能力"不测"对齐" |
工程规范:奖励分数涨、人工 win-rate 不涨甚至跌 = 正在过度优化,立刻早停。这也是LLM 对齐:RLHF 实战里对齐税的监测方法。
4. 学习曲线的定量化:别只靠"目测"
"目测曲线谁高"不可靠。两个标准做法:
- AUC(曲线下面积):对学习曲线积分,同时惩罚"慢"与"低"——一个指标同时包含样本效率与最终性能;
- IQM(interquartile mean):对多次运行回报的中间 50% 取均值,比均值稳健、比中位数信息量高(Agarwal et al., 2021 推荐)。
九、常见误区清单
- 1 个 seed 就下结论——运气曲线而已;
- 用最好 checkpoint 报告——不是策略的真实水平;
- 对手用默认超参——默认参数不等于公平;
- 不报计算预算——样本效率无从判断;
- 在训练环境评估——背题式高分;
- 均值当一切——被长尾拉偏;
- 不同算法"step"混为一谈——on/off-policy 的 step 定义不同,必须换算成"环境交互数"。
面试高频题:"你如何评估你的 RL 项目?"
答:固定 5 个以上 seed,每个完整训练,报告最终回报的中位数与 IQR,画学习曲线(横轴环境交互数),并同时报告 wall-clock 时间与超参表。然后反问面试官"评估预算与目标是什么"——评估协议本身就该适配项目目标(上线决策需要小样本快速评估,论文需要大规模严谨评估)。
延伸阅读
- 从零搭一套 RL 评估 —— 评估协议的实战搭建与报告模板
- 数据集与工具档案 —— Gymnasium、MuJoCo、Atari、D4RL 等工具与数据集索引
- 探索与利用 —— 训练中探索健康度的评估维度
- 常见陷阱与反模式 —— 评估作弊与 seed 过拟合的检测方法
- 调参与超参数优化 —— 学习曲线形态分析与多 seed 确认
参考资料
- Henderson, P., Islam, R., Bachman, P., et al. (2018). Deep Reinforcement Learning that Matters. AAAI. arXiv:1709.06560(RL 评估不可靠性的经典实证论文,必读)
- Bellemare, M. G., Naddaf, Y., Veness, J., & Bowling, M. (2013). The Arcade Learning Environment: An Evaluation Platform for General Agents. JAIR. Atari 基准原始论文。
- Todorov, E., Erez, T., & Tassa, Y. (2012). MuJoCo: A physics engine for model-based control. IROS. MuJoCo 引擎论文。
- Cobbe, K., Hesse, C., Hilton, J., & Schulman, J. (2020). Leveraging Procedural Generation to Benchmark Reinforcement Learning. ICML. arXiv:1912.01588(Procgen)
- Fu, J., Kumar, A., Nachum, O., Tucker, G., & Levine, S. (2020). D4RL: Datasets for Deep Data-Driven Reinforcement Learning. arXiv:2004.07219(D4RL 离线基准)
- Agarwal, R., Schwarzer, M., Castro, P. S., Courville, A., & Bellemare, M. G. (2021). Deep Reinforcement Learning at the Edge of the Statistical Precipice. NeurIPS. arXiv:2108.13264(用聚合统计量做可靠 RL 评估,IQR 报告的权威来源)
- Gymnasium 官方文档:https://gymnasium.farama.org/