為什麼歐氏步伐會誤導你
一般的梯度上升把每個參數方向都當成等價的代價——在參數空間裡跨固定一步。但我們真正在乎的是策略的行為,而從參數到行為的映射極度不均勻。在飽和的 softmax 附近,再大的參數變動也幾乎不挪動動作分布;換個地方,一點微調就能整個翻轉。用原始參數來量步伐,就像用緯度的「度」來量旅行距離:同一個數字在不同地方意義完全不同。
一条损失曲线上的箭头逐步走向最低点。
解法是:用策略分布實際改變了多少來量一步,而不是用那些數字變了多少。兩個機率分布之間的自然距離是 KL 散度(KL divergence),而這正是第 1 篇裡單調改善懲罰所用的那個距離。
費雪資訊度量
對於極小的移動,舊策略與新策略之間的 KL 散度,能用一個二次型很好地逼近,而那個矩陣就是策略的 費雪資訊矩陣(Fisher information matrix)。直觀上,費雪矩陣是行為的局部曲率:策略非常敏感的方向會得到大的項(往那走很貴),不敏感的方向得到小的項(很便宜)。它把平坦的參數空間,變成一個「距離代表行為變化」的彎曲流形。
对于微小的移动,新旧策略之间的 KL 变化是一个二次型,其矩阵正是该策略的费舍尔信息矩阵。
自然策略梯度
自然策略梯度(natural policy gradient) 用費雪矩陣的逆對普通梯度做預條件化。結果是在分布空間裡的最陡上升方向:在每單位 KL 變化下,最能改善 替代目標函數 的那個更新。它對你如何參數化策略具有不變性——把網路重新參數化,自然梯度仍指向同一個行為方向,這正是它收斂得比原始梯度優雅許多的原因。
自然策略梯度用费舍尔矩阵的逆来预条件化普通梯度——这是分布空间中的最速上升方向。
實務上你會餵給它一個低變異數的優勢估計。標準選擇是廣義優勢估計(GAE),它用一點偏差換取變異數的大幅下降,並且與本軌每個方法都天作之合。
一個統合的視角:鏡像下降
有個優雅的方式能一次看穿這一切。鏡像下降策略優化(mirror descent policy optimization) 把每次更新框成:最大化替身、減去一個「偏離舊策略」的散度懲罰。選 KL 當散度,你就還原出自然梯度/信賴域這一家族;KL 約束更新(KL-constrained update) 不過是懲罰形式的「約束版雙生兄弟」。這個單一模板,會在 TRPO、PPO 的懲罰變體、以及 RLHF 裡反覆出現。