小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

潮科技行業(yè)入門(mén)指南:深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— ?強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

 昵稱(chēng)535749 2019-03-25

編者按:本文節(jié)選自《深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇 》一書(shū),原文鏈接http://fancyerii./2019/03/14/dl-book/ 。作者李理,環(huán)信人工智能研發(fā)中心vp,有十多年自然語(yǔ)言處理和人工智能研發(fā)經(jīng)驗(yàn),主持研發(fā)過(guò)多款智能硬件的問(wèn)答和對(duì)話系統(tǒng),負(fù)責(zé)環(huán)信中文語(yǔ)義分析開(kāi)放平臺(tái)和環(huán)信智能機(jī)器人的設(shè)計(jì)與研發(fā)。

以下為正文。

目錄

  1. 引言

  2. 馬爾科夫決策過(guò)程(MDP)

  • 和環(huán)境的互動(dòng)

  • 目標(biāo)和獎(jiǎng)勵(lì)

  • 回報(bào)(Return)

  • 馬爾科夫?qū)傩?/p>

  • 馬爾科夫決策過(guò)程(Markov Decision Processes)

  • 價(jià)值函數(shù)(Value Function)

  • 最優(yōu)價(jià)值函數(shù)(Optimal Value Functions)

3. OpenAI Gym簡(jiǎn)介

  • 運(yùn)行Environment

  • 觀察(Observations)

  • Spaces

引言

前面我們介紹了監(jiān)督學(xué)習(xí),監(jiān)督學(xué)習(xí)的特點(diǎn)是有一個(gè)“老師”來(lái)“監(jiān)督”我們,告訴我們正確的結(jié)果是什么。在我們?cè)谛〉臅r(shí)候,會(huì)有老師來(lái)教我們,本質(zhì)上監(jiān)督學(xué)習(xí)是一種知識(shí)的傳遞,但不能發(fā)現(xiàn)新的知識(shí)。對(duì)于人類(lèi)整體而言,真正(甚至唯一)的知識(shí)來(lái)源是實(shí)踐——也就是強(qiáng)化學(xué)習(xí)。比如神農(nóng)嘗百草,最早人類(lèi)并不知道哪些草能治病,但是通過(guò)嘗試,就能學(xué)到新的知識(shí)。學(xué)到的這些知識(shí)通過(guò)語(yǔ)言文字記錄下來(lái),一代一代的流傳下來(lái),從而人類(lèi)社會(huì)作為整體能夠不斷的進(jìn)步。和監(jiān)督學(xué)習(xí)不同,沒(méi)有一個(gè)“老師”會(huì)“監(jiān)督“我們。比如下圍棋,不會(huì)有人告訴我們當(dāng)前局面最好的走法是什么,只有到游戲結(jié)束的時(shí)候我們才知道最終的勝負(fù),我們需要自己復(fù)盤(pán)(學(xué)習(xí))哪一步是好棋哪一步是臭棋。自然界也是一樣,它不會(huì)告訴我們是否應(yīng)該和別人合作,但是通過(guò)優(yōu)勝劣汰,最終”告訴”我們互相協(xié)助的社會(huì)會(huì)更有競(jìng)爭(zhēng)力。和前面的監(jiān)督非監(jiān)督學(xué)習(xí)相比有一個(gè)很大的不同點(diǎn):在強(qiáng)化學(xué)習(xí)的Agent是可以通過(guò)Action影響環(huán)境的——我們的每走一步棋都會(huì)改變局面,有可能變好也有可能變壞。

它要解決的核心問(wèn)題是給定一個(gè)狀態(tài),我們需要判斷它的價(jià)值 (Value)。價(jià)值和獎(jiǎng)勵(lì) (Reward) 是強(qiáng)化學(xué)習(xí)最基本的兩個(gè)概念。對(duì)于一個(gè) Agent(強(qiáng)化學(xué)習(xí)的主體)來(lái)說(shuō),Reward 是立刻獲得的,內(nèi)在的甚至與生俱來(lái)的。比如處于饑餓狀態(tài)下,吃飯會(huì)有 Reward。而 Value 是延遲的,需要計(jì)算和慎重考慮的。比如饑餓狀態(tài)下去偷東西吃可以有 Reward,但是從 Value (價(jià)值觀)的角度這(可能)并不是一個(gè)好的 Action。為什么不好?雖然人類(lèi)很監(jiān)督學(xué)習(xí),比如先賢告訴我們這是不符合道德規(guī)范的,不是好的行為。但是我們之前說(shuō)了,人類(lèi)最終的知識(shí)來(lái)源是強(qiáng)化學(xué)習(xí),先賢是從哪里知道的呢?有人認(rèn)為來(lái)自上帝或者就是來(lái)自人的天性,比如“人之初性本善”,我們會(huì)在最后一章討論哲學(xué)的問(wèn)題。如果從進(jìn)化論的角度來(lái)解釋?zhuān)祟?lèi)其實(shí)在玩一場(chǎng)”生存”游戲,有遵循道德的人群和有不遵循的人群,大自然會(huì)通過(guò)優(yōu)勝劣汰”告訴”我們最終的結(jié)果,最終我們的先賢“學(xué)到”了(其實(shí)是被選擇了)這些道德規(guī)范,并且把這些規(guī)范通過(guò)教育(監(jiān)督學(xué)習(xí))一代代流傳下來(lái)。

馬爾科夫決策過(guò)程(MDP)

馬爾科夫決策過(guò)程 (Markov Decision Process) 是強(qiáng)化學(xué)習(xí)最常見(jiàn)的模型。我們通過(guò)這個(gè)模型來(lái)介紹強(qiáng)化學(xué)習(xí)的一些基本概念。

和環(huán)境的互動(dòng)

強(qiáng)化學(xué)習(xí)的本質(zhì)就是通過(guò)與環(huán)境的互動(dòng)來(lái)學(xué)習(xí)怎么達(dá)成一個(gè)目標(biāo)。這個(gè)學(xué)習(xí)和做決策的主體就叫Agent。Agent交互的對(duì)象就是環(huán)境(Environment),環(huán)境可大可小,對(duì)于坐井觀天的青蛙來(lái)說(shuō),它的環(huán)境就是那口小井;而對(duì)于人類(lèi)來(lái)說(shuō),整個(gè)地球甚至太陽(yáng)系都是我們研究的對(duì)象。Agent會(huì)持續(xù)的和環(huán)境交互,根據(jù)當(dāng)前的狀態(tài)選擇行為(Action),而環(huán)境會(huì)給Agent新的狀態(tài)和Reward。整個(gè)交互過(guò)程如下圖所示。

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)上圖:強(qiáng)化學(xué)習(xí)里Agent和環(huán)境的互動(dòng)

Agent和環(huán)境的交互假設(shè)是時(shí)刻 t=0,1,…。在 t 時(shí)刻,Agent 處于某個(gè)狀態(tài) St∈S,這里 S 表示所有可能狀態(tài)的集合,也就是狀態(tài)空間。它可以選擇一個(gè)行為 At∈A(St),其中 A(St) 是狀態(tài) ???? 時(shí)可以選擇的所有行為的集合。選擇了行為 ???? 之后,環(huán)境會(huì)在下一個(gè) (t+1) 時(shí)刻給 Agent 一個(gè)新的狀態(tài) ????+1 和Reward Rt+1∈R?R。

一個(gè)實(shí)數(shù)值的 Reward 是否足夠?拿人來(lái)說(shuō),是有很多方面的追求,比如同時(shí)要考慮工作和家庭。當(dāng)然最簡(jiǎn)單的方法是把兩個(gè)目標(biāo)(goal)進(jìn)行加權(quán)求和,而且這個(gè)權(quán)重似乎會(huì)變化,因此人類(lèi)是否有一個(gè)單一的目標(biāo),而其他目標(biāo)都是它的一種外在表現(xiàn)?我們這里不討論這個(gè)問(wèn)題,但是對(duì)于實(shí)際的Task來(lái)說(shuō),一般是足夠了。比如下圍棋,就是勝負(fù);玩Atari游戲就是獲得最高的得分。

在每個(gè)時(shí)刻 t,Agent 根據(jù)當(dāng)前的狀態(tài) ???? 會(huì)選取不同的行為 ????,選擇的方法叫做策略 (Policy),一般假設(shè)是它一個(gè)概率分布(確定的策略是它的特殊情況)????(????|????),如果這個(gè)隨機(jī)過(guò)程是平穩(wěn)的 (Stationary),那么我們的策略也一般與時(shí)間無(wú)關(guān)的,即????(????|????)=??(????|????)。策略有好有壞,Agent 的目標(biāo)是學(xué)習(xí)到最好的策略(是否存在也是強(qiáng)化學(xué)習(xí)的一個(gè)理論問(wèn)題,不過(guò)我們一般認(rèn)為存在,也有一些理論可以證明如果系統(tǒng)滿足一些假設(shè),最優(yōu)策略是存在的)。

目標(biāo)和獎(jiǎng)勵(lì)

每個(gè)時(shí)刻 t,環(huán)境都會(huì)給 Agent 一個(gè) RewardRt,而 Agent 的目標(biāo) (Goal) 是最大化最終得到的所有 Reward 的和。這里隱含的意思是:我們的目標(biāo)不是短期的 Reward,而是長(zhǎng)期 Reward 的累加。在學(xué)校的時(shí)候平時(shí)努力學(xué)習(xí)最終會(huì)有回報(bào)的,如果短期來(lái)看,學(xué)習(xí)可能會(huì)饑餓會(huì)疲憊,而出去玩可能會(huì)愉快。這就是所謂的“Reward假設(shè)”:我們所說(shuō)的目標(biāo) (Goal) 或者目的 (Purpose) 最終可以被看成最大化一個(gè) Reward 信號(hào)的累加值。

就像前文說(shuō)過(guò),用一個(gè)數(shù)值來(lái)描述 Agent 所有的目標(biāo)(尤其是人這樣復(fù)雜的生物)似乎有些不夠,我們暫且把Agent放到一些具體的任務(wù) (Task) 上來(lái)看看似乎足夠。比如我們讓一個(gè)老鼠逃離迷宮 (Maze),如果它沒(méi)有找到出口我們給它 -1 的 Reward,這樣它學(xué)習(xí)的目標(biāo)就是盡快的逃離迷宮。比如下象棋,如果獲勝,我們給它 +1 的 Reward,如果輸棋則是 -1,和棋則是 0。又比如掃地機(jī)器人,如果它收集到垃圾,那么給它 +1 的 Reward,那么它的目標(biāo)就是盡可能多的收集垃圾。

注意:我們定義的目標(biāo)是要告訴Agent我們期望它做的是什么 (What),而不是告訴它怎么做 (How)。比如下棋時(shí)吃掉對(duì)方的棋子是一種獲勝的策略(怎么做),我們不能給吃子 Reward,否則它就可能學(xué)到的策略是為了吃子,因?yàn)槲覀冎烙械臅r(shí)候?yàn)榱双@勝必須犧牲己方的棋子。

回報(bào)(Return)

Agent的目標(biāo)是最大化長(zhǎng)期的 Reward 累加值,下面我們來(lái)形式化的定義這個(gè)累加值——回報(bào)。假設(shè) t 時(shí)刻之后的 Reward 是 ????,????+1,…,我們期望這些 Reward 的和最大。由于環(huán)境(可能)是隨機(jī)的,而且 Agent 的策略也(可能)是隨機(jī)的,因此 Agent 的目標(biāo)是最大化 Reward 累加和的期望值?;貓?bào) ???? 定義如下:

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)其中 T 是最后的時(shí)刻。有些任務(wù)會(huì)有一些結(jié)束的狀態(tài),從任務(wù)的初始狀態(tài)到結(jié)束狀態(tài),我們稱(chēng)之為一個(gè) episode。比如下象棋,從開(kāi)始下棋到最終分出勝負(fù)(或者和棋)一局游戲結(jié)束就叫一個(gè) episode。如果我們開(kāi)始一個(gè)新的 episode,比如下棋重新開(kāi)始一局,那么 Agent 的狀態(tài)會(huì)重置到初始化狀態(tài),而且新的一局和上一局是沒(méi)有關(guān)系的。除了 episode 的任務(wù)之外,還有一種任務(wù)沒(méi)有結(jié)束狀態(tài),會(huì)一直繼續(xù)下去,也就是 ??=∞。

