確定性策略梯度
分數函數估計式靠晃動動作機率運作——但在高維連續控制裡,那份隨機性本身就是巨大的變異數來源。確定性策略梯度(deterministic policy gradient)走的是另一條路:讓演員輸出單一動作 μ(s; θ),再用評論家 Q 值對動作的梯度 ∇θ μ · ∇a Q 來推動它。訊號經由鏈鎖法則流過評論家,完全不必對動作抽樣。
确定性策略梯度:沿着评论家的动作梯度 ∇ₐQ 推动策略,而不是对随机动作重新加权。
這正是 DDPG 的核心,以及它更穩定的後繼者 TD3——後者加上雙評論家與延遲更新,以抑制確定性演員容易出現的價值高估。它們天生就是離策略的,像基於價值的方法一樣從回放緩衝區學習。
離策略策略梯度
單純的策略梯度是在策略(on-policy)的:每個批次都必須來自當前策略,用完即丟。這很浪費。離策略策略梯度(off-policy policy gradient)重用由較舊或不同行為策略收集的資料,並用重要性抽樣(importance sampling)比值 π_new/π_old 修正落差。這麼做的回報是樣本效率大增;代價則是當兩個策略漂得太遠時,那些比值會爆炸,重新點燃變異數問題。
PPO 的裁剪替代目标将重要性比率 r_t(θ) 限制在 1 附近,约束一批离策略数据能让策略移动多远。
隨機計算圖觀點
上面這一切有個統一的視角:隨機計算圖(stochastic computation graphs)。任何混合了確定性節點與抽樣節點的目標,都可以用兩種估計式來微分。在無法穿過抽樣推送梯度的地方,用分數函數(REINFORCE 式)估計式。在可以的地方——把抽樣寫成「雜訊的確定性函數」——就用重參數化(reparameterization)估計式,它的變異數通常低很多。
這正是為什麼一個壓縮高斯(squashed-Gaussian)策略可以用反向傳播訓練:從固定的雜訊分布抽出 ε,再令 a = tanh(μ(s) + σ(s)·ε)。梯度就能直接流過。確定性策略梯度只是雜訊消失時的極限情況。
交互式梯度下降在损失曲面上滚动,说明反向传播梯度如何将参数推向更低的损失。
這個領域如今走到哪裡
這些想法匯流成你真正會部署的演算法。TRPO 在可信任的 KL 區域內走出最大的策略步伐,保證近乎單調的改進。PPO 用一個簡單的裁剪目標與一階優化器保住這份安全感——它是多數在策略工作的預設選擇,也是 RLHF 背後的引擎。柔性演員-評論家(Soft Actor-Critic, SAC)把重參數化的離策略梯度與最大熵目標結合起來,在連續控制上交出最好的樣本效率。
RLHF 示意图:人类偏好比较训练奖励模型,奖励模型提供信号来微调策略。
- 離散動作、要簡單又穩健?從 A2C/PPO 加上熵獎勵開始。
- 連續控制、想要樣本效率?採用搭配回放緩衝區的 SAC 或 TD3。
- 要從人類回饋微調語言模型?對參考策略加上 KL 懲罰的 PPO 是經過驗證的路徑。
- 不論你選哪個,都要監看 KL/裁剪比例與熵——它們是一次健康策略梯度訓練的儀表板燈號。