進階策略優化
裁剪式代理目標(clipped surrogate objective)
這正是讓 PPO 乖乖聽話的那個損失。先取每個動作在新舊策略之間的機率之比;若優勢為正,你想把這個比率拉高,若為負則想壓低。裁剪式目標只允許你在「一」附近的一條帶子內這樣做,例如從 0.8 到 1.2。一旦比率往有利方向衝出帶子,梯度就壓平成零——損失不再獎勵你走得更遠,於是更新會自我設限。
精妙之處在於取「未裁剪項」與「裁剪項」兩者的最小值。這讓界限偏向悲觀:當策略往受獎勵的方向移動時,它把收益封頂;但當某個壞動作的機率已經漲過頭時,它並不會把懲罰裁掉,因此優化器仍會被拉回來。最後的效果,是用一個一階、逐樣本的損失去近似 TRPO 的 KL 信賴域,完全不需要約束求解器——計算便宜,也很容易塞進任何策略梯度的程式裡。
r_t(\theta)=\frac{\pi_\theta(a_t\mid s_t)}{\pi_{\theta_{\text{old}}}(a_t\mid s_t)},\quad L^{\text{CLIP}}=\mathbb{E}_t\big[\min(r_tA_t,\ \operatorname{clip}(r_t,1-\epsilon,1+\epsilon)A_t)\big]
機率之比裁剪在「一」附近的帶子內,再取悲觀的最小值。
裁剪範圍 epsilon 通常取 0.1~0.3;它控制的是單次策略移動可以多大,而不是學習率。
又称
另见