OpenAI Procgen Benchmark 發佈
OpenAI 已發佈 Procgen Benchmark,這是一套包含 16 個程序化生成環境的套件,旨在衡量強化學習 (RL) 代理在未見過的關卡中泛化技能的能力。此基準測試解決了經典 RL 基準測試中常見的過擬合問題,即代理可能會記住特定的軌跡,而不是學習穩健且具泛化能力的技能。
Procgen Benchmark 概覽
Procgen Benchmark 由 16 個獨特的環境組成,允許生成不同的訓練集和測試集。這種結構非常適合評估泛化能力,因為它能確保代理無法簡單地記住環境。該基準測試也旨在評估樣本效率,因為每個環境中的多樣化挑戰需要代理學習穩健的策略才能成功。
設計原則
所有 Procgen 環境都是根據四個關鍵設計原則構建的:
- 高多樣性:環境生成邏輯被賦予最大的自由度來創建各種關卡,為代理提出有意義的泛化挑戰。
- 快速評估:環境經過優化,可以在單個 CPU 核心上每秒執行數千步。基準代理經過校準,在 2 億個時間步長後會取得顯著進展。
- 可調難度:提供兩種設定——簡單與困難。困難設定是報告結果的標準,而簡單設定所需的訓練資源約為八分之一。
- 視覺辨識與動作控制:環境模仿 Atari 和 Gym Retro 遊戲的風格,專注於在觀察空間中識別關鍵資產並執行適當的動作反應。
評估泛化與過擬合
OpenAI 使用近端策略優化 (PPO) 在範圍從 100 到 100,000 個關卡的訓練集上進行了一項研究。研究結果揭示了關於 RL 泛化能力的幾個關鍵見解:
- 對小規模集合的過擬合:代理在幾乎所有環境中都會對小規模訓練集產生強烈的過擬合。在某些情況下,代理需要多達 10,000 個關卡才能縮小泛化差距。
- 隱性課程:出現了一種趨勢,即隨著訓練集規模變大,訓練性能會隨之提高。這表明,更大、更多樣化的關卡集合提供了一種隱性課程,有助於代理在訓練集本身內部學習泛化。
- 進步的錯覺:在一項使用確定性關卡的消融研究中,代理在訓練期間似乎在取得進展,但在測試關卡上卻完全失敗。這突顯了使用多樣化環境分佈的關鍵重要性,以避免因記憶而產生的進步錯覺。
技術實作
對於研究人員和開發人員,可以透過 pip install procgen 取得此基準測試。OpenAI RL 團隊將其作為其標準研究平台。OpenAI 發現,所有 Procgen 環境都需要在 500–1000 個不同的關卡上進行訓練,代理才能開始泛化到新關卡。
Sources
- OriginalProcgen Benchmark