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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【David Silver强化学习公开课】-4:Model-Free Prediction

發布時間:2025/3/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【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π

  • 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)。

原文地址:?http://cairohy.github.io/2017/08/31/deeplearning/%E3%80%8ADavid%20Silver%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0%E5%85%AC%E5%BC%80%E8%AF%BE%E3%80%8B-4%EF%BC%9AModel-Free%20Prediction/

總結

以上是生活随笔為你收集整理的【David Silver强化学习公开课】-4:Model-Free Prediction的全部內容,希望文章能夠幫你解決所遇到的問題。

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