JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

超越 REINFORCE:確定性、離策略與現代策略梯度

這個領域的前沿:用於連續控制的確定性梯度、離策略地重用資料、把一切統一起來的計算圖觀點,以及 TRPO/PPO/SAC 如何從這些根源長出來。

確定性策略梯度

分數函數估計式靠晃動動作機率運作——但在高維連續控制裡,那份隨機性本身就是巨大的變異數來源。確定性策略梯度(deterministic policy gradient)走的是另一條路:讓演員輸出單一動作 μ(s; θ),再用評論家 Q 值對動作的梯度 ∇θ μ · ∇a Q 來推動它。訊號經由鏈鎖法則流過評論家,完全不必對動作抽樣。

\nabla_\theta J(\theta) = \mathbb{E}_{s \sim \rho^\mu}\left[ \nabla_\theta \mu_\theta(s)\, \nabla_a Q^\mu(s,a)\big|_{a=\mu_\theta(s)} \right]

确定性策略梯度:沿着评论家的动作梯度 ∇ₐQ 推动策略,而不是对随机动作重新加权。

這正是 DDPG 的核心,以及它更穩定的後繼者 TD3——後者加上雙評論家與延遲更新,以抑制確定性演員容易出現的價值高估。它們天生就是離策略的,像基於價值的方法一樣從回放緩衝區學習。

離策略策略梯度

單純的策略梯度是在策略(on-policy)的:每個批次都必須來自當前策略,用完即丟。這很浪費。離策略策略梯度(off-policy policy gradient)重用由較舊或不同行為策略收集的資料,並用重要性抽樣(importance sampling)比值 π_new/π_old 修正落差。這麼做的回報是樣本效率大增;代價則是當兩個策略漂得太遠時,那些比值會爆炸,重新點燃變異數問題。

L^{\mathrm{CLIP}}(\theta) = \hat{\mathbb{E}}_t\left[ \min\left( r_t(\theta)\,\hat{A}_t,\ \mathrm{clip}\left(r_t(\theta),\, 1-\epsilon,\, 1+\epsilon\right)\hat{A}_t \right) \right], \quad r_t(\theta) = \frac{\pi_\theta(a_t \mid s_t)}{\pi_{\theta_{\mathrm{old}}}(a_t \mid s_t)}

PPO 的裁剪替代目标将重要性比率 r_t(θ) 限制在 1 附近,约束一批离策略数据能让策略移动多远。

隨機計算圖觀點

上面這一切有個統一的視角:隨機計算圖(stochastic computation graphs)。任何混合了確定性節點與抽樣節點的目標,都可以用兩種估計式來微分。在無法穿過抽樣推送梯度的地方,用分數函數(REINFORCE 式)估計式。在可以的地方——把抽樣寫成「雜訊的確定性函數」——就用重參數化(reparameterization)估計式,它的變異數通常低很多。

這正是為什麼一個壓縮高斯(squashed-Gaussian)策略可以用反向傳播訓練:從固定的雜訊分布抽出 ε,再令 a = tanh(μ(s) + σ(s)·ε)。梯度就能直接流過。確定性策略梯度只是雜訊消失時的極限情況。

重参数化让梯度直接穿过采样节点——正是你可以在此处滚动下降的反向传播梯度。

交互式梯度下降在损失曲面上滚动,说明反向传播梯度如何将参数推向更低的损失。

這個領域如今走到哪裡

這些想法匯流成你真正會部署的演算法。TRPO 在可信任的 KL 區域內走出最大的策略步伐,保證近乎單調的改進。PPO 用一個簡單的裁剪目標與一階優化器保住這份安全感——它是多數在策略工作的預設選擇,也是 RLHF 背後的引擎。柔性演員-評論家(Soft Actor-Critic, SAC)把重參數化的離策略梯度與最大熵目標結合起來,在連續控制上交出最好的樣本效率。

RLHF 正是这些策略梯度与语言模型的交汇点:由人类偏好训练的奖励模型用 PPO 调整策略。

RLHF 示意图:人类偏好比较训练奖励模型,奖励模型提供信号来微调策略。

  1. 離散動作、要簡單又穩健?從 A2C/PPO 加上熵獎勵開始。
  2. 連續控制、想要樣本效率?採用搭配回放緩衝區的 SAC 或 TD3。
  3. 要從人類回饋微調語言模型?對參考策略加上 KL 懲罰的 PPO 是經過驗證的路徑。
  4. 不論你選哪個,都要監看 KL/裁剪比例與熵——它們是一次健康策略梯度訓練的儀表板燈號。