日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

GAE 算法

發(fā)布時間:2023/12/18 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GAE 算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

由于 CSDN 只支持 KaTeX, 因此有些公式可能無法正常顯示, 如果想要獲得更好的閱讀體驗請前往原博客

準備

眾所周知, 策略梯度有多種寫法, 總的來說, 在保持策略梯度不變的情況下, 策略梯度可以寫作
g=E[∑t=0∞Ψt?θlog?π0(at∣st)](1)g=\mathbb{E}\left[\sum_{t=0}^{\infty}\Psi_t\nabla_\theta \log\pi_0(a_t\mid s_t)\right]\tag{1} g=E[t=0?Ψt??θ?logπ0?(at?st?)](1)
其中 Ψ\PsiΨ 可以是
1.∑t=0∞rt軌跡的總回報2.∑t′=t∞rt′動作后軌跡的總回報3.∑t′=t∞rt′?b(st)基線形式4.Qπ(st,at)狀態(tài)?動作價值函數5.Aπ(st,at)優(yōu)勢函數6.rt+Vπ(st+1)?Vπ(st)TD殘差\begin{aligned} 1.\;&\sum\nolimits_{t=0}^\infty r_t&軌跡的總回報\\ 2.\;&\sum\nolimits_{t'=t}^\infty r_{t'}&動作后軌跡的總回報\\ 3.\;&\sum\nolimits_{t'=t}^\infty r_{t'}-b(s_t)&基線形式\\ 4.\;&Q^{\pi}(s_t,a_t)&狀態(tài)-動作價值函數\\ 5.\;&A^{\pi}(s_t,a_t)&優(yōu)勢函數\\ 6.\;&r_t+V^{\pi}(s_{t+1})-V^\pi(s_t)&\text{TD}\,殘差 \end{aligned} 1.2.3.4.5.6.?t=0?rt?t=t?rt?t=t?rt??b(st?)Qπ(st?,at?)Aπ(st?,at?)rt?+Vπ(st+1?)?Vπ(st?)?態(tài)?優(yōu)TD?
其中
KaTeX parse error: No such environment: align at position 8: \begin{?a?l?i?g?n?}? V^\pi(s_t):=\m…
這里逗號表示 a:ba:ba:b 指的是 (a,a+1,…,b)(a,a+1,\dots,b)(a,a+1,,b) 這樣的序列, E\mathbb{E}E 的下標枚舉了要被積分的變量. 前面 555 項的推導或者推導資料在參數優(yōu)化中都有說明, 而 TD\text{TD}TD 殘差其實是優(yōu)勢函數的一種無偏估計.

其中令 Ψt=Aπ(st,at)\Psi_t=A^\pi(s_t, a_t)Ψt?=Aπ(st?,at?) (優(yōu)勢函數) 的選擇有幾乎最小的方差. 這一點可以從策略梯度的角度直觀的解釋: 策略梯度中的每一步都會增加 “高于平均水平的動作” 的概率, 減少 “低于平均水平的動作” 的概率, 而優(yōu)勢函數 Aπ(st,at)=Qπ(st,at)?Vπ(st)A^{\pi}(s_t,a_t)=Q^{\pi}(s_t,a_t)-V^{\pi}(s_t)Aπ(st?,at?)=Qπ(st?,at?)?Vπ(st?) 恰好衡量了動作相對平均水平的好壞, 當動作高于平均水平時, 優(yōu)勢函數會取正數, 從而增加其概率; 當動作低于平均水平時, 優(yōu)勢函數會取負數. 從而降低其概率.

