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

策略空間的幾何:自然梯度

在參數上很小的一步,行為上可能天差地遠。自然梯度在真正重要的地方衡量距離——在分布的空間裡。

為什麼歐氏步伐會誤導你

一般的梯度上升把每個參數方向都當成等價的代價——在參數空間裡跨固定一步。但我們真正在乎的是策略的行為,而從參數到行為的映射極度不均勻。在飽和的 softmax 附近,再大的參數變動也幾乎不挪動動作分布;換個地方,一點微調就能整個翻轉。用原始參數來量步伐,就像用緯度的「度」來量旅行距離:同一個數字在不同地方意義完全不同。

普通梯度上升在参数空间中迈出等长的步子,沿损失曲面下滑,却看不到策略的行为实际改变了多少。

一条损失曲线上的箭头逐步走向最低点。

解法是:用策略分布實際改變了多少來量一步,而不是用那些數字變了多少。兩個機率分布之間的自然距離是 KL 散度(KL divergence),而這正是第 1 篇裡單調改善懲罰所用的那個距離。

費雪資訊度量

對於極小的移動,舊策略與新策略之間的 KL 散度,能用一個二次型很好地逼近,而那個矩陣就是策略的 費雪資訊矩陣(Fisher information matrix)。直觀上,費雪矩陣是行為的局部曲率:策略非常敏感的方向會得到大的項(往那走很貴),不敏感的方向得到小的項(很便宜)。它把平坦的參數空間,變成一個「距離代表行為變化」的彎曲流形。

D_{\mathrm{KL}}\!\left(\pi_\theta \,\|\, \pi_{\theta+\Delta\theta}\right) \approx \tfrac{1}{2}\,\Delta\theta^{\top} F(\theta)\,\Delta\theta

对于微小的移动,新旧策略之间的 KL 变化是一个二次型,其矩阵正是该策略的费舍尔信息矩阵。

自然策略梯度

自然策略梯度(natural policy gradient) 用費雪矩陣的逆對普通梯度做預條件化。結果是在分布空間裡的最陡上升方向:在每單位 KL 變化下,最能改善 替代目標函數 的那個更新。它對你如何參數化策略具有不變性——把網路重新參數化,自然梯度仍指向同一個行為方向,這正是它收斂得比原始梯度優雅許多的原因。

\tilde{\nabla}_{\theta} J(\theta) = F(\theta)^{-1}\,\nabla_{\theta} J(\theta)

自然策略梯度用费舍尔矩阵的逆来预条件化普通梯度——这是分布空间中的最速上升方向。

實務上你會餵給它一個低變異數的優勢估計。標準選擇是廣義優勢估計(GAE),它用一點偏差換取變異數的大幅下降,並且與本軌每個方法都天作之合。

一個統合的視角:鏡像下降

有個優雅的方式能一次看穿這一切。鏡像下降策略優化(mirror descent policy optimization) 把每次更新框成:最大化替身、減去一個「偏離舊策略」的散度懲罰。選 KL 當散度,你就還原出自然梯度/信賴域這一家族;KL 約束更新(KL-constrained update) 不過是懲罰形式的「約束版雙生兄弟」。這個單一模板,會在 TRPO、PPO 的懲罰變體、以及 RLHF 裡反覆出現。