策略梯度方法
基準線(baseline,策略梯度中的)
基準線回應了對 REINFORCE 的一個簡單抱怨:如果遊戲裡每個獎勵都是正的,演算法就會讓每個動作都更可能出現,只能痛苦地慢慢分辨哪些最好。解法是拿每個動作對照一個參考點——這次報酬比你在這個狀態通常的預期更好還是更差?把那個預期減掉,就只有高於平均的動作會被強化。
關鍵事實是:你可以減去任何不依賴動作的基準線 b(s),而不改變梯度的期望值,因為策略下分數的期望為零。於是梯度變成 ∇_θ log π_θ(a|s) 乘 (G_t − b(s))。偏誤毫髮無傷,只有變異數改變。把 b(s) 選得接近狀態價值 V(s),會讓權重平均而言收縮向零,這正是你要的。
實務上最好的基準線,是對 V(s) 學到的估計——而一旦你在訓練策略的同時也訓練這個估計,你就跨進了演員–評論家的範疇,其中 (G_t − V(s)) 成了優勢。基準線是策略梯度裡槓桿最高的單一變異數削減手段,也是替純 REINFORCE 加上去最自然的第一步。
\nabla_\theta J=\mathbb{E}\!\left[\nabla_\theta\log\pi_\theta(a\mid s)\,\big(G_t-b(s)\big)\right]
減去只看狀態的基準線;期望不變,變異數卻下降。
基準線絕不能依賴動作——若依賴,就會讓梯度產生偏誤。
又稱
另見