我們利用一個參數 γ\gammaγ 來降低回報對延遲效應的反應的權重 (即減少未來回報的影響) 來減少方差, 代價是引入偏差. 這個參數相當于有折損的 MDPs\text{MDPs}MDPs 公式, 但是我們將其當做一個在無折損問題中的一個減少方差的參數. 這些有折損的公式可以表示為
KaTeX parse error: No such environment: align at position 8: \begin{?a?l?i?g?n?}? V^{\pi, \gamma…
梯度的有折損近似可以表示為
KaTeX parse error: Undefined control sequence: \substack at position 24: …a:=\mathbb{E}_{\?s?u?b?s?t?a?c?k?{s_{0:\infty},\…
由于優(yōu)勢函數是未知的, 所以我們需要對它進行估計. 在實踐中, 往往只能學習到 Aπ,γA^{\pi,\gamma}Aπ,γ 的一個有偏估計 (但沒有那么偏) .

我們引入一個關于 Aπ,γA^{\pi,\gamma}Aπ,γ 的一個估計, 并且這個估計是無偏的. 考慮一個與整個軌跡有關的優(yōu)勢函數的估計 A^t(s0:∞,a0:∞)\hat{A}_t(s_{0:\infty},a_{0:\infty})A^t?(s0:?,a0:?) .

我們定義: 一個估計 A^t\hat{A}_tA^t?γ-just\gamma\text{-just}γ-just 的當且僅當
KaTeX parse error: Undefined control sequence: \substack at position 14: \mathbb{E}_{\?s?u?b?s?t?a?c?k?{s_{0:\infty},\…
因此如果對于所有的 ttt 來說 A^t\hat{A}_tA^t? 都是 γ-just\gamma\text{-just}γ-just 的話, 就有
KaTeX parse error: Undefined control sequence: \substack at position 14: \mathbb{E}_{\?s?u?b?s?t?a?c?k?{s_{0:\infty},\…
一個令 A^t\hat{A}_tA^t?γ-just\gamma\text{-just}γ-just 的充分條件是 A^t\hat{A}_tA^t? 可以被分解為兩個函數 QtQ_tQt?btb_tbt? 之間的差. 并且 QtQ_tQt? 可以依賴于軌跡中的任意變量, 但必須是 γ\gammaγ-折扣 的 QQQ 函數 (狀態(tài)-動作價值函數) 的無偏估計 (如果要求是狀態(tài)-動作價值函數的估計, 那么由于馬爾科夫性, 在時間 ttt 之前的變量都對狀態(tài)-動作價值函數的值沒有影響, 因此 QtQ_tQt? 只被時間 ttt 以及 ttt 以后的變量決定), 而 btb_tbt? 是先于 ata_tat? 被采樣的動作和狀態(tài)的任意函數. 即如果 A^t\hat{A}_tA^t? 可以被寫成 A^t(s0:∞,a0:∞)=Qt(st:∞,at:∞)?bt(s0:t,a0:t?1)\hat{A}_t(s_{0:\infty},a_{0:\infty})=Q_t(s_{t:\infty},a_{t:\infty})-b_t(s_{0:t},a_{0:t-1})A^t?(s0:?,a0:?)=Qt?(st:?,at:?)?bt?(s0:t?,a0:t?1?) 的形式, 并且對于任意的 (st,at)(s_t,a_t)(st?,at?)Est+1:∞,at+1:∞∣st,at[Qt(st:∞,at:∞)]=Qπ,γ(st,at)\mathbb{E}_{s_{t+1:\infty},a_{t+1:\infty}\mid s_t,a_t}[Q_t(s_{t:\infty},a_{t:\infty})]=Q^{\pi, \gamma}(s_t,a_t)Est+1:?,at+1:?st?,at??[Qt?(st:?,at:?)]=Qπ,γ(st?,at?) , 那么 A^\hat{A}A^ 就是 γ-just\gamma\text{-just}γ-just 的.

證明:
KaTeX parse error: No such environment: align at position 8: \begin{?a?l?i?g?n?}? &\mathbb{E}_{\…
其中
KaTeX parse error: No such environment: align at position 8: \begin{?a?l?i?g?n?}? &\mathbb{E}_{\…

KaTeX parse error: No such environment: align at position 8: \begin{?a?l?i?g?n?}? &\mathbb{E}_{\…
根據 EGLP\text{EGLP}EGLP 定理 (見參數優(yōu)化) 有
KaTeX parse error: Undefined control sequence: \substack at position 14: \mathbb{E}_{\?s?u?b?s?t?a?c?k?{s_{t+1:\infty}…
因此
KaTeX parse error: Undefined control sequence: \substack at position 14: \mathbb{E}_{\?s?u?b?s?t?a?c?k?{s_{0:\infty},\…
所以有
KaTeX parse error: Undefined control sequence: \substack at position 14: \mathbb{E}_{\?s?u?b?s?t?a?c?k?{s_{0:\infty},\…
也就是說 A^\hat{A}A^γ-just\gamma\text{-just}γ-just 的.

容易驗證, 下列估計表達式 A^t\hat{A}_tA^t? 也是 γ-just\gamma\text{-just}γ-just 的:
KaTeX parse error: No such environment: align at position 8: \begin{?a?l?i?g?n?}? &\bullet\sum\n…

優(yōu)勢函數的估計

δtV=rt+γV(st+1)?V(st)\delta_t^V=r_t+\gamma V(s_{t+1})-V(s_t)δtV?=rt?+γV(st+1?)?V(st?)VVVγ\gammaγ 折扣 TD\text{TD}TD 殘差. 注意到 δtV\delta_t^VδtV? 可以被看做是動作 ata_tat? 的優(yōu)勢. 事實上, 如果我們有確切的價值函數 V=Vπ,γV=V^{\pi,\gamma}V=Vπ,γ , 那么 δtVπ,γ\delta_t^{V^{\pi,\gamma}}δtVπ,γ? 會是一個無偏的, γ-just\gamma\text{-just}γ-just 的優(yōu)勢估計.
KaTeX parse error: No such environment: align at position 8: \begin{?a?l?i?g?n?}? \mathbb{E}_{s_…
然而, 也只有當 V=Vπ,γV=V^{\pi,\gamma}V=Vπ,γ 時這個優(yōu)勢估計才是 γ-just\gamma\text{-just}γ-just 的.

接著, 讓我們考慮 kkk 項這樣的 δ\deltaδ 相加的情況, 我們將其記為 A^t(k)\hat{A}_t^{(k)}A^t(k)?
KaTeX parse error: No such environment: align at position 8: \begin{?a?l?i?g?n?}? &\hat{A}_t^{(1…

A^t(k):=∑t=0k?1γlδt+lV=?V(st)+rt+γrt+1+?+γk?1rt+k?1+γkV(st+k)(14)\hat{A}_t^{(k)}:=\sum_{t=0}^{k-1}\gamma^l\delta_{t+l}^V=-V(s_t)+r_t+\gamma r_{t+1}+\dots+\gamma^{k-1}r_{t+k-1}+\gamma^kV(s_{t+k})\tag{14} A^t(k)?:=t=0k?1?γlδt+lV?=?V(st?)+rt?+γrt+1?+?+γk?1rt+k?1?+γkV(st+k?)(14)

容易得出當且僅當 V=Vπ,γV=V^{\pi,\gamma}V=Vπ,γA^t(k)\hat{A}_t^{(k)}A^t(k)?γ-just\gamma\text{-just}γ-just 的. 注意到當 k→∞k\to \inftyk 時, 由于 γkV(st+k)\gamma^kV(s_{t+k})γkV(st+k?) 項急劇減小 (當 V=?Vπ,γV\not= V^{\pi,\gamma}V?=Vπ,γ 時, 該項會產生偏差), 因此其偏差也會減少, 而 ?V(st)-V(s_t)?V(st?) 項是不會產生偏差的 (因為這是基線). 令 k→∞k\to \inftyk , 我們得到
A^t(∞)=∑l=0∞γlδt+lV=?V(st)+∑l=0∞γlrt+l(15)\hat{A}_t^{(\infty)}=\sum_{l=0}^{\infty}\gamma^l\delta_{t+l}^V=-V(s_t)+\sum_{l=0}^\infty\gamma^lr_{t+l}\tag{15} A^t()?=l=0?γlδt+lV?=?V(st?)+l=0?γlrt+l?(15)
僅僅是回報減去價值函數基線.

廣義優(yōu)勢估計 (generalized?advantage?estimator)(\text{generalized advantage estimator})(generalized?advantage?estimator) GAE(γ,λ)\mathrm{GAE}(\gamma,\lambda)GAE(γ,λ) 被定義為這些 kkk 步估計量的指數加權平均:
KaTeX parse error: No such environment: align at position 8: \begin{?a?l?i?g?n?}? \hat{A}_t^{\ma…
這個公式有兩個特殊的情況即 λ=0\lambda=0λ=0λ=1\lambda=1λ=1 ,
KaTeX parse error: No such environment: align at position 8: \begin{?a?l?i?g?n?}? \mathrm{GAE}(\…
GAE(γ,1)\mathrm{GAE}(\gamma,1)GAE(γ,1)γ-just\gamma\text{-just}γ-just 的, 不論 VVV 的精度如何, 但由于其表達式中有多項和而導致其有高方差. 而 GAE(γ,0)\mathrm{GAE}(\gamma,0)GAE(γ,0)γ-just\gamma\text{-just}γ-just 的當且僅當 V=Vπ.γV=V^{\pi.\gamma}V=Vπ.γ , 如果并非如此, 那么就會包含偏差, 但其往往具有更低的方差. 當 0<λ<10<\lambda<10<λ<1 時我們得到更普遍的優(yōu)勢估計, 并且通過調整參數 λ\lambdaλ , 我們可以在偏差和方差之間取得一個平衡.

我們引入了一個包含兩個參數 γ\gammaγλ\lambdaλ 的優(yōu)勢估計, 這兩個參數都會影響偏差和方差之間的平衡. 但是, 它們的作用以及對平衡的影響有本質上的不同. γ\gammaγ 決定了價值函數 Vπ,γV^{\pi,\gamma}Vπ,γ 的最大值, 而 λ\lambdaλ 對其并沒有影響. 并且無論價值函數是否是正確的, 只要 γ<1\gamma<1γ<1 那么對于梯度 ggg 來說就一定會有偏差 (因為已經使用了有折損回報, 而我們要優(yōu)化的是無折損回報, 而 γ\gammaγ 可以看做是影響方差與偏差的一個參數) . 而當 λ<1\lambda<1λ<1 時只有錯誤的價值函數才會帶來偏差. 因此我們往往會發(fā)現 λ\lambdaλ 的最優(yōu)值往往比 γ\gammaγ 的最優(yōu)值要低得多, 這有可能是因為當獲取到一個足夠準確的價值函數后 λ\lambdaλ 引入的誤差要比 γ\gammaγ 小得多.

使用廣義優(yōu)勢估計, 我們可以構建一個 gγg^\gammagγ 的有偏估計
gγ≈E[∑t=0∞?θlog?πθ(at∣st)A^tGAE(γ,λ)]=E[∑t=0∞?θlog?πθ(at∣st)∑l=0∞(γλ)lδt+lV](19)g^\gamma\approx\mathbb{E}\left[\sum_{t=0}^{\infty}\nabla_\theta\log\pi_{\theta}(a_t\mid s_t)\hat{A}_t^{\mathrm{GAE(\gamma,\lambda)}}\right]=\mathbb{E}\left[\sum_{t=0}^{\infty}\nabla_\theta\log\pi_{\theta}(a_t\mid s_t)\sum_{l=0}^\infty (\gamma\lambda)^l\delta_{t+l}^V\right]\tag{19} gγE[t=0??θ?logπθ?(at?st?)A^tGAE(γ,λ)?]=E[t=0??θ?logπθ?(at?st?)l=0?(γλ)lδt+lV?](19)
λ=1\lambda=1λ=1 時就是無偏的了.

對回報變形后的解釋

Φ?:S→R\Phi \colon\mathcal{S}\to \mathbb{R}Φ:SR 為在狀態(tài)空間上的任意函數考慮一個變形后的回報 r~\tilde{r}r~
r~(s,a,s′)=r(s,a,s′)+γΦ(s′)?Φ(s)(20)\tilde{r}(s,a,s')=r(s,a,s')+\gamma\Phi(s')-\Phi(s)\tag{20} r~(s,a,s)=r(s,a,s)+γΦ(s)?Φ(s)(20)
容易證明, 對于變形后的回報, 其有折損和為
∑l=0∞γlr~(st+l,at,at+l+1)=∑l=0∞γlr(st+l,at,at+l+1)?Φ(st)(21)\sum_{l=0}^\infty \gamma^l \tilde{r}(s_{t+l},a_t,a_{t+l+1})=\sum_{l=0}^\infty \gamma^l r(s_{t+l},a_t,a_{t+l+1})-\Phi(s_t)\tag{21} l=0?γlr~(st+l?,at?,at+l+1?)=l=0?γlr(st+l?,at?,at+l+1?)?Φ(st?)(21)
類似的, 我們定義
KaTeX parse error: No such environment: align at position 8: \begin{?a?l?i?g?n?}? &\tilde{Q}^{\p…
分別為變形后的回報, 價值, 優(yōu)勢函數.

注意到如果 Φ\PhiΦ 如果恰好等于價值函數 Vπ,γV^{\pi,\gamma}Vπ,γ , 那么 V~π,γ(s)\tilde{V}^{\pi,\gamma}(s)V~π,γ(s) 對于任何狀態(tài)都等于零.

同樣注意到使用變形后的回報對最大化有折損回報 ∑t=0∞γtr(st,at,st+1)\sum_{t=0}^\infty \gamma^tr(s_t,a_t,s_{t+1})t=0?γtr(st?,at?,st+1?) 的策略梯度是沒有影響的. 但本文的目的其實是要最大化無折損回報, 而 γ\gammaγ 是一個用來降低方差的參數.

引出回報變形后, 讓我們考慮將其使用在梯度估計上. 注意到 r~\tilde{r}r~ 的形式與 δV\delta^VδV 完全相同. 如果我們令 Φ=V\Phi=VΦ=V , 那么就有
∑l=0∞(γλ)lr~(st+l,at,st+l+1)=∑l=0∞(γλ)lδt+lV=A^tGAE(γ,λ)(25)\sum_{l=0}^\infty(\gamma\lambda)^l\tilde{r}(s_{t+l},a_t,s_{t+l+1})=\sum_{l=0}^\infty(\gamma\lambda)^l\delta_{t+l}^V=\hat{A}_t^{\mathrm{GAE}(\gamma,\lambda)}\tag{25} l=0?(γλ)lr~(st+l?,at?,st+l+1?)=l=0?(γλ)lδt+lV?=A^tGAE(γ,λ)?(25)
因此可以將 δtV\delta_{t}^VδtV? 理解為變形后的回報, 而 γλ\gamma\lambdaγλ 其實就是折損.

還有另一種解釋, 記響應函數 χ\chiχ
χ(l;s,a)=E[rt+l∣st,at]?E[rt+l∣st](26)\chi(l;s,a)=\mathbb{E}[r_{t+l}\mid s_t,a_t]-\mathbb{E}[r_{t+l}\mid s_t]\tag{26} χ(l;s,a)=E[rt+l?st?,at?]?E[rt+l?st?](26)
注意到 Aπ,γ(s,a)=∑l=0∞γlχ(l;s,a)A^{\pi,\gamma}(s,a)=\sum_{l=0}^\infty \gamma^l\chi(l;s,a)Aπ,γ(s,a)=l=0?γlχ(l;s,a) . 然后重新回憶我們用折扣因子 γ\gammaγAπ,γA^{\pi,\gamma}Aπ,γ 來估計的策略梯度 (式 (6)(6)(6)) 中有如下形式
?θlog?π0(at∣st)Aπ,γ(st,at)=?θlog?π0(at∣st)∑l=0∞γlχ(l;s,a)(27)\nabla_\theta \log\pi_0(a_t\mid s_t)A^{\pi, \gamma}(s_t,a_t)=\nabla_\theta \log\pi_0(a_t\mid s_t)\sum_{l=0}^\infty \gamma^l\chi(l;s,a)\tag{27} ?θ?logπ0?(at?st?)Aπ,γ(st?,at?)=?θ?logπ0?(at?st?)l=0?γlχ(l;s,a)(27)
使用折扣 γ<1\gamma<1γ<1 相當于急劇減少當 l?1/(1?γ)l\gg 1/(1-\gamma)l?1/(1?γ) 的項 (因為 γl\gamma^lγl 會變得很小) . 因此這些項帶來的偏差會隨著 lll 的增加而變少, 也就是說, 在大約 1/(1?γ)1/(1-\gamma)1/(1?γ) 步后行動對回報的影響看起來像是被 “遺忘” 了.

如果我們使用變形后的回報 r~\tilde{r}r~ 并且有 Φ=Vπ,γ\Phi=V^{\pi,\gamma}Φ=Vπ,γ , 不難得到當 l>0l>0l>0 時有 E[r~t+l∣st,at]=E[r~t+l∣st]=0\mathbb{E}[\tilde{r}_{t+l}\mid s_t,a_t]=\mathbb{E}[\tilde{r}_{t+l}\mid s_t]=0E[r~t+l?st?,at?]=E[r~t+l?st?]=0 (由于 ttt 之后時刻采取的動作的概率完全依賴于那時候的狀態(tài) sss , 而 ttt 時刻的動作已經給定為 ata_tat?) . 因此只有 l=0l=0l=0 是項才是非零的. 因此變形回報將依賴長時間的梯度估計變成了瞬時的. 當然我們往往難以得到非常好的估計, 但這已經能夠給出式 (16)(16)(16) 的一個很好的解釋: 變形后的回報可以通過擬合 Vπ,γV^{\pi,\gamma}Vπ,γ 來減少響應函數起作用的范圍, 通過引入一個更陡的折損 γλ\gamma\lambdaγλ 來減少由回報延遲 (即梯度估計中有很多項回報的和) 引起的噪聲 (這是產生方差的原因), 也就是當 l?1/(1?γλ)l\gg 1/(1-\gamma\lambda)l?1/(1?γλ) 時忽略項 ?θlog?π0(at∣st)δt+lV\nabla_\theta \log\pi_0(a_t\mid s_t)\delta^{V}_{t+l}?θ?logπ0?(at?st?)δt+lV? .

后記

這篇文章可能可以算是論文 High-Dimensional Continuous Control Using Generalized Advantage Estimation 的一個翻譯, 但是其中增添了一些我自己的理解并且有些東西換了一些表述. 這篇文章只有論文前半部分的內容, 后面則是講如何擬合價值函數以及一些探究, 有興趣的可以看原論文. 其實原論文后面這段解釋我看著怪怪的… 雖然說不出什么問題吧… 但是總感覺沒什么必要… 因為前面的介紹以及推導已經解釋了 GAE\text{GAE}GAE 是如何起作用的… 還有我本人英語非常菜, 借助了翻譯才一點點看下來… 如果哪個地方理解不對請指出, 還有大佬們請輕噴.

總結

以上是生活随笔為你收集整理的GAE 算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。