AlphaGo背后的強化學(xué)習(xí)

學(xué)號:16040520018

姓名:米芃

[嵌牛導(dǎo)讀]本文是強化學(xué)習(xí)名作——“Reinforcement Learning: an Introduction”一書中最為重要的內(nèi)容模暗,旨在介紹學(xué)習(xí)強化學(xué)習(xí)最基礎(chǔ)的概念及其原理利职,讓讀者能夠盡快的實現(xiàn)最新模型。畢竟淫痰,對任何機器學(xué)習(xí)實踐者來說,RL(強化學(xué)習(xí),即Reinforcement Learning)都是一種十分有用的工具鞋邑,特別是在AlphaGo的盛名之下氓辣。

[嵌牛鼻子]強化學(xué)習(xí) 馬爾科夫決策

[嵌牛提問]AlphaGo強大的背后有什么支持

[嵌牛正文]

監(jiān)督學(xué)習(xí) vs. 評估學(xué)習(xí)

對于很多感興趣的問題秒裕,監(jiān)督學(xué)習(xí)的范例沒有辦法給我們提供所需要的靈活性。監(jiān)督學(xué)習(xí)和強化學(xué)習(xí)這兩者之間最主要的區(qū)別在于收到的反饋是評估性的還是指導(dǎo)性的钞啸。指導(dǎo)性的反饋告訴你如何達(dá)到目標(biāo)簇爆,而評估性的反饋則告訴你將會把目標(biāo)完成到什么程度。監(jiān)督學(xué)習(xí)以指導(dǎo)性的反饋為基礎(chǔ)來解決問題爽撒,而強化學(xué)習(xí)則是基于評估性反饋來解決問題的入蛆。圖像分類就是用帶有指導(dǎo)性反饋的監(jiān)督學(xué)習(xí)解決問題的一個實際例子;當(dāng)算法嘗試分類一些特定的數(shù)據(jù)時硕勿,它將從指導(dǎo)性的反饋中了解到哪個才是真正的類別哨毁。而另一方面,評估性的反饋僅僅告訴你完成目標(biāo)的程度源武。如果你用評估性反饋來訓(xùn)練一個分類器扼褪,你的分類器可能會說“我認(rèn)為這是一個倉鼠”想幻,然后它會得到50分。但是话浇,由于沒有任何語境信息脏毯,我們不知道這 50 分是什么。我們需要進(jìn)行其他的分類幔崖,探索50分意味著我們是準(zhǔn)確或是不準(zhǔn)確食店。或許10000分是一個更好的分值赏寇,因此我們還是不知道它是什么吉嫩,除非我們嘗試去對其他數(shù)據(jù)再進(jìn)行分類。

猜到是倉鼠就可以得到兩個金色星星和一個笑臉嗅定,而猜沙鼠能得到一個銀色星星和一個大拇指

在我們感興趣的很多問題中自娩,評估性反饋的想法是更直觀的,更易實現(xiàn)的渠退。例如忙迁,想象一個控制著數(shù)據(jù)中心溫度的系統(tǒng)。指導(dǎo)性反饋在這里似乎沒有任何用處碎乃,你怎樣告訴你的算法在任意給定的時間步中每個零件正確的設(shè)置是什么姊扔?評估性反饋在這里就將發(fā)揮它的用處了。你能很容易的知道在一個特定的時間段用了多少電荠锭,或者平均溫度是多少旱眯,甚至有多少機器溫度過高了等數(shù)據(jù)。這實際上就是谷歌使用強化學(xué)習(xí)解決這些問題的方式证九。讓我們直接來學(xué)習(xí)吧删豺。

馬爾科夫決策過程

假定我們知道狀態(tài) s,如果未來的狀態(tài)條件獨立于過去的狀態(tài)愧怜,那么狀態(tài) s 就具有馬爾科夫性質(zhì)呀页。這意味著s描述了所有過去的狀態(tài)直到現(xiàn)在的狀態(tài)。如果這很難理解拥坛,那我們就用一個例子來解釋蓬蝶,讓這個問題顯得更簡單一點。假設(shè)一個球飛過空中猜惋,如果它的狀態(tài)是由它的位置和速度決定丸氛,并足以描述它當(dāng)前的位置和接下來的位置(不考慮物理模型和外界影響)。因此著摔,這一狀態(tài)就具備馬爾科夫性質(zhì)缓窜。但是,如果我們只知道這個球的位置不知道它的速度,它的狀態(tài)就不再是馬爾科夫禾锤。因為現(xiàn)在的狀態(tài)并不是所有以前狀態(tài)的歸納私股,我們需要以前的時間點所得到的信息去構(gòu)建合適的球的模型。

強化學(xué)習(xí)通扯髦溃可以建模為一個馬爾科夫決策過程倡鲸,即MDP(Markov Decision Process)。MDP是一個有向圖黄娘,它有節(jié)點和邊的狀態(tài)峭状,可以描述馬爾科夫狀態(tài)之間的轉(zhuǎn)變,下面是一個簡單的例子:

一個簡單的馬爾科夫決策過程

這個MDP展示了學(xué)習(xí)馬爾科夫決策的過程寸宏。在最開始你在一個“不理解”的狀態(tài)中宁炫,接下來偿曙,你有兩個可能的動作氮凝,學(xué)習(xí)或者不學(xué)習(xí)。如果你選擇不學(xué)習(xí)望忆,則有100%的可能性返回到不理解的狀態(tài)里罩阵。但是,如果你選擇學(xué)習(xí)启摄,只有20%的可能性讓你回到最開始的地方稿壁,即80%的可能性變成理解的狀態(tài)。

實際上歉备,我確定轉(zhuǎn)換到理解狀態(tài)的可能性超過80%傅是,MDP的核心其實很簡單,在一個狀態(tài)你可以采取一系列的動作蕾羊,在你采取行動之后喧笔,這里有一些你能轉(zhuǎn)化去什么狀態(tài)的分布。在采取不學(xué)習(xí)動作的例子中龟再,這個轉(zhuǎn)化也能被很好的確定书闸。

強化學(xué)習(xí)的目標(biāo)是去學(xué)習(xí)怎么花更多的時間在更有價值的狀態(tài)上,為了有一個更有價值的狀態(tài)利凑,我們需要MDP提供更多的信息浆劲。

你不需要一個MDP來告訴自己餓了要吃飯,但是強化學(xué)習(xí)的機制是需要它的

這個MDP增加了獎勵機制哀澈,你每轉(zhuǎn)化到一個狀態(tài)牌借,就會獲得一次獎勵。在這個例子中割按,由于接下來狀態(tài)是饑餓膨报,你會得到一個負(fù)面的獎勵,如果接下來狀態(tài)是餓死,那會得到一個更負(fù)面的獎勵丙躏。如果你吃飽了择示,就會獲得一個正面的獎勵。現(xiàn)在我們的MDP已經(jīng)完全成型晒旅,我們可以開始思考如何采取行動去獲取能獲得的最高獎勵栅盲。

由于這個MDP是十分簡單的,我們很容易發(fā)現(xiàn)待在一個更高獎勵的區(qū)域的方式废恋,即當(dāng)我們饑餓的時候就吃谈秫。在這個模型中,當(dāng)我們處于吃飽狀態(tài)的時候沒有太多其它的選擇鱼鼓,但是我們將會不可避免的再次饑餓拟烫,然后立馬選擇進(jìn)食。強化學(xué)習(xí)感興趣的問題其實具有更大更復(fù)雜的馬爾科夫決策過程迄本,并且在我們開始實際探索前硕淑,我們通常不知道這些策略。

形式化強化學(xué)習(xí)問題

現(xiàn)在我們有了很多我們需要的基礎(chǔ)材料嘉赎,接下來我們需要將目光轉(zhuǎn)向強化學(xué)習(xí)的術(shù)語置媳。最重要的組成是智能體(agent)和環(huán)境(environment)。智能體是被間接控制的公条,且存在于環(huán)境中拇囊。回顧我們的馬爾科夫決策模型靶橱,智能體可以在給定的狀態(tài)下選擇一個對它有顯著影響的動作寥袭。然而,智能體并不能完全的控制環(huán)境的動態(tài)关霸,環(huán)境會接收這些動作传黄,然后返回新的狀態(tài)和獎勵

