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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

机器学习笔记(十六)强化学习

發布時間:2025/4/16 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习笔记(十六)强化学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

16.強化學習

16.1任務與獎賞

強化學習(reinforcementlearning)的過程就是機器通過一系列的動作和環境交互,從而得到最佳的動作序列。圖示:


強化學習任務用馬爾可夫決策(Markov Decision Process,MDP)描述:機器處于環境E中,狀態空間為X,其中每個狀態x∈X是機器感知到的環境的描述;機器能采取的動作構成了動作空間A,若某個動作a∈A作用在當前狀態x上,則潛在的轉移函數P將使得環境從當前狀態按某種概率轉移到另一個狀態;在轉移到另一個狀態的同時,環境會根據潛在的獎賞(reward)函數R反饋給機器一個獎賞。綜合起來,強化學習任務對應了一個四元組E=<X,A,P,R>,其中P:X*A*X->R指定了狀態轉移概率;R:X*A*X->R指定了獎賞;在有的應用中,獎賞函數可能僅與狀態轉移有關,即R:X*X->R。

按照上面的形式化描述,就是給定狀態轉移概率P和獎賞R,機器通過動作空間A感知環境返回的狀態空間X。文中給的西瓜例子可以配合理解。機器指的是學習程序,而環境則面對不同任務是不同,如在下棋對弈中,環境是棋盤與對手;在種西瓜任務中,環境是西瓜生長的自然世界。在環境中狀態的轉移、獎賞的返回時不受機器(程序)控制的,機器只能通過選擇要執行的動作來影響環境,也只能通過觀察轉移后的狀態和返回的獎賞來感知環境。


機器人下棋就是強化學習的表現。若將強化學習中的狀態對應于監督學習中的示例,而動作對應于標記,則可看出,強化學習中的策略相當于監督學習中的分類器(當動作是離散的)或回歸器(當動作是連續的),模型的形式并無差別。不同的是,在強化學習中并沒有監督學習中的有標記樣本(即示例-標記對),換言之,沒有人直接告訴機器在什么狀態下應該做什么動作,只有等到最終結果揭曉,才能通過反思之前的動作是否正確來進行學習。因此,強化學習在某種意義上可以看作具有延遲標記信息的監督學習問題。

實際上,個人感覺學習就是一個感知過程,監督學習有標記和強化學習根據最終結論來感知動作是否合適是一樣的。

?

16.2K-搖臂賭博機

與一般監督學習不同,強化學習任務的最終獎賞要在多步動作之后才能觀察到,那能否最大化單步獎賞,即僅考慮一步操作。當然即使是這個特例,強化學習和監督學習還是不同的,因為機器要通過嘗試來發現各個動作產生的結果,而沒有訓練數據告訴機器應當做那個動作。一個是事前知道做什么動作,一個是事后才知道這個動作有什么后果。

要最大化單步獎賞需考慮兩個方面:一是需知道每個動作帶來的獎賞;二是要執行獎賞最大的動作。如果每個動作對應的獎賞是一個確定值,那么嘗試所有的動作后就能找到獎賞最大的動作。不過,一般情況下,一個動作的獎賞是來自于一個概率分布,僅通過一次嘗試并不能確切地獲得平均獎賞值。看到這里,是不是有買彩票的熟悉感覺,每一次的投注都存在一個概率分布,并不確定知道這次投注的動作能帶來什么回報。實際上,這種單步強化學習任務正是對應了一個理論模型,即K-搖臂賭博機(K-armed bandit)。K-搖臂賭博機有K個搖臂,賭徒在投入一個硬幣后可選擇按下其中一個搖臂,每個搖臂以一定的概率吐出硬幣;當然,這個概率賭徒并不知道。賭徒的目標是通過一定的策略最大化自己的獎賞,即獲得最多的硬幣。

若僅為獲知每個搖臂的期望獎賞,則可采用僅探索(exploration-only)法:將所有的嘗試機會平均分配給每個搖臂(即輪流按下每個搖臂),最后以每個搖臂各自的平均吐幣概率作為其獎賞期望的近似估計。若僅為執行獎賞最大的動作,則可采用僅利用(exploitation-only)法:按下目前最優的(即到目前為止平均獎賞最大的)搖臂,若有多個搖臂同為最優,則從中隨機選取一個。僅探索法能很好估計每個搖臂的獎賞,卻會失去很多選擇最優搖臂的機會;僅利用法則相反,它沒有很好地估計搖臂期望獎賞,很可能經常選不到最優搖臂。因此,這兩種方法都難以使最終的累積獎賞最大化。

事實上,探索(即估計搖臂的優劣)和利用(即選擇當前最優搖臂)二者是矛盾的,因為嘗試次數(即總投幣數)有限,加強了一方則會自然削弱另一方,這就是強化學習所面臨的探索-利用困境(Exploration-Exploitation dilemma)。顯然,要使累積獎賞最大,則必須在探索和利用之間的達成較好的折中。探索每次的動作是平均選擇一個搖臂,而利用則是選擇歷史積累最優的搖臂。下面兩種方法是對探索和利用折中的方法。





