我們開發了一套階層式強化學習演算法,能學習適用多種任務的高階動作,讓需耗費數千時間步驟的任務也能快速完成。我們的演算法應用於各類導航問題時,能自動發掘高階動作組合,用於不同方向的行走與爬行,協助智慧體迅速掌握全新導航任務。
人類會將複雜的挑戰拆解成較小且易於管理的部分,逐步解決問題。製作煎餅包含一系列的高階動作,例如量麵粉、打蛋、將麵糊倒入平底鍋、開火等等。即使任務可能需要數百萬個低層次動作 (即個別的肌肉收縮),人類仍能將這些學習過的部分串聯起來而快速學會新任務。
另一方面,今天的強化學習法乃是透過對低層次動作進行暴力搜尋來運作,需要大量的嘗試才能解決新任務。這類方法在解決需耗費大量時間步驟的任務時,效率會大幅下降。
我們的解決方式,是根據階層式強化學習的概念,讓智慧體將複雜行為表示為一系列簡短的高階動作。這讓智慧體能解決更複雜的任務:即便解決方案需執行 2,000 個低階動作,階層式策略也能將其轉化為僅 10 個高階動作序列,而搜尋 10 步的序列遠比搜尋 2,000 步更有效率。

我們的演算法元學習共享階層結構 (MLSH) 習得一種階層式策略,由主策略在多組子策略之間進行切換。主控器每隔 N 個時間步驟選擇一個動作,我們可能設定 N=200。執行 N 個時間步驟的子策略構成一個高階動作,而在我們的導航任務中,子策略則對應於朝不同的方向行走或爬行。
在大多數先前的研究中,階層式策略都是明確地以人工方式設計。不過,我們的目標是透過與環境的互動自動發掘這種階層式結構。從元學習的角度來看,我們將良好的階層定義為在未見過的任務上訓練時能快速達到高獎勵的階層。因此,MLSH 演算法旨在學習能在先前未見過的任務上達成快速學習的子策略。
我們在任務分布上進行訓練,共享子策略,同時在每個採樣任務上學習新的主控策略。透過反覆訓練新的主控策略,這個過程會自動找到能配合主控策略學習動態的子策略。
在我們的 AntMaze 環境中,我們將一個 Mujoco Ant 機器人置於 9 個不同迷宮構成的分布中,而機器人必須從起點導航到目標點。我們的演算法找出一組多樣化的子策略,這些策略能藉由與環境互動組合使用,順利解決迷宮任務。這組子策略接著可以用來掌握比訓練時更大型的任務 (參見文章開頭的影片)。
我們正在釋出用於訓練 MLSH 智慧體的程式碼(在新視窗中開啟),以及我們建構用於評估這些演算法的 MuJoCo 環境。



