【David Silver强化学习公开课】-4:Model-Free Prediction
一、介紹
無論是價值迭代還是策略迭代,都是在已經知道MDP模型(也就是動態轉移矩陣P和獎勵R)的前提下用DP的方式進行控制。那么如果對模型的這些屬性并不了解,要如何進行預測和控制呢?
本節主要講幾種方法來進行無模型前提下的策略評估(model-free policy evaluation)。
二、Monte-Carlo RL方法
Episodic MDP: 所有的行為序列都在有限步終止。
MC方法從已有的完整經驗片段(complete episode of experience)或者說History中采樣,這些片段都是采用策略π的,那么MC方法使用經驗平均return來代替期望return,用這種方式來估計策略π下的狀態價值函數vπvπ。
- First-Visit MC Policy Evaluation,僅僅計算每個片段第一次到達某個狀態時return的平均值。
- Every-Visit MC Policy Evaluation,計算每個片段每次到達某個狀態時return的均值。
一個遞增式的均值計算公式,μk=μk?1+1k(xk?μk?1)μk=μk?1+1k(xk?μk?1)。
所以,MC-Policy-Evaluation的更新公式可以表示為(這個公式中的α是1k1k的一種變形,可以看做是一種衰減系數),這種公式下的方法叫做Incremental-MC:
V(St)←V(St)+α(Gt?V(St))V(St)←V(St)+α(Gt?V(St))三、Temporal-Difference Learning
TD也是一種Model-Free的方法,但是它可以從不完整的片段中學習。
下面介紹一種最簡單的TD方法,TD(0)。
它同Incremental-MC相比,把公式中的實際回報GtGt變成了估計回報Rt+1+γV(St+1)Rt+1+γV(St+1),而這個估計回報在TD中被叫做TD target,估計回報和現在價值的差被稱為δtδt:TD error。
V(St)←V(St)+α(Rt+1+γV(St+1)?V(St))V(St)←V(St)+α(Rt+1+γV(St+1)?V(St))TD和MC的區別,可以通過一個例子來說明。假設,你現在按照某種方式(策略π)在做一件事情,會嘗試很多次(有很多Episode),這件事情中一共要經歷幾個階段(狀態),每次行動之后你會獲得一個效果評價(R)。
現在你用MC的方式對做這件事情的方式(策略π)進行評估,首先你找到了其中一次你做這件事情的整個流程(初始狀態,行動1,狀態1,效果1….,最終狀態),而后你在評估每一個階段(狀態)的時候,都看向一遍整個過程,看看這個狀態之后在整個過程里你能獲得怎樣的平均收益(因為是用GtGt來評估的)。
如果你用TD的方式進行評估,那么你只需要找到(狀態t,行動t,效果t)就能夠更新你對某個階段(狀態)的評估了,因為你評估的時候,只會向后看一步,以我對這些階段(狀態)的了解,用這個階段(狀態)后面可能到達的階段(狀態)來評估這個狀態的好壞。也就是在做事情的時候,你每走一步,都可以根據外界對你這一步的效果評價,更新你對每個階段的評價(也就是更新你對你做事情的方式的評價)。
MC的估計方式,估計的過程中不會出現偏差,但是比較慢。
TD的估計方式,在估計的過程中會出現一些偏差(畢竟事情還沒有完全做完就評估了),但是擁有更低的方差【這里沒看懂。。】。
TD利用了馬爾科夫性質而MC沒有,因此在不具備馬爾科夫性質的問題中,MC更適合。
bootstrap:在更新值的過程中是否使用了估計值。如果你向前走了n步,沒有走到最后就更新參數,那么就是使用了bootstrap。
MC沒有bootstrap過程而DP和TD都有。
四、TD(λ)
另一種擴展TD方法的方式是,每次使用向前走n步(而不是上一節中的1步),這時的TD target變成了下面的樣子:
G(n)T=Rt+1++γRt+2+...+γn?1Rt+n+γnV(St+n)GT(n)=Rt+1++γRt+2+...+γn?1Rt+n+γnV(St+n)更進一步,把向前n步的估計return結合起來加權求和,得到一個新的估計return,然后用這個估計作為TD target,這就是TD(λ)的思想。
Gλt=(1?λ)∑n=1∞λn?1G(n)tGtλ=(1?λ)∑n=1∞λn?1Gt(n)當然,TD(λ)需要在一個complete episode中進行。
從backward view的角度來看,TD(λ)相當于使用了MC方法的TD error:δtδt,并在此基礎上給予每個狀態一個能量等級,這個狀態最近出現的越頻繁,這個能量等級就越高。
Et(s)=γλEt?1(s)+1Et(s)=γλEt?1(s)+1 V(s)←V(s)+αδtEt(s)V(s)←V(s)+αδtEt(s)λ=1時,且在Offline-updates的前提下,TD(λ)等價于Every-Visit-MC。
疑問:
- 為什么說TD(λ)可以在TD(0)相似的時間開銷下完成,感覺要慢很多啊。
- 為什么λ=0時,TD(λ)等價于TD(0)。
總結
以上是生活随笔為你收集整理的【David Silver强化学习公开课】-4:Model-Free Prediction的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【David Silver强化学习公开课
- 下一篇: 【David Silver强化学习公开课