對于離散狀態空間、離散動作空間上的多步強化學習任務,一種直接的辦法是將每個狀態上動作的選擇看作一個K-搖臂賭博機問題,用強化學習任務的累積獎賞來代替K-搖臂賭博機算法中的獎賞函數,即可將賭博機算法用于每個狀態(一個狀態相當于一個賭博機,每個狀態上的動作相當于搖臂):對每個狀態分別記錄各動作的嘗試次數、當前平均累積獎賞等信息,基于賭博機算法選擇要嘗試的動作。不過這種方法沒有考慮強化學習任務馬爾可夫決策過程的結構。有效考慮馬爾可夫決策過程的特性,方法將更好,如下節的有模型學習。

?

16.3有模型學習

就多步強化學習任務,如果假定任務對應的馬爾可夫決策過程四元組E=<X,A,P,R>均為已知,則成為模型已知,即機器對已知環境進行了建模,能在機器內部模擬出與環境相同或近似的狀況。在已知模型的環境中學習成為有模型學習(model-based learning)。用數學定義來說,對任意狀態x*,x和動作a,在x狀態下執行動作a轉移到x*狀態的概率P是已知的,該轉移所帶來的獎賞R也是已知的。還要加一個假設,狀態空間X和動作空間A均為有限的。在有效的狀態空間和動作空間下,轉移概率和獎賞函數已知的情況下,就是有模型學習。










從算法可可看出,在模型已知時強化學習任務能歸結為基于動態規劃的尋優問題。與監督學習不同,這里不涉及泛化能力,而是為每一個狀態找到最好的動作。

16.4免模型學習

在現實環境中,環境的轉移概率、獎賞函數往往是未知的,甚至很難知道環境中一共有多少狀態。若學習算法不依賴于環境劍魔,則成為免模型學習(model-free learning),比有模型學習困難。

1)蒙特卡羅強化學習

在免模型情形下,策略迭代算法首先遇到的問題是策略無法評估,這是由于模型未知而導致無法做全概率展開。此時,只能通過在環境中執行選擇的動作,來觀察轉移的狀態和得到的獎賞。受K搖臂賭博機的啟發,一種直接的策略評估替代方式是多次采樣,然后求取平均累積獎賞來作為期望累積獎賞的近似,這稱為蒙特卡羅強化學習。由于采樣必須為有限次數,因此該方法更適合于T步累積獎賞的強化學習任務。

另一方面,策略迭代算法估計的是狀態值函數V,而最終的策略是通過狀態-動作值函數Q來獲得。當模型已知時,從V到Q是很簡單的轉換方法,而當模型未知時,這會出現困難。于是,將估計對象從V轉變為Q,即估計每一對狀態-動作的值函數。

此外,在模型未知的情形下,機器只能是從一個起始狀態(或起始狀態集合)開始探索環境,而策略迭代算法由于需對每個狀態分別進行估計,因此在這種情形下是無法實現。綜合起來,在模型未知的情形下,從起始狀態出發,使用某種策略進行采樣,執行該策略T步并獲得軌跡:





2)時序差分學習

蒙特卡羅強化學習算法通過考慮采樣軌跡,克服了模型未知給策略估計造成的困難。此類算法需在完成一個采樣軌跡后再更新策略的值估計,而前面介紹的基于動態規劃的策略迭代和值迭代算法在每執行一步策略后就進行值函數更新。兩者相比,蒙特卡羅強化學習算法的效率低很多,這里主要問題是蒙特卡羅強化學習算法沒有充分利用強化學習任務的MDP結構。時序差分(Temporal Difference,TD)學習則結合了動態規劃與蒙特卡羅方法的思想,能做到更高效的免模型學習。




?

16.5值函數近似

上文強化學習任務是假定在有限狀態空間上進行,每個狀態可用給一個編號來指代;值函數則是關于有限狀態的表格值函數(tabular value function),即值函數能表示為一個數組,輸入i對應的函數值就是數組元素i的值,且更改一個狀態上的值不會影響其他狀態上的值。然而,現實強化學習任務所面臨的狀態空間往往是連續的,有無窮多個狀態,這該怎么辦?

一個直接的想法是對狀態空間進行離散化,將連續狀態空間轉化為有限離散狀態空間,然后就能使用前面介紹的方法求解。不過,如何有效地對狀態空間進行離散化是一個難題,尤其是在對狀態空間進行探索之前。



?

16.6模仿學習

在強化學習的經典任務設置中,機器所能獲得的反饋信息僅有多不決策后的累積獎賞,但在現實任務中,往往能得到人類專家的決策過程范例,如在種瓜任務上得到農業專家的種植過程范例。從范例中學習,稱為模仿學習(imitation learning)。




本章總結,強化學習分類:第一層按照有無專家范例(或者監督學習和無監督學習)分類,可分為模仿學習(有直接模仿學習,逆強化學習)這樣的監督性學習;無監督學習則可按照有限狀態和無限狀態做第二層分類,無限狀態是值函數近似;有限狀態按照單步和多步可做第三層分類,單步強化學習(K搖臂賭博機)和多步強化學習;多步強化學習根據是否模型已知可做第四層分類,有模型學習和無模型學習。無模型學習包括蒙特卡羅方法和時序差分方法。




總結

以上是生活随笔為你收集整理的机器学习笔记(十六)强化学习的全部內容,希望文章能夠幫你解決所遇到的問題。

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