OpenAI 复古竞赛结果
TL;DR
OpenAI 已完成首届复古竞赛,这是一项专注于开发能够从以往经验中泛化的强化学习(RL)算法的比赛。结果表明,Sonic 基准是测试通用机器学习方法的有效工具,因为最高性能是通过调优和扩展已有算法实现的,而非竞赛特定的技巧。
性能基准与结果
比赛中表现最好的代理最高得分为 4,692,仍远低于理论最高分 10,000。这一差距表明,AI 代理在新环境中泛化和快速学习的能力还有很大提升空间。
最高得分团队
| 排名 | 团队 | 得分 |
|---|---|---|
| #1 | Dharmaraja | 4,692 |
| #2 | mistake | 4,446 |
| #3 | aborg | 4,430 |
| #4 | whatever | 4,274 |
| #5 | Students of Plato | 4,269 |
| Baseline | Joint PPO | 4,070 |
| Baseline | Joint Rainbow | 3,843 |
| Baseline | Rainbow | 3,498 |
获胜方案的技术方法
获胜方案依赖于通用机器学习技术,特别是对近端策略优化(PPO)和 Rainbow DQN 的改进。
Dharmaraja(第一名)
Dharmaraja 团队使用了一种联合 PPO 的变体,并进行了若干关键修改:
- 视觉输入: 从灰度切换为 RGB 图像。
- 动作空间: 扩展动作空间,加入更多常用的按钮组合。
- 奖励函数: 实现了增强奖励函数,依据屏幕的感知哈希来奖励代理访问新状态。
mistake(第二名)
mistake 团队的方案基于 Rainbow 基线,使用 Rainbow DQN 从头训练。他们的性能提升来源于:
- 超参数调优: 优化 n 步 Q 学习中的 $n$ 值。
- 网络结构: 为模型添加额外的 CNN 层,虽然降低了训练速度,但提升了性能。
- 更新间隔: 降低 DQN 目标更新间隔。
aborg(第三名)
aborg 团队使用了一种联合 PPO 的变体,重点在迁移学习和快速适应:
- 预训练: 利用来自 Game Boy Advance 和 Master System Sonic 游戏的额外训练关卡。
- 网络结构: 修改了网络架构。
- 超参数优化: 专门调节学习率,以稳定微调前 150K 步的训练。
评估方法论
为防止对排行榜过拟合,OpenAI 采用了两阶段评估流程:
- 排行榜阶段: 参赛者根据使用关卡编辑器创建的五个低质量关卡的测试集,收到分数和视频反馈。
- 最终评估: 前 10 名参赛者在 11 个由熟练关卡设计师设计的自定义 Sonic 关卡上进行测试。每个代理在每个关卡上使用不同随机种子进行三次评估,以降低噪声。
关键经验与启示
OpenAI 观察到,最成功的方法并未与竞赛前 OpenAI 设定的内部基准有根本差异。这凸显了两个主要发现:
- 超参数的重要性: 顶级提交展示了对现有基线算法(如 Rainbow DQN)进行精细调优后,可显著超越默认设置。
- Sonic 基准的验证: 由于获胜方案是通用机器学习方法而非特定技巧,OpenAI 认为 Sonic 基准是社区可解决的稳健问题。
- 迁移学习: 对预训练网络进行微调是多支顶级团队成功的策略。
Sources
- OriginalRetro Contest: Results