網(wǎng)站建設(shè)師百度百科網(wǎng)絡(luò)輿情監(jiān)測
強(qiáng)化學(xué)習(xí)是一種機(jī)器學(xué)習(xí)方法,通過agent與environment的互動,學(xué)習(xí)適當(dāng)?shù)腶ction policy以取得更大的獎勵reward。本篇博客介紹強(qiáng)化學(xué)習(xí)的基礎(chǔ)知識,與兩類強(qiáng)化學(xué)習(xí)模型。
目錄
- 強(qiáng)化學(xué)習(xí)的基礎(chǔ)設(shè)定
- policy based 強(qiáng)化學(xué)習(xí)的目標(biāo)
- 3個注意事項(xiàng)
- 實(shí)際訓(xùn)練過程
- 重要性采樣
- value based 強(qiáng)化學(xué)習(xí)的目標(biāo)
- Temporal Differential learning (TD learning)
- 參考
強(qiáng)化學(xué)習(xí)的基礎(chǔ)設(shè)定
強(qiáng)化學(xué)習(xí)和監(jiān)督學(xué)習(xí),非監(jiān)督學(xué)習(xí)一樣是一種基本學(xué)習(xí)模式,在強(qiáng)化學(xué)習(xí)的框架中,一共有2個主體:agent
與environment
。environment
會給agent
一些狀態(tài)信息state
,agent
可以根據(jù)state
的情況進(jìn)行action
的選擇,并從environment
獲得一些獎勵reward
。
強(qiáng)化學(xué)習(xí)分為2類:policy based
和value based
。二者并非互斥關(guān)系,存在一些模型既是policy based
又是value based
例如:A3C[ICML2016]。
policy based 強(qiáng)化學(xué)習(xí)的目標(biāo)
強(qiáng)化學(xué)習(xí)的目標(biāo)是學(xué)習(xí)一個policy使得最終全場決策下來得到的總reward最大。具體展開而言,給定一個state,agent決策采取action的策略模型,用π\(zhòng)piπ表示,π\(zhòng)piπ的參數(shù)是θ\thetaθ,由于policy根據(jù)state采取action,我們可以用公式:a=πθ(s)a=\pi_\theta(s)a=πθ?(s)表示。當(dāng)agent做出action操作后,environment會給出一個reward并更新狀態(tài),至此一輪決策結(jié)束。多輪決策組成一個由state, action, reward組成的序列,我們定義為τ=(s1,a1,r1,...sT,aT,rT)\tau=(s_1, a_1,r_1,...s_T,a_T,r_T)τ=(s1?,a1?,r1?,...sT?,aT?,rT?)。RτR_\tauRτ?是整場決策結(jié)束后總共的獎勵,Rτ=∑t=1TrtR_\tau=\sum_{t=1}^Tr_tRτ?=∑t=1T?rt?,強(qiáng)化學(xué)習(xí)的目的是最大化RτR_\tauRτ?。
在實(shí)際決策過程中,即便π\(zhòng)piπ和environment不變,每一步的action依舊有隨機(jī)性,因而最終的獎勵RτR_\tauRτ?也不會完全一致,而是具有一些隨機(jī)性。因此強(qiáng)化學(xué)習(xí)的目標(biāo)為最大化一個π\(zhòng)piπ下的平均RτR_\tauRτ?,即E[Rτ]=∑τR(τ)p(τ∣θ)E[R_\tau]=\sum_{\tau}R(\tau)p(\tau|\theta)E[Rτ?]=∑τ?R(τ)p(τ∣θ),很顯然我們無法得到準(zhǔn)確的期望,因?yàn)槲覀儫o法把一個參數(shù)設(shè)定下所有的決策路徑全都取一個遍,因而實(shí)際使用中,通過采樣取平均值的方法得到一個期望的近似值。R(θ)≈1N∑n=1NR(τn)R(\theta)\approx \frac{1}{N}\sum_{n=1}^{N}R(\tau_n)R(θ)≈N1?∑n=1N?R(τn?)。
強(qiáng)化學(xué)習(xí)的優(yōu)化目標(biāo)即為:R(θ)≈1N∑n=1NR(τn)R(\theta)\approx \frac{1}{N}\sum_{n=1}^{N}R(\tau_n)R(θ)≈N1?∑n=1N?R(τn?)。
通過梯度下降提升優(yōu)化目標(biāo),這一步需要求R(θ)R(\theta)R(θ)的導(dǎo)數(shù)。?Rθ=∑τR(τ)?p(τ∣θ)=∑τR(τ)p(τ∣θ)?p(τ∣θ)p(τ∣θ)=∑τR(τ)p(τ∣θ)?log(p(τ∣θ))p(τ∣θ)=p(s1)p(a1∣s1)p(s2,r1∣s1,a1)...p(sT,rT?1∣sT?1,aT)log(p(τ∣θ))=log(p(s1))+∑t=1Tlog(p(at∣st,θ))+∑t=1Tlog(p(rt,st?1∣st,at))?log(p(τ∣θ))=∑t=1T?log(p(at∣st,θ))\nabla R_\theta=\sum_{\tau}R(\tau)\nabla p(\tau|\theta)=\sum_{\tau} R(\tau)p(\tau|\theta)\frac{\nabla p(\tau|\theta)}{p(\tau|\theta)}=\sum_{\tau}R(\tau)p(\tau|\theta)\nabla log(p(\tau|\theta))\\ p(\tau|\theta)=p(s_1)p(a_1|s_1)p(s_2,r_1|s_1,a_1)...p(s_T,r_{T-1}|s_{T-1},a_{T})\\ log(p(\tau|\theta))=log(p(s_1))+\sum_{t=1}^Tlog(p(a_t|s_t,\theta))+\sum_{t=1}^Tlog(p(r_t,s_{t-1}|s_t,a_t))\\ \nabla log(p(\tau|\theta))=\sum_{t=1}^T\nabla log(p(a_t|s_{t},\theta))?Rθ?=τ∑?R(τ)?p(τ∣θ)=τ∑?R(τ)p(τ∣θ)p(τ∣θ)?p(τ∣θ)?=τ∑?R(τ)p(τ∣θ)?log(p(τ∣θ))p(τ∣θ)=p(s1?)p(a1?∣s1?)p(s2?,r1?∣s1?,a1?)...p(sT?,rT?1?∣sT?1?,aT?)log(p(τ∣θ))=log(p(s1?))+t=1∑T?log(p(at?∣st?,θ))+t=1∑T?log(p(rt?,st?1?∣st?,at?))?log(p(τ∣θ))=t=1∑T??log(p(at?∣st?,θ))
最終得到?Rθ\nabla R_\theta?Rθ?的表達(dá)式:?Rθ≈1N∑n=1N∑t=1TR(τn)?log(p(at∣st,θ))\nabla R_\theta \approx \frac{1}{N}\sum_{n=1}^N\sum_{t=1}^TR(\tau_n) \nabla log(p(a_t|s_{t},\theta))?Rθ?≈N1?∑n=1N?∑t=1T?R(τn?)?log(p(at?∣st?,θ)) (*)
3個注意事項(xiàng)
- 為什么要構(gòu)成log的形式:進(jìn)行歸一化,降低采樣偶然性對于低
reward
但高頻對梯度的影響 - 由于采樣具有偶然性,考慮到不被采樣到的點(diǎn)以及R(τ)R(\tau)R(τ)有時候可能一直取正數(shù),將公式里的R(τ)R(\tau)R(τ)替換為R(τ)?bR(\tau)-bR(τ)?b進(jìn)行修正
- (*)給每個梯度的權(quán)重只考慮了整場決策的
reward
,忽略了每個action
的獨(dú)特性,對其進(jìn)行改進(jìn),我們引入advantage function
:Aθ(st,at)A^\theta(s_t,a_t)Aθ(st?,at?)用于衡量sts_tst?狀態(tài)下采用ata_tat?相對于其他action
有多好的程度。
實(shí)際訓(xùn)練過程
給定初始化的參數(shù)θ0\theta_0θ0?,采樣NNN個τ\tauτ計算每個τ\tauτ的reward
,計算當(dāng)前參數(shù)下的?log(p(at∣st,θ))\nabla log(p(a_t|s_{t},\theta))?log(p(at?∣st?,θ)),進(jìn)行參數(shù)θ\thetaθ的梯度更新得到θ1\theta_1θ1?,然后對新得到的參數(shù)進(jìn)行下一輪的采樣與梯度更新直至訓(xùn)練停止。
這種訓(xùn)練方法被有一個問題:每次更新參數(shù)都需要重新采樣,消耗了大量的時間。因而提出了off policy的方法減少采樣帶來的時間開銷。
重要性采樣
重要性采樣(importance sampling)方法可以減小采樣的個數(shù),極大地提升了采樣的效率。其具體實(shí)現(xiàn)如下:假定我們有一個分布ppp,我們從分布ppp中進(jìn)行采樣得到xxx,我們希望計算得到函數(shù)f(x)f(x)f(x)的期望值,即Ex~p[f(x)]E_{x\sim p}[f(x)]Ex~p?[f(x)]。一個直觀的思路是我們先根據(jù)分布ppp采樣NNN個點(diǎn),然后計算這NNN個點(diǎn)的均值作為期望的估計。然而有時候我們無法直接從分布ppp進(jìn)行采樣,這種時候可以從一個與分布ppp接近的分布qqq進(jìn)行采樣,然后將結(jié)果轉(zhuǎn)化為依據(jù)分布ppp采樣的均值。
Ex~p[f(x)]=Ex~q[f(x)p(x)q(x)]E_{x\sim p}[f(x)]=E_{x\sim q}[f(x)\frac{p(x)}{q(x)}]Ex~p?[f(x)]=Ex~q?[f(x)q(x)p(x)?]這里的分布qqq應(yīng)該盡可能接近分布ppp時,公式才能在采樣意義下成立。
off policy的方法使用重要性采樣的方法降低了采樣的次數(shù)進(jìn)而減小了采樣帶來的時間開銷。on policy方法與off policy方法最大的區(qū)別就是二者采樣的方式是不同的,on policy方法使用梯度下降方法更新參數(shù)后按照新參數(shù)進(jìn)行采樣,而off policy方法依舊使用之前舊參數(shù)采樣的結(jié)果(這里假設(shè)了參數(shù)更新并未很多因而分布變化并不大)。
on policy:?Rθ=Eτ~pθ(τ)[R(τn)?log(pθ(τ))]\nabla R_\theta=E_{\tau \sim p_\theta(\tau)}[R(\tau_n)\nabla log(p_\theta(\tau))]?Rθ?=Eτ~pθ?(τ)?[R(τn?)?log(pθ?(τ))]
off policy:?Rθ=Eτ~pθ′(τ)[R(τn)pθ(τ)pθ′(τ)?log(pθ(τ))]\nabla R_\theta=E_{\tau \sim p_{\theta '}(\tau)}[R(\tau_n)\frac{p_\theta(\tau)}{p_{\theta '}(\tau)}\nabla log(p_\theta(\tau))]?Rθ?=Eτ~pθ′?(τ)?[R(τn?)pθ′?(τ)pθ?(τ)??log(pθ?(τ))]
可以發(fā)現(xiàn)off policy在參數(shù)設(shè)定為θ′\theta 'θ′下進(jìn)行采樣,梯度下降更新的是θ\thetaθ而非θ′\theta 'θ′,因此采樣可以復(fù)用。
value based 強(qiáng)化學(xué)習(xí)的目標(biāo)
與policy based強(qiáng)化學(xué)習(xí)不同,value based模型通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)environment針對給定state以及action的reward,幫助agent進(jìn)行當(dāng)前state進(jìn)行action的決策。value based強(qiáng)化學(xué)習(xí)假定存在一個類似于先知的函數(shù)Q(s,a;θ)Q(s,a;\theta)Q(s,a;θ)它可以在給定state的條件下計算出每個action的獎勵期望是多大,并且用一個神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)它。有了這樣的先知后,模型自然可以通過選擇當(dāng)前state下reward最高的action進(jìn)行操作。
Temporal Differential learning (TD learning)
TD learning是訓(xùn)練上述Q(s,a;θ)Q(s,a;\theta)Q(s,a;θ)模型的方法,其訓(xùn)練思想基于監(jiān)督學(xué)習(xí),需要一個“真實(shí)標(biāo)簽”。但由于真實(shí)標(biāo)簽在這個訓(xùn)練場景下獲取需要大量時間開銷,因此我們會用TD target
來擬合真實(shí)的標(biāo)簽即擬合真實(shí)的rewardyt=rt+max?γQ(st+1,at+1;θ)y_t=r_t+\max \gamma Q(s_{t+1}, a_{t+1}; \theta)yt?=rt?+maxγQ(st+1?,at+1?;θ),并使用梯度下降方法來使得Q(st,at;θ)Q(s_t,a_t;\theta)Q(st?,at?;θ)接近yty_tyt?。
參考
- 價值學(xué)習(xí)__Value-Based_Reinforcement_Learning(ps:這個up也出了視頻介紹policy-based reinforcement learning視頻不長,講的很清晰)
- 李弘毅老師強(qiáng)化學(xué)習(xí)教學(xué)視頻合集(ps:里面有一些視頻內(nèi)容是重合的可以挑著看)