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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

强化学习笔记(4)之蒙特卡洛法

發布時間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 强化学习笔记(4)之蒙特卡洛法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

強化學習筆記(4)之蒙特卡洛法

標簽(空格分隔): 未分類


文章目錄

  • 強化學習筆記(4)之蒙特卡洛法
      • 起源
      • 蒙特卡洛法與動態規劃法在強化學習中的區別
      • 首次訪問與每次訪問
      • 增量計算均值
      • 強化學習中的探索
      • 同策略(on-policy)
      • 異策略(off-policy)
      • MC與DP的區別
        • MC的優點
    • ===============

起源

蒙特卡洛法是一種統計隨機數來解決計算問題的一種方法,即以概率為基礎的方法,名字起源于著名賭城蒙特卡洛。如下圖所示,圓周率的計算,還有不規則圖形面積的計算,只要得知落在不同區域的隨機點的個數,按比例能求出不規則圖形的面積,這就是用統計隨機數來解決計算問題,也就蒙特卡洛法。

蒙特卡洛法與動態規劃法在強化學習中的區別

如果MDP的環境模型已知,也就狀態轉移矩陣Pss′aP_{ss'}^aPssa? 已知,可以用動態規劃法來求解狀態的值函數,從而評估策略的優劣,但在無模型的強化學習中,模型Pss′aP_{ss'}^aPssa?是未知的,如果還想利用策略評估和策略改善的框架解決MDP問題,那就必須采用其他方法對當前的策略進行評估,也就是計算值函數。
回到值函數的最原始的公式:vπ(s)=Eπ[Gt∣St=s]=Eπ[∑k=0∞γkRt+k+1∣St=s]v_{\pi}(s)=E_{\pi}[G_t|S_t=s]=E_{\pi}[\sum_{k=0}^{\infty}\gamma^kR_{t+k+1}|S_t=s]vπ?(s)=Eπ?[Gt?St?=s]=Eπ?[k=0?γkRt+k+1?St?=s]
qπ(s,a)=Eπ[∑k=0∞γkRt+k+1∣St=s,A=a]q_{\pi}(s,a)=E_{\pi}[\sum_{k=0}^{\infty}\gamma^kR_{t+k+1}|S_t=s,A=a]qπ?(s,a)=Eπ?[k=0?γkRt+k+1?St?=s,A=a]

蒙特卡洛(MC)法在強化學習中的應用就是,直接根據“經驗”(experience)中的"一幕幕"(episodes)進行學習的,完整的一幕(episode)不要求起始狀態是某一個特定的狀態,但要求agent最終進入環境的某個終止狀態。
MC法是model-free(無環境模型)的,也就是agent是無法獲知環境的中的狀態轉移矩陣P和立即回報函數R的。采用完整的一幕來學習。而無需“自舉”(bootstrapping),由于不知道狀態轉移矩陣P,所以要求每一幕必須到達任務的終點,因為只有到達終點才能獲得回報值,其基本思想: value就是return(回報)的平均值。

蒙特卡洛法中的經驗 :經驗是一組episodes的集合,其實就是該強化學習模型的訓練樣本。
策略評估:在整個episode中,用平均值回報值(return)代替價值V 。比如,在某一狀態s,遵循策略π\piπ,最終獲得總的回報G,這就是一個樣本。如果有許多這樣的樣本,根據統計學原理,可以估計在狀態s下,遵循策略π\piπ的期望回報,也就狀態值函數Vπ(s)V_{\pi}(s)Vπ?(s)了。
根據統計學原理,episode越多,結果約準確。
多數情況下(多數應用中),蒙特卡洛法一個重要的目標就是評估狀態-行為值函數q*。根據上一篇博客的描述,當狀態轉移矩陣已知時(有環境模型情況下),只要知道狀態值函數(state values)就可以確定一個策略的規則,也就是在當前的狀態下選擇reward值高的而且下一個狀態的值函數高的action作為一個最佳策略;但是在model-free(環境狀態轉移矩陣P未知)的情況下,僅僅有狀態值函數(state value)不能夠確定一個策略,而狀態-行為值函數q* 就能確定選擇什么行為動作作為當前策略,所以在model-free的情況下,獲得“狀態-行為值”更為重要了。
要評估最優狀態-行為值函數q*,首先要評估狀態行為值的評估問題,也就是評估qπ(s,a)q_{\pi}(s,a)qπ?(s,a)(在狀態s下執行行為a回報的期望。)

