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 |
| 基線 | Joint PPO | 4,070 |
| 基線 | Joint Rainbow | 3,843 |
| 基線 | Rainbow | 3,498 |
獲勝解決方案的技術方法
獲勝的解決方案依賴通用機器學習技術,特別是對近端策略最佳化(PPO)與 Rainbow DQN 的精進。
Dharmaraja(第一名)
Dharmaraja 團隊使用了 joint PPO 的變體,並進行了多項關鍵修改:
- 視覺輸入: 從灰階切換為 RGB 圖像。
- 動作空間: 擴增動作空間以包含更常見的按鍵組合。
- 獎勵函數: 實作了增強的獎勵函數,根據螢幕的感知雜湊(perceptual hash)判斷新狀態,對代理造訪新狀態給予獎勵。
mistake(第二名)
mistake 團隊的解決方案以 Rainbow 基線為基礎,從頭開始使用 Rainbow DQN 訓練。他們的效能提升來自於:
- 超參數調整: 優化 n-step Q learning 中 $n$ 的值。
- 架構: 為模型新增一層 CNN,雖然降低了訓練速度,但提升了效能。
- 更新間隔: 降低 DQN 目標更新的間隔。
aborg(第三名)
aborg 團隊使用了 joint PPO 的變體,重點放在遷移學習與快速適應上:
- 預訓練: 使用來自 Game Boy Advance 與 Master System Sonic 遊戲的額外訓練關卡。
- 架構: 修改了網路架構。
- 超參數最佳化: 專門調整學習率,以穩定前 150K 時間步的微調。
評估方法論
為防止對排行榜過度擬合,OpenAI 採用了兩階段的評估流程:
- 排行榜階段: 參賽者根據使用關卡編輯器製作的五個低品質關卡測試集,透過分數與影片取得回饋。
- 最終評估: 前 10 名參賽者在 11 個由熟練關卡設計師打造的自訂 Sonic 關卡上測試。每個代理在每個關卡上以不同的隨機種子執行三次,以降低噪聲。
主要教訓與影響
OpenAI 發現,最成功的方法與比賽前 OpenAI 所建立的內部基準並無根本差異。這凸顯了兩項主要發現:
- 超參數的重要性: 頂尖提交顯示,仔細調校的既有基線演算法(如 Rainbow DQN)可大幅超越預設設定。
- Sonic 基準的驗證: 由於獲勝解決方案是通用的機器學習方法而非特定技巧,OpenAI 結論認為 Sonic 基準是一個社群可解決的堅實問題。
- 遷移學習: 從預訓練網路進行微調的做法對多支頂尖隊伍而言是成功的策略。
Sources
- OriginalRetro Contest: Results