來自Sutton和Barto的書“Reinforcement Learning: an Introduction”(這是強烈推薦的)的這張圖,很好的解釋了智能體和環(huán)境之間的相互作用谒拴。在某個時間步t尝江,智能體處于狀態(tài)s_t,采取動作a_t英上。然后環(huán)境會返回一個新的狀態(tài)s_t+1和一個獎勵r_t+1炭序。獎勵處于t+1時間步是因為它是由環(huán)境在t+1的狀態(tài)s_t+1返回的,因此讓它們兩個保持一致更加合理(如上圖所示)苍日。

我們現(xiàn)在已經(jīng)有一個強化學(xué)習(xí)問題的框架惭聂,接下來準(zhǔn)備學(xué)習(xí)如何最大化獎勵函數(shù)。在下一部分中相恃,我們將進(jìn)一步學(xué)習(xí)狀態(tài)價值(state value)函數(shù)和動作價值(action value)函數(shù)辜纲,以及奠定了強化學(xué)習(xí)算法基礎(chǔ)的貝爾曼(Bellman)方程,并進(jìn)一步探索一些簡單而有效的動態(tài)規(guī)劃解決方案。

獎勵與回報

正如前面所說的耕腾,強化學(xué)習(xí)中的智能體學(xué)習(xí)如何最大化未來的累積獎勵见剩。這個用來描述未來的累積獎勵的詞稱為回報,通常用R表示扫俺。我們還使用下標(biāo)t來表示在某個時間步驟下的返回值苍苞。數(shù)學(xué)公式的表示如下:

如果我們讓這個級數(shù)無限延伸,那么我們可能會得到無窮的回報狼纬,但這樣的話使得這個問題的定義失去意義羹呵。因此,只有當(dāng)我們期望得到的獎勵是有限級的疗琉,這個等式才有意義冈欢。有終止程序的任務(wù)稱為情景任務(wù)。紙牌游戲是情景性問題的好例子盈简。情景的開始是向每個人發(fā)牌凑耻,并且不可避免地根據(jù)特定的游戲規(guī)則而結(jié)束。然后送火,下一輪另一個情景又開始拳话,再次處理這些紙牌先匪。

比起使用未來的累積獎勵种吸,更為常用地是使用未來累積折扣獎勵:

在這里0<γ<1。以這種方式來定義回報值有兩個好處:不僅能夠以無限級數(shù)來定義回報值呀非,而且還能為隨后的回報賦予更好的權(quán)重坚俗,這意味著我們更關(guān)心即將到來的回報,而不是我們將來會得到的回報岸裙。γ的值越小猖败,就越正確。在特殊情況下降允,我們令γ等于0或者1恩闻。當(dāng)γ等于1時,我們就回到了第一個等式剧董,我們關(guān)心的是所有的回報幢尚,而不是考慮到未來有多遠(yuǎn)。另一方面翅楼,當(dāng)γ等于0時尉剩,我們關(guān)心的是當(dāng)前的回報,而不考慮之后的任何回報毅臊。這將導(dǎo)致我們的算法缺乏長遠(yuǎn)性理茎。它將學(xué)會采取最適合當(dāng)前情況的行動,但不會考慮此行動對未來的影響。

策略

策略皂林,被記為Π(s,a)朗鸠,描述了行動的一個方式。它是一個這樣的函數(shù):接受一個狀態(tài)和一個動作础倍,并返回在該狀態(tài)下采取這個動作的概率童社。因此,對于一個給定的狀態(tài)著隆,它必須滿足 扰楼。在下面的例子中,當(dāng)我們餓時美浦,我們可以在吃和不吃兩個動作之間做出選擇弦赖。

我們的策略應(yīng)該描述如何在每個狀態(tài)下采取行動。因此浦辨,一個等概率的隨機策略就該像這樣子: 其中E代表吃的行動蹬竖, 代表不吃的行動。這意味著流酬,如果你處于饑餓狀態(tài)币厕,你在選擇吃或者不吃的概率是相同的。