首次訪問與每次訪問

在蒙特卡洛法中,估計q* 的思想與估計狀態值函數V的是一樣的,在一個episode中,一對<s,a>稱為被visit過,是指在該episode中,agent經歷了狀態s并且選擇了行為a,多以求V的例子說問題。
考慮一個問題,如果在某一個episode中,狀態s出現兩次,分別在t1時刻和t2時刻,計算狀態s的值時,就可以采用兩種不同的統計方法計算模特卡羅的問題:首次訪問(first visit)MC和每次訪問(every visit)MC:

  • 首次訪問(first visit)MC方法是在各幕中,對<s,a>的所有第一次訪問(first visit)進行求期望。在計算狀態s下的值函數時,只利用每次試驗中第一次訪問到狀態s時的回報返回值。如圖,計算狀態s的均值時,只利用Gi1(s)G_{i1}(s)Gi1?(s),公式為:
    v(s)=G11(s)+G21(s)+...N(s)v(s)=\frac{G_{11}(s)+G_{21}(s)+...}{N(s)}v(s)=N(s)G11?(s)+G21?(s)+...?
  • 每次訪問(every visit)MC是在各幕中,對<s,a>的所有的visit進行求期望。在計算狀態s下的值函數時,只利用每次試驗中所有訪問到狀態s時的回報返回值。v(s)=G11(s)+G12(s)+...G21(s)+...N(s)v(s)=\frac{G_{11}(s)+G_{12}(s)+...G_{21}(s)+...}{N(s)}v(s)=N(s)G11?(s)+G12?(s)+...G21?(s)+...?
    根據大數定理,當N→∞N\rightarrow \inftyN 則有v(s)→vπ(s)v(s)\rightarrow v_{\pi}(s)v(s)vπ?(s)

增量計算均值

無論是首次訪問MC還是每次訪問MC,在計算回報期望時,都是利用總回報除以狀態s的總訪問次數。根據公式:

根據上式子,均值是可以通過增量的方式求得。
將均值的求取變換成一個增量式的過程,很容易就可應用到蒙特卡洛方法中,用增量方式求的狀態值的期望:
N(St)←N(St)+1N(S_{t})\leftarrow N(S_{t})+1N(St?)N(St?)+1
V(St)←V(St)+1N(St)(Gt?V(St))V(S_{t})\leftarrow V(S_{t})+\frac{1}{N(S_{t})}(G_t-V(S_{t}))V(St?)V(St?)+N(St?)1?(Gt??V(St?))
以上的公式←\leftarrow符號不是等式,類似于程序語言中的變量賦值。待程序運行結束時,便可求得均值。

強化學習中的探索

蒙特卡洛法是利用經驗平均來求得價值函數,這就要求要有足夠多的經驗才能求得正確的價值函數,所以,獲得足夠多的經驗是無模型強化學習的關鍵。回想一下上一篇文章中,動態規劃法中,為了保證價值函數的收斂性,算法會對狀態空間中的所有狀態進行掃描。因此,蒙特卡洛法中必須采用一定的方法保證每一個狀態被訪問到。
探索性初始化是保證每一個狀態都能被訪問到的最直接的方法。所謂探索性初始化是指每一個狀態都有一定的幾率作為初始狀態。
策略改進法蒙特卡洛方法利用經驗平均對策略的價值函數進行估計。當值函數被估計出來后,對于每個狀態s,通過最大化動作值函數,來進行策略的改進。
在動態規劃法中,將策略評估和策略改進相結合就構成了策略迭代過程(policy iteration):

其中箭頭上的 E 表示完整的策略估計過程,箭頭上的 I 代表的是一個完整的策略改進的過程。
而在蒙特卡洛方法中,policy iteration過程是這樣的:

