信任域策略優化(Trust Region Policy Optimization)是什麼?

一種策略梯度方法,透過限制策略更新的範圍以保證單調性改進的強化學習算法。|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

英文
Trust Region Policy Optimization
主題標籤
策略梯度、強化學習、連續控制
考點定位
非 iPAS 核心術語
最後更新
2026/07/30
信任域策略優化(Trust Region Policy Optimization)是什麼? 策略梯度強化學習
術語快查

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

TL;DR: 一種策略梯度方法,透過限制策略更新的範圍以保證單調性改進的強化學習算法。

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

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

一種策略梯度方法,透過限制策略更新的範圍以保證單調性改進的強化學習算法。

核心概念

TRPO由John Schulman等人於2015年提出,其核心貢獻是提供了策略梯度方法的理論保證。標準策略梯度(Vanilla Policy Gradient)每次迭代更新策略時,學習率固定,容易導致:

  1. 策略更新過大,導致性能急劇下降。
  2. 無法保證目標函數單調改進(monotonic improvement)。
  3. 樣本效率低,需大量互動。

TRPO引入信任域(Trust Region)概念:限制每次更新時新策略與舊策略的相似度(用KL散度衡量),確保更新後仍在「信任域」內,從而保證目標函數的單調性改進。

運作原理

目標函數推導

TRPO的目標是最大化:

J(π_new) - J(π_old)

其中J(π)表示策略π的累積期望獎勵。透過泰勒展開與信任域近似,TRPO證明了只要滿足:

D_KL(π_old || π_new) ≤ δ

那麼目標函數就能保證非負的改進。這個約束就是「信任域」。

優勢函數與替代目標

TRPO實際最大化的是替代目標(Surrogate Objective):

L_surr(π_new) = E[A_t * (π_new(a|s) / π_old(a|s))]

其中A_t是優勢估計(Advantage Estimation),通常用廣義優勢估計(GAE)計算。這個目標在信任域內與真實目標密切相關。

共軛梯度法求解

TRPO在限制條件下使用共軛梯度法(Conjugate Gradient Method)求解二次規劃問題,而非簡單的梯度上升。這使得TRPO的計算複雜度較高。

實際應用

  • 機器人控制:MuJoCo連續控制任務中,TRPO表現穩定。
  • 遊戲AI:在Atari遊戲上表現優於早期策略梯度方法。
  • 自動駕駛:用於決策層的策略優化。
  • 推薦系統:優化對話策略時保證用戶體驗單調改進。

常見誤區

誤區1:認為TRPO保證全局最優。實際上TRPO只保證單調局部改進,容易陷入局部最優。

誤區2:將信任域大小δ設置過大會失去約束效果,過小則導致更新過於保守,都不理想。

誤區3:忽視優勢函數估計的品質。GAE的λ參數選擇對TRPO效果影響很大。

與相關技術的比較

  • TRPO vs. 策略梯度:TRPO提供理論保證和單調性,策略梯度更簡單但無保證。
  • TRPO vs. PPO:PPO簡化了TRPO,用損失函數罰項代替硬約束,計算更快。在實務中PPO往往表現相當甚至更優。
  • TRPO vs. A3C:TRPO是中心化學習,A3C是分布式學習,各有應用場景。
  • TRPO vs. 演員-評論家方法:TRPO本身就包含演員-評論家的思想,使用價值函數作評論家。

常見問題

TRPO為什麼比普通策略梯度更穩定?

普通策略梯度每次更新策略,新舊策略可能差異很大,導致目標函數變差。TRPO限制新舊策略的KL散度,使更新始終在「信任區域」內。在這個區域,替代目標與真實目標高度相關,保證更新後性能不會下降。此外,TRPO使用自適應的學習率(透過共軛梯度與直線搜索),能自動調整更新步長,進一步提高穩定性。

為什麼TRPO用共軛梯度而不是簡單的梯度下降?

TRPO面臨的是一個帶KL散度約束的最優化問題,屬於二次規劃。共軛梯度法是專為這類問題設計的高效求解器,能在二階海森矩陣的方向上快速收斂,遠優於一階梯度下降。但這也是TRPO計算複雜度高的原因:求解每次更新都需多次迭代。PPO的創新之一就是用簡單的損失罰項代替硬約束,避免了這種複雜計算。

TRPO的信任域大小δ怎麼設定最好?

δ的選擇需要權衡收斂速度與穩定性。δ過大時,限制形同虛設,容易出現大幅負面更新;δ過小時,每次更新幅度太小,收斂緩慢。常見的做法是設定δ為0.01到0.05之間的固定值,或根據實驗動態調整。實務中,許多實現會用直線搜索(Line Search)找到滿足KL約束的最大步長,這樣可以自動平衡。