我們使用強化學(xué)習(xí)的目標(biāo)是為了去學(xué)習(xí)一個最優(yōu)的策略Π*芽腾,它告訴我們?nèi)绾涡袆右缘玫阶畲蠡幕貓蟮┳啊_@只是一個簡單的例子,容易知道例子中的最優(yōu)決策是餓了就吃 摊滔。在這個實例中阴绢,正如許多MDPs (馬爾可夫決策過程)一樣,最優(yōu)的決策是確定性的艰躺。每一個最佳狀態(tài)都有一個最佳行動呻袭。有時這被寫成

Π*(s)=a,這是一個從狀態(tài)到這些狀態(tài)下最優(yōu)決策行動的一個映射腺兴。

價值函數(shù)

我們利用價值函數(shù)來得到學(xué)習(xí)的最優(yōu)策略左电。強化學(xué)習(xí)中有兩種類型的價值函數(shù):狀態(tài)價值函數(shù),表示為V(s)页响;和行為價值函數(shù)篓足,表示為Q(s,a)。

狀態(tài)價值函數(shù)描述了在執(zhí)行一個策略時的狀態(tài)值拘泞。這是一個從狀態(tài)s開始執(zhí)行我們的策略Π所得到的預(yù)期回報:

值得注意的是纷纫,即使在相同的環(huán)境下,價值函數(shù)也會根據(jù)策略而改變陪腌。這是因為狀態(tài)的價值函數(shù)取決于你的行為方式辱魁,因為你在某一個特定的狀態(tài)下的行為會影響你預(yù)期的回報烟瞧。同樣要注意的是期望的重要性。(期望就像一個平均值染簇,就是你期望看到的回報)参滴。我們使用期望的原因在于:當(dāng)你到達(dá)一個狀態(tài)時,會發(fā)生一些隨機狀況锻弓。你可能有一個隨機策略砾赔,這意味著我們需要將我們所采取的所有不同行動的結(jié)果結(jié)合起來。同樣地青灼,過渡函數(shù)可以是隨機的暴心,也就是說,我們不能以100%的概率結(jié)束任何狀態(tài)杂拨。記住上面的這個例子:當(dāng)你選擇一個行動時专普,環(huán)境將返回下一個狀態(tài)〉粒可能有多個狀態(tài)可以返回檀夹,甚至是一個動作。更多的信息我們將會在Bellman方程(貝爾曼方程)中得到策橘。期望將所有的隨機性都考慮在內(nèi)炸渡。

我們將使用另一個價值函數(shù)是動作價值函數(shù)。動作價值函數(shù)是指我們采取某一特定策略時丽已,在某個狀態(tài)下采取一個動作所產(chǎn)生的價值蚌堵。這是在策略Π下,對給定狀態(tài)和行動時所返回的預(yù)期回報:

對狀態(tài)價值函數(shù)的注釋同樣適用于動作價值函數(shù)促脉。它將考慮到未來行動的隨機性辰斋,以及從環(huán)境中返回狀態(tài)的隨機性。

貝爾曼方程

Richard Bellman是一位美國應(yīng)用數(shù)學(xué)家瘸味,他推導(dǎo)了以下方程,讓我們能夠開始求解這些MDPs (馬爾可夫決策過程)够挂。在強化學(xué)習(xí)中旁仿,貝爾曼方程無處不在,必須了解強化學(xué)習(xí)算法是如何工作的孽糖。但是在我們了解貝爾曼方程之前枯冈,我們需要了解一些更有用的符號。我們P和R定義為如下:

圖片發(fā)自簡書App

圖片發(fā)自簡書App

P是過渡概率办悟。如果我們在狀態(tài)s處開始尘奏,采取行動a,那么我們在狀態(tài)s’的概率為


是另一種表達(dá)我們從狀態(tài)s開始病蛉,采取行動a炫加,到狀態(tài)s’的期望 (或平均) 獎勵的表達(dá)方式瑰煎。

最后,有了這些知識俗孝,我們準(zhǔn)備推導(dǎo)Bellman方程 (貝爾曼方程)酒甸。我們將把狀態(tài)價值函數(shù)考慮到Bellman方程(貝爾曼方程)之內(nèi)。根據(jù)回報的定義赋铝,我們可以修改公式(1)為如下所示:

圖片發(fā)自簡書App