在上一篇文章中講到有模型強化學習的動態規劃法中的策略迭代包括兩部分,策略估計和策略改進,其中策略估計是利用貝爾曼期望方程,策略改進用的是greedy方法。
然而在model-free的強化學習中,策略估計就不能在使用貝爾曼期望方程了,而是采樣的方法(sample),比如MC法(或者TD法)。
如果用蒙特卡洛法對價值函數進行估計,得到策略對應的價值函數V,然后利用greedy方法得到新的策略:

然而在蒙特卡洛法中,其中的Pss′aP_{ss&#x27;}^aPssa?是未知的,所以不能用狀態價值函數作為估計的對象。而對于狀態-行為值函數,如果完成策略估計,那么只需要求一個argmax即可對策略進行改進,所以可以利用q函數作為估計對象。

探索性蒙特卡洛(exploring starts MC )控制,算法偽代碼:

然而在無探索性初始化的MC控制中,如何保證初始狀態不變的情況下,訪問到所有狀態?有兩種方法:on-policy(同策略)方法和off-policy(異策略)方法,其中,
on-policy(同策略) 是指產生數據的策略與評估和改進的策略是同一個策略;
off-policy(異策略) 評估和改善的不是用來產生數據的策略policy,在off-policy中一般采用2個策略,一個用來學習并最后稱為目標optimal policy。另一個策略則偏向于探索,用來產生訓練數據。

同策略(on-policy)

如果要學習到一個確定性的策略,比如利用greedy方法得到的策略,若直接利用這個策略去采樣訓練數據,是不會有探索機制的。如果想要對各個動作和狀態進行探索,可以采用一個帶有一定隨機性質的策略進行采樣,比如epsilon-greedy得到的策略。
在同策略方法中,通常采用soft的規則,即對所有s∈Ss \in SsSa∈Aa \in AaA均能夠有π(a∣s)&gt;0\pi(a|s)&gt;0π(as)>0(即在任一個狀態下,所有的行為均有可能被選中)
??greedy\epsilon-greedy??greedy policies :
1??1-\epsilon1??的概率下會選擇當前具有最大action-value估計值的行為,而在?\epsilon?的概率下會從所有行為中隨機選擇一個action。因此,選擇greedy-action的概率1??+?∣A(s)∣1-\epsilon+ \frac{\epsilon}{|A(s)|}1??+A(s)?? 而選擇非greedy-action的概率是?∣A(s)∣\frac{\epsilon}{|A(s)|}A(s)??
π(a∣s)={1??+?∣A(s)∣ifa=A??∣A(s)∣ifa!=A?\pi(a|s)=\begin{cases} 1-\epsilon+ \frac{\epsilon}{|A(s)|} &amp;if&amp;a=A^*\\ \frac{\epsilon}{|A(s)|} &amp;if&amp;a!=A^*\\ \end{cases} π(as)={1??+A(s)??A(s)???ifif?a=A?a!=A??
同策略蒙特卡洛法的偽代碼:

異策略(off-policy)

強化學習中控制方式的目標是學習一系列的優化行為的action-values,然而為了尋找優化的行為,采取的策略不能總選擇“當前”最優的行為,而需要探索所有的動作,因此需要采用句有“探索精神”的策略,并能通過這中探索的過程找到最優的策略。
異策略在使用的過程中一般采用2個策略,一個學習并稱為optimal policy,記為π\piπ,另外一個則更偏向于探索,用生產訓練數據,記為μ\muμ
用來學習(評估與改進)的策略π(a∣s)\pi(a|s)π(as)稱為目標策略(target policy),而用來生產訓練數據,探索狀態-動作空間的策略稱為行為策略(behavior policy)。相比與on-policy,off-policy 稍微復雜,需要更多的概念來表達,它常常有較大的方差且收斂較慢,但是off-policy 表現得根據一般性,往往更加強大。
用于益策略的目標策略π(a∣s)\pi(a|s)π(as)和行為策略μ(a∣s)\mu(a|s)μ(as)并非任一選擇的,而是滿足一定的條件,這個條件就是覆蓋性條件,即:為了利用從規則μ\muμ產生的episodes來評估策略π\piπ的value,則需要規則π\piπ下所有行為在規則μ\muμ下都被執行過。
也就是說,行為策略μ\muμ下產生的行為覆蓋或者包含目標策略π\piπ產生的行為。
用式子表示:滿足π(a∣s)&gt;0\pi(a|s)&gt;0π(as)>0的任何<s,a>均滿足μ(a∣s)&gt;0\mu(a|s)&gt;0μ(as)>0
幾乎所有的異策略方法都是使用了重要性采樣,這里根據軌跡在目標策略(target policy) 和 行為策略(behavior policy)下發生的概率比來對returns賦予權重,稱為重要性權重(importance sample ratio),給定初始狀態StS_tSt?,狀態-行為的軌跡AtA_tAt?St+1S_{t+1}St+1?,At+1A_{t+1}At+1?STS_TST?在目標策略π\piπ下發生的概率:
∏k=tT?1π(At∣St)p(Sk+1∣Sk,Ak)\prod_{k=t}^{T-1}\pi(A_t|S_t)p(S_{k+1}|S_k,A_k)k=tT?1?π(At?St?)p(Sk+1?Sk?,Ak?)
在異策略方法中,行為策略μ\muμ,即用來產生樣本的策略,所產生的軌跡概率分布相當于相當于重要性采樣中的p(^x)p\hat(x)p(^?x)
,用來評估和改進的的策略π\piπ所對應的軌跡概率分布為p(x)p(x)p(x),因此,利用行為策略μ\muμ所產生的累積函數返回值來評估策略π\piπ時,需要在累積函數返回值前面乘以重要性權重。


蒙特卡洛方法的增量式實現分為兩種:(1)對同策略蒙特卡洛(on policy MC)方法,其增量式實現即為對returns的平均;(2)對增量式實現的異策略蒙特卡洛(off policy MC)還要分為兩種:普通重要性采樣和加權重要性采樣。
普通重要性采樣(ordinary importance sampling)中只是對returns賦予了權重ρtT(t)\rho_t^{T(t)}ρtT(t)?,采用的還是簡單平均的方法。因此,只需考慮off-policy MC(異策略蒙特卡洛)中的加權重要性采樣形式即可。
假設有return序列G1,G2,...,Gn?1G_1,G_2,...,G_{n-1}G1?,G2?,...,Gn?1?,他們以同樣的狀態開始,并且每一個具有隨機權重WiW_iWi?(例如:Wi=ρtT(t)W_i=\rho_t^{T(t)}Wi?=ρtT(t)?),則希望估計的值為:
Vn=∑k=1n?1WkGk∑k=1n?1Wk,n&gt;=2V_n=\frac{\sum_{k=1}^{n-1}W_kG_k}{\sum_{k=1}^{n-1}W_k} , n&gt;=2Vn?=k=1n?1?Wk?k=1n?1?Wk?Gk??,n>=2
假設已經有了估計值VnV_nVn?,以及當前的return值GnG_nGn?,則下一步就可以利用VnV_nVn?GnG_nGn?來估計Vn+1V_{n+1}Vn+1?,此時還需要記錄的值是前n個return的weights的和,即分母的和,這樣就可以得到更新方程了:
Vn+1=Vn+WnCn[Gn?Vn],n&gt;=1,Cn+1=Cn+Wn+1V_{n+1}=V_n+ \frac{W_n}{C_n}[G_n-V_n],n&gt;=1, C_{n+1}=C_n+W_{n+1}Vn+1?=Vn?+Cn?Wn??[Gn??Vn?],n>=1,Cn+1?=Cn?+Wn+1?
異策略每次訪問的蒙特卡洛法的預測方法(價值估計方法)如下偽代碼:

異策略每次訪問的蒙特卡洛法的控制方法(策略改進方法)如下偽代碼:

MC與DP的區別

蒙特卡洛法的每一次experience,都是從初始狀態(即根節點)開始的,沿著某個特定episode的轉變軌跡遍歷每一個經歷過的節點,最終以終止狀態結束。
針對某一個節點,MC方法只包含特定episode選擇的action的轉換,而DP方法將所有可能的轉換都包含在內。從全局上看,MC方法將包含了一個episode經歷的所有轉換,而DP方法只包含一步轉換過程。
MC方法一個重要的屬性在于,它對于每一個狀態的估計是獨立的,不依賴于其他狀態的估計。并且,DC方法估計的每一個單一的狀態的value的計算成本是與狀態的數量無關的。

MC的優點

MC直接從與環境的交互中進行學習,不需要環境的動態模型;
MC可以利用仿真或者采樣模型,在很多實際應用中,仿真構建episodes很容易,而構建DP所需要的狀態概率的確切模型很難;
如果只希望得到一部分state的估計值,蒙特卡洛方法可以很容易聚焦在這些states上,他只要不計算不關注的states即可,而DP方法中,對于某一個state的估計干涉到其他所有相關的states,不如蒙特卡洛方法方便;
當違背馬爾科夫屬性時,蒙特卡洛方法受到的影響較小,因為它不需要基于后續狀態的value估計值來更新value的估計值,也就是說,它不進行“自舉(bootstrap)”


===============


我的公眾號會有更對學習筆記哦,歡迎關注:

總結

以上是生活随笔為你收集整理的强化学习笔记(4)之蒙特卡洛法的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日韩av在线播放网址 | 少妇 av| 欧美乱日 | 亚洲春色在线观看 | 人人艹人人爱 | 日韩一二区 | 精品日韩一区二区三区四区 | 久久久久久无码精品人妻一区二区 | 国产麻豆成人传媒免费观看 | 麻豆精品91 | 亚洲欧美日韩一区二区三区四区 | 亚洲艹| 亚洲精品一线二线三线 | 久久久久麻豆v国产精华液好用吗 | 成人学院中文字幕 | 欧美绿帽合集videosex | 天天干天天综合 | 91免费高清 | 91视频这里只有精品 | 国产精品久久久一区二区 | 黄色免费网站 | 狠狠干夜夜干 | 精产国品一二三产品蜜桃 | 成人免费看片在线观看 | 姐姐的秘密韩剧免费观看全集中文 | 在线看黄色的网站 | 国产特黄毛片 | 国产精品毛片一区二区在线看舒淇 | 久久深夜福利 | 亚洲一区二区天堂 | 尤物视频免费观看 | 成人涩涩网站 | 久久久夜夜 | 欧美v日本 | 成人国产精品蜜柚视频 | 69式视频| 国产碰碰| 日本一区二区在线观看视频 | 国产在线观看免费av | 91视频免费入口 | 最新激情网 | av毛片观看 | 国产又黄又粗又爽 | 欧美伦理一区二区三区 | 特级西西444www高清大胆免费看 | 欧美一区二区三区爱爱 | 午夜精品一区二区三区在线视频 | 国产av国片偷人妻麻豆 | 99蜜桃臀久久久欧美精品网站 | 被两个男人吃奶三p爽文 | v片在线观看 | 日本一区二区高清免费 | 草草影院第一页yycc.com | 欧美日韩国产精品综合 | 日韩精品高清视频 | 日韩精品无码一本二本三本色 | 90岁肥老奶奶毛毛外套 | 欧美丰满美乳xxⅹ高潮www | 玖操 | 亚洲九九精品 | 亚洲中文字幕在线一区 | 国产xxxx做受性欧美88 | 一区二区三区国产精品 | 亚洲av无码一区二区三区观看 | www.爱操 | 在线免费91| 日韩精品一二三区 | 久草网视频在线观看 | 奇米影视第四色7777 | 日韩片在线观看 | 天天碰天天干 | 青娱乐免费在线视频 | 高清一级片 | 精品黄色片 | www五月天com | 中国一区二区三区 | 尹人综合在线 | 神马三级我不卡 | 意大利少妇愉情理伦片 | 久久久二区 | 久久久久亚洲av无码麻豆 | 无码精品一区二区三区在线播放 | 亚洲精品中文字幕在线播放 | 一区亚洲 | 在线观看国产欧美 | 日本少妇吞精囗交视频 | 欧美色精品在线 | 日本成人社区 | 欧美一区二区三区在线观看 | 久久久999国产精品 天堂av中文在线 | 亚洲色图17p | 黄色网址哪里有 | 在线伊人网| 日本视频在线观看 | 久久久老熟女一区二区三区91 | 亚洲男女啪啪 | 91久久人人 | 原创真实夫妻啪啪av | 久久久久不卡 |