Lil’Log:Policy Gradient 演算法全覽

作者: Lilian Weng(前 OpenAI 研究負責人) 日期: 2018 年 4 月 8 日(更新至 2019 年 12 月) 預估閱讀時間: 52 分鐘 來源: https://lilianweng.github.io


核心概念

Policy Gradient 方法不學 Value Function,而是直接對 Policy 參數化後用 Gradient Ascent 最大化期望回報。與 Value-based 方法相比,Policy Gradient 更自然地處理 Continuous Action Space(連續動作空間),非常適合機器人控制。

Policy Gradient Theorem(策略梯度定理)

核心定理:梯度計算只需 Q 值乘以 Log-probability 梯度的期望值,不需要計算 State Distribution 的梯度,大幅簡化實作。


演算法分類

基礎方法

REINFORCE

  • Monte Carlo Policy Gradient,用完整 Trajectory 的回報計算梯度
  • 優點:簡單直覺;缺點:高 Variance(變異數),需要大量樣本
  • 常搭配 Baseline(基準值)減少 Variance 同時保持 Unbiased

Actor-Critic

  • Actor:學習 Policy
  • Critic:學習 Value Function,提供 TD Error 作為梯度的基準
  • 優點:不需要等到 Episode 結束,可以每步更新(Online Learning)

並行訓練

A3C(Asynchronous Advantage Actor-Critic)

  • 多個 Worker 執行緒非同步與全局 Policy 互動並累積梯度
  • 去除 Experience Replay 的記憶需求,各 Worker 資料天然多樣

A2C(Advantage Actor-Critic)

  • A3C 的同步版本,所有 Worker 步調一致再更新
  • 確保 Policy 版本一致性,在某些任務更穩定

Deterministic Policy(確定性策略)

DPG(Deterministic Policy Gradient)

  • 直接對連續動作空間輸出確定性動作,用 Chain Rule 透過 Q Function 計算梯度

DDPG(Deep Deterministic Policy Gradient)

  • DPG + Experience Replay + Target Network
  • 適合連續控制問題(機器臂、locomotion 等)
  • 缺點:對 Hyperparameter 敏感,容易不穩定

穩定訓練方法

TRPO(Trust Region Policy Optimization)

  • 用 KL Divergence 約束每次 Policy 更新幅度,防止 Policy 崩潰
  • 理論保證單調進步,但計算昂貴(需要二階優化)

PPO(Proximal Policy Optimization)

  • TRPO 的簡化版,用 Clipping 取代 KL 約束
  • 計算效率高、實作簡單,目前最廣泛使用的 Policy Gradient 方法之一

SAC(Soft Actor-Critic)

  • 在獎勵中加入 Entropy Maximization(熵最大化),鼓勵探索
  • Off-policy,樣本效率高,對 Hyperparameter 更穩健

TD3(Twin Delayed DDPG)

  • 用 Double Q-learning 防止 Q Function 高估(Overestimation)
  • 延遲 Actor 更新(每兩步 Critic 更新才更新一次 Actor)
  • 加入 Target Policy Smoothing 增加穩定性

多 Agent

MADDPG(Multi-Agent DDPG)

  • 每個 Agent 有自己的 Actor,但 Critic 可以看到所有 Agent 的動作
  • Centralized Training, Decentralized Execution(集中訓練,分散執行)

分散式擴展

IMPALA(Importance Weighted Actor-Learner Architecture)

  • 解耦 Acting(行動)和 Learning(學習):多個 Actor 非同步送資料給中央 Learner
  • 用 V-trace Off-policy Correction 修正 Policy 版本落差
  • 可擴展到數千個平行 Actor

關鍵設計原則

這些演算法都反覆用到以下策略:

  • Variance Reduction(降低變異數):Baseline 減法,保持無偏差
  • Off-policy Learning:用 Importance Sampling 從舊資料學習
  • Experience Replay:打亂資料相關性,提升樣本效率
  • Target Network:延遲更新目標值,穩定訓練
  • Entropy Regularization:鼓勵探索,防止過早收斂
  • Policy Constraint:限制每次更新幅度,防止 Policy 崩潰

對機器人學習的意義

Policy Gradient 方法是現代 Robot Learning 的核心:

  • DDPG / SAC / TD3 廣泛用於機械臂操作的 Continuous Control
  • PPO 是 Locomotion 任務(四足機器人、人形機器人)的主流選擇
  • IMPALA 架構支撐了大規模 Sim-to-Real 的平行訓練
  • SAC 的 Entropy Maximization 有助於在 Sim 中探索多樣化技能,提升遷移魯棒性