由于未來(lái)的不確定性,我們一般會(huì)對(duì)未來(lái)的 Reward 進(jìn)行打折 (Discount)。這很好理解,眼前的 Reward 的是確定的,拿到手再說(shuō),未來(lái)的 Reward 不確定因素太多,所以要打折。因此我們可以定義打折后的回報(bào)(Discounted Return)如下:

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

其中??γ是一個(gè)參數(shù),0≤??≤1 叫做打折率(Discount Ratio)。如果 ??<1 并且 Reward 是有界的,那么無(wú)窮項(xiàng)的和是收斂的。如果 ??=0,則 Agent 只考慮當(dāng)前 t 時(shí)刻的 Reward,而隨著 ?? 趨近于 1,則未來(lái)的 Reward 越來(lái)越重要,當(dāng) ??=1 時(shí),未來(lái)的 Reward 和當(dāng)前的一樣重要?;貓?bào) ???? 有如下的遞歸公式:

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

馬爾科夫?qū)傩?a href="http://fancyerii./2019/03/01/rl1/#馬爾科夫?qū)傩?>

在強(qiáng)化學(xué)習(xí)里,Agent 根據(jù)狀態(tài)來(lái)決定采取什么樣的行為,而狀態(tài)是來(lái)自環(huán)境的一個(gè)信號(hào) (Signal)。狀態(tài)可以來(lái)自 Agent 的傳感器的測(cè)量 (Sensory Measurements),也可以是這些原始測(cè)量的復(fù)雜處理??梢允钱?dāng)前時(shí)刻的傳感器信號(hào),也可以包含以前的信號(hào)。理想的,我們期望狀態(tài)信號(hào)能夠緊湊的壓縮過(guò)去所有的信息,它能夠保留所有相關(guān)的信息而盡量丟棄無(wú)關(guān)的信息。這通常要求狀態(tài)不僅包含當(dāng)前時(shí)刻的信號(hào),還可能包含之前的一些信息,當(dāng)然通常不需要所有過(guò)去的信息。如果一個(gè)狀態(tài)信號(hào)包含了所有相關(guān)的信息,那么就叫它具有馬爾科夫?qū)傩?(Markov Property)。比如下象棋,當(dāng)前的局面(包括所有棋子的位置和誰(shuí)走下一步棋)包含了所有的信息。不管是先走車(chē)再走馬還是先走馬再走車(chē),總之它們到達(dá)了相同的局面。因此通常馬爾科夫?qū)傩酝ǔEc具體的“路徑”無(wú)關(guān)。下面我們來(lái)形式化的定義馬爾科夫?qū)傩浴?/p>

我們假設(shè)環(huán)境的動(dòng)力系統(tǒng) (dynamics) 是如下的隨機(jī)過(guò)程:

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

也就是在過(guò)去所有的歷史信息的情況下(??0,??0,??1,…,?????1,?????1,????),Agent 處于狀態(tài) ???? 下采取 ???? 后環(huán)境反饋的新?tīng)顟B(tài)是 s’ 并且 reward 是 r 的聯(lián)合概率分布。如果系統(tǒng)滿足馬爾科夫?qū)傩?,那么所有的過(guò)去歷史信息都?jí)嚎s在 ???? 里了,因此給定 ???? 的條件下與過(guò)去的歷史無(wú)關(guān),因此滿足馬爾科夫?qū)傩缘南到y(tǒng)的動(dòng)力系統(tǒng)可以簡(jiǎn)化為如下公式:

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

如果環(huán)境具有馬爾科夫?qū)傩裕敲丛诮o定當(dāng)前狀態(tài)和行為的條件下我們可以使用上式預(yù)測(cè)下一個(gè)狀態(tài)和Reward(的概率)。通過(guò)不斷迭代的使用這個(gè)公式,我們可以(精確的)計(jì)算當(dāng)前狀態(tài)的期望回報(bào)。

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

