Reward Centering(三)
- 文章概括
- 摘要
- 3 基于值的獎勵中心化
- 4 案例研究: 以獎勵為中心的 Q-learning
- 5 討論、局限性與未來工作
- 致謝
文章概括
引用:
@article{naik2024reward,title={Reward Centering},author={Naik, Abhishek and Wan, Yi and Tomar, Manan and Sutton, Richard S},journal={arXiv preprint arXiv:2405.09999},year={2024}
}
Naik, A., Wan, Y., Tomar, M. and Sutton, R.S., 2024. Reward Centering. arXiv preprint arXiv:2405.09999.
原文: https://arxiv.org/abs/2405.09999
代碼、數據和視頻:
系列文章:
請在 《 《 《文章 》 》 》 專欄中查找
論文筆記(七十二)Reward Centering(一)
論文筆記(七十二)Reward Centering(二)
論文筆記(七十二)Reward Centering(三)
論文筆記(七十二)Reward Centering(四)
論文筆記(七十二)Reward Centering(五)
摘要
我們證明,在解決持續強化學習問題時,折扣方法如果通過減去獎勵的經驗均值來對獎勵進行中心化處理,其性能會顯著提升。在常用的折扣因子下,這種改進是顯著的,并且隨著折扣因子趨近于1,改進幅度進一步增加。此外,我們證明,如果一個問題的獎勵被加上一個常數偏移量,則標準方法的表現會變得更差,而采用獎勵中心化的方法則不受影響。在on-policy設置下,估計平均獎勵是直接的;對于off-policy設置,我們提出了一種稍微更復雜的方法。獎勵中心化是一個通用的概念,因此我們預計幾乎所有的強化學習算法都能從獎勵中心化的加入中受益。
3 基于值的獎勵中心化
我們從強化學習的平均獎勵形式中獲得了啟發,其中在off-policy設置下估計平均獎勵是一個關鍵問題。特別是,Wan et al. (2021)最近表明,在表格型off-policy設置下,使用時序差分(TD)誤差(而非公式(4)中的傳統誤差)可以提供對獎勵率的無偏估計。
R ˉ t + 1 ? R ˉ t + β t ( R t + 1 ? R ˉ t ) . (4) \bar{R}_{t+1} \doteq \bar{R}_t + \beta_t (R_{t+1} - \bar{R}_t). \tag{4} Rˉt+1??Rˉt?+βt?(Rt+1??Rˉt?).(4)
事實證明,這一來自平均獎勵形式的方法在折扣獎勵形式下同樣非常有效,這也是本文的研究重點。
我們證明,如果行為策略能夠執行目標策略執行的所有動作(盡管具體的動作分布可能有所不同),那么我們可以利用TD誤差來很好地逼近目標策略的平均獎勵:
V ~ t + 1 γ ( S t ) ? V ~ t γ ( S t ) + α t ρ t δ t , (7) \tilde{V}_{t+1}^{\gamma}(S_t) \doteq \tilde{V}_{t}^{\gamma}(S_t) + \alpha_t \rho_t \delta_t, \tag{7} V~t+1γ?(St?)?V~tγ?(St?)+αt?ρt?δt?,(7)
R ˉ t + 1 ? R ˉ t + η α t ρ t δ t , (8) \bar{R}_{t+1} \doteq \bar{R}_t + \eta \alpha_t \rho_t \delta_t, \tag{8} Rˉt+1??Rˉt?+ηαt?ρt?δt?,(8)
其中,TD誤差定義為:
δ t ? ( R t + 1 ? R ˉ t ) + γ V ~ t γ ( S t + 1 ) ? V ~ t γ ( S t ) , \delta_t \doteq (R_{t+1} - \bar{R}_t) + \gamma \tilde{V}_{t}^{\gamma}(S_{t+1}) - \tilde{V}_{t}^{\gamma}(S_t), δt??(Rt+1??Rˉt?)+γV~tγ?(St+1?)?V~tγ?(St?),
重要性采樣比率定義為:
ρ t ? π ( A t ∣ S t ) b ( A t ∣ S t ) . \rho_t \doteq \frac{\pi(A_t | S_t)}{b(A_t | S_t)}. ρt??b(At?∣St?)π(At?∣St?)?.
由于這種中心化方法不僅涉及獎勵,還涉及值函數,我們稱其為基于值的中心化(value-based centering)。
與簡單中心化不同,平均獎勵估計的收斂性和值函數估計的收斂性現在是相互依賴的。在下一節中,我們將針對控制問題給出一個收斂性結果。
1. 問題背景與動機
在off-policy學習中,數據是由行為策略 b b b 生成的,但我們的目標是學習或評估一個不同的目標策略 π \pi π 的性能。一個關鍵問題是如何估計目標策略下的平均獎勵 r ( π ) r(\pi) r(π) 和狀態值函數。
- 傳統方法使用公式(4)更新平均獎勵,但在off-policy情況下,由于狀態和動作分布的不匹配,這種方法容易收斂到行為策略的平均獎勵 r ( b ) r(b) r(b) 而非目標策略的 r ( π ) r(\pi) r(π)。
Wan et al. 的工作啟發我們:
- 我們可以利用時序差分(TD)誤差來更新平均獎勵,使得更新過程中不僅考慮了即時獎勵,而且還參考了狀態值函數的變化信息。
- 由于我們更新的同時還在更新值函數,所以這種方法稱為“基于值的獎勵中心化”(value-based centering)。
2. 公式詳解
2.1 定義TD誤差
TD誤差是強化學習中衡量當前估計與“新信息”之間差距的一項指標,其定義為
δ t ? ( R t + 1 ? R ˉ t ) + γ V ~ t γ ( S t + 1 ) ? V ~ t γ ( S t ) . \delta_t \doteq (R_{t+1} - \bar{R}_t) + \gamma\, \tilde{V}_{t}^{\gamma}(S_{t+1}) - \tilde{V}_{t}^{\gamma}(S_t). δt??(Rt+1??Rˉt?)+γV~tγ?(St+1?)?V~tγ?(St?).
這里:
- R t + 1 R_{t+1} Rt+1? 是第 t + 1 t+1 t+1 步獲得的即時獎勵,
- R ˉ t \bar{R}_t Rˉt? 是當前我們估計的平均獎勵,
- V ~ t γ ( S t ) \tilde{V}_{t}^{\gamma}(S_t) V~tγ?(St?) 和 V ~ t γ ( S t + 1 ) \tilde{V}_{t}^{\gamma}(S_{t+1}) V~tγ?(St+1?) 分別是狀態 S t S_t St? 和 S t + 1 S_{t+1} St+1? 的當前中心化值函數估計,
- γ \gamma γ 是折扣因子(比如0.9或0.99)。
簡單理解: 我們先將獎勵做中心化,即用 R t + 1 ? R ˉ t R_{t+1} - \bar{R}_t Rt+1??Rˉt?(把平均獎勵“扣除”掉),然后加上未來狀態的折扣中心化值,再減去當前狀態的中心化值。如果我們的值函數估計完全準確,TD誤差應為0。
2.2 重要性采樣比率
在off-policy下,目標策略 π \pi π 和行為策略 b b b 不一致,所以我們用重要性采樣比率來校正這種偏差。定義為
ρ t ? π ( A t ∣ S t ) b ( A t ∣ S t ) . \rho_t \doteq \frac{\pi(A_t|S_t)}{b(A_t|S_t)}. ρt??b(At?∣St?)π(At?∣St?)?.
這表示如果在某個狀態 S t S_t St? 下,目標策略選擇動作 A t A_t At? 的概率比行為策略高,那么 ρ t > 1 \rho_t>1 ρt?>1,反之則小于1。這樣做可以在一定程度上讓更新過程更接近目標策略的效果。
2.3 基于值的更新公式
2.3.1 更新中心化值函數
公式(7)給出中心化值函數的更新為
V ~ t + 1 γ ( S t ) ? V ~ t γ ( S t ) + α t ρ t δ t . \tilde{V}_{t+1}^{\gamma}(S_t) \doteq \tilde{V}_{t}^{\gamma}(S_t) + \alpha_t\,\rho_t\,\delta_t. V~t+1γ?(St?)?V~tγ?(St?)+αt?ρt?δt?.
- α t \alpha_t αt? 是步長(學習率),控制更新幅度。
- 更新的意思是:當前狀態 S t S_t St? 的中心化值函數估計,會在原來基礎上加上一個修正量,而這個修正量正比于TD誤差 δ t \delta_t δt?,并且乘上了重要性采樣比率 ρ t \rho_t ρt?。
解釋:
- 如果TD誤差為正,說明實際獲得的“相對獎勵”(考慮了未來折扣值)比當前估計高,那么我們希望提高 V ~ ( S t ) \tilde{V}(S_t) V~(St?);
- 如果TD誤差為負,則降低估計值;
- 乘上 ρ t \rho_t ρt? 意味著我們對采樣動作的概率差異進行了校正。
2.3.2 更新平均獎勵
公式(8)給出平均獎勵的更新為
R ˉ t + 1 ? R ˉ t + η α t ρ t δ t . \bar{R}_{t+1} \doteq \bar{R}_t + \eta\,\alpha_t\,\rho_t\,\delta_t. Rˉt+1??Rˉt?+ηαt?ρt?δt?.
這里:
- η \eta η 是一個額外的縮放因子,可以看作是調整平均獎勵更新速度的參數。
- 更新方式和中心化值函數類似,也是使用相同的TD誤差和重要性采樣比率,只不過更新步長變成了 η α t \eta\,\alpha_t ηαt?。
解釋:
- 這種方法利用TD誤差中的信息來“校正”平均獎勵的估計,使得平均獎勵的更新不僅依賴于即時獎勵,還參考了狀態值函數的反饋。
- 關鍵在于:由于數據來自行為策略,通過這種更新我們希望讓 R ˉ t \bar{R}_t Rˉt? 更好地逼近目標策略 π \pi π 的真實平均獎勵,而不是僅僅反映行為策略的獎勵水平。
3. 具體數值例子
我們用一個簡單的例子來說明整個更新過程。假設在某一時刻 t t t 的相關信息如下:
- 當前狀態 S t S_t St? 的中心化值函數估計: V ~ t γ ( S t ) = 5 \tilde{V}_t^{\gamma}(S_t) = 5 V~tγ?(St?)=5
- 下一個狀態 S t + 1 S_{t+1} St+1? 的中心化值函數估計: V ~ t γ ( S t + 1 ) = 7 \tilde{V}_t^{\gamma}(S_{t+1}) = 7 V~tγ?(St+1?)=7
- 實際獲得的獎勵: R t + 1 = 8 R_{t+1} = 8 Rt+1?=8
- 當前平均獎勵估計: R ˉ t = 6 \bar{R}_t = 6 Rˉt?=6
- 折扣因子: γ = 0.9 \gamma = 0.9 γ=0.9
- 假設目標策略在 S t S_t St? 下選擇的動作 A t A_t At? 的概率為 π ( A t ∣ S t ) = 0.6 \pi(A_t|S_t)=0.6 π(At?∣St?)=0.6,而行為策略的概率為 b ( A t ∣ S t ) = 0.3 b(A_t|S_t)=0.3 b(At?∣St?)=0.3,因此: ρ t = 0.6 0.3 = 2. \rho_t = \frac{0.6}{0.3} = 2. ρt?=0.30.6?=2.
- 設步長 α t = 0.1 \alpha_t = 0.1 αt?=0.1,平均獎勵更新的縮放因子 η = 0.5 \eta = 0.5 η=0.5。
3.1 計算TD誤差 δ t \delta_t δt?
根據定義:
δ t = ( R t + 1 ? R ˉ t ) + γ V ~ t γ ( S t + 1 ) ? V ~ t γ ( S t ) . \delta_t = (R_{t+1} - \bar{R}_t) + \gamma\,\tilde{V}_t^{\gamma}(S_{t+1}) - \tilde{V}_t^{\gamma}(S_t). δt?=(Rt+1??Rˉt?)+γV~tγ?(St+1?)?V~tγ?(St?).
將數值代入:
δ t = ( 8 ? 6 ) + 0.9 × 7 ? 5 = 2 + 6.3 ? 5 = 3.3. \delta_t = (8 - 6) + 0.9 \times 7 - 5 = 2 + 6.3 - 5 = 3.3. δt?=(8?6)+0.9×7?5=2+6.3?5=3.3.
3.2 更新中心化值函數
使用公式(7):
V ~ t + 1 γ ( S t ) = V ~ t γ ( S t ) + α t ρ t δ t . \tilde{V}_{t+1}^{\gamma}(S_t) = \tilde{V}_t^{\gamma}(S_t) + \alpha_t\,\rho_t\,\delta_t. V~t+1γ?(St?)=V~tγ?(St?)+αt?ρt?δt?.
代入數值:
V ~ t + 1 γ ( S t ) = 5 + 0.1 × 2 × 3.3 = 5 + 0.66 = 5.66. \tilde{V}_{t+1}^{\gamma}(S_t) = 5 + 0.1 \times 2 \times 3.3 = 5 + 0.66 = 5.66. V~t+1γ?(St?)=5+0.1×2×3.3=5+0.66=5.66.
這表示當前狀態 (S_t) 的中心化值函數估計從 5 增加到了 5.66。
3.3 更新平均獎勵
使用公式(8):
R ˉ t + 1 = R ˉ t + η α t ρ t δ t . \bar{R}_{t+1} = \bar{R}_t + \eta\,\alpha_t\,\rho_t\,\delta_t. Rˉt+1?=Rˉt?+ηαt?ρt?δt?.
代入數值:
R ˉ t + 1 = 6 + 0.5 × 0.1 × 2 × 3.3 = 6 + 0.33 = 6.33. \bar{R}_{t+1} = 6 + 0.5 \times 0.1 \times 2 \times 3.3 = 6 + 0.33 = 6.33. Rˉt+1?=6+0.5×0.1×2×3.3=6+0.33=6.33.
這表示平均獎勵估計從 6 增加到了 6.33。
4. 重點說明與總結
利用TD誤差來更新
- TD誤差 δ t \delta_t δt? 捕捉了當前狀態值估計與新采樣信息之間的差異。
- 通過乘以步長 α t \alpha_t αt? 和重要性采樣比率 ρ t \rho_t ρt?,我們同時調整了狀態的中心化值和平均獎勵的估計,使它們能更快、更準確地逼近目標策略下的真實值。
重要性采樣的作用
- ρ t \rho_t ρt? 校正了行為策略和目標策略之間的差異,確保更新信號更符合目標策略的統計特性。
聯動更新
- 這里的更新是“聯動”的:同一個TD誤差同時用于更新中心化值函數和平均獎勵。這意味著兩者的估計相互依賴,必須同時收斂。
- 如果平均獎勵估計有誤,會直接影響TD誤差,進而影響值函數更新;反之亦然。
數值例子總結
- 在例子中,經過一次更新,中心化值函數從5變為5.66,而平均獎勵從6變為6.33。
- 這顯示出:如果當前獲得的獎勵和未來預期都比原先估計“好”,TD誤差為正,那么這兩個估計都會相應提高,從而逐步逼近目標策略下真實的平均獎勵和狀態價值。
圖3:學習曲線展示了TD學習在一個on-policy問題和兩個off-policy問題中有無獎勵中心化情況下的性能表現。
圖3的第一列展示了基于值的中心化在前一節討論的on-policy問題中的表現,其中目標策略以相等概率選擇兩個動作。在學習速率和最終誤差方面,基于值的中心化(紅色)與簡單中心化(綠色) 表現相當。
圖3的后兩列展示了兩個off-policy實驗,其中行為策略分別為:
[ b 1 ( left ∣ ? ) , b 1 ( right ∣ ? ) ] = [ 0.7 , 0.3 ] , [b_1(\text{left}|\cdot), b_1(\text{right}|\cdot)] = [0.7, 0.3], [b1?(left∣?),b1?(right∣?)]=[0.7,0.3],
[ b 2 ( left ∣ ? ) , b 2 ( right ∣ ? ) ] = [ 0.3 , 0.7 ] . [b_2(\text{left}|\cdot), b_2(\text{right}|\cdot)] = [0.3, 0.7]. [b2?(left∣?),b2?(right∣?)]=[0.3,0.7].
這兩個行為策略是對稱的,但產生了不同的學習趨勢。
-
對于 b 1 b_1 b1?對應的實驗,基于值的中心化方法的RMSVE下降速度快于簡單中心化,并且最終誤差率相近。
- 簡單中心化方法對平均獎勵的估計存在誤差,因此學習得到的值比基于值的中心化方法更大(但仍然小于未進行中心化的情況)。
-
b 2 b_2 b2?對應的實驗表現更加有趣:
- 在初始階段,簡單中心化方法的RMSVE迅速下降,然后急劇上升,隨后又開始下降。
- 這種現象的原因是,初始時平均獎勵估計值設為0,但由于 b 2 b_2 b2?使智能體的狀態分布偏向高獎勵的右側,最終平均獎勵估計收斂到了約0.5。
- 當估計值超過真實值 r ( π ) = 0.25 r(\pi) = 0.25 r(π)=0.25時,RMSVE一度較低,但隨后估計值快速上升至0.5,導致RMSVE出現峰值。
- 最終,值函數的估計結果對應于一個平均獎勵估計約為0.5的情況。
- 相比之下,使用基于值的中心化方法時,平均獎勵估計值更接近真實值,因此學習曲線更加平滑。
-
上述現象在更大的折扣因子(圖3底部)下表現得更加明顯。
總體而言,我們觀察到獎勵中心化可以提升折扣獎勵預測算法(如TD學習)的學習速度,尤其是在折扣因子較大時。
盡管簡單的獎勵中心化方法已經相當有效,但基于值的獎勵中心化更適用于一般的off-policy問題。
接下來,我們將在控制問題的框架下研究獎勵中心化。
4 案例研究: 以獎勵為中心的 Q-learning
在本節中,我們探討獎勵中心化在Q-learning算法(Watkins & Dayan, 1992)中的影響。具體而言,我們首先基于Devraj和Meyn(2021)的最新研究,給出一個收斂性結果。隨后,我們通過各種控制問題,實證分析獎勵中心化對Q-learning的表格型、線性和非線性變體的影響。
理論分析:Q-learning的廣泛應用很大程度上歸因于其off-policy算法的特性:在表格型情況下,它可以在使用任意行為策略(甚至是隨機策略)收集數據的同時,保證收斂到最優策略的值函數。
鑒于Q-learning的off-policy特性,我們將其與基于值的獎勵中心化結合使用。由于我們采用表格型、線性和非線性版本的Q-learning,我們首先給出其通用更新形式。
在每個時間步 t t t,智能體觀察環境并將其轉換為特征向量 x t ∈ R d \mathbf{x}_t \in \mathbb{R}^d xt?∈Rd,然后選擇動作 A t A_t At?,觀察獎勵信號 R t + 1 R_{t+1} Rt+1?,接收下一步觀測值,并將其轉換為 x t + 1 \mathbf{x}_{t+1} xt+1?,以此類推。
- 表格型Q-learning中, x t \mathbf{x}_t xt?是狀態空間大小的獨熱向量(one-hot vector)。
- 線性Q-learning中, x t \mathbf{x}_t xt?可能是瓦片編碼(tile-coding)表示。
- 非線性Q-learning中, x t \mathbf{x}_t xt?是人工神經網絡最后一層的非線性輸出。
1. 環境觀察與特征表示
每個時間步,智能體從環境獲得一個觀測值。為了方便后續處理,智能體把這個觀測值轉換為一個特征向量 x t ∈ R d \mathbf{x}_t \in \mathbb{R}^d xt?∈Rd(維度為 d d d 的向量)。
表格型 Q-learning: 如果狀態數很少,我們可以用 one-hot 編碼。例如,若有 4 個狀態,則狀態2可以表示為 [ 0 , 1 , 0 , 0 ] ? [0, 1, 0, 0]^\top [0,1,0,0]?。
線性 Q-learning: 當狀態很多或是連續的時,我們可以采用瓦片編碼(tile coding),將連續狀態分解成多個二值特征。這樣 x t \mathbf{x}_t xt? 就是一個稀疏的二值向量。
瓦片編碼(Tile Coding) 是一種在強化學習中常用的特征表示方法,主要用于將連續的狀態空間離散化成一組離散的特征。其基本思想如下:
- 分割狀態空間 假設狀態空間是連續的,比如二維空間(例如位置 x x x 和速度 v v v)。我們可以將這個連續空間劃分為多個小區域(稱為“tile”或“格子”)。
- 多個重疊的劃分 為了提高表示的靈活性和精度,通常不會只使用一次劃分,而是使用多個不同的劃分方式(稱為“tilings”),每個 tiling 都將狀態空間劃分為格子,但各個 tiling 會有不同的偏移量。
- 舉個例子:假設我們有兩個 tiling。在第一個 tiling 中,格子從 [ 0 , 1 ) , [ 1 , 2 ) , … [0,1), [1,2), \dots [0,1),[1,2),… 開始劃分;而在第二個 tiling 中,我們可能將劃分偏移 0.5 0.5 0.5,這樣格子就是 [ 0.5 , 1.5 ) , [ 1.5 , 2.5 ) , … [0.5,1.5), [1.5,2.5), \dots [0.5,1.5),[1.5,2.5),…。
- 生成二值特征 對于每個 tiling,當我們觀察到一個狀態時,該狀態會落在該 tiling 中的一個特定格子里。我們就可以用一個二值(0或1)來表示這個狀態在這個 tiling 中是否位于某個格子內。
- 如果使用 m m m 個 tiling,每個 tiling 都會生成一個二值指示(通常是1表示狀態落在這個格子里,0表示不落在),最終整個狀態的特征向量就是這 m m m 個二值特征的組合。
- 由于每個 tiling只會在一個格子上激活(即為1),整個特征向量通常是稀疏的(大部分元素都是0)。
- 優點
- 細粒度控制:多個重疊的 tiling 能夠捕捉到狀態空間中的細微變化,使得函數逼近更平滑。
- 計算簡單:生成的特征都是二值的,計算起來非常高效。
舉個簡單例子
假設我們的狀態只有一個連續變量 x x x(例如溫度),取值范圍為 [ 0 , 10 ] [0, 10] [0,10]。
- 我們設置 3 個 tiling,每個 tiling都把 [0,10] 分成 10 個等長的區間。
- 第一個 tiling 從0開始劃分,即區間為 [ 0 , 1 ) , [ 1 , 2 ) , … , [ 9 , 10 ) [0,1), [1,2), \dots, [9,10) [0,1),[1,2),…,[9,10);
- 第二個 tiling 向右偏移 0.3 0.3 0.3,劃分為 [ 0.3 , 1.3 ) , [ 1.3 , 2.3 ) , … [0.3,1.3), [1.3,2.3), \dots [0.3,1.3),[1.3,2.3),…;
- 第三個 tiling 向右偏移 0.6 0.6 0.6,劃分為 [ 0.6 , 1.6 ) , [ 1.6 , 2.6 ) , … [0.6,1.6), [1.6,2.6), \dots [0.6,1.6),[1.6,2.6),…。
當觀測到一個狀態 x = 2.4 x = 2.4 x=2.4 時:
- 在第一個 tiling 中, 2.4 2.4 2.4 落在區間 [ 2 , 3 ) [2,3) [2,3);
- 在第二個 tiling 中, 2.4 2.4 2.4 落在區間 [ 2.3 , 3.3 ) [2.3,3.3) [2.3,3.3) ;
- 在第三個 tiling 中, 2.4 2.4 2.4 落在區間 [ 1.6 , 2.6 ) [1.6,2.6) [1.6,2.6) 。
對于每個 tiling,我們把落在的區間對應的位置標記為1,其它位置標記為0。最后,將三個 tiling 的二值向量連接起來,就得到一個稀疏的特征向量,這個向量就作為狀態 x = 2.4 x=2.4 x=2.4 的表示。 這種方法使得我們能夠將連續變量的細節信息通過離散化的方式表達出來,從而可以用線性方法(例如線性函數逼近)來近似復雜的值函數。
- 非線性 Q-learning: 如果使用神經網絡,則通常將原始輸入經過多層非線性變換,最后一層的輸出就是特征向量 x t \mathbf{x}_t xt?。
在所有情況下,智能體通過線性組合特征向量 x t \mathbf{x}_t xt?和動作特定的權重向量 w a ∈ R d , ? a \mathbf{w}^a \in \mathbb{R}^d, \forall a wa∈Rd,?a,來獲得動作值估計 q ^ \hat{q} q^?。
2. Q值估計
對于每個動作 a a a,我們使用一個專門的權重向量 w a ∈ R d \mathbf{w}^a \in \mathbb{R}^d wa∈Rd 來估計動作值。具體來說,估計的 Q 值為: q ^ ( x t , a ) = ( w a ) ? x t . \hat{q}(\mathbf{x}_t, a) = (\mathbf{w}^a)^\top \mathbf{x}_t. q^?(xt?,a)=(wa)?xt?. 也就是說,我們用權重向量和特征向量的內積來表示在當前狀態下采取動作 a a a 的價值。
2.1. 為什么選擇用線性函數逼近 Q 值?
在實際問題中,狀態空間可能非常大或連續,我們無法為每個狀態-動作對存儲一個單獨的數值(即表格型方法),這時就需要利用函數逼近的方法來估計 Q 值。
函數逼近的思想: 我們認為 Q 值可以通過狀態特征的某種組合來表示。簡單而常用的方法是線性逼近,也就是說,我們認為狀態 s s s(或其對應的特征向量 x t \mathbf{x}_t xt?)和動作 a a a 的 Q 值可以用一個線性函數來近似: q ( s , a ) ≈ ( w a ) ? x t , q(s,a) \approx (\mathbf{w}^a)^\top \mathbf{x}_t, q(s,a)≈(wa)?xt?, 其中 w a \mathbf{w}^a wa 是與動作 a a a 相關的權重向量。
選擇線性結構的原因:
- 簡單高效:線性模型簡單且計算代價低,便于實時更新。
- 可解釋性好:每個特征的權重反映了該特征對動作價值的貢獻,便于理解和調試。
- 泛化能力:如果特征設計得當,線性組合能較好地捕捉狀態之間的相似性,從而在未見過的狀態上也能產生合理的估計。
2.2. 內積形式的公式如何得到?
假設我們使用線性函數逼近 Q 值。設:
- 狀態 s s s 被轉換為特征向量 x t ∈ R d \mathbf{x}_t \in \mathbb{R}^d xt?∈Rd;
- 對于每個動作 (a),有一個相應的權重向量 w a ∈ R d \mathbf{w}^a \in \mathbb{R}^d wa∈Rd。
我們就可以定義 Q 值的估計為這兩個向量的內積:
q ^ ( x t , a ) = ( w a ) ? x t = ∑ i = 1 d w i a x t , i . \hat{q}(\mathbf{x}_t, a) = (\mathbf{w}^a)^\top \mathbf{x}_t = \sum_{i=1}^{d} w^a_i\, x_{t,i}. q^?(xt?,a)=(wa)?xt?=i=1∑d?wia?xt,i?.
這個公式的來源和含義可以分解如下:
線性組合: 我們認為動作 a a a 的價值可以看作是狀態中各個特征的重要性加權求和。每個分量 x t , i x_{t,i} xt,i? 表示狀態的某個特征,而對應的 w i a w^a_i wia? 表示該特征對選擇動作 a a a 后所能獲得獎勵的重要程度。
內積運算: 內積 ( w a ) ? x t (\mathbf{w}^a)^\top \mathbf{x}_t (wa)?xt? 實際上就是把每個特征乘以它對應的權重后再求和,這正符合線性模型的定義。這種表示形式既簡單又直觀,并且可以通過梯度下降等方法高效地進行參數更新。
數學推導:
- 假設我們有一組樣本數據 { ( x t , a , q t ) } \{(\mathbf{x}_t, a, q_t)\} {(xt?,a,qt?)},其中 q t q_t qt? 是真實的(或目標的)動作值。
- 我們希望找到一組權重 w a \mathbf{w}^a wa 使得預測值 ( w a ) ? x t (\mathbf{w}^a)^\top \mathbf{x}_t (wa)?xt? 能盡可能接近 q t q_t qt?。
- 這可以通過最小化均方誤差來實現:
min ? w a ∑ t ( q t ? ( w a ) ? x t ) 2 . \min_{\mathbf{w}^a} \sum_t \left( q_t - (\mathbf{w}^a)^\top \mathbf{x}_t \right)^2. wamin?t∑?(qt??(wa)?xt?)2.- 求解這一優化問題得到的形式就是線性回歸模型,而預測值自然為內積形式。
2.3. 為什么說“內積表示在當前狀態下采取動作 a a a 的價值”?
直觀解釋: 假設狀態特征 x t \mathbf{x}_t xt? 表示了當前環境的各種屬性(如位置、速度、溫度等),而權重向量 w a \mathbf{w}^a wa 表示了對于動作 a a a而言,不同屬性的重要性。例如:
- 如果在某個游戲中,特征可能代表“與目標的距離”、“敵人的位置”等;
- 權重向量的各個分量就反映了這些特征在選擇特定動作時的重要程度。
內積運算 ( w a ) ? x t (\mathbf{w}^a)^\top \mathbf{x}_t (wa)?xt? 就是將這些屬性和它們的重要性相乘后求和,給出一個數值,該數值越大,說明在當前狀態下采取動作 (a) 越有可能獲得高回報。
舉例說明:
表格型 Q-learning:
假設狀態空間只有 4 個狀態,使用 one-hot 編碼。當狀態 s = 2 s=2 s=2 時,其 one-hot 向量為 x t = [ 0 , 1 , 0 , 0 ] ? \mathbf{x}_t = [0, 1, 0, 0]^\top xt?=[0,1,0,0]?。
對于動作 a a a,假設對應的權重向量為 w a = [ 0.2 , 0.5 , 0.1 , ? 0.3 ] ? \mathbf{w}^a = [0.2, 0.5, 0.1, -0.3]^\top wa=[0.2,0.5,0.1,?0.3]?。
那么內積
( w a ) ? x t = 0.2 × 0 + 0.5 × 1 + 0.1 × 0 ? 0.3 × 0 = 0.5. (\mathbf{w}^a)^\top \mathbf{x}_t = 0.2 \times 0 + 0.5 \times 1 + 0.1 \times 0 - 0.3 \times 0 = 0.5. (wa)?xt?=0.2×0+0.5×1+0.1×0?0.3×0=0.5.
這里,結果 0.5 就代表在狀態2下,動作 a a a 的估計值為 0.5。實際上,這種內積操作相當于查表操作,因為 one-hot 編碼會直接選擇權重向量中對應位置的值。線性 Q-learning with Tile Coding:
假設我們用 tile coding 將連續狀態映射到一個稀疏的二值向量 x t \mathbf{x}_t xt?(例如,只有兩個特征為1,其余為0)。
如果動作 a a a 對應的權重向量為 w a \mathbf{w}^a wa,內積 ( w a ) ? x t (\mathbf{w}^a)^\top \mathbf{x}_t (wa)?xt? 就是將這兩個激活的特征的權重相加,給出一個數值,代表在這種狀態下采取動作 a a a 的綜合“好壞”評價。非線性 Q-learning:
在使用神經網絡時,最后一層輸出的特征向量 x t \mathbf{x}_t xt? 已經抽象并綜合了環境中的多種信息;而對于每個動作,我們可能有不同的輸出頭或權重。將兩者做內積,即得到一個數值,反映了當前狀態下執行該動作的預期收益。2.4. 總結
公式來源: 我們假設 Q 值可以用狀態的特征向量和一個動作相關的權重向量的線性組合來逼近,這就是標準的線性函數逼近方法。
內積的含義: 內積 ( w a ) ? x t (\mathbf{w}^a)^\top \mathbf{x}_t (wa)?xt? 表示將狀態中各個特征按各自在動作 a a a 中的重要性加權后求和,輸出一個標量,該標量越大說明該動作在當前狀態下越好。
為什么這么說: 這種表示方式具有以下優點:
- 簡單高效:計算內積的代價低,易于在在線學習中快速更新。
- 直觀易懂:每個分量 w i a ? x t , i w_i^a \cdot x_{t,i} wia??xt,i? 都描述了特征 i i i 對動作 a a a 的貢獻,所有貢獻的累加得到最終評價。
- 泛化能力:當狀態沒有完全重復時,線性組合能利用相似的特征來進行推廣,提供合理的動作值估計。
在時間步 t t t,基于值的獎勵中心化Q-learning使用狀態轉移 ( x t , A t , R t + 1 , x t + 1 ) (\mathbf{x}_t, A_t, R_{t+1}, \mathbf{x}_{t+1}) (xt?,At?,Rt+1?,xt+1?)來更新平均獎勵估計和每個動作的權重參數:
w t + 1 A t ? w t A t + α t δ t ? w t q ^ ( x t , A t ) , (9) \mathbf{w}_{t+1}^{A_t} \doteq \mathbf{w}_{t}^{A_t} + \alpha_t \delta_t \nabla_{\mathbf{w}_t} \hat{q}(\mathbf{x}_t, A_t), \tag{9} wt+1At???wtAt??+αt?δt??wt??q^?(xt?,At?),(9)
R ˉ t + 1 ? R ˉ t + η α t δ t , (10) \bar{R}_{t+1} \doteq \bar{R}_t + \eta \alpha_t \delta_t, \tag{10} Rˉt+1??Rˉt?+ηαt?δt?,(10)
where, δ t ? R t + 1 ? R ˉ t + γ max ? a ( w t a ) ? x t + 1 ? ( w t A t ) ? x t . \text{where,} \quad \delta_t \doteq R_{t+1} - \bar{R}_t + \gamma \max_{a} (\mathbf{w}_{t}^{a})^\top \mathbf{x}_{t+1} - (\mathbf{w}_{t}^{A_t})^\top \mathbf{x}_t. where,δt??Rt+1??Rˉt?+γamax?(wta?)?xt+1??(wtAt??)?xt?.
所有算法的完整偽代碼見附錄A。我們在此給出非正式的收斂性定理表述;完整的定理表述、證明及分析見附錄B。
3. 獎勵中心化的動機
在一些任務中,獎勵信號可能整體偏移一個常數(比如每步都有一個生存獎勵)。如果直接使用這些獎勵進行更新,Q值可能包含一個很大的常數部分,從而使數值很大,不利于穩定學習。為了解決這個問題,我們減去一個平均獎勵的估計 R ˉ t \bar{R}_t Rˉt?(也叫“獎勵中心化”),使得更新主要反映獎勵相對于全局平均水平的偏差。
4. 基于值的獎勵中心化 Q-learning 的更新
4.1 定義 TD 誤差在每個時間步 t t t,我們觀察到一個狀態轉移 ( x t , A t , R t + 1 , x t + 1 ) (\mathbf{x}_t, A_t, R_{t+1}, \mathbf{x}_{t+1}) (xt?,At?,Rt+1?,xt+1?)。 首先,我們計算時序差分(TD)誤差,公式為 δ t = [ R t + 1 ? R ˉ t ? 中心化獎勵 + γ max ? a ( w t a ) ? x t + 1 ? ( w t A t ) ? x t ] . \delta_t = \Bigl[ \underbrace{R_{t+1} - \bar{R}_t}_{\text{中心化獎勵}} + \gamma \max_{a} (\mathbf{w}_t^{a})^\top \mathbf{x}_{t+1} - (\mathbf{w}_t^{A_t})^\top \mathbf{x}_t \Bigr]. δt?=[中心化獎勵 Rt+1??Rˉt???+γamax?(wta?)?xt+1??(wtAt??)?xt?]. 這里:
- R t + 1 ? R ˉ t R_{t+1} - \bar{R}_t Rt+1??Rˉt? 是扣除平均獎勵后的即時獎勵;
- γ max ? a ( w t a ) ? x t + 1 \gamma \max_{a} (\mathbf{w}_t^{a})^\top \mathbf{x}_{t+1} γmaxa?(wta?)?xt+1? 是下一狀態的最大折扣未來價值;
- ( w t A t ) ? x t (\mathbf{w}_t^{A_t})^\top \mathbf{x}_t (wtAt??)?xt? 是當前狀態下,針對所選動作 A t A_t At? 的當前 Q 值估計。
4.2 權重參數更新
對于所選擇的動作 A t A_t At?,我們更新其對應的權重向量: w t + 1 A t ? w t A t + α t δ t ? w t q ^ ( x t , A t ) . (9) \mathbf{w}_{t+1}^{A_t} \doteq \mathbf{w}_{t}^{A_t} + \alpha_t\,\delta_t\, \nabla_{\mathbf{w}_t} \hat{q}(\mathbf{x}_t, A_t). \tag{9} wt+1At???wtAt??+αt?δt??wt??q^?(xt?,At?).(9)
- w t A t \mathbf{w}_t^{A_t} wtAt??
- 含義:在時間步 t t t 時,與所選動作 A t A_t At? 對應的權重向量。
- 作用:用于估計在狀態 S t S_t St?(或其特征表示 x t \mathbf{x}_t xt?)下,采取動作 A t A_t At? 的 Q 值。
- 維度:通常為 R d \mathbb{R}^d Rd,其中 d d d 是特征向量的維數。
- w t + 1 A t \mathbf{w}_{t+1}^{A_t} wt+1At??
- 含義:經過更新后,在時間步 t + 1 t+1 t+1 對應動作 A t A_t At? 的新權重向量。
- 作用:反映了根據當前經驗調整后的 Q 值估計參數。
- α t \alpha_t αt?
- 含義:時間步 t t t 的學習率。
- 作用:控制每次更新時參數調整的步長,步長越大更新幅度越大;通常需要逐步衰減以保證收斂。
- δ t \delta_t δt?
- 含義:在時間步 t t t 計算得到的時序差分(TD)誤差,是一個標量。
- 作用:衡量當前 Q 值估計與“真實”目標之間的偏差,具體定義為
δ t = [ R t + 1 ? R ˉ t ? 中心化后的即時獎勵 + γ max ? a q ^ ( x t + 1 , a ) ? q ^ ( x t , A t ) ] . \delta_t = \Bigl[ \underbrace{R_{t+1} - \bar{R}_t}_{\text{中心化后的即時獎勵}} + \gamma \max_{a} \hat{q}(\mathbf{x}_{t+1}, a) - \hat{q}(\mathbf{x}_t, A_t) \Bigr]. δt?=[中心化后的即時獎勵 Rt+1??Rˉt???+γamax?q^?(xt+1?,a)?q^?(xt?,At?)].
它告訴我們當前估計值低估或高估了多少。- ? w t q ^ ( x t , A t ) \nabla_{\mathbf{w}_t} \hat{q}(\mathbf{x}_t, A_t) ?wt??q^?(xt?,At?)
- 含義:對當前 Q 值估計 q ^ ( x t , A t ) \hat{q}(\mathbf{x}_t, A_t) q^?(xt?,At?) 關于權重向量 w t A t \mathbf{w}_t^{A_t} wtAt?? 的梯度。
- 作用:指明在參數空間中哪一個方向可以減少誤差。
- 對于線性模型:如果 q ^ ( x t , A t ) = ( w t A t ) ? x t \hat{q}(\mathbf{x}_t, A_t) = (\mathbf{w}_t^{A_t})^\top \mathbf{x}_t q^?(xt?,At?)=(wtAt??)?xt?,則梯度就是 x t \mathbf{x}_t xt?。
- x t \mathbf{x}_t xt?
- 含義:在時間步 t t t 下,環境觀測經過特征轉換后得到的特征向量。
- 作用:用于表示當前狀態的信息,是所有更新的基礎輸入。
- A t A_t At?
- 含義:在時間步 t t t 智能體選擇的動作。
- 作用:更新只針對實際選擇的動作對應的權重向量進行調整。
對于線性模型, q ^ ( x t , A t ) = ( w t A t ) ? x t \hat{q}(\mathbf{x}_t, A_t) = (\mathbf{w}_t^{A_t})^\top \mathbf{x}_t q^?(xt?,At?)=(wtAt??)?xt?,其梯度就是 x t \mathbf{x}_t xt?。因此,這條更新可以寫為: w t + 1 A t ? w t A t + α t δ t x t . \mathbf{w}_{t+1}^{A_t} \doteq \mathbf{w}_{t}^{A_t} + \alpha_t\,\delta_t\,\mathbf{x}_t. wt+1At???wtAt??+αt?δt?xt?. 其中, α t \alpha_t αt? 是學習率。
對于線性函數
q ^ ( x t , A t ) = ( w t A t ) ? x t , \hat{q}(\mathbf{x}_t, A_t) = (\mathbf{w}_t^{A_t})^\top \mathbf{x}_t, q^?(xt?,At?)=(wtAt??)?xt?,
將其視為關于權重 w t A t \mathbf{w}_t^{A_t} wtAt?? 的函數,我們可以寫成
f ( w ) = w ? x t . f(\mathbf{w}) = \mathbf{w}^\top \mathbf{x}_t. f(w)=w?xt?.
在這個表達式中, x t \mathbf{x}_t xt? 被視為常數向量,而 w \mathbf{w} w 是變量。求這個函數關于 w \mathbf{w} w 的梯度,等價于對每個分量 w i w_i wi? 求偏導數:
? f ? w i = x t , i . \frac{\partial f}{\partial w_i} = x_{t,i}. ?wi??f?=xt,i?.
因此,整個梯度就是
? w f ( w ) = x t . \nabla_{\mathbf{w}} f(\mathbf{w}) = \mathbf{x}_t. ?w?f(w)=xt?.
這就是為什么在更新權重時,我們可以將梯度部分直接替換為 x t \mathbf{x}_t xt?,從而得到更新公式
w t + 1 A t = w t A t + α t δ t x t , \mathbf{w}_{t+1}^{A_t} = \mathbf{w}_{t}^{A_t} + \alpha_t\,\delta_t\,\mathbf{x}_t, wt+1At??=wtAt??+αt?δt?xt?,4.3 平均獎勵更新
同時,我們也更新平均獎勵的估計: R ˉ t + 1 ? R ˉ t + η α t δ t , (10) \bar{R}_{t+1} \doteq \bar{R}_t + \eta\,\alpha_t\,\delta_t, \tag{10} Rˉt+1??Rˉt?+ηαt?δt?,(10) 其中, η \eta η 是一個調節平均獎勵更新速度的因子。這一更新利用同樣的TD誤差 δ t \delta_t δt?,使得平均獎勵估計能根據當前所獲得的“額外獎勵”進行調整。
5. 數值例子
假設某一時間步 t t t 我們有如下數據:
- 狀態特征: x t = ( 1 0 0 ) \mathbf{x}_t = \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} xt?= ?100? ? ;
- 當前選擇的動作 A t A_t At? 的權重: w t A t = ( 0.5 0.2 ? 0.1 ) \mathbf{w}_t^{A_t} = \begin{pmatrix} 0.5 \\ 0.2 \\ -0.1 \end{pmatrix} wtAt??= ?0.50.2?0.1? ?;
- 下一狀態特征: x t + 1 = ( 0 1 0 ) \mathbf{x}_{t+1} = \begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix} xt+1?= ?010? ?;
- 假設其他動作的 Q 值計算后, max ? a ( w t a ) ? x t + 1 = 0.4 \max_{a} (\mathbf{w}_t^{a})^\top \mathbf{x}_{t+1} = 0.4 maxa?(wta?)?xt+1?=0.4(這里我們只需要最大值。注意:這里是下一狀態特征 x t + 1 \mathbf{x}_{t+1} xt+1?);
- 實際獲得獎勵: R t + 1 = 8 R_{t+1} = 8 Rt+1?=8;
- 當前平均獎勵估計: R ˉ t = 6 \bar{R}_t = 6 Rˉt?=6;
- 折扣因子: γ = 0.9 \gamma = 0.9 γ=0.9;
- 學習率: α t = 0.1 \alpha_t = 0.1 αt?=0.1;
- 平均獎勵更新因子: η = 0.5 \eta = 0.5 η=0.5。
步驟 1:計算當前動作的 Q 值 ( w t A t ) ? x t = 0.5 × 1 + 0.2 × 0 + ( ? 0.1 ) × 0 = 0.5. (\mathbf{w}_t^{A_t})^\top \mathbf{x}_t = 0.5 \times 1 + 0.2 \times 0 + (-0.1) \times 0 = 0.5. (wtAt??)?xt?=0.5×1+0.2×0+(?0.1)×0=0.5.
步驟 2:計算 TD 誤差 δ t \delta_t δt?
首先,計算中心化獎勵: R t + 1 ? R ˉ t = 8 ? 6 = 2. R_{t+1} - \bar{R}_t = 8 - 6 = 2. Rt+1??Rˉt?=8?6=2. 然后計算未來獎勵部分: γ max ? a ( w t a ) ? x t + 1 = 0.9 × 0.4 = 0.36. \gamma \max_{a} (\mathbf{w}_t^{a})^\top \mathbf{x}_{t+1} = 0.9 \times 0.4 = 0.36. γamax?(wta?)?xt+1?=0.9×0.4=0.36.
因此, δ t = [ 2 + 0.36 ? 0.5 ] = 1.86. \delta_t = \bigl[2 + 0.36 - 0.5\bigr] = 1.86. δt?=[2+0.36?0.5]=1.86.步驟 3:更新權重向量 (公式(9)) 對于線性函數,梯度為 x t \mathbf{x}_t xt?,所以: w t + 1 A t = ( 0.5 0.2 ? 0.1 ) + 0.1 × 1.86 × ( 1 0 0 ) = ( 0.5 + 0.186 0.2 ? 0.1 ) = ( 0.686 0.2 ? 0.1 ) . \mathbf{w}_{t+1}^{A_t} = \begin{pmatrix} 0.5 \\ 0.2 \\ -0.1 \end{pmatrix} + 0.1 \times 1.86 \times \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} = \begin{pmatrix} 0.5 + 0.186 \\ 0.2 \\ -0.1 \end{pmatrix} = \begin{pmatrix} 0.686 \\ 0.2 \\ -0.1 \end{pmatrix}. wt+1At??= ?0.50.2?0.1? ?+0.1×1.86× ?100? ?= ?0.5+0.1860.2?0.1? ?= ?0.6860.2?0.1? ?.
步驟 4:更新平均獎勵 (公式(10)) R ˉ t + 1 = 6 + 0.5 × 0.1 × 1.86 = 6 + 0.093 = 6.093. \bar{R}_{t+1} = 6 + 0.5 \times 0.1 \times 1.86 = 6 + 0.093 = 6.093. Rˉt+1?=6+0.5×0.1×1.86=6+0.093=6.093.
解釋:
- 權重更新使得對狀態 x t \mathbf{x}_t xt? 下動作 A t A_t At? 的估計從 0.5 增加到了 0.686,這反映了當前經驗告訴我們,該動作的價值應該更高。
- 同時,平均獎勵估計從 6 增加到了 6.093,使得后續更新中的中心化獎勵 R t + 1 ? R ˉ t R_{t+1} - \bar{R}_t Rt+1??Rˉt? 能更貼近目標策略實際獲得的獎勵水平。
定理1 如果由固定行為策略誘導的馬爾可夫鏈是不可約的,并且每個狀態-動作對的步長參數被適當縮小,那么基于值的獎勵中心化的表格型Q-learning(公式(9)–(10)) 幾乎必然收斂(almost surely):
Q t Q_t Qt?和 R ˉ t \bar{R}_t Rˉt?收斂到以下Bellman方程的特定解 ( q ~ γ , r ˉ ) (\tilde{q}^{\gamma}, \bar{r}) (q~?γ,rˉ):
q ~ γ ( s , a ) = ∑ s ′ , r p ( s ′ , r ∣ s , a ) ( r ? r ˉ + γ max ? a ′ q ~ γ ( s ′ , a ′ ) ) . (11) \tilde{q}^{\gamma}(s, a) = \sum_{s', r} p(s', r \mid s, a) \left( r - \bar{r} + \gamma \max_{a'} \tilde{q}^{\gamma}(s', a') \right). \tag{11} q~?γ(s,a)=s′,r∑?p(s′,r∣s,a)(r?rˉ+γa′max?q~?γ(s′,a′)).(11)
該收斂性證明是Devraj和Meyn(2021)最新研究成果的直接推論,他們表明,在Q-learning中從獎勵中減去某個量可以顯著改善樣本復雜度界限。
根據所減去的量的不同,存在一整個Q-learning變體族,它們在表格型情況下幾乎必然收斂,滿足:
Q ~ ∞ γ = q ? γ ? k 1 ? γ 1 , \tilde{\mathbf{Q}}_{\infty}^{\gamma} = \mathbf{q}_{\ast}^{\gamma} - \frac{k}{1-\gamma} \mathbf{1}, Q~?∞γ?=q?γ??1?γk?1,
其中:
- Q ~ ∞ γ \tilde{\mathbf{Q}}_{\infty}^{\gamma} Q~?∞γ? 表示最終的漸近值估計向量,
- q ? γ \mathbf{q}_{\ast}^{\gamma} q?γ? 是最優策略 π ? γ \pi_{\ast}^{\gamma} π?γ?在折扣因子 γ \gamma γ下的折扣動作值函數,
- k k k 依賴于 q ? γ q_{\ast}^{\gamma} q?γ?和兩個算法參數 μ \mu μ和 κ \kappa κ。
需要注意的是,標準(未中心化)折扣值函數 q ? γ q_{\ast}^{\gamma} q?γ?存在一個與狀態-動作無關的偏移量 r ( π ? γ ) / ( 1 ? γ ) r(\pi_{\ast}^{\gamma})/(1-\gamma) r(π?γ?)/(1?γ)。相對Q-learning(Relative Q-learning)可以去除其中的 k / ( 1 ? γ ) k/(1-\gamma) k/(1?γ)部分,這一特性非常有前景。
1. 問題背景與目標
在標準 Q-learning 中,我們希望學習一個動作值函數 q ( s , a ) q(s, a) q(s,a),其滿足經典的 Bellman 方程。對于帶有折扣因子 γ \gamma γ 的情形,理想的最優動作值函數(即最優策略 π ? \pi_\ast π?? 的動作值函數)滿足
q ? γ ( s , a ) = ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ max ? a ′ q ? γ ( s ′ , a ′ ) ] . q_\ast^\gamma(s,a) = \sum_{s',r} p(s',r \mid s,a) \Bigl[r + \gamma \max_{a'} q_\ast^\gamma(s',a')\Bigr]. q?γ?(s,a)=s′,r∑?p(s′,r∣s,a)[r+γa′max?q?γ?(s′,a′)].
然而,通常我們會發現:
- 該函數存在一個狀態無關的常數偏移,具體來說,在平均獎勵形式中,這個偏移為 r ( π ? γ ) 1 ? γ , \frac{r(\pi_\ast^\gamma)}{1-\gamma}, 1?γr(π?γ?)?, 其中 r ( π ? γ ) r(\pi_\ast^\gamma) r(π?γ?) 是最優策略在平均意義下的獎勵。
- 當折扣因子 γ \gamma γ 非常接近 1 時,這個偏移非常大,使得數值范圍膨脹,從而給函數逼近和算法穩定性帶來困難。
為了解決這個問題,研究者提出獎勵中心化的思想,即從每步獎勵中減去一個估計的平均獎勵,從而使得學習主要關注獎勵的“相對”差異而非絕對值。特別地,基于值的獎勵中心化方法不僅在更新 Q 值時使用“中心化獎勵”( r ? r ˉ r - \bar{r} r?rˉ),而且利用同一個時序差分(TD)誤差同時更新平均獎勵的估計。這樣做有兩個好處:
- 消除由于大常數偏移帶來的數值問題;
- 在 off-policy 情況下(數據由行為策略生成,而我們要估計目標策略的價值),利用 TD 誤差(經重要性采樣比率校正)可以更好地逼近目標策略的平均獎勵。
2. 定理1及其核心公式
定理1聲明:
如果由固定行為策略誘導的馬爾可夫鏈是不可約的(即從任一狀態都可以到達任一狀態),且每個狀態-動作對的步長參數適當減小(滿足 Robbins–Monro 條件),那么基于值的獎勵中心化的表格型 Q-learning(見公式(9)–(10))幾乎必然(almost surely)收斂。也就是說,算法中的 Q 值估計 Q t Q_t Qt? 和平均獎勵估計 R ˉ t \bar{R}_t Rˉt? 將收斂到下述 Bellman 方程的一個特定解:
q ~ γ ( s , a ) = ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r ? r ˉ + γ max ? a ′ q ~ γ ( s ′ , a ′ ) ] . (11) \tilde{q}^{\gamma}(s, a) = \sum_{s', r} p(s', r \mid s, a) \Bigl[r - \bar{r} + \gamma \max_{a'} \tilde{q}^{\gamma}(s', a')\Bigr]. \tag{11} q~?γ(s,a)=s′,r∑?p(s′,r∣s,a)[r?rˉ+γa′max?q~?γ(s′,a′)].(11)這里:
- q ~ γ ( s , a ) \tilde{q}^{\gamma}(s,a) q~?γ(s,a) 就是獎勵中心化后的動作值函數,即每一步獎勵先減去平均獎勵( r ˉ \bar{r} rˉ)后再進行折扣累加。
- r ˉ \bar{r} rˉ 是算法最終收斂時的平均獎勵估計。
進一步,理論證明表明,根據我們從獎勵中減去的具體量(即不同的中心化方法),存在一個Q-learning變體族,它們在表格型情況下幾乎必然收斂,并且其漸近解滿足
Q ~ ∞ γ = q ? γ ? k 1 ? γ 1 , \tilde{\mathbf{Q}}_{\infty}^{\gamma} = \mathbf{q}_{\ast}^{\gamma} - \frac{k}{1-\gamma} \mathbf{1}, Q~?∞γ?=q?γ??1?γk?1,
其中:
- Q ~ ∞ γ \tilde{\mathbf{Q}}_{\infty}^{\gamma} Q~?∞γ? 表示最終收斂的 Q 值向量(對所有狀態-動作對);
- q ? γ \mathbf{q}_{\ast}^{\gamma} q?γ? 是最優策略在折扣因子 γ \gamma γ 下的最優動作值函數向量;
- 1 \mathbf{1} 1 是全1向量;
- k k k 是一個與 q ? γ q_\ast^\gamma q?γ? 以及算法參數 μ \mu μ 和 κ \kappa κ(這兩個參數在算法中用于調整更新幅度和偏移)的值有關的常數。
這意味著,相較于標準 Q-learning,獎勵中心化 Q-learning 的估計少了一個狀態無關的常數偏移。而標準 Q-learning 的解中會有 r ( π ? γ ) / ( 1 ? γ ) r(\pi_\ast^\gamma)/(1-\gamma) r(π?γ?)/(1?γ) 這一大偏移;而通過“相對”或“獎勵中心化”方法,我們可以去除這一部分,或至少使其變得更小。
在標準折扣獎勵設置中,假設每步獎勵恒定為 c c c,那么從一個狀態開始的總折扣獎勵為: ∑ t = 0 ∞ γ t c = c ? 1 1 ? γ . \sum_{t=0}^{\infty} \gamma^t c = c \cdot \frac{1}{1-\gamma}. t=0∑∞?γtc=c?1?γ1?.
1. 幾何級數的定義
一個最簡單的幾何級數(geometric series) 是下列無窮求和:
∑ t = 0 ∞ γ t = 1 + γ + γ 2 + γ 3 + ? \sum_{t=0}^{\infty} \gamma^t \;=\; 1 + \gamma + \gamma^2 + \gamma^3 + \cdots t=0∑∞?γt=1+γ+γ2+γ3+?
其中 γ \gamma γ 是一個常數(在強化學習中通常是折扣因子, γ ∈ [ 0 , 1 ) \gamma \in [0,1) γ∈[0,1))。
2. 形式推導
假設我們把這個無窮級數的部分和(從 0 到 n n n)記為 S n S_n Sn?:
S n = 1 + γ + γ 2 + ? + γ n . S_n = 1 + \gamma + \gamma^2 + \cdots + \gamma^n. Sn?=1+γ+γ2+?+γn.
做一個小技巧:我們把它乘以 γ \gamma γ:
γ S n = γ + γ 2 + ? + γ n + 1 . \gamma S_n = \gamma + \gamma^2 + \cdots + \gamma^{n+1}. γSn?=γ+γ2+?+γn+1.
現在,把這兩行相減:
S n ? γ S n = ( 1 + γ + ? + γ n ) ? ( γ + γ 2 + ? + γ n + 1 ) . S_n - \gamma S_n = (1 + \gamma + \cdots + \gamma^n) - (\gamma + \gamma^2 + \cdots + \gamma^{n+1}). Sn??γSn?=(1+γ+?+γn)?(γ+γ2+?+γn+1).
- 左邊合并: S n ? γ S n = ( 1 ? γ ) S n S_n - \gamma S_n = (1 - \gamma)\,S_n Sn??γSn?=(1?γ)Sn?。
- 右邊逐項相減后,幾乎所有項都能抵消,只剩下第一個“1”和最后一個“ ? γ n + 1 -\gamma^{n+1} ?γn+1”:
( 1 + γ + ? + γ n ) ? ( γ + γ 2 + ? + γ n + 1 ) = 1 ? γ n + 1 . (1 + \gamma + \cdots + \gamma^n) - (\gamma + \gamma^2 + \cdots + \gamma^{n+1}) = 1 - \gamma^{n+1}. (1+γ+?+γn)?(γ+γ2+?+γn+1)=1?γn+1.
所以我們得到:
( 1 ? γ ) S n = 1 ? γ n + 1 . (1 - \gamma)\,S_n = 1 - \gamma^{n+1}. (1?γ)Sn?=1?γn+1.
只要 γ ≠ 1 \gamma \neq 1 γ=1,可以把 1 ? γ 1 - \gamma 1?γ 移到右邊:
S n = 1 ? γ n + 1 1 ? γ . S_n = \frac{1 - \gamma^{n+1}}{1 - \gamma}. Sn?=1?γ1?γn+1?.3. n → ∞ n \to \infty n→∞ 的極限
如果 ∣ γ ∣ < 1 |\gamma| < 1 ∣γ∣<1,那么 γ n + 1 \gamma^{n+1} γn+1 隨著 n → ∞ n \to \infty n→∞ 會趨于 0。也就是說, γ n + 1 → 0 \gamma^{n+1} \to 0 γn+1→0。于是:
lim ? n → ∞ S n = lim ? n → ∞ 1 ? γ n + 1 1 ? γ = 1 ? 0 1 ? γ = 1 1 ? γ . \lim_{n\to\infty} S_n = \lim_{n\to\infty} \frac{1 - \gamma^{n+1}}{1 - \gamma} = \frac{1 - 0}{1 - \gamma} = \frac{1}{1-\gamma}. n→∞lim?Sn?=n→∞lim?1?γ1?γn+1?=1?γ1?0?=1?γ1?.
這就證明了:
∑ t = 0 ∞ γ t = 1 1 ? γ , 只要? ∣ γ ∣ < 1. \sum_{t=0}^{\infty} \gamma^t = \frac{1}{1-\gamma}, \quad\text{只要 }|\gamma| < 1. t=0∑∞?γt=1?γ1?,只要?∣γ∣<1.
也就是說,一個固定的獎勵 c c c 被無限累積后,會放大為 c / ( 1 ? γ ) c/(1-\gamma) c/(1?γ)(當 γ \gamma γ 接近1時,這個放大效應尤為明顯)。重要事實:
- 如果你在每一步的獎勵中加上一個常數 c c c,則整個 Q 函數會被抬高 c / ( 1 ? γ ) c/(1-\gamma) c/(1?γ);
- 反之,若你在每步獎勵中減去一個常數 c c c,則 Q 函數會整體下降 c / ( 1 ? γ ) c/(1-\gamma) c/(1?γ)。
這種“線性”效應源于折扣累積求和的幾何級數性質。
1. 折扣累積獎勵的幾何級數性質
在標準折扣獎勵設置里,如果我們從某個狀態(或狀態-動作對)開始,未來每一步都獲得獎勵 r t r_t rt?,那么對應的“價值”(或者 Q
值)就是累積的折扣和:
∑ t = 0 ∞ γ t r t , \sum_{t=0}^{\infty} \gamma^t \,r_t, t=0∑∞?γtrt?, 其中 γ ∈ [ 0 , 1 ) \gamma \in [0,1) γ∈[0,1) 是折扣因子。
如果每步獎勵恒等于一個常數 c c c,即 r t = c r_t = c rt?=c,那么累積折扣和就是:
∑ t = 0 ∞ γ t c = c ? ∑ t = 0 ∞ γ t = c ? 1 1 ? γ ( 當? 0 ≤ γ < 1 ) . \sum_{t=0}^{\infty} \gamma^t c = c \cdot \sum_{t=0}^{\infty} \gamma^t = c \cdot \frac{1}{1-\gamma} \quad(\text{當 } 0 \le \gamma < 1). t=0∑∞?γtc=c?t=0∑∞?γt=c?1?γ1?(當?0≤γ<1).因此,如果原先每步獎勵是 0,現在變成了每步獎勵都是 c c c,則價值(或 Q 值)就整體抬高了 c / ( 1 ? γ ) c/(1-\gamma) c/(1?γ)。這是最核心的數學根源:折扣累加會把一個每步常數 c c c 放大成 c / ( 1 ? γ ) c/(1-\gamma) c/(1?γ)。
2. 從 Bellman 方程角度看常數偏移
2.1 標準 Q-learning 的 Bellman 方程
在 Q-learning 中(以最簡單的一步更新為例),我們有更新式:
Q ( s , a ) ← Q ( s , a ) + α [ r + γ max ? a ′ Q ( s ′ , a ′ ) ? Q ( s , a ) ] . Q(s,a) \leftarrow Q(s,a) + \alpha \Bigl[r + \gamma \max_{a'} Q(s',a') - Q(s,a)\Bigr]. Q(s,a)←Q(s,a)+α[r+γa′max?Q(s′,a′)?Q(s,a)].
從理論上,如果我們令最優 Q 值為 q ? ( s , a ) q_\ast(s,a) q??(s,a),它滿足經典的 Bellman 最優方程:
q ? ( s , a ) = E [ r + γ max ? a ′ q ? ( s ′ , a ′ ) ∣ s , a ] . q_\ast(s,a) = \mathbb{E}\Bigl[r + \gamma \max_{a'} q_\ast(s',a') \;\Bigm|\; s,a\Bigr]. q??(s,a)=E[r+γa′max?q??(s′,a′) ?s,a].
2.2 在獎勵中加入常數 c c c
假設現在把每一步的獎勵都變成 r + c r + c r+c。那么新的最優 Q 值(記為 q ? ′ ( s , a ) q_\ast'(s,a) q?′?(s,a))會滿足:
q ? ′ ( s , a ) = E [ ( r + c ) + γ max ? a ′ q ? ′ ( s ′ , a ′ ) ] . q_\ast'(s,a) = \mathbb{E}\Bigl[(r + c) + \gamma \max_{a'} q_\ast'(s',a')\Bigr]. q?′?(s,a)=E[(r+c)+γa′max?q?′?(s′,a′)].
如果你對比這兩個方程,就能看出,新方程比舊方程多了一項 c c c(在期望內)。通過類似的代數操作或者直接使用幾何級數的思路,可以推導:
q ? ′ ( s , a ) = q ? ( s , a ) + c 1 ? γ . q_\ast'(s,a) = q_\ast(s,a) + \frac{c}{1-\gamma}. q?′?(s,a)=q??(s,a)+1?γc?.
也就是說,所有狀態-動作對的 Q 值都增加了同樣一個常數 c 1 ? γ \frac{c}{1-\gamma} 1?γc?。這就是 “常數偏移” 的由來:對獎勵加常數,就會對 Q 值加上 c 1 ? γ \frac{c}{1-\gamma} 1?γc?。為什么加常數會出現 c 1 ? γ \frac{c}{1-\gamma} 1?γc??
歸根結底,是因為折扣累加 ∑ t = 0 ∞ γ t c \sum_{t=0}^\infty \gamma^t c ∑t=0∞?γtc 的結果是 c / ( 1 ? γ ) c/(1-\gamma) c/(1?γ)。
Q-learning 本質上是在估計這類折扣累加的期望,所以常數 c c c 會被“放大”成 c 1 ? γ \frac{c}{1-\gamma} 1?γc?。3. 具體數值例子
讓我們用一個極簡的數值例子來展示“加上一個常數,Q 值就出現對應的偏移”這個現象。
3.1 單狀態單動作的例子
- 假設我們有一個只有單狀態 s s s、單動作 a a a 的 MDP(就像一個小玩具問題),每步獎勵恒定為 2,折扣因子 γ = 0.9 \gamma = 0.9 γ=0.9。
- 原始情況:
- 每步獎勵 r = 2 r=2 r=2;
- Q 值是 2 1 ? 0.9 = 2 0.1 = 20. \frac{2}{1-0.9} = \frac{2}{0.1} = 20. 1?0.92?=0.12?=20.
給獎勵加常數
- 如果現在把每步獎勵都改成 r ′ = 2 + 5 = 7 r' = 2 + 5 = 7 r′=2+5=7,那么新的 Q 值將是 7 1 ? 0.9 = 70 \frac{7}{1-0.9} = 70 1?0.97?=70。
- 和原來相比,Q 值多了 70 ? 20 = 50 70 - 20 = 50 70?20=50。而這個 50 正好是 5 0.1 = 50 \frac{5}{0.1} = 50 0.15?=50。
- 可以看到,每步加 5,最終 Q 值就多了 5 1 ? 0.9 = 50 \frac{5}{1-0.9} = 50 1?0.95?=50。
給獎勵減常數
- 如果把每步獎勵都改成 r ′ = 2 ? 1 = 1 r' = 2 - 1 = 1 r′=2?1=1,那么新的 Q 值就是 1 1 ? 0.9 = 10 \frac{1}{1-0.9} = 10 1?0.91?=10。
- 和原來 20 相比,少了 10。這個 10 就是 1 0.1 = 10 \frac{1}{0.1} = 10 0.11?=10。
- 即“每步減 1 => Q 值少 1 1 ? γ \frac{1}{1-\gamma} 1?γ1? = 10”。
結論:在這個簡單例子里,一旦你改變每步獎勵 + c +c +c,Q 值就會變成原來的加上 c 1 ? γ \frac{c}{1-\gamma} 1?γc?。這完全吻合我們前面的公式和推導。
2.1 獎勵中心化與其誤差
在獎勵中心化方法中,我們嘗試從每一步獎勵中減去一個估計的平均獎勵。理想情況下,如果真實平均獎勵為 r ( π ) r(\pi) r(π)(例如最優策略的平均獎勵),我們希望使用 r ( π ) r(\pi) r(π) 來中心化獎勵,即用 r ? r ( π ) r - r(\pi) r?r(π) 代替原始獎勵 r r r。
- 如果每步獎勵為 r r r ,理想中心化后得到的獎勵是 r ? r ( π ) r - r(\pi) r?r(π)。
- 那么理想情況下的 Q 值(中心化后)將為: q ~ π γ = r ? r ( π ) 1 ? γ . \tilde{q}_\pi^\gamma = \frac{r - r(\pi)}{1-\gamma}. q~?πγ?=1?γr?r(π)?. 但如果我們估計平均獎勵時出現誤差,也就是說我們使用的平均獎勵是 r ˉ \bar{r} rˉ 而非 r ( π ) r(\pi) r(π),我們可以寫成 r ˉ = r ( π ) ? k , \bar{r} = r(\pi) - k, rˉ=r(π)?k, 其中 k k k 表示估計誤差(如果 k > 0 k > 0 k>0,說明我們低估了平均獎勵)。
此時,每一步的中心化獎勵就變為 r ? r ˉ = r ? ( r ( π ) ? k ) = ( r ? r ( π ) ) + k . r - \bar{r} = r - (r(\pi) - k) = (r - r(\pi)) + k. r?rˉ=r?(r(π)?k)=(r?r(π))+k. 也就是說,我們實際上在每個時間步多加了一個常數 k k k。由于折扣累積效應,這個誤差在 Q 值上會放大為 k 1 ? γ . \frac{k}{1-\gamma}. 1?γk?.
2.2 不唯一性與常數偏移
當我們寫出中心化 Q-learning 的 Bellman 方程時,形式上有: q ~ γ ( s , a ) = ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r ? r ˉ + γ max ? a ′ q ~ γ ( s ′ , a ′ ) ] . \tilde{q}^\gamma(s,a) = \sum_{s',r} p(s',r\mid s,a)\Bigl[ r - \bar{r} + \gamma\,\max_{a'}\tilde{q}^\gamma(s',a') \Bigr]. q~?γ(s,a)=s′,r∑?p(s′,r∣s,a)[r?rˉ+γa′max?q~?γ(s′,a′)]. 假設我們能找到一組理想的解 q ~ π γ ( s , a ) \tilde{q}_\pi^\gamma(s,a) q~?πγ?(s,a)(對應于精確中心化,即 r ˉ = r ( π ) \bar{r} = r(\pi) rˉ=r(π))。如果我們實際上使用了 r ˉ = r ( π ) ? k \bar{r} = r(\pi) - k rˉ=r(π)?k,那么每個時間步的獎勵增加了 k k k(注意這里增加了,因為 r ? r ˉ = ( r ? r ( π ) ) + k r - \bar{r} = (r - r(\pi)) + k r?rˉ=(r?r(π))+k),其累積效果就是使 Q 值整體增加 k / ( 1 ? γ ) k/(1-\gamma) k/(1?γ)。
因此,漸近解就變成: q ~ γ ( s , a ) = q ~ π γ ( s , a ) + k 1 ? γ . \tilde{q}^\gamma(s,a) = \tilde{q}_\pi^\gamma(s,a) + \frac{k}{1-\gamma}. q~?γ(s,a)=q~?πγ?(s,a)+1?γk?.(這里的符號問題取決于定義;有時我們寫為減去 k / ( 1 ? γ ) k/(1-\gamma) k/(1?γ) 也一樣,因為你可以定義 q ~ π γ \tilde{q}_\pi^\gamma q~?πγ?為理想中心化值為0。)
統一表示為: Q ~ ∞ γ = q ? γ ? k 1 ? γ 1 , \tilde{\mathbf{Q}}_{\infty}^{\gamma} = \mathbf{q}_{\ast}^{\gamma} - \frac{k}{1-\gamma}\mathbf{1}, Q~?∞γ?=q?γ??1?γk?1, 其中:
- q ? γ \mathbf{q}_{\ast}^{\gamma} q?γ? 是標準(未中心化)最優 Q 值向量,
- Q ~ ∞ γ \tilde{\mathbf{Q}}_{\infty}^{\gamma} Q~?∞γ? 是經過獎勵中心化(使用不完美的平均獎勵估計)后收斂的 Q 值向量,
- 1 \mathbf{1} 1 表示所有狀態動作都加上同樣的偏移。
換句話說,這個公式說明了: 不同的獎勵中心化方法(即減去不同的平均獎勵估計)最終只會導致一個狀態無關的常數偏移,而不會改變狀態-動作之間的相對差異。
Devraj和Meyn將 μ \mu μ和 κ \kappa κ的選擇作為開放問題 。我們證明,基于值的獎勵中心化Q-learning可以被看作是他們算法族的一個特例,其中 μ \mu μ和 κ \kappa κ取特定值。
此外,我們在附錄B中進一步證明,這些參數選擇可以顯著減少狀態無關的偏移量。由于這種等價性,我們能夠利用他們的理論框架,證明幾乎必然收斂性,并繼承其強大的方差減少特性。
參數的來源: μ \mu μ 和 κ \kappa κ 是 Devraj 和 Meyn 在他們的工作中提出的,用來調整從獎勵中減去一個量(即中心化部分)的更新幅度和狀態無關偏移的校正。它們在理論上是作為一個算法族的自由參數出現,表示“你可以從獎勵中減去不同的量,而這將影響 Q 值更新的樣本復雜度和方差。”
我們的方法作為特例: 我們證明了,基于值的獎勵中心化 Q-learning 可以看作是這一算法族中的一個特例——也就是說,如果你選擇特定的 μ \mu μ 和 κ \kappa κ 值(例如使更新比例正好匹配我們在公式(9)–(10)中所用的更新),那么你就得到了我們提出的算法。這意味著,我們的方法在隱含上對應于 Devraj 和 Meyn 所討論的那一類算法中的一個具體成員。
開放問題: Devraj 和 Meyn 將如何選擇 μ \mu μ 和 κ \kappa κ 最優化視為一個開放問題,因為在不同的環境下,最佳的參數值可能不同。而我們這里的證明展示了一種特定參數設置下的情況,從而為他們的參數選擇提供了一個實例,也說明了基于值的獎勵中心化方法具有良好的收斂性和方差降低特性。
舉例說明
假設在某個離散狀態空間的任務中:
- 傳統 Q-learning 會收斂到一個動作值函數 q ? γ q_\ast^\gamma q?γ?,其中每個狀態-動作對的值都包含一個與所有狀態無關的偏移 r ( π ? ) / ( 1 ? γ ) r(\pi_\ast)/(1-\gamma) r(π??)/(1?γ)(例如,如果平均獎勵 r ( π ? ) = 5 r(\pi_\ast)=5 r(π??)=5 且 γ = 0.9 \gamma=0.9 γ=0.9,這個偏移為 5 / 0.1 = 50 5/0.1 = 50 5/0.1=50)。
- 如果我們采用獎勵中心化,那么理想情況下我們希望將這個大偏移消除,使得 Q 值只反映各狀態間的相對優勢。
現在,Devraj 和 Meyn 提出了一族算法,通過從獎勵中減去一個量來達到這個目標。在這一族中,不同的 μ \mu μ 和 κ \kappa κ 可能會導致最終收斂的 Q 值為: Q ~ ∞ γ = q ? γ ? k 1 ? γ 1 , \tilde{Q}_\infty^\gamma = q_\ast^\gamma - \frac{k}{1-\gamma}\mathbf{1}, Q~?∞γ?=q?γ??1?γk?1,其中 k k k 依賴于 μ \mu μ 和 κ \kappa κ 的選擇。如果我們能選擇 μ \mu μ 和 κ \kappa κ 使得 k = r ( π ? ) k = r(\pi_\ast) k=r(π??)(或者更理想地使 k k k 接近 0),那么中心化 Q-learning 就能有效地消除那個大常數偏移。我們證明的結果正是表明,在特定參數設置下(即特定的 μ \mu μ 和 κ \kappa κ 值),我們的基于值的獎勵中心化 Q-learning 就與這個理想情況對應起來。
實驗: 我們在一組控制問題上對有無獎勵中心化的Q-learning進行了實驗,涉及表格型、線性和非線性函數逼近(完整偽代碼見附錄A)。這些問題主要來源于CSuite(Zhao et al., 2022)。該存儲庫詳細指定了每個問題的細節,我們在此僅提供高層描述。
實驗評估從表格型問題開始,隨后擴展到需要函數逼近的問題。
訪問控制排隊問題(Access-Control Queuing Problem)(Sutton & Barto, 2018)是一個持續性問題,其中智能體負責管理進入服務器集群的作業。
- 作業以相等概率從四種優先級(1, 2, 4, 8)之一到達隊列前端,智能體需要在每個時間步決定是否接受或拒絕作業,依據是當前剩余空閑服務器的數量。
- 如果接受作業,智能體獲得與作業優先級成正比的正獎勵;
- 如果拒絕作業,作業被從隊列中移除,智能體獲得0獎勵。
- 在每個時間步,已占用的服務器會以一定概率釋放,智能體可以觀察到當前空閑服務器的數量以及隊列前端作業的優先級。
圖1展示了標準Q-learning(無中心化)與基于值的中心化Q-learning的實驗結果。
圖1:學習曲線展示了在不同折扣因子下,Q-learning在有無獎勵中心化情況下在訪問控制排隊問題(Sutton & Barto, 1998)中的性能差異。繪制的曲線表示智能體在50次運行中,每步獲得的平均獎勵隨交互時間步數的變化情況。陰影區域表示一個標準誤差。詳見第4節。
- 對于標準Q-learning,曲線對應于訓練期間學習速度最快的步長參數(通過學習曲線下的面積進行量化)。
- 對于基于值的中心化Q-learning,曲線對應于在固定 η \eta η值(圖中以灰色表示)下,表現最優的步長參數。
- 這不一定意味著該 ( α , η ) (\alpha, \eta) (α,η)組合是全局最優,但實驗結果對 η \eta η的選擇具有魯棒性,因此這一選擇方式是合理的。
在本節的所有實驗中,我們始終使用相同的超參數選擇方法來繪制學習曲線。
當折扣因子接近1時,基于值的獎勵中心化Q-learning的性能并未下降,而未進行中心化的Q-learning則出現了性能退化。對于每個折扣因子,中心化方法的性能至少與標準未中心化方法相當,甚至更優。
為了驗證中心化是否確實消除了可能存在的較大狀態無關項,我們檢查了學習到的值函數的量級。
- 一種方法是計算所有狀態-動作對上的值函數量級,但這種方法通常無法很好地近似實際學習到的值的量級。
- 原因在于,許多狀態(尤其是真實值較低的狀態)可能在智能體的** ? \epsilon ?-貪心交互過程中出現頻率較低**,因此它們的估計值可能會保持接近初始化值。
- 為了更可靠地評估學習到的值函數量級,我們改為檢查智能體實際經歷的狀態的值,具體而言,我們關注:
- 訓練過程中最后10%出現的狀態,
- 它們對應的最大動作值(用于選擇 arg ? max ? \arg\max argmax動作)。
表1展示了與圖1學習曲線對應的參數下,這些狀態的最大動作值。
隨著 γ \gamma γ的增加 ,標準Q-learning的學習值量級急劇增加,而獎勵中心化方法的學習值保持較小,這與第1節的理論分析一致。
這些趨勢在測試的不同參數取值范圍內具有較強的普遍性。圖4展示了算法性能對參數的敏感性。
- x軸表示步長參數 α \alpha α,
- y軸表示整個訓練過程中獲得的平均獎勵(反映了學習速率)。
- 對于兩種方法,不同的曲線對應于不同的折扣因子 γ \gamma γ。
- 右側的三個子圖分別對應于不同的中心化步長參數 η \eta η。
圖4:參數研究展示了算法在訪問控制問題(Access-Control Problem)中對參數的敏感性。誤差條表示一個標準誤差,在某些情況下,其寬度甚至小于曲線的線寬。
實驗結果表明:
- 標準Q-learning(無中心化)的性能在較大折扣因子下顯著下降,這一現象在較寬范圍的步長參數 α \alpha α下均成立。
- 相比之下,使用獎勵中心化的方法時,性能沒有下降,甚至在較大范圍的 η \eta η值下,性能隨著 γ \gamma γ的增加持續提升,直至 γ = 1 \gamma=1 γ=1。
- 此外,中心化方法的性能對 η \eta η的選擇不敏感,即其魯棒性更強。
我們還觀察到,標準Q-learning算法的學習速率受到問題獎勵的常數偏移量的顯著影響。
需要注意的是,在持續性問題中,給所有獎勵加上一個常數 不會改變 基于總獎勵或平均獎勵準則的策略排序。
圖5展示了有無獎勵中心化的Q-learning在五種問題變體上的表現,這些變體的獎勵分別加上了 { ? 8 , ? 4 , 0 , 4 , 8 } \{-8, -4, 0, 4, 8\} {?8,?4,0,4,8}中的一個常數。
圖5:訪問控制排隊問題的輕微變體的學習曲線,其中所有獎勵均被加上一個整數常數。為了在相同尺度下比較所有變體的學習曲線,y軸已進行平移。更多細節見正文。
為了比較不同問題變體下獲得獎勵的速率,我們在訓練后對獎勵曲線進行了后處理平移(例如,在獎勵增加8的變體中,訓練完成后,我們從智能體獲得的所有獎勵中減去8)。
實驗結果表明:
- 未進行中心化的Q-learning在所有問題變體上的表現均存在顯著差異。
- 進行獎勵中心化的Q-learning(不出所料)在不同問題變體中表現相似。
此外,我們驗證了 平均獎勵估計確實能夠快速學習到每種變體的平均獎勵。
這些趨勢在不同的步長參數取值下也保持一致(相關參數研究見附錄C)。
我們在其他持續性問題中也觀察到了類似的趨勢,包括使用線性函數逼近的問題以及一個使用非線性函數逼近的問題。
-
PuckWorld:智能體需要控制一個類似冰球的物體,使其移動到方形場地中不斷變化的目標位置。
- 在每個時間步,智能體接收六個實數觀察值:
- 冰球的位置和速度,
- 目標位置在 x x x和 y y y方向上的坐標。
- 獎勵與冰球到目標的負歐幾里得距離成正比。
- 在每個時間步,智能體接收六個實數觀察值:
-
Pendulum(倒立擺):智能體需要控制單桿擺的底部扭矩,使其保持在豎直向上位置。
- 在每個時間步,智能體接收三個實數觀察值:
- 擺角相對于重力方向的正弦值和余弦值,
- 擺的角速度。
- 獎勵與擺的角度偏離豎直位置的負距離成正比。
- 在每個時間步,智能體接收三個實數觀察值:
-
Catch(接水果):智能體在2D像素網格的底部行移動一個木箱,用于接住下落的水果。
- 在此問題中,智能體可以接收兩種不同類型的觀察向量:
- 一個3D實數向量,包含:
- 木箱的 x x x坐標,
- 最低處水果的 ( x , y ) (x, y) (x,y)坐標。
- 一個50D二進制向量,表示整個像素網格的展平版本。
- 一個3D實數向量,包含:
- 獎勵機制:
- 成功接住水果時,獎勵 + 1 +1 +1;
- 未能接住水果時,獎勵 ? 1 -1 ?1;
- 其他情況下,獎勵 0 0 0。
- 在此問題中,智能體可以接收兩種不同類型的觀察向量:
所有這些問題都是持續性問題,即沒有環境重置(resets)。
我們在PuckWorld和Catch(智能體觀察3D實值特征的變體)中使用了瓦片編碼(tile-coded)特征的線性函數逼近。
對于Pendulum以及Catch(使用50D二進制特征的變體),我們采用了非線性函數逼近,具體而言,使用人工神經網絡(Mnih et al., 2015的DQN)。完整的實驗細節見附錄C。
實驗趨勢與訪問控制排隊問題(Access-Control Queuing) 中觀察到的現象類似:
-
PuckWorld 和 Pendulum(圖6上排):
- 無中心化時,隨著折扣因子 γ \gamma γ增加,性能先提升后下降。
- 有中心化時,性能不會因較大 γ \gamma γ值而下降。
-
Catch(線性函數逼近,圖6下排):
- 最左側子圖顯示,即使在較大折扣因子下,無中心化方法的性能依然較好。
- 但當問題的獎勵整體上移或下移時,無中心化方法的表現波動較大。
- 第三個子圖(從左至右)演示了當獎勵整體下移 ? 2 -2 ?2時的情況。
- 有中心化時,無論折扣因子大小或獎勵的整體偏移,性能都保持穩定。
圖6:學習曲線展示了不同問題中有無中心化情況下不同 γ \gamma γ值對應的表現。下排的右側兩個子圖對應于Catch問題的一個變體,其中所有獎勵均整體下移 ? 2 -2 ?2。
這些趨勢在圖7左側的兩個子圖中得到了進一步驗證,這些圖展示了算法在不同獎勵偏移量的Catch問題變體上的敏感性。
- x軸:線性函數逼近器的有效步長參數。
- y軸:整個訓練過程中平均獎勵速率。
- y軸經過調整,以便在相同尺度上比較所有問題變體的性能。
圖7:參數研究展示了算法對步長參數的敏感性以及對不同Catch問題變體的適應性,其中使用了線性和非線性函數逼近。
實驗表明:
- 無獎勵中心化時,算法性能依賴于具體的問題變體。
- 有獎勵中心化時,無論問題變體如何變化,學習速率基本相同。
此外,圖7右側的兩個子圖顯示,在非線性函數逼近的情況下,相同的趨勢依然成立。
通過這些實驗,我們觀察到獎勵中心化可以提升Q-learning算法的表格型、線性和非線性變體在不同問題上的性能。
- 當折扣因子接近1時,學習速率的提升更加顯著。
- 算法對問題獎勵的整體偏移更加魯棒。
- 本節的參數研究表明,獎勵中心化方法對參數 η \eta η的選擇具有較強的魯棒性。
附錄C包含額外的學習曲線和參數研究,進一步強化了本節觀察到的趨勢。
5 討論、局限性與未來工作
獎勵中心化可以提高幾乎所有持續性強化學習算法的數據效率和魯棒性。在本研究中,我們展示了對學習狀態值函數和動作值函數的算法,以及表格型、線性和非線性函數逼近的算法的改進效果。
我們預計,獎勵中心化也能提升不依賴值函數的算法的性能,例如在持續性問題中使用資格跡(eligibility traces)的REINFORCE算法(Williams, 1992),但這一點尚未得到驗證。
許多基于平均獎勵準則設計的算法已經包含某種形式的獎勵中心化,例如:
- 簡單中心化(Tsitsiklis & Van Roy, 1999)
- 基于值的中心化(Wan et al., 2021)
正是這些早期未使用折扣因子的算法的經驗促使我們探索獎勵中心化在折扣方法中的作用。
此外,我們預計獎勵中心化也能在其他強化學習算法中帶來改進,包括:
- 基于值的算法(如Sarsa,Rummery & Niranjan, 1994),
- 各種離線算法,
- actor-critic算法,
- 基于模型的算法,
但這些仍有待進一步驗證。
獎勵中心化 不適用于情節性(episodic)問題。在這些問題中,目標是最大化直到情節結束前的獎勵總和,因此長期平均獎勵的概念并未定義,并且Laurent級數分解(包含狀態無關項)也不再成立。
此外,如果在情節性問題中直接應用獎勵中心化,它可能會改變問題本身,而不是促進求解。這是因為,與持續性問題不同,從所有獎勵中減去一個常數可能會改變情節性問題的本質。
例如,考慮一個網格世界(gridworld)問題,其中:
- 每個時間步的獎勵為 ? 1 -1 ?1,
- 智能體到達目標狀態后,情節終止。
- 最優策略是盡可能快地到達目標狀態,以最大化情節總獎勵。
然而,如果對該問題進行獎勵中心化,那么:
- 所有修改后的獎勵都將變為0,
- 導致所有策略都變得同等最優,
- 問題本身被算法所改變!
因此,在情節性問題中,中心化(或一般意義上的獎勵平移)可能會根本性地改變問題本身。
在情節性問題中,最接近獎勵中心化的概念可能是策略梯度方法中的回報基準(return baseline)(詳見Sutton & Barto, 2018,第13.4節)。
然而,這種回報基準可能依賴于具體狀態,因此與獎勵中心化并不完全類似。
獎勵中心化與值函數單元(value-function unit)中的偏置權重(bias weight)相似,但本質不同:
- 偏置權重的漸近收斂值依賴于所有其他輸入,通常并不等于 r ( π ) / ( 1 ? γ ) r(\pi)/(1-\gamma) r(π)/(1?γ)。
- 偏置權重的學習會影響所有其他權重的學習過程,因此不會像獎勵中心化那樣提升數據效率。
獎勵中心化更類似于Sutton(1988b)提出的NADALINE線性單元中的特殊學習偏置權重。
此外,獎勵中心化與自適應獎勵尺度的方法(如van Hasselt et al., 2016;Pohlen et al., 2018;Schaul et al., 2021)雖然不同,但風格相似,并且這兩類方法可以結合使用。
獎勵中心化對值函數估計方差的影響較為復雜。
- 一方面,獎勵中心化可能增加方差,因為平均獎勵估計值會隨時間變化。
- 簡單中心化方法在off-policy設置下尤其容易受到影響(例如,見圖3)。
- 另一方面,特別是基于值的中心化,可以減少由狀態依賴性獎勵變化所引起的方差(參見Sutton & Barto, 2018,第10.8節習題)。
- 在所有情況下,可以使用優化技術高效地調整平均獎勵估計的步長參數(Degris et al., 2024)。
獎勵中心化最具前景的擴展方向之一,是將其應用于能夠隨時間自適應調整折扣率參數的強化學習算法。
- 如果沒有獎勵中心化,隨著折扣因子 γ ≈ 1 \gamma\approx1 γ≈1發生微小變化,折扣值會大幅波動,導致學習成本急劇增加。
- 這些變化大多數源于狀態無關項 r ( π ) / ( 1 ? γ ) r(\pi)/(1-\gamma) r(π)/(1?γ),而獎勵中心化可以立即調整其值,以適應新的 γ \gamma γ,無需額外計算。
具體而言,假設智能體已經估計出了平均獎勵 R ˉ \bar{R} Rˉ和中心化折扣值函數 v ~ γ \tilde{v}^{\gamma} v~γ,那么它可以直接估計對應于另一個折扣因子 γ ′ \gamma' γ′的標準折扣值函數:
R ˉ 1 ? γ ′ + v ~ γ . \frac{\bar{R}}{1-\gamma'} + \tilde{v}^{\gamma}. 1?γ′Rˉ?+v~γ.
這個估計值當然不是完美的,但它可以通過少量經驗樣本迅速修正和優化。
相比之下,標準方法需要更長時間才能將估計值調整到新的均值,并適應相對值的變化。
因此,獎勵中心化可以促使強化學習算法高效地隨時間調整折扣因子,例如:
- 在訓練初期或環境發生變化時,使用較低折扣率,以便在高度不確定的情況下加快學習。
- 當環境變得更可預測時,使用較高折扣率,以優化智能體在長時間范圍內獲得的總獎勵。
致謝
作者感謝NSERC、DeepMind以及由CIFAR管理的泛加拿大AI項目的資助。我們感謝Huizhen Yu、Arsalan Sharifnassab、Khurram Javed以及RLAI實驗室的其他成員,他們的討論幫助提升了本文的質量和清晰度。我們還感謝加拿大數字研究聯盟(Digital Research Alliance of Canada) 提供的計算資源。