不同于近似價(jià)值函數(shù)并以此計(jì)算確定性的策略的基于價(jià)值的RL方法,,基于策略的RL方法將策略的學(xué)習(xí)從概率集合\(P(a|s)\)變換成策略函數(shù)\(\pi(a|s)\),,并通過(guò)求解策略目標(biāo)函數(shù)的極大值,,得到最優(yōu)策略\(\pi^*\),主要用的是策略梯度方法(Policy Gradient Methods),。 策略梯度方法直接對(duì)隨機(jī)策略\(\pi\)進(jìn)行參數(shù)化為\(\pi(a|s,\theta)=\Pr\{A_t=a|S_t=s,\theta_t=\theta\}\),,其中\(s\in\mathcal{S}\),\(a\in\mathcal{A}(s)\),,權(quán)重參數(shù)向量\(\theta\in\mathbb{R}^{d^\prime}(d^\prime<<|\mathcal{S}|)\),,參數(shù)化后的策略不再是一個(gè)概率集合,而是一個(gè)近似函數(shù),。 相比于基于價(jià)值的RL方法,,策略梯度方法的優(yōu)勢(shì)如下:
缺點(diǎn)如下:
策略梯度定義策略函數(shù)策略函數(shù)是在確定在時(shí)序\(t\)的狀態(tài)\(s\)下,,采取任何科恩那個(gè)動(dòng)作的具體概率,,可以看作概率密度函數(shù)。假設(shè)策略被參數(shù)化為\(\pi(a|s,\theta)\),,要求\(\pi(a|s,\theta)\)對(duì)參數(shù)\(\theta\)的偏導(dǎo)存在,,則策略梯度 \[\begin{aligned}
\triangledown\pi(a|s,\theta) & =\pi(a|s,\theta)\frac{\triangledown \pi(a|s,\theta)}{\pi(a|s,\theta)}\&=\pi(a|s,\theta)\triangledown\ln \pi(a|s,\theta)
\end{aligned} \tag{7.1}
\] \(\triangledown \log\pi(a|s,\theta)\)是得分函數(shù)(score function)。
針對(duì)離散且有限的動(dòng)作空間,可以使用softmax策略,,對(duì)每一個(gè)“狀態(tài)-動(dòng)作”二元組估計(jì)一個(gè)參數(shù)化的數(shù)值偏好\(h(s,a,\theta)\in\mathbb{R}\),,然后利用softmax函數(shù)對(duì)動(dòng)作加權(quán),如 \[\pi(a|s,\theta)\doteq \frac{e^{h(s,a,\theta)}}{\sum_b e^{h(s,b,\theta)}}
\] 此時(shí),,每個(gè)動(dòng)作的概率正比于指數(shù)權(quán)重\(\pi(a|s,\theta)\propto e^{h(s,a,\theta)}\),。若參數(shù)化的偏好值為特征\(x(s,a)\)的線(xiàn)性組合,則\(h(s,a,\theta)=\theta^\top x(s,a)\),,此時(shí)得分函數(shù)為 \[\triangledown\log\pi(a|s,\theta)=x(s,a)-\mathbb{E}_\pi [x(s,\cdot)]
\]
針對(duì)龐大或連續(xù)的動(dòng)作空間,,不能直接計(jì)算每一個(gè)動(dòng)作的概率,但可以學(xué)習(xí)概率分布的統(tǒng)計(jì),。通??梢允褂肎aussian策略,即對(duì)應(yīng)的動(dòng)作服從高斯分布\(a\sim\mathcal{N}(\mu,\sigma^2)\),,則策略可以表示為 \[\pi(a|s,\theta)\doteq \frac{1}{\sigma(s,\theta)\sqrt{2\pi}}\exp\bigg(-\frac{\big(a-\mu(s,\theta)\big)^2}{2\sigma(s,\theta)^2}\bigg)
\] 其中,,均值\(\mu:\mathcal{S}\times\mathbb{R}^{d^\prime}\to\mathcal{R}\)和方差\(\sigma:\mathcal{S}\times\mathbb{R}^{d^\prime}\to\mathcal{R}^+\)是兩個(gè)參數(shù)化的函數(shù)近似器。因此,,參數(shù)向量可以分為兩部分\(\theta=[\theta_\mu,\theta_\sigma]^\top\),,同時(shí)特征向量也分為兩部分\(x=[x_\mu,x_\sigma]\),均值部分可以直接使用線(xiàn)性函數(shù)近似,,而標(biāo)準(zhǔn)差部分要求為正數(shù),,可以使用線(xiàn)性函數(shù)的指數(shù)形式近似 \[\mu(s,\theta)\doteq\theta_\mu^\top x_\mu(s)\text{ 和 }\sigma(s,\theta)\doteq\exp\Big(\theta_\sigma^\top x_\sigma(s)\Big)
\] 此時(shí)得分函數(shù)為 \[\triangledown\log\pi(a|s,\theta)=\frac{(a-\mu(s))x(s)}{\sigma^2}
\] 性能度量有了策略函數(shù),還要定義性能度量來(lái)衡量策略的好壞,。一般將智能體累積折扣獎(jiǎng)勵(lì)的期望作為目標(biāo)函數(shù),,用\(J(\theta)\)表示。利用相關(guān)策略的目標(biāo)函數(shù)\(J(\theta)\)的梯度上升更新\(\theta\),,從而最大化獎(jiǎng)勵(lì)的期望: \[\theta_{t+1}=\theta_t+\alpha\triangledown\widehat{J(\theta_t)} \tag{7.2}
\] 在幕式任務(wù)和連續(xù)任務(wù)這兩種不同的情況下,,性能度量的定義是不同的:
針對(duì)幕式任務(wù),將性能度量定義為該幕起始狀態(tài)的價(jià)值,,即 \[J_1(\theta)\doteq v_{\pi_\theta}(s_0)=\mathbb{E}_{\pi_\theta}[v_0]
\] 其中,,\(v_{\pi_\theta}\)是執(zhí)行策略\(\pi_\theta\)的真實(shí)的價(jià)值函數(shù)。適用于能夠產(chǎn)生完整經(jīng)驗(yàn)軌跡的環(huán)境,,即從狀態(tài)\(s_0\)開(kāi)始,,以一定的概率分布達(dá)到終止?fàn)顟B(tài)時(shí)序段內(nèi),智能體獲得的累積獎(jiǎng)勵(lì),。
在連續(xù)任務(wù)中,,智能體沒(méi)有明確的起始狀態(tài),可以基于智能體在時(shí)序\(t\)的狀態(tài)分布,,針對(duì)每個(gè)可能的狀態(tài)計(jì)算從\(t\)開(kāi)始持續(xù)與環(huán)境交互所能獲得的獎(jiǎng)勵(lì),,并按其狀態(tài)的概率分布求和,,即 \[J_{avgV}(\theta)\doteq\sum_{s\in\mathcal{S}}d_{\pi_\theta}(s)v_{\pi_\theta}(s)
\] 其中,\(s\sim d_{\pi_\theta}(s)\)表示狀態(tài)\(s\)服從根據(jù)策略\(\pi_\theta\)生成的馬爾科夫鏈的狀態(tài)分布,。
平均價(jià)值使用時(shí)序\(t\)下?tīng)顟B(tài)的平均價(jià)值,,而每個(gè)時(shí)序的平均獎(jiǎng)勵(lì)使用時(shí)序\(t\)的狀態(tài)下所有動(dòng)作的期望,即在時(shí)序\(t\)先計(jì)算出智能體所有狀態(tài)的可能性,,然后計(jì)算出在每一種狀態(tài)下采取所有可能動(dòng)作獲得的即時(shí)獎(jiǎng)勵(lì),,并按其對(duì)應(yīng)的概率求和,即 \[\begin{aligned}
J_{avgR}(\theta)\doteq\mathbb{E}_{\pi_\theta}[r] &=\sum_{s\in\mathcal{S}}d_{\pi_\theta}(s)\sum_{a\in\mathcal{A}}\pi_\theta(a|s)r_{s,a} \&=\sum_s d_{\pi_\theta}(s)\sum_a\pi(a|s)\sum_{s^\prime,r}p(s^\prime,r|s,a)r
\end{aligned}
\] 其中,,\(d_{\pi_\theta}(s)=\lim_{t\to\infty}\Pr\{s_t=s|s_0,\pi_\theta\}\)是策略\(\pi_\theta\)下?tīng)顟B(tài)的穩(wěn)態(tài)分布,\(s_0\)獨(dú)立于所有策略,,\(r_{s,a}\)是狀態(tài)\(s\)下執(zhí)行動(dòng)作\(a\)得到的即時(shí)獎(jiǎng)勵(lì),。它實(shí)際上是單步MDPs,也就是從狀態(tài)\(s\sim d(s)\)開(kāi)始,,根據(jù)策略\(\pi\)執(zhí)行動(dòng)作\(a\),,此時(shí)得到了一個(gè)獎(jiǎng)勵(lì)值\(r\),完成了一個(gè)時(shí)序后結(jié)束,。 策略梯度定理已經(jīng)給出了策略函數(shù)和性能度量,,但通過(guò)調(diào)整策略參數(shù)\(\theta\)來(lái)保證性能得到改善仍存在疑點(diǎn),主要在于策略的性能既依賴(lài)于動(dòng)作的選擇,,也依賴(lài)于動(dòng)作選擇時(shí)所處的狀態(tài)分布,,而策略\(\pi(a|s)\)的定義是已知狀態(tài)\(s\)下動(dòng)作\(a\)的概率,因此策略對(duì)狀態(tài)分布的影響未知,。這里就引出了策略梯度定理(policy gradient theorem),。 Policy Gradient Theroem \[\triangledown J(\theta)\propto\sum_s\mu(s)\sum_a q_\pi(s,a)\triangledown_\theta\pi(a|s,\theta) \tag{7.3}
\] 在幕式情況下,,比例常數(shù)為幕的平均長(zhǎng)度,;在連續(xù)情況下,比例常數(shù)為1,。\(\mu(s)\)是同步策略下的狀態(tài)分布,。 (證明見(jiàn)Append) 策略梯度算法REINFORCE:Monte Carlo Policy GradientREINFORCE是一種蒙特卡洛算法,一般應(yīng)用于幕式任務(wù),,也需要在每個(gè)幕達(dá)到終止?fàn)顟B(tài)后才能進(jìn)行更新,。 根據(jù)策略梯度定理\((7.3)\),REINFORCE的目標(biāo)函數(shù)梯度可以寫(xiě)成 \[\begin{aligned}
\triangledown J(\theta)
&\propto\sum_s\mu(s)\sum_a\triangledown\pi(a|s,\theta)q_\pi(s,a) \&=\mathbb{E}_\pi \bigg[\sum_a q_\pi (S_t,a) \triangledown \pi(a|S_t,\theta)\bigg] \&=\mathbb{E}_\pi \bigg[\sum_a \pi(a|S_t,\theta)q_\pi(S_t,a)\frac{\triangledown \pi(a|S_t,\theta)}{\pi(a|S_t,\theta)}\bigg] \&(A_t\sim\pi,,因此\sum_a \pi(a|S_t,\theta)q_\pi(S_t,a)可以用q_\pi(S_t,A_t)代替)\&=\mathbb{E}_\pi\bigg[q_\pi(S_t,A_t)\frac{\triangledown \pi(a|S_t,\theta)}{\pi(a|S_t,\theta)}\bigg]\&(根據(jù)q_\pi的定義,,q_\pi(S_t,A_t)=\mathbb{E}_\pi[G_t|S_t,A_t],G_t是回報(bào)值)\&=\mathbb{E}_\pi\bigg[G_t\frac{\triangledown \pi(A_t|S_t,\theta)}{\pi(A_t|S_t,\theta)}\bigg]
\end{aligned}
\] 根據(jù)式\((7.2)\)的隨機(jī)梯度上升,,可以得到參數(shù)的更新如下 \[\begin{aligned}
\theta_{t+1}
&\leftarrow \theta_t+\alpha G_t\frac{\triangledown \pi(A_t|S_t,\theta_t)}{\pi(A_t|S_t,\theta_t)} \&\leftarrow\theta_t+\alpha G_t\triangledown \ln \pi(A_t|S_t,\theta_t) \\end{aligned}
\] 參數(shù)向量\(\theta\)更新的大小正比于回報(bào)\(G_t\),,使更新朝著更利于產(chǎn)生最大回報(bào)動(dòng)作的方向;同時(shí),它反比于策略\(\pi(A_t|S_t,\theta)\),,減少非最優(yōu)動(dòng)作因選擇頻率過(guò)大導(dǎo)致的性能影響,。 REINFORCE with Baseline帶基線(xiàn)的REINFORCE算法可以看作是一種推廣形式,它是在策略梯度定理\((7.3)\)上添加一個(gè)不隨動(dòng)作\(a\)變化的任意基線(xiàn)\(b(s)\),,形式如下 \[\triangledown J(\theta)\propto\sum_s\mu(s)\sum_a\big(q_\pi(s,a)-b(s)\big)\triangledown_\theta \pi(a|s,\theta)
\] 基線(xiàn)\(b(s)\)不會(huì)影響策略的梯度,,因?yàn)樘荻确较虻膯挝幌蛄恐蜑?,即\(\triangledown_\theta \sum_a\pi(a|s,\theta)=\triangledown_\theta 1=0\),。通??梢詫顟B(tài)價(jià)值函數(shù)近似\(\hat{v}(S_t,w)\),\(w\in\mathbb{R}^m\)作為基線(xiàn),,改良后的REINFORCE算法參數(shù)更新為 \[w_{t+1}\leftarrow w_t+\alpha^w \gamma^t \big(G_t-\hat{v}(S_t,w)\big)\triangledown_w \hat{v}(S_t,w)
\] \[\theta_{t+1}\leftarrow \theta_t+\alpha^\theta \gamma^t \big(G_t-\hat{v}(S_t,w)\big)\triangledown_\theta \ln \pi(A_t|S_t,\theta)
\] Append策略梯度定理(證明)
\[\begin{aligned}
\triangledown J(\theta)
&=\triangledown v_\pi(s) \&=\triangledown \bigg[\sum_a \pi(a|s)q_\pi(s,a)\bigg] \&=\sum_a\Big[\triangledown\pi(a|s)q_\pi(s,a)+\pi(a|s)\triangledown q_\pi(s,a)\Big] \&=\sum_a \Big[\triangledown\pi(a|s)q_\pi(s,a)+\pi(a|s)\triangledown \sum_{s^\prime,r}p(s^\prime|s,a)(r+v_\pi(s^\prime))\Big] \&=\sum_a\Big[\triangledown\pi(a|s)q_\pi(s,a)+\pi(a|s)\sum_{s^\prime}p(s^\prime|s,a)\triangledown v_\pi(s^\prime)\Big] \&=\sum_a\Big[\triangledown\pi(a|s)q_\pi(s,a)+\pi(a|s)\sum_{s^\prime}p(s^\prime|s,a)\sum_{a^\prime}[\triangledown\pi(a^\prime|s^\prime)q_\pi(s^\prime,a^\prime)+\pi(a^\prime|s^\prime)\sum_{s^{\prime\prime}}p(s^{\prime\prime}|s^\prime,a^\prime)\triangledown v_\pi(s^{\prime\prime})]\Big] \&=\sum_{x\in\mathcal{S}}\sum_{k=0}^\infty \Pr(s\to x,k,\pi)\sum_a\triangledown\pi(a|x)q_\pi(x,a) \&\propto\sum_s \mu(s)\sum_a\triangledown\pi(a|s)q_\pi(s,a) \\end{aligned}
\] 其中,,\(\Pr(s\to x,k,\pi)\)表示在策略\(\pi\)下的\(k\)步內(nèi),狀態(tài)\(s\)轉(zhuǎn)移到狀態(tài)\(x\)的概率,。
\[\begin{aligned}
\triangledown v_\pi(s)
&=\triangledown \Big[\sum_a \pi(a|s)q_\pi(s,a)\Big] \&=\sum_a \Big[\triangledown\pi(a|s)q_\pi(s,a)+\pi(a|s)\triangledown q_\pi(s,a)\Big] \&=\sum_a\Big[\triangledown\pi(a|s)q_\pi(s,a)+\pi(a|s)\triangledown\sum_{s^\prime,r}p(s^\prime,r|s,a)\big(r-r(\theta)+v_\pi(s^\prime)\big)\Big] \&=\sum_a\Big[\triangledown\pi(a|s)q_\pi(s,a)+\pi(a|s)[-\triangledown r(\theta)+\sum_{s^\prime}p(s^\prime|s,a)\triangledown v_\pi(s^\prime)]\Big] \\end{aligned}
\] 由上可以得到 \[\triangledown r(\theta)=\sum_a\Big[\triangledown\pi(a|s)q_\pi(s,a)+\pi(a|s)\sum_{s^\prime}p(s^\prime|s,a)\triangledown v_\pi(s^\prime)\Big]-\triangledown v_\pi(s)
\] 目標(biāo)函數(shù)的梯度為 \[\begin{aligned}
\triangledown J(\theta)
&=\triangledown r(\theta) \&=\sum_a\Big[\triangledown\pi(a|s)q_\pi(s,a)+\pi(a|s)\sum_{s^\prime}p(s^\prime|s,a)\triangledown v_\pi(s^\prime)\Big]-\triangledown v_\pi(s) \&(對(duì)前一項(xiàng)添加狀態(tài)的權(quán)重\mu(s),,\sum_s\mu(s)=1,不影響梯度) \&=\sum_s\mu(s)\sum_a\Big[\triangledown\pi(a|s)q_\pi(s,a)+\pi(a|s)\sum_{s^\prime}p(s^\prime|s,a)\triangledown v_\pi(s^\prime)\Big]-\triangledown v_\pi(s) \&=\sum_s\mu(s)\sum_a \triangledown\pi(a|s)q_\pi(s,a)+\mu(s)\sum_a\pi(a|s)\sum_{s^\prime}p(s^\prime|s,a)\triangledown v_\pi(s^\prime)-\mu(s)\sum_a \triangledown v_\pi(s) \&=\sum_s\mu(s)\sum_a\triangledown\pi(a|s)q_\pi(s,a)+\sum_{s^\prime}\mu(s^\prime)\triangledown v_\pi(s^\prime)-\sum_s\mu(s)\triangledown v_\pi(s) \&=\sum_s\mu(s)\sum_a\triangledown \pi(a|s)q_\pi(s,a)
\end{aligned}
\] ReferencesRichard S. Sutton and Andrew G. Barto. Reinforcement Learning: An Introduction (Second Edition). 2018. |
|
來(lái)自: 頭號(hào)碼甲 > 《待分類(lèi)》