階層化強化學習(Hierarchical Reinforcement Learning)是什麼?

將複雜任務分解為多層子任務,由不同層級的策略分別優化的強化學習方法。|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

英文
Hierarchical Reinforcement Learning
主題標籤
強化學習、任務分解、多層策略
考點定位
非 iPAS 核心術語
最後更新
2026/07/30
階層化強化學習(Hierarchical Reinforcement Learning)是什麼? 強化學習任務分解
術語快查

搜尋意圖: 如果你在找「階層化強化學習 是什麼」或「階層化強化學習 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。

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

實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。

下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。

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

核心概念

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

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

常見問題

如何決定一個任務應該分解成幾層?

層數應平衡三個因素:第一,任務的自然結構:若任務天然有明顯的階層(如組裝→零件步驟→手臂動作),應遵循這個結構;第二,狀態與動作空間大小:每層應使問題規模減少,通常每層減半為目標;第三,可計算性:層數太多導致訓練複雜度指數增長,層數太少失去分解收益。實務中2-3層通常足夠,超過4層的HRL設計較少見。建議從2層開始,根據訓練效果與實驗結果調整。

如何確保高層設定的子目標能被低層可靠實現?

這是HRL最實際的挑戰。幾種方法:第一,用多層訓練前預訓練低層:獨立訓練低層策略實現特定子目標,驗證可靠性,再用預訓練的低層來訓練高層;第二,使用可實現性約束:限制高層只能設定低層實現過的子目標;第三,動態調整目標難度:如果低層頻繁失敗,高層調整為更簡單的子目標;第四,多任務低層:訓練低層同時處理多個相關子目標,提高泛化與魯棒性。

預訓練技能(低層策略)需要多少示範或訓練時間?

這取決於技能的複雜度,通常需要足夠的試驗使低層策略在該子目標上收斂到可靠性(如>95%成功率)。在模擬環境中可用強化學習從零訓練;在現實環境中可用演示初始化(行為克隆)再微調。經驗上,每個技能的訓練時間約為完全扁平RL訓練該任務時間的30-50%,因為技能的狀態與動作空間更小。但這因應用而異,複雜機械臂操作的技能訓練可能仍需數小時,簡單導航技能可能分鐘級完成。