增強學習筆記 第十三章 策略梯度方法


我們通過參數θ定義偏好函數$h(s,a,\theta)$,通過h的softmax表示$\pi(a|s)$,然后根據$\pi(a,s)$計算優劣度$\eta(\theta)=v_{\pi_{\theta}}(s_0)$,最后,通過計算$\eta$對$\theta$的梯度,來實現$\theta$的更新。

13.1 策略梯度定理

定義策略優劣度:$\eta(\theta)=v_{\pi_{\theta}}(s_0)$

可以證明:

注意上面證明過程中$d_{\pi}(s)=\displaystyle\sum_{k=0}^{\infty}\gamma^k Pr(s_0\to s,k,\pi)$,表示按照策略π從起始狀態$s_0$到達狀態s的總可能性,並且根據步數作了折扣。這個值非常地不直觀,也不利於下面的推導。因此我不用d這個變量。

 

13.3 MC的策略梯度方法

書中推導過程有些晦澀,這里我用更直觀的方式來表達:

$\nabla\eta(\theta)=\displaystyle\sum_s\sum_{k=0}^{\infty}\gamma^k Pr(s_0\to s,k|\pi)\sum_a\nabla\pi(a|s)q_{\pi}(s,a)$

$=\displaystyle\sum_s\sum_{k=0}^{\infty}\sum_a Pr(s_0\to s,k|\pi)\pi(a|s)\frac{\nabla\pi(a|s)}{\pi(a|s)}\gamma^k q_{\pi}(s,a)$

$=\displaystyle\sum_s\sum_{k=0}^{\infty}\sum_a Pr(s_0\to s,a,k|\pi)\pi(a|s)\frac{\nabla\pi(a|s)}{\pi(a|s)}\gamma^k q_{\pi}(s,a)$

其中$Pr(s_0\to s,a,k|\pi)$表示在策略π下,k步達到s且采取a的概率。

而$G_k$恰好是$q(s,a)$的采樣,表示從k往后平均能獲得多少總獎勵

$=E_{\pi}[\frac{\nabla\pi(a|s)}{\pi(a|s)}\gamma^k G_k]$ (這里表達不嚴格,因為k是積分變量)

 

梯度算出來之后,就有了迭代更新式(梯度上升):

 

 對線性模型+softmax的偏好函數來說,我們有:

13.4 基線

為了減少學習的方差,我們引入基線函數$b(s)$

$b(s)$可以取任何值,任何函數,只要不和a相關,就不影響上面式子的結果。因為:

但是,對於隨機梯度下降來說,因為我們是根據一個一個取樣來實現梯度上升,引入基函數可以極大地減少更新時的波動。更精確地,當

$b(s)=E_a[q_{\pi}(s,a)]=v(s)$時,方差將最小。

因此,我們在改進η的同時,我們也要設法計算$v(s)$,因此我們引入一個新的參數w來計算$v(s)$

θ的迭代更新式為:

 

13.5 Actor-Critic方法

上面使用MC方法,為了改善學習性能,我們介紹TD方法。這時候,value函數不僅用來當baseline,還要用來backup。下面是TD(0)的迭代更新式:

結合前一章資格跡,TD(λ)的算法如下:

 

 

 13.6 連續問題的策略梯度方法

連續問題中,η定義為每一步的平均收益:

其中$d_{\pi}(s)$為狀態$s$出現的比例

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM