從單一示範學習 Montezuma’s Revenge
OpenAI 開發了一個強化學習 (RL) 代理,能在 Atari 遊戲 Montezuma’s Revenge 中取得 74,500 的高分,超越所有先前發表的成果。該代理透過使用近端策略優化 (PPO) 來優化遊戲分數,同時利用單一人類示範,繞過稀疏獎勵環境中探索的固有困難。
稀疏獎勵遊戲中的探索問題
強化學習代理通常在像 Montezuma’s Revenge 這樣的遊戲中掙扎,因為它們依賴隨機探索來尋找獎勵。在獎勵稀疏且需要長且精確的動作序列的環境中,隨機偶然獲得獎勵的機率會隨序列長度呈指數級增長 (exp(N))。
例如,在 Montezuma’s Revenge 中取得第一把鑰匙需要特定的動作序列:下降梯子、跨過繩索、跳過障礙物。成功的總機率是每個單獨動作機率的乘積,使得隨機代理成功的可能性極低。
透過示範式課程簡化探索
為了解決探索問題,OpenAI 透過使用人類示範來構建子任務課程,將探索與學習分離。代理不再從遊戲開始處啟動每一回合,而是從示範中精心挑選的狀態開始。
逆向課程流程
代理遵循逆向順序的學習流程:
- 結束狀態初始化:代理透過在接近人類示範結尾的地方開始回合來進行訓練。
- 增量回溯:一旦代理能在至少 20% 的 rollout 中擊敗或追平示範者在遊戲剩餘部分的分數,起始點就會向時間上倒退。
- 完整遊戲掌握:此過程持續進行,直到代理能從遊戲的原始起點開始,並自行達成目標。
與模仿學習的比較
與基於模仿的方法不同——後者訓練代理去模仿示範中的特定狀態或動作——OpenAI 的方法直接優化遊戲分數。此區別帶來多項優勢:
- 避免過度擬合:代理不受可能次優的人類示範限制。
- 效能最佳化:代理能發現人類示範者未考慮的新解決方案。
- 多樣性:此方法更適合多人遊戲,目標是超越對手,而非僅僅模仿特定玩家。
技術挑戰與泛化
儘管探索已被簡化,代理仍面臨多項技術挑戰:
狀態泛化
由於 frameskip 差異與動作本身的隨機性,代理常無法到達示範中的精確狀態。因此,代理必須能在非常相似但不完全相同的狀態之間進行泛化。此方法在 Montezuma’s Revenge 上有效,但在 Gravitar 與 Pitfall 等遊戲上效果較差,OpenAI 將此歸因於更具挑戰性的視覺問題。
超參數調整
要達到高分需要精確調整 PPO 的熵獎勵係數、學習率與獎勵縮放。該演算法仍呈現顯著的隨機變異,部分執行未能收斂。
穩健性與擾動
為了測試泛化能力,OpenAI 對策略施加了擾動:
- 黏性動作:以 0.25 的機率重複上一次的動作,平均分數為 10,000。
- 隨機動作:以 0.01 的機率插入隨機動作,平均分數為 8,400。
雖然這些擾動降低了分數,但結果仍優於先前發表的基準。