OpenAI 學習階層研究
OpenAI 已推出 Meta-Learning Shared Hierarchies (MLSH),一種階層強化學習演算法,旨在透過自動發現高層次動作來解決需要數千個時間步的任務。此方法使得代理能夠快速掌握新的、複雜的導航任務,通過排序已學習的組件,而非依賴對低層次動作的暴力搜尋。
長時域任務的挑戰
傳統的強化學習方法經常依賴對低層次動作的暴力搜尋,當任務需要大量時間步時,這種方法會變得極低效。例如,一個需要 2,000 個低層次動作的解決方案,透過簡單的試誤來求解在計算上是昂貴的。
MLSH 透過將複雜行為表示為高層次動作的短序列來解決此問題。將 2,000 步的低層次序列減少為 10 步的高層次序列,代理能夠更高效地搜尋解決方案。
Meta-Learning Shared Hierarchies (MLSH) 架構
MLSH 實施了一種由主策略和一組子策略組成的階層策略。主策略每 $N$ 個時間步選擇一個高層次動作(其中 $N$ 可能為 200),然後所選的子策略將在那 $N$ 個時間步內執行。
Key technical characteristics of MLSH include:
- Automatic Discovery: 與先前經人工設計的階層政策不同,MLSH 透過與環境的互動自動發現其階層結構。
- Meta-Learning Perspective: 該演算法將「良好」階層定義為在訓練先前未見過的任務時,能讓代理快速獲得高獎勵的階層。
- Shared Sub-policies: 代理是在任務分佈上進行訓練。雖然主策略會為每個採樣的任務重新學習,但子策略是在任務之間共享的,使得代理能夠改進一組通用的高層次動作。
AntMaze 實驗結果
為了評估該演算法,OpenAI 研究者使用了 AntMaze 環境,該環境包含一個 MuJoCo Ant 機器人,在九個不同迷宮的分佈中導航。
透過與環境的互動,MLSH 成功發現了一組多樣化的子策略——具體而言,是朝不同方向的行走和爬行——這些策略可以組合在一起來解決迷宮任務。研究者指出,這組子策略使得代理能夠掌握比原始訓練任務更大的任務。
可用性
OpenAI 已在 GitHub 上發布了用於訓練 MLSH 代理的程式碼以及用於評估這些演算法的 MuJoCo 環境。
Sources
- OriginalLearning a hierarchy