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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

蒙特卡洛树搜索方法介绍——算力聚焦方法(一) Dyna-Q+

發(fā)布時(shí)間:2023/12/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蒙特卡洛树搜索方法介绍——算力聚焦方法(一) Dyna-Q+ 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

蒙特卡洛樹搜索方法介紹——算力聚焦方法之Dyna-Q+

  • 引言
    • 回顧:Dyna-Q角度觀察規(guī)劃與學(xué)習(xí)的結(jié)合過程
    • Dyna-Q算法中的缺陷
      • 求解強(qiáng)化學(xué)習(xí)任務(wù)的核心矛盾
      • 如何緩和矛盾——算力聚焦
      • 算力聚焦自身的矛盾
      • 探索(Exploration)與利用(Exploitation)
    • Dyna-Q+算法
      • 假設(shè)構(gòu)建
      • 對假設(shè)的解析

引言

上一節(jié)基于規(guī)劃學(xué)習(xí)的差異性介紹了Dyna?QDyna-QDyna?Q架構(gòu)的具體算法過程。但從真實(shí)環(huán)境的角度觀察,Dyna?QDyna-QDyna?Q架構(gòu)同樣存在各種問題,本節(jié)從Dyna?QDyna-QDyna?Q架構(gòu)的問題出發(fā),介紹算力聚焦的本質(zhì)具體的算力聚焦方法

回顧:Dyna-Q角度觀察規(guī)劃與學(xué)習(xí)的結(jié)合過程

Dyna?QDyna-QDyna?Q角度觀察規(guī)劃與學(xué)習(xí)的結(jié)合過程:

  • 學(xué)習(xí)過程 中,結(jié)合非終結(jié)狀態(tài)StS_tSt?和對應(yīng)在Q?TableQ-TableQ?Table中的Q(St,a)(a∈A(St))Q(S_t,a)(a \in \mathcal A(S_t))Q(St?,a)(aA(St?)),構(gòu)建一個(gè)基于??\epsilon-??貪心方法的策略π\(zhòng)piπ
  • 從策略π\(zhòng)piπ中選擇一個(gè)動(dòng)作——AtA_tAt?
  • 執(zhí)行動(dòng)作AtA_tAt?,通過狀態(tài)轉(zhuǎn)移過程,得到一組真實(shí)樣本——St+1,Rt+1S_{t+1},R_{t+1}St+1?,Rt+1?;

將上述過程稱為 產(chǎn)生真實(shí)經(jīng)驗(yàn)(Real Experience)。其原因在于St+1,Rt+1S_{t+1},R_{t+1}St+1?,Rt+1?真實(shí)樣本,生成該樣本的模型是 真實(shí)的環(huán)境模型——這個(gè)模型我們是未知的。

  • 使用Q?LearningQ-LearningQ?Learning方法對Q?TableQ-TableQ?Table進(jìn)行更新:
    Q(St,At)←Q(St,At)+α[Rt+1+γmax?aQ(St+1,a)?Q(St,At)]Q(S_t,A_t) \gets Q(S_t,A_t) + \alpha [R_{t+1} + \gamma \mathop{\max}\limits_{a} Q(S_{t+1},a) - Q(S_t,A_t)]Q(St?,At?)Q(St?,At?)+α[Rt+1?+γamax?Q(St+1?,a)?Q(St?,At?)]

我們可以理解成當(dāng)前時(shí)刻狀態(tài)-動(dòng)作對(St,At)(S_t,A_t)(St?,At?)真實(shí)環(huán)境之間的一次交互,并將交互產(chǎn)生的經(jīng)驗(yàn)Q?TableQ-TableQ?Table對應(yīng)(St,At)(S_t,A_t)(St?,At?)位置進(jìn)行一次常規(guī)更新。稱該步驟為 直接強(qiáng)化學(xué)習(xí)(Direct Reinforcement Learning)。

  • 將本次產(chǎn)生的真實(shí)樣本存儲(chǔ)到模擬環(huán)境對應(yīng)位置Model(St,At)Model(S_t,A_t)Model(St?,At?)中。
    Model(St,At)←St+1,Rt+1Model(S_t,A_t) \gets S_{t+1},R_{t+1}Model(St?,At?)St+1?,Rt+1?
    這里為了簡化運(yùn)算,不考慮任何‘模型偏差’,但模型學(xué)習(xí)本身目的是‘近似真實(shí)環(huán)境’,因此理想狀態(tài)下的Model(St,At)Model(S_t,A_t)Model(St?,At?)是一個(gè)概率分布,而不是確定性的樣本結(jié)果。

對真實(shí)樣本中的信息進(jìn)行 學(xué)習(xí),并歸納成模型。稱為 模型學(xué)習(xí)(Model Learning)。

  • 規(guī)劃規(guī)程 中,從觀測過的狀態(tài)組成的狀態(tài)集合中,隨機(jī)選擇一個(gè)狀態(tài)sss
  • 基于已選擇的動(dòng)作sss,從sss狀態(tài)下 采取過的動(dòng)作 中(由于該動(dòng)作必然是發(fā)生過的,因此該動(dòng)作是有意義的)隨機(jī)選擇一個(gè)動(dòng)作aaa
  • 執(zhí)行動(dòng)作aaa,根據(jù)ModelModelModel模型的狀態(tài)轉(zhuǎn)移過程,得到一組模擬樣本(s′,r)(s',r)(s,r)

將上述過程稱為 產(chǎn)生模擬經(jīng)驗(yàn)(Simulated Experience) ,區(qū)別于真實(shí)經(jīng)驗(yàn)s,rs,rs,r模擬樣本,它并沒有真實(shí)發(fā)生過,產(chǎn)生它的模型是ModelModelModel

  • 使用Q?LearningQ-LearningQ?Learning方法對Q?TableQ-TableQ?Table進(jìn)行更新:
    Q(s,a)←Q(s,a)+α[r+γmax?aQ(s′,a)?Q(s,a]Q(s,a) \gets Q(s,a) + \alpha [r + \gamma \mathop{\max}\limits_{a} Q(s',a) - Q(s,a]Q(s,a)Q(s,a)+α[r+γamax?Q(s,a)?Q(s,a]

區(qū)別于學(xué)習(xí)過程中的直接強(qiáng)化學(xué)習(xí),由于(s,r)(s,r)(s,r)是模擬樣本,因此稱該步驟為 間接強(qiáng)化學(xué)習(xí)(Indirect Reinforcement Learning)。

Dyna-Q算法中的缺陷

求解強(qiáng)化學(xué)習(xí)任務(wù)的核心矛盾

核心矛盾可以理解為:有限的算力資源 VS\mathcal V\mathcal SVS 無限的狀態(tài)動(dòng)作空間(State-Action Space)。

  • 算力資源的有限性:

    • 時(shí)間維度:算法的計(jì)算過程是有窮的,它不能無限期地計(jì)算下去——計(jì)算機(jī)的CPU的計(jì)算資源有限的;
    • 空間維度:即內(nèi)存、存儲(chǔ)空間。同理,有于內(nèi)存的有限性,不可能將算法產(chǎn)生的中間步驟無限地存儲(chǔ)在內(nèi)存當(dāng)中。

    Dyna?QDyna-QDyna?Q算法的角度觀察

    • Dyna?QDyna-QDyna?Q算法中的循環(huán),無論是遍歷情節(jié)的主循環(huán),還是學(xué)習(xí)過程、規(guī)劃過程嵌套循環(huán)——構(gòu)成消耗CPU計(jì)算資源的主要因素
    • 無論是學(xué)習(xí)過程還是規(guī)劃過程,都要對Q?TableQ-TableQ?Table中的元素進(jìn)行更新。以及ModelModelModel各狀態(tài)-動(dòng)作對的元素進(jìn)行更新,這些步驟都需要存儲(chǔ)在內(nèi)存(Memory)中。
  • 狀態(tài)-動(dòng)作空間的無限性:
    如果強(qiáng)化學(xué)習(xí)任務(wù)足夠復(fù)雜——復(fù)雜到狀態(tài)-動(dòng)作對趨近于無限(可以將狀態(tài)、動(dòng)作看作連續(xù)型隨機(jī)變量),至此,我們同樣需要 趨近于無限的時(shí)間 去求解這個(gè)任務(wù),這樣自然和算法的有窮性相矛盾。

如何緩和矛盾——算力聚焦

回顧Dyna?QDyna-QDyna?Q算法過程,算力消耗主要集中在規(guī)劃過程中的 nnn次規(guī)劃

  • 狀態(tài)sss的選擇只是從訪問過的狀態(tài)組成的集合中隨機(jī)選擇的一個(gè)結(jié)果;
  • 動(dòng)作aaa的選擇是從狀態(tài)sss采取過的動(dòng)作組成的集合中隨機(jī)選擇的一個(gè)結(jié)果;

由于是隨機(jī)選擇——各元素被選擇的概率相同,這將導(dǎo)致一個(gè)問題:這種純隨機(jī)的方式導(dǎo)致后續(xù)的Q?tableQ-tableQ?table更新效率非常低。
這里的‘元素’是指能夠被采樣出來的狀態(tài)和動(dòng)作,簡寫為元素。后面同理

我們希望被選擇的狀態(tài)-動(dòng)作對(s,a)(s,a)(s,a) 有意義——將各狀態(tài)-動(dòng)作對通過權(quán)重的方式進(jìn)行區(qū)分——使用 算力聚焦思想 區(qū)分狀態(tài)-動(dòng)作對,使集合中的某些元素獲取更高的算力等級;反之,對應(yīng)某些元素獲取較低的算力等級

算力聚焦自身的矛盾

區(qū)分狀態(tài)-動(dòng)作對 這件事情本身就是一個(gè)難點(diǎn):

  • 確實(shí)想要使用算力聚焦思想使規(guī)劃過程效率提升,即 算力總量不變的情況下,能夠?qū)W習(xí)出更加優(yōu)秀的Q?TableQ-TableQ?Table
  • 于此同時(shí),我們并不想通過算力聚焦思想將集合中各元素之間的權(quán)重差距相差的太厲害——可能存在算力只聚焦在若干個(gè)權(quán)重較高的元素中,而導(dǎo)致某些元素被采樣的概率更低——甚至低于均勻分布的概率
    這種情況可能會(huì)導(dǎo)致:被忽略的元素(狀態(tài)-動(dòng)作對)中可能存在比較重要的信息

這可以理解為對算力聚焦度 的考量:

  • 確實(shí)需要算力聚焦思想去處理隨機(jī)選擇出現(xiàn)的問題;
    這個(gè)概念被稱為'利用'(Exploitation)。
  • 算力聚焦不要太強(qiáng)——同樣可能存在存在重要信息的狀態(tài)-動(dòng)作對,但因算力聚焦的影響,被選擇的概率較低的情況。
    這個(gè)概念被稱為'探索'(Exploration)。

上述兩種情況之間是 存在矛盾的,但我們同樣希望 兩種情況都能兼顧

探索(Exploration)與利用(Exploitation)

以狀態(tài)sss的采樣過程為例,重點(diǎn)觀察Dyna?QDyna-QDyna?Q規(guī)劃過程中狀態(tài)sss的采樣過程:

  • 狀態(tài)sss的選擇只是從訪問過的狀態(tài)組成的集合中隨機(jī)選擇的一個(gè)結(jié)果;

分析:上述過程中主要包含兩個(gè)重點(diǎn)缺陷:

  • 隨機(jī)選擇
    利用 (Exploitation)做得不足、實(shí)現(xiàn)的不好,各狀態(tài)間沒有區(qū)分性,需要使用算力聚焦思想

  • 訪問過的狀態(tài)中選擇:
    假設(shè)出現(xiàn)一種情況:在 學(xué)習(xí)過程 中,由于學(xué)習(xí)的都是真實(shí)經(jīng)驗(yàn),可能存在某些狀態(tài)-動(dòng)作對學(xué)習(xí)過程中從未發(fā)生過

    從而導(dǎo)致構(gòu)建的 樣本模型ModelModelModel中對應(yīng)的狀態(tài)-動(dòng)作對的結(jié)果(轉(zhuǎn)移后的狀態(tài)、對應(yīng)的獎(jiǎng)勵(lì))從未更新過

    這種情況下,在規(guī)劃過程中,被訪問的(狀態(tài)、動(dòng)作)集合 中自然也不會(huì)出現(xiàn)隨機(jī)出這種組合

    但這種組合 并不意味著不重要——核心原因只是因?yàn)?strong>真實(shí)的環(huán)境模型針對某個(gè)狀態(tài)-動(dòng)作對出現(xiàn)的概率確實(shí)低;
    上述例子雖然是‘真實(shí)環(huán)境模型’導(dǎo)致的結(jié)果,并不是‘算力聚焦’的干預(yù),但造成的結(jié)果是相同的。

    如果使用Dyna?QDyna-QDyna?Q中的隨機(jī)選擇方法——如果 學(xué)習(xí)過程中 真實(shí)環(huán)境模型沒有訪問到的狀態(tài)-動(dòng)作對,那么 規(guī)劃過程中必然不會(huì)訪問到,這導(dǎo)致 探索(Exploration)同樣做的不足、實(shí)現(xiàn)的不好

至此,Dyna?QDyna-QDyna?Q算法的缺陷被指出,歸結(jié)核心就是探索與利用問題

Dyna-Q+算法

由于 探索和利用之間的矛盾性,暫時(shí)不存在完全解決探索與利用問題的完美算法——但也衍生了各種各樣的算法。這里不同的算法對于求解問題存在不同偏好(bias),不同偏好從而影響 算力聚焦的方向。這里將介紹基于Dyna?QDyna-QDyna?Q的第一種改進(jìn)方法Dyna?Q+Dyna-Q+Dyna?Q+

假設(shè)構(gòu)建

Dyna?Q+Dyna-Q+Dyna?Q+基于的假設(shè):對于某一個(gè)狀態(tài)-動(dòng)作對,如果在真實(shí)環(huán)境中從未訪問過或者曾經(jīng)訪問過但很有沒有再次訪問過了,那么該狀態(tài)-動(dòng)作對的不確定性增加了,具體是滿足上述條件的狀態(tài)的環(huán)境模型發(fā)生變化的概率增大了

對假設(shè)的解析

在解析這句話之前,需要重申一次核心思路:動(dòng)態(tài)特性函數(shù)P(s′,r∣s,a)P(s',r \mid s,a)P(s,rs,a)不受智能體主觀意志的變化而變化。因此,增大的不是環(huán)境模型的概率P(s′,r∣s,a)P(s',r \mid s,a)P(s,rs,a),而是環(huán)境模型發(fā)生變化的概率

采用什么方法能夠達(dá)到該效果?——具體思路:增加轉(zhuǎn)移至該狀態(tài)對應(yīng)的獎(jiǎng)勵(lì)結(jié)果,具體方式是構(gòu)建一個(gè)關(guān)于時(shí)間(τ\tauτ)與獎(jiǎng)勵(lì)結(jié)果rrr的函數(shù):
r←r+κτr \gets r + \kappa \sqrt \taurr+κτ?

其中τ\tauτ表示當(dāng)前時(shí)刻距離上次訪問該狀態(tài)之間的時(shí)間間隔τ\tauτ越大,狀態(tài)被冷落(未被訪問) 的時(shí)間越長,對應(yīng)的獎(jiǎng)勵(lì)結(jié)果rrr越大,從而使該狀態(tài)被訪問的 頻率 增加。

核心解釋
為什么增大了獎(jiǎng)勵(lì)結(jié)果 →\to 該狀態(tài)被訪問的 頻率會(huì)增加

雖然沒有辦法控制動(dòng)態(tài)特性函數(shù)P(s′,r∣s,a)P(s',r \mid s,a)P(s,rs,a),但是我們可以修改策略,影響當(dāng)前狀態(tài)選擇的動(dòng)作。我們選擇動(dòng)作的基準(zhǔn)是策略改進(jìn)的貪心算法
a?=arg?max?aQπ(s,a)Qπ(s,a)=Eπ[Gt∣St=s,At=a]a^* = \mathop{\arg\max}\limits_{a} Q_{\pi}(s,a) \\ Q_{\pi}(s,a) = \mathbb E_{\pi}[G_t \mid S_t = s,A_t = a]a?=aargmax?Qπ?(s,a)Qπ?(s,a)=Eπ?[Gt?St?=s,At?=a]

如果增大了某狀態(tài)的獎(jiǎng)勵(lì)結(jié)果上一狀態(tài)轉(zhuǎn)移至該狀態(tài)的回報(bào)也會(huì)增加,從而使上一狀態(tài)的狀態(tài)價(jià)值函數(shù)Vπ(s)V_{\pi}(s)Vπ?(s)也會(huì)增大
Gt=Rt+1+γRt+2+...Vπ(s)=Eπ[Gt∣St=s]G_t = R_{t+1} + \gamma R_{t+2} + ...\\ V_\pi(s) = \mathbb E_{\pi}[G_t \mid S_t = s]Gt?=Rt+1?+γRt+2?+...Vπ?(s)=Eπ?[Gt?St?=s]

上一狀態(tài)的價(jià)值函數(shù)繼續(xù)影響上上個(gè)狀態(tài)的狀態(tài)-動(dòng)作價(jià)值函數(shù)Q(s,a)Q(s,a)Q(s,a)。以此類推,由于選擇的動(dòng)作滿足貪心策略,一定會(huì)朝著Q(s,a)Q(s,a)Q(s,a)增大的方向進(jìn)行狀態(tài)轉(zhuǎn)移,并且隨著獎(jiǎng)勵(lì)增大,選擇狀態(tài)轉(zhuǎn)移的頻率越來越高
通俗理解:只要存在動(dòng)作能夠轉(zhuǎn)移到那個(gè)狀態(tài),隨著狀態(tài)獎(jiǎng)勵(lì)的增加,后續(xù)可能會(huì)‘毫不猶豫地選擇Q(s,a)大的動(dòng)作’,選擇并執(zhí)行該動(dòng)作后,必然要執(zhí)行狀態(tài)轉(zhuǎn)移。雖然動(dòng)態(tài)特性函數(shù)沒有變化過,但抵不過狀態(tài)轉(zhuǎn)移的次數(shù)多,總會(huì)有一次狀態(tài)轉(zhuǎn)移過程中‘動(dòng)態(tài)特性函數(shù)選擇該狀態(tài)’,τ\tauτ置零,并重新開始計(jì)時(shí)。

下一節(jié)將介紹其他的算力聚焦方法。

相關(guān)參考:
8.3 當(dāng)模型錯(cuò)了
【強(qiáng)化學(xué)習(xí)】規(guī)劃與學(xué)習(xí)-算力聚焦

總結(jié)

以上是生活随笔為你收集整理的蒙特卡洛树搜索方法介绍——算力聚焦方法(一) Dyna-Q+的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。