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 中探索多樣化技能,提升遷移魯棒性