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

馴服變異數:優勢值、GAE 與熵

策略梯度無偏但嘈雜。認識這套工具——當作控制變量的基準線、GAE 的偏差-變異數旋鈕,以及熵獎勵——把一個搖晃的估計變成真的能訓練的估計。

為什麼梯度這麼吵

分數函數估計式是無偏的,但它的變異數可能非常龐大。報酬是許多隨機獎勵的總和;再乘上對數機率梯度,分散程度會層層放大。高變異數意味著每次更新都指向略帶隨機的方向,於是你只能用很小的學習率、很多的樣本——這正是讓策略梯度極度耗資料的瓶頸。

\nabla_\theta J(\theta)=\mathbb{E}\!\left[\sum_{t}\nabla_\theta\log\pi_\theta(a_t\mid s_t)\,G_t\right]

得分函数估计量:每个对数概率梯度都被完整回报 G_t 缩放,因此带噪声的回报会注入巨大的方差。

因此變異數降低(variance reduction)不是錦上添花,而是區分「真的能用」與「理論上才會收斂」的關鍵。好消息是:我們可以在不引入偏差的情況下大幅降低變異數,並且在需要時,用一點點偏差換取多很多的穩定性。

把基準線當作控制變量

用統計的眼光看,基準線其實是一個控制變量(control variate):一個對梯度的期望效應已知(為零)、又與嘈雜項相關的量,相減即可抵消雜訊。讓變異數最小的基準線,大致就是該狀態的期望報酬——也就是它的價值。用「報酬減價值」取代原始報酬,就得到優勢函數(advantage) A(s, a):動作 a 比該狀態的平均好了多少。

GAE:在偏差與變異數之間的旋鈕

那優勢值該怎麼估?完整的蒙地卡羅報酬無偏但高變異;單步自助(獎勵加上折扣後的下一狀態價值)低變異卻被評論家的誤差帶偏。廣義優勢估計(Generalized Advantage Estimation, GAE)用一個指數權重 λ 把所有時間視野混在一起,給你單一旋鈕:λ 接近 0 時信任評論家(低變異、較多偏差),λ 接近 1 時信任觀察到的報酬(低偏差、較多變異)。

GAE 的 λ 是一个旋钮:λ 小偏向低方差但有偏,λ 大偏向无偏但高方差。

偏差-方差权衡曲线:总误差是偏差与方差之和,随估计量复杂度变化。

請注意折扣因子 γ與 λ 扮演不同角色:γ 定義問題(未來有多重要),而 λ 純粹是估計式的選擇,用來在偏差與變異數之間取捨。實務上 γ ≈ 0.99、λ ≈ 0.95 在許多任務上都是可靠的起點。

熵:讓策略保持好奇

第二種失敗模式是過早塌縮:策略太早變得幾乎確定、停止探索,並鎖死在一個平庸的習慣上。熵正則化(entropy regularization)藉由為「保持動作分布分散」加上一個小獎勵來對抗它。它推回探索-利用往利用傾斜的趨勢,為「發現更好的動作」留著一扇門。

\mathcal{L}(\theta)=-\,\mathbb{E}\!\left[A_t\,\log\pi_\theta(a_t\mid s_t)\right]-\beta\,\mathbb{E}\!\left[\mathcal{H}\big(\pi_\theta(\cdot\mid s_t)\big)\right]

带熵正则化的损失增加了奖励项 β·H,鼓励保持好奇、熵更高的策略。

  1. 用你的評論家與選定的 λ,以 GAE 估計優勢值。
  2. 在每個批次內把優勢值標準化(減平均、除以標準差)——便宜又強力的變異數降低手段。
  3. 組成損失:−(優勢值 · logπ) − β·熵,其中 β 是個小的熵係數。
  4. 在訓練過程中把 β 逐漸調小,讓策略在探索夠了之後再變得銳利。