階層化強化學習 是什麼?
Hierarchical Reinforcement Learning:階層化強化學習 的完整解釋
將複雜任務分解為多層子任務,由不同層級的策略分別優化的強化學習方法。
核心概念
複雜任務往往具有天然的階層結構。例如,機械臂從柜子取物品的任務可分解為:
- 高層:計劃取物步驟:移至柜子前、打開柜子、定位物品、取出物品。
- 中層:實現每個步驟,如「移至柜子前」分解為移動身體、轉向、調整距離。
- 低層:電機控制:關節力矩與速度設定。
傳統扁平RL試圖一次學習所有層級的決策,導致巨大的狀態-動作空間、樣本效率低、收斂慢。階層化RL將問題遞歸分解,每層只優化自己的決策,既減少複雜度,又保留結構。
運作原理與框架
期權(Options)框架
Options是階層強化學習的經典理論框架,由Richard Sutton提出。一個option包括:
- 入口條件(Initiation Set):option能開始執行的狀態集合。
- 策略π(a|s):給定狀態選擇動作。
- 終止條件β(s):option何時結束的機率分布。
智能體執行高層策略時,選擇的不是原始動作,而是選擇option。每個option的執行可能跨多個時步,直到觸發終止條件,此時控制權回到高層策略。
高層策略只需學習選擇正確的option序列,無需關心每個option內部如何實現,大幅降低決策複雜度。
目標變化的多層學習
HRL的另一種設計是多層目標:
- 最高層(Meta-Controller):設定一系列子目標g₁, g₂, ..., gₙ。
- 中層(Mid-level Controller):執行達成每個子目標的策略。
- 底層(Low-level Controller):執行原始動作,由中層策略驅動。
例如,到達房間另一端的任務分解為「到達門口」(子目標1)、「穿過門」(子目標2)、「到達目標位置」(子目標3),每個子目標由獨立的策略優化。
獎勵內在化與技能學習
在某些HRL框架中,低層子策略(稱為「技能」)先被訓練實現基本能力(如「接近目標」、「避開障礙」),獲得相應的獎勵函數。高層策略後續學習組合這些已訓練的技能以完成複雜任務。技能可看作是學習系統的「語彙」,高層學習變成用這些語彙構句。
實際應用
機器人複雜操作
組裝或維修任務,高層計劃步驟序列(如拆卸、清潔、重組),中層實現各步驟的特定動作,底層控制電機。
遊戲AI與規劃
Dota 2、星際爭霸等即時戰略遊戲,高層AI決策戰略(如集結、推進)與戰術目標,中層決策單位編隊移動與技能選擇,底層執行個體單位移動。
導航任務
機器人或無人車導航到遠處目標,高層規劃路線節點,中層沿路線移動,底層避免障礙與精確控制。
自然語言生成
文本生成任務,高層計劃文件結構與段落主題,中層生成每段文字,底層選擇詞彙與句式。
常見誤區
誤區1:認為任何任務都適合階層分解。某些任務內在是扁平的,強行分解成多層反而增加複雜度。
誤區2:假定階層分解自動得到好的個體層策略。實際上低層策略的訓練品質直接影響高層效果,訓練前需評估分解是否合理。
誤區3:忽視層間邊界的銜接。上層策略設定的子目標必須被下層策略可靠地實現,否則整個系統失效。
與相關技術的比較
- HRL vs. 扁平RL:HRL利用結構降低複雜度,扁平RL有更大靈活性但樣本效率低。
- HRL vs. 規劃與搜尋:HRL學習階層策略,規劃是給定模型下的決策,目標不同但可互補。
- HRL vs. 課程學習:課程學習漸進增加任務難度,HRL是結構分解;兩者可結合使用。