階層化強化學習 是什麼?

Hierarchical Reinforcement Learning:階層化強化學習 的完整解釋

將複雜任務分解為多層子任務,由不同層級的策略分別優化的強化學習方法。

核心概念

複雜任務往往具有天然的階層結構。例如,機械臂從柜子取物品的任務可分解為:

  1. 高層:計劃取物步驟:移至柜子前、打開柜子、定位物品、取出物品。
  2. 中層:實現每個步驟,如「移至柜子前」分解為移動身體、轉向、調整距離。
  3. 低層:電機控制:關節力矩與速度設定。

傳統扁平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是結構分解;兩者可結合使用。

常見問題