圖:Atari Broke游戲

比如上圖 Atari Broke 游戲,玩法就是用下面的擋板把球反彈回去,然后碰掉上方的格子,每碰掉一個(gè)格子就會(huì)有加分(Reward),如果所有格子都碰掉了或者擋板沒(méi)有接到球讓它落入屏幕下方就算游戲結(jié)束。玩家的目標(biāo)就是獲得更多的得分。

如果我們分析這個(gè)游戲的環(huán)境,假如我們把當(dāng)前幀的圖像作為當(dāng)前的狀態(tài),那么它是否是馬爾科夫的呢?似乎不行,因?yàn)橐环鶊D像只有今天的信息,可能有兩個(gè)狀態(tài)圖像相同但是球速可能不同。我們可以把當(dāng)前幀和前一幀圖像作為當(dāng)前的狀態(tài),假設(shè)球是勻速直線運(yùn)動(dòng)的(在沒(méi)有碰撞的時(shí)候是這樣的),那么根據(jù)兩幀的球的位置可以計(jì)算出其速度來(lái)。這樣就可以大致認(rèn)為它是具有馬爾科夫?qū)傩缘牧恕?/p>

馬爾科夫決策過(guò)程(Markov Decision Processes)

滿足馬爾科夫?qū)傩缘膹?qiáng)化學(xué)習(xí)叫做馬爾科夫決策過(guò)程,如果狀態(tài)空間和行為空間是有限的,那么它就叫有限馬爾科夫決策過(guò)程。一個(gè)馬爾科夫決策過(guò)程完全由環(huán)境的當(dāng)前狀態(tài)決定,我們?cè)俅沃貜?fù)一下這個(gè)重要公式:

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

有了上面的公式,我們可以計(jì)算關(guān)于環(huán)境的任何信息(也就是說(shuō)環(huán)境完全由這個(gè)公式確定)。比如我們可以計(jì)算某個(gè)特點(diǎn)狀態(tài) s 和行為 a 的期望 reward 如下:

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

上面的公式直接根據(jù)期望的定義推導(dǎo)出來(lái),我們這里簡(jiǎn)單的推導(dǎo)一下,后面類(lèi)似的地方就略過(guò)了。

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

同樣我們可以得到狀態(tài)轉(zhuǎn)移概率:

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

以及給定當(dāng)前 s、當(dāng)前 a 和下一個(gè) s’ 條件時(shí)期望的 Reward:

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

價(jià)值函數(shù)(Value Function)

很多強(qiáng)化學(xué)習(xí)方法會(huì)涉及求狀態(tài)的價(jià)值函數(shù)(或者 State-Action 對(duì)的價(jià)值函數(shù))。這個(gè)函數(shù)計(jì)算Agent 處于這個(gè)狀態(tài)(或者 Agent 處于狀態(tài) s 并且采取行為 a)到底有多好。比如下棋的時(shí)候我們會(huì)思考如果我們處于某個(gè)局面(Position)到底是好是壞,從而采取 Action 引導(dǎo)局面向這個(gè)好的局面發(fā)展或者避開(kāi)不好的局面。這里的“好”指的是在這個(gè)狀態(tài)下 Agent 獲得回報(bào)的期望值,當(dāng)然這個(gè)期望值是與 Agent 的策略(Policy)緊密相關(guān)的,因此價(jià)值函數(shù)指的是在某個(gè)策略下的價(jià)值函數(shù)。

回憶一下,策略??是一個(gè)從狀態(tài) s∈S, Action ??∈A(s) 到概率 ??(??|??) 的映射。我們把狀態(tài) s 時(shí)策略 ?? 的價(jià)值,也就是 Agent 處于狀態(tài) s,并且使用策略 ?? ,它所能得到的回報(bào)的期望值,定義為????(??) 。它的形式化定義是:

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

這里 ????[·] 代表 Agent 使用策略 ?? 來(lái)采取行為時(shí)隨機(jī)變量的期望值。如果有終止?fàn)顟B(tài),我們定義其價(jià)值函數(shù)為零。我們把函數(shù) ???? 叫做策略 ?? 的狀態(tài)價(jià)值函數(shù)(State Value Function)。