如果我們想從總和回報中提出第一個獎勵插勤,公式可以被改寫為這樣:

圖片發(fā)自簡書App

在這里期望可以被描述如果我們采取策略Π時,繼續(xù)從狀態(tài)s出發(fā)的期望回報革骨∨┘猓可以通過對所有可能的動作和所有可能的返回狀態(tài)的求和來描述期望。接下來的兩個方程可以幫助我們邁出下一步良哲。

通過對這兩個部分分配期望值卤橄,我們就可以將我們的方程轉(zhuǎn)化為如下形式:

值得注意得是,方程(1)和這個方程的結(jié)束部分是一樣的臂外。因此窟扑,我們可以將其替換,得到如下:

Bellman方程(貝爾曼方程)的動作價值函數(shù)可以以類似的方式推導(dǎo)出來漏健。感興趣的人可以在文章的最后看到具體的步驟嚎货。其最終結(jié)果如下:

Bellman方程的重要性在于,它能讓我們將一個狀態(tài)的值表達(dá)成其他狀態(tài)的值蔫浆。這意味著當(dāng)我們知道狀態(tài)st+1的值時殖属,我們可以輕松地計算出狀態(tài)st的值。這為我們解決每個狀態(tài)值的迭代計算問題打開了大門瓦盛,因為如果我們知道下一個狀態(tài)的值洗显,我們就能知道當(dāng)前狀態(tài)的值。在這里原环,最重要的是要記住方程式的編號挠唆。最后,隨著Bellman方程(貝爾曼方程)的出現(xiàn)嘱吗,我們可以開始研究如何計算最優(yōu)策略玄组,并編寫我們的第一個強化學(xué)習(xí)智能體程序。

下一步:動態(tài)規(guī)劃

在下一篇文章中谒麦,我們將研究使用動態(tài)規(guī)劃來計算最優(yōu)策略俄讹,這將為更高級的算法奠定基礎(chǔ)。然而绕德,這將是第一個實際編寫強化學(xué)習(xí)算法的機會患膛。我們將研究策略迭代和值迭代以及他們的優(yōu)缺點。在此之前耻蛇,感謝您的閱讀踪蹬。

正如所承諾的:推導(dǎo)Bellman方程的動作價值函數(shù)(貝爾曼方程)

摘自微信公眾號:人工智能頭條

文中部分圖片無法下載粘貼胞此,附原文鏈接:http://mp.weixin.qq.com/s/LgSY1vdJFoTwSggq6wCbHQ

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市延曙,隨后出現(xiàn)的幾起案子豌鹤,更是在濱河造成了極大的恐慌,老刑警劉巖枝缔,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件布疙,死亡現(xiàn)場離奇詭異,居然都是意外死亡愿卸,警方通過查閱死者的電腦和手機灵临,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來趴荸,“玉大人儒溉,你說我怎么就攤上這事》⒍郏” “怎么了顿涣?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長酝豪。 經(jīng)常有香客問我涛碑,道長,這世上最難降的妖魔是什么孵淘? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任蒲障,我火速辦了婚禮,結(jié)果婚禮上瘫证,老公的妹妹穿的比我還像新娘揉阎。我一直安慰自己,他們只是感情好背捌,可當(dāng)我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布毙籽。 她就那樣靜靜地躺著,像睡著了一般载萌。 火紅的嫁衣襯著肌膚如雪惧财。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天扭仁,我揣著相機與錄音,去河邊找鬼厅翔。 笑死乖坠,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的刀闷。 我是一名探鬼主播熊泵,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼仰迁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了顽分?” 一聲冷哼從身側(cè)響起徐许,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎卒蘸,沒想到半個月后雌隅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡缸沃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年恰起,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片趾牧。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡检盼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出翘单,到底是詐尸還是另有隱情吨枉,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布哄芜,位于F島的核電站貌亭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏忠烛。R本人自食惡果不足惜属提,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望美尸。 院中可真熱鬧冤议,春花似錦、人聲如沸师坎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胯陋。三九已至蕊温,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間遏乔,已是汗流浹背义矛。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留盟萨,地道東北人凉翻。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像捻激,于是被迫代替她去往敵國和親制轰。 傳聞我的和親對象是個殘疾皇子前计,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容