類(lèi)似的我們可以定義????(??,??) ,在狀態(tài) s 下采取 Action a 的價(jià)值,其形式化定義為:

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

我們把 ???? 叫做策略 ?? 的行為價(jià)值函數(shù)(Action Value Function)。

值函數(shù) ???? 和 ???? 可以從經(jīng)驗(yàn)(Experience)中估計(jì)出來(lái)。比如我們可以這樣來(lái)估計(jì):如果一個(gè) Agent 使用策略 ?? 模擬很多次,通過(guò)平均可以估計(jì)出一個(gè)值來(lái),如果模擬次數(shù)趨于無(wú)窮大,那么這種方法得到的估計(jì)值 ??? ??(??) 會(huì)收斂到真正的 ????(??) 。這就是蒙特卡羅(Monte Carlo)方法,這個(gè)方法也可以用于 ????(??,??) 的估計(jì)。如果狀態(tài)空間非常大,我們也可以假設(shè) ????(??) 或者 ????(??,??) 是參數(shù)化的函數(shù)(模型) ????(??;??) 或者 ????(??,??;??) ,這就是近似的方法。我們可以用深度神經(jīng)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn) ????(??;??) 或者 ????(??,??;??) ,這就是所謂的深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning)。

值函數(shù)一個(gè)非常重要的特效是它滿足某種遞歸性,這在強(qiáng)化學(xué)習(xí)和動(dòng)態(tài)規(guī)劃會(huì)經(jīng)常用到。這個(gè)遞歸公式就是貝爾曼方程(Bellman Equation),希望讀者能夠理解并推導(dǎo)下面的公式(如果有些步驟不能推導(dǎo),也至少讀懂它在說(shuō)什么并能夠“認(rèn)可”這個(gè)等式,書(shū)讀百遍其義自見(jiàn),實(shí)在不理解多抄兩遍也會(huì)有幫助)。

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

???? 的 backup 圖

我們?cè)賮?lái)看一下 Bellman 公式,它是遞歸定義的—— ????(??) 是由 ????(??′) 來(lái)定義的,對(duì)于有些簡(jiǎn)單問(wèn)題,我們可以根據(jù)這個(gè)公式把 ???? 通過(guò)解方程解出來(lái)。

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

最優(yōu)價(jià)值函數(shù)(Optimal Value Functions)

解決強(qiáng)化學(xué)習(xí)任務(wù),粗略來(lái)說(shuō),就是找到一個(gè)策略,使得長(zhǎng)期的 reward 盡可能多。首先我們定義什么是一個(gè)策略 ?? 比另外一個(gè)策略 ??‘ 好(或者一樣好),記作 ??≥??′ 。形式化的定義是 ??≥??′??s∈S, vπ(s)≥vπ′(s)。 可以證明(這里略過(guò))存在一個(gè)(可能有多個(gè))最優(yōu)的 ??? ,它比所有其它策略都“好”。最優(yōu)策略對(duì)于的價(jià)值函數(shù)叫做最優(yōu)價(jià)值函數(shù),記作 ???(??) :

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

同理對(duì)于行為也有一個(gè)最優(yōu)的行為價(jià)值函數(shù):

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

???(??,??) 和 ???(??) 有如下關(guān)系:

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

我們可以這樣解讀這個(gè)公式:s 和 a 確定后,它會(huì)進(jìn)入 ????+1 狀態(tài)并得到 Reward ????+1 ,這是過(guò)程是有概率的,因此前面有一個(gè)期望??E。但是這和 Agent 無(wú)關(guān),和 Agent 有關(guān)的是在 t+1 時(shí)刻的行為,如果要得到最優(yōu)的 ??(??,??) ,那么它必須在 t+1 時(shí)刻根據(jù)最優(yōu)策略 ??? 來(lái)計(jì)算 ??(????+1) ,因此就是 ???(????+1) 。

需要注意:上面公式的隨機(jī)變量只是 ????+1 和 ????+1 ,它由環(huán)境 ??(??,??′|??,??) 確定,而 ???(??) 和 ???(??,??) 是兩個(gè)常量(給定 s,a 的情況下)。

OpenAI Gym簡(jiǎn)介

OpenAI Gym是一個(gè)用來(lái)開(kāi)發(fā)和比較強(qiáng)化學(xué)習(xí)算法的工具。它對(duì)Agent的實(shí)現(xiàn)沒(méi)有任何約束,因此你可以用TensorFlow或者其它任何工具來(lái)實(shí)現(xiàn)Agent。它提供統(tǒng)一的Environment的接口,你可以用這個(gè)接口來(lái)定義一個(gè)具體的強(qiáng)化學(xué)習(xí)任務(wù),此外它也提供很多常見(jiàn)的任務(wù),比如很多Atari的游戲。

運(yùn)行Environment

首先我們介紹一個(gè)很簡(jiǎn)單的游戲CartPole-v0,如下圖所示。

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

圖:CartPole-v0運(yùn)行時(shí)的截圖

這個(gè)游戲有一個(gè)小車(chē),可以對(duì)車(chē)子施加 +1 或者 -1 的力(加速度),車(chē)上有一個(gè)桿子,我們的目標(biāo)是要求車(chē)子的位置在 -2.4 到 2.4 之間,并且桿子相對(duì)于垂直的角度在 -15° 和 15° 之間。如果從物理的角度來(lái)分析,它有 4 個(gè)狀態(tài)變量,車(chē)子的位置,車(chē)子的速度,桿的角度,桿的角速度。而我們施加的力會(huì)改變車(chē)子的速度,從而間接改變車(chē)子的位置。我們可以用幾行代碼運(yùn)行 CartPole-v0 這個(gè)游戲:

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

代碼很簡(jiǎn)單,首先創(chuàng)建一個(gè)CartPole-v0 Environment對(duì)象 env,重置(reset)使環(huán)境進(jìn)入初始狀態(tài)。接著循環(huán) 1000 次,每次首先把當(dāng)前的游戲狀態(tài)繪制出來(lái) (render),然后隨機(jī)的選擇一個(gè) Action env.action_space.sample(),接著調(diào)用 env.step 函數(shù)真正的“執(zhí)行”這個(gè) Action。

觀察(Observations)

觀察就是 MDP 里的狀態(tài) (State),Environment 的 step 有 4 個(gè)返回值:

  1. observation 一個(gè)對(duì)象,代表觀察,不同的環(huán)境返回的對(duì)象是不同的。

  2. reward float 類(lèi)型表示Reward。

  3. done bool 類(lèi)型 表示任務(wù)是否結(jié)束。對(duì)于 Episode 類(lèi)任務(wù)會(huì)有結(jié)束狀態(tài),進(jìn)入結(jié)束狀態(tài)后再調(diào)用step是沒(méi)有意義的,必須要先調(diào)用reset

  4. info 調(diào)試用的一些信息

我們可以用如下代碼打印出其中的一些信息:

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

Spaces

Environment 對(duì)象里有兩個(gè)空間 (Space):狀態(tài)空間 (State Space) 和行為空間 (Action Space),它們定義了所有可能的狀態(tài)和行為。我們可以查看一些 CartPole-v0 的 Space:

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

從輸出可以看出,Discrete(2) 表示這個(gè)任務(wù)有兩個(gè)選的 Action(分布表示向左和向右移動(dòng)),Box(4,)表示狀態(tài)由 4 維向量表示,物理意義分別是車(chē)子相對(duì)原點(diǎn)的位置和速度,桿相對(duì)于垂直方向的角度和角速度。我們可以用如下的代碼檢查其取值范圍:

潮科技行業(yè)入門(mén)指南 | 深度學(xué)習(xí)理論與實(shí)戰(zhàn):提高篇(15)—— 強(qiáng)化學(xué)習(xí)簡(jiǎn)介 (一)

本文經(jīng)授權(quán)發(fā)布,不代表36氪立場(chǎng)。如若轉(zhuǎn)載請(qǐng)聯(lián)系原作者。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多