1. 什么是強(qiáng)化學(xué)習(xí)
??強(qiáng)化學(xué)習(xí)(reinforcement learning, RL)是近年來(lái)大家提的非常多的一個(gè)概念固逗,那么寂恬,什么叫強(qiáng)化學(xué)習(xí)驶乾?
??強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)分支,和監(jiān)督學(xué)習(xí)次舌,非監(jiān)督學(xué)習(xí)并列伊约。
??參考文獻(xiàn)[1]中給出了定義:
Reinforcement learning is learning what to do ----how to map situations to actions ---- so as to maximize a numerical reward signal.
??即強(qiáng)化學(xué)習(xí)是通過(guò)學(xué)習(xí)將環(huán)境狀態(tài)轉(zhuǎn)化為動(dòng)作的策略姚淆,從而獲得一個(gè)最大的回報(bào)。
??舉個(gè)栗子[2]碱妆,在flappy bird游戲中肉盹,我們想設(shè)計(jì)一個(gè)獲得高分的策略,但是卻不清楚他的動(dòng)力學(xué)模型等等疹尾。這是我們可以通過(guò)強(qiáng)化學(xué)習(xí)上忍,讓智能體自己進(jìn)行游戲,如果撞到柱子纳本,則給負(fù)回報(bào)窍蓝,否則給0回報(bào)。(也可以給不撞柱子持續(xù)給1點(diǎn)回報(bào)繁成,撞柱子不給回報(bào))吓笙。通過(guò)不斷的反饋,我們可以獲得一只飛行技術(shù)高超的小鳥巾腕。
??通過(guò)上面例子面睛,我們可以看到強(qiáng)化學(xué)習(xí)的幾個(gè)特性[3]:
- 沒有l(wèi)abel,只有獎(jiǎng)勵(lì)(reward)
- 獎(jiǎng)勵(lì)信號(hào)不一定是實(shí)時(shí)的尊搬,很有可能延后的叁鉴。
- 當(dāng)前的行為影響后續(xù)接收到的數(shù)據(jù)
- 時(shí)間(序列)是一個(gè)重要因素
2. 強(qiáng)化學(xué)習(xí)的建模
<img src="https://images2018.cnblogs.com/blog/1042406/201807/1042406-20180729163058011-290427357.png" alt="img" style="zoom: 67%;" />
??上面的大腦代表我們的智能體,智能體通過(guò)選擇合適的動(dòng)作(Action)佛寿,地球代表我們要研究的環(huán)境幌墓,它擁有自己的狀態(tài)模型,智能體選擇了合適的動(dòng)作
冀泻,環(huán)境的狀態(tài)
發(fā)生改變常侣,變?yōu)?img class="math-inline" src="https://math.jianshu.com/math?formula=S_%7Bt%2B1%7D" alt="S_{t+1}" mathimg="1">,同時(shí)獲得我們采取動(dòng)作
的延遲獎(jiǎng)勵(lì)
,然后選擇下一個(gè)合適的動(dòng)作弹渔,環(huán)境狀態(tài)繼續(xù)改變……這就是強(qiáng)化學(xué)習(xí)的思路胳施。
??在這個(gè)強(qiáng)化學(xué)習(xí)的思路中,整理出如下要素[4]:
??(1)環(huán)境的狀態(tài)肢专,
時(shí)刻環(huán)境的狀態(tài)
是它的環(huán)境狀態(tài)集中的某一個(gè)狀態(tài)巾乳;
??(2)智能體的動(dòng)作您没,
時(shí)刻智能體采取的動(dòng)作
是它的動(dòng)作集中的某一個(gè)動(dòng)作;
??(3)環(huán)境的獎(jiǎng)勵(lì)胆绊,
時(shí)刻智能體在狀態(tài)
采取的動(dòng)作
對(duì)應(yīng)的獎(jiǎng)勵(lì)
會(huì)在
時(shí)刻得到;
除此之外欧募,還有更多復(fù)雜的模型要素:
??(4)智能體的策略,它代表了智能體采取動(dòng)作的依據(jù)压状,即智能體會(huì)依據(jù)策略
選擇動(dòng)作。最常見的策略表達(dá)方式是一個(gè)條件概率分布
跟继,即在狀態(tài)
時(shí)采取動(dòng)作
的概率种冬。即
,概率越大舔糖,動(dòng)作越可能被選擇娱两;
??(5)智能體在策略和狀態(tài)
時(shí),采取行動(dòng)后的價(jià)值
金吗。價(jià)值一般是一個(gè)期望函數(shù)十兢。雖然當(dāng)前動(dòng)作會(huì)對(duì)應(yīng)一個(gè)延遲獎(jiǎng)勵(lì)
,但是光看這個(gè)延遲獎(jiǎng)勵(lì)是不行的,因?yàn)楫?dāng)前的延遲獎(jiǎng)勵(lì)高摇庙,不代表到
時(shí)刻的后續(xù)獎(jiǎng)勵(lì)也高旱物, 比如下象棋,我們可以某個(gè)動(dòng)作可以吃掉對(duì)方的車卫袒,這個(gè)延時(shí)獎(jiǎng)勵(lì)是很高宵呛,但是接著后面我們輸棋了。此時(shí)吃車的動(dòng)作獎(jiǎng)勵(lì)值高但是價(jià)值并不高夕凝。因此我們的價(jià)值要綜合考慮當(dāng)前的延時(shí)獎(jiǎng)勵(lì)和后續(xù)的延時(shí)獎(jiǎng)勵(lì)宝穗。
一般表達(dá)為:
??(6)其中作為獎(jiǎng)勵(lì)衰減因子,在
之間码秉,如果為0逮矛,則是貪婪法,即價(jià)值只有當(dāng)前延遲獎(jiǎng)勵(lì)決定泡徙。如果為1橱鹏,則所有的后續(xù)狀態(tài)獎(jiǎng)勵(lì)和當(dāng)前獎(jiǎng)勵(lì)一視同仁。大多數(shù)時(shí)間選擇一個(gè)0到1之間的數(shù)字
???(7) 環(huán)境的狀態(tài)轉(zhuǎn)化模型堪藐,可以理解為一個(gè)狀態(tài)概率機(jī)莉兰,它可以表示為一個(gè)概率模型,即在狀態(tài)下采取動(dòng)作
礁竞,轉(zhuǎn)到下一個(gè)狀態(tài)
的概率糖荒,表示為
??(8)探索率主要用在強(qiáng)化學(xué)習(xí)訓(xùn)練迭代過(guò)程中,由于我們一般會(huì)選擇使當(dāng)前輪迭代價(jià)值最大的動(dòng)作模捂,但是這會(huì)導(dǎo)致一些較好的但我們沒有執(zhí)行過(guò)的動(dòng)作被錯(cuò)過(guò)捶朵。因此我們?cè)谟?xùn)練選擇最優(yōu)動(dòng)作時(shí)蜘矢,會(huì)有一定的概率
不選擇使當(dāng)前輪迭代價(jià)值最大的動(dòng)作,而選擇其他的動(dòng)作综看。
3.馬爾科夫決策過(guò)程(Markov Decision Process ,MDP)
??環(huán)境的狀態(tài)轉(zhuǎn)化模型品腹,表示為一個(gè)概率模型,它可以表示為一個(gè)概率模型红碑,即在狀態(tài)
下采取動(dòng)作
舞吭,轉(zhuǎn)到下一個(gè)狀態(tài)
的概率。在真實(shí)的環(huán)境轉(zhuǎn)化中析珊,轉(zhuǎn)化到下一個(gè)狀態(tài)
的概率既和上一個(gè)狀態(tài)
有關(guān)羡鸥,還和上一個(gè)狀態(tài),以及上上個(gè)狀態(tài)有關(guān)忠寻。這樣我們的環(huán)境轉(zhuǎn)化模型非常非常非常復(fù)雜惧浴,復(fù)雜到難以建模。
??因此奕剃,我們需要對(duì)強(qiáng)化學(xué)習(xí)的環(huán)境轉(zhuǎn)化模型進(jìn)行簡(jiǎn)化衷旅。簡(jiǎn)化的方法就是假設(shè)狀態(tài)轉(zhuǎn)化的馬爾科夫性:轉(zhuǎn)化到下一個(gè)狀態(tài)的概率僅和當(dāng)前狀態(tài)
有關(guān),與之前狀態(tài)無(wú)關(guān)祭饭,用公式表示就是:
??同時(shí)對(duì)于第四個(gè)要素策略芜茵,我們也進(jìn)行了馬爾科夫假設(shè),即在狀態(tài)
下采取動(dòng)作
的概率僅和當(dāng)前狀態(tài)
有關(guān)倡蝙,和其他要素?zé)o關(guān):
??價(jià)值函數(shù)的馬爾科夫假設(shè):
表示收獲(return)九串, 是一個(gè)MDP中從某一個(gè)狀態(tài)
開始采樣直到終止?fàn)顟B(tài)時(shí)所有獎(jiǎng)勵(lì)的有衰減的之和。
??推導(dǎo)價(jià)值函數(shù)的遞推關(guān)系寺鸥,很容易得到以下公式:
上式一般稱之為貝爾曼方程猪钮,它表示,一個(gè)狀態(tài)的價(jià)值由該狀態(tài)以及后續(xù)狀態(tài)價(jià)值按一定的衰減比例聯(lián)合組成胆建。
4. 動(dòng)作價(jià)值函數(shù)及貝爾曼方程
??對(duì)于馬爾科夫決策過(guò)程烤低,我們發(fā)現(xiàn)它的價(jià)值函數(shù)沒有考慮動(dòng)作,僅僅代表了當(dāng)前狀態(tài)采取某種策略到最終步驟的價(jià)值笆载,現(xiàn)在考慮采取的動(dòng)作帶來(lái)的影響:
??動(dòng)作價(jià)值函數(shù)的貝爾曼方程:
??按照定義扑馁,很容易得到動(dòng)作價(jià)值函數(shù)和狀態(tài)價(jià)值函數(shù)
的關(guān)系:
也就是說(shuō),狀態(tài)價(jià)值函數(shù)是所有動(dòng)作價(jià)值函數(shù)基于策略的期望凉驻。
??同時(shí)腻要,利用貝爾曼方程,我們利用狀態(tài)價(jià)值函數(shù)表示動(dòng)作價(jià)值函數(shù)
涝登,即:
??公式5和公式12總結(jié)起來(lái)雄家,我們可以得到下面兩式:
5. 最優(yōu)價(jià)值函數(shù)
??解決強(qiáng)化學(xué)習(xí)問題意味著要尋找一個(gè)最優(yōu)的策略讓個(gè)體在與環(huán)境交互過(guò)程中獲得始終比其它策略都要多的收獲,這個(gè)最優(yōu)策略我們可以用 表示胀滚。一旦找到這個(gè)最優(yōu)策略
趟济,那么我們就解決了這個(gè)強(qiáng)化學(xué)習(xí)問題乱投。一般來(lái)說(shuō),比較難去找到一個(gè)最優(yōu)策略顷编,但是可以通過(guò)比較若干不同策略的優(yōu)劣來(lái)確定一個(gè)較好的策略戚炫,也就是局部最優(yōu)解。
??如何比較策略優(yōu)劣媳纬?一般通過(guò)對(duì)應(yīng)的價(jià)值函數(shù)進(jìn)行比較:
??或者最優(yōu)化動(dòng)作價(jià)值函數(shù):
??狀態(tài)價(jià)值函數(shù)描述了一個(gè)狀態(tài)的長(zhǎng)期最優(yōu)化價(jià)值嘹悼,即在這個(gè)狀態(tài)下考慮到所有可能發(fā)生的后續(xù)動(dòng)作,并且都挑選最優(yōu)動(dòng)作執(zhí)行的情況下层宫,這個(gè)狀態(tài)的價(jià)值。
??動(dòng)作價(jià)值函數(shù)描述了處于一個(gè)狀態(tài)其监,并且執(zhí)行了某個(gè)動(dòng)作后萌腿,所帶來(lái)的長(zhǎng)期最有價(jià)值。即在這個(gè)狀態(tài)下執(zhí)行某一特定動(dòng)作后抖苦,考慮再之后所有可能處于的狀態(tài)下總是選取最優(yōu)動(dòng)作來(lái)執(zhí)行所帶來(lái)的長(zhǎng)期價(jià)值毁菱。
??對(duì)于最優(yōu)的策略,基于動(dòng)作價(jià)值函數(shù)我們可以定義為:
??只要我們找到了最大的狀態(tài)價(jià)值函數(shù)或者動(dòng)作價(jià)值函數(shù)锌历,那么對(duì)應(yīng)的策略就是我們強(qiáng)化學(xué)習(xí)問題的解贮庞。
6.強(qiáng)化學(xué)習(xí)的實(shí)例
??關(guān)于強(qiáng)化學(xué)習(xí)的實(shí)例,具體可參見[4]和[5]究西,很強(qiáng)窗慎,很棒。
7.思考
??在很多人的文章中卤材,將強(qiáng)化學(xué)習(xí)訓(xùn)練的模型被稱之為“智能體”遮斥,為什么呢?因?yàn)樗臀覀內(nèi)祟悓W(xué)習(xí)的思路很相似:
??模型在沒有樣本的情況下扇丛,主動(dòng)去探索术吗,然后從環(huán)境中獲取一個(gè)(延遲)反饋,然后通過(guò)反饋進(jìn)行反思帆精,優(yōu)化策略/動(dòng)作较屿,最終學(xué)習(xí)成為一個(gè)強(qiáng)大的智能體。
??當(dāng)然卓练,強(qiáng)化學(xué)習(xí)還擁有一些缺點(diǎn)[6]:
樣本利用率低隘蝎,需要用大量樣本進(jìn)行訓(xùn)練。并且有時(shí)訓(xùn)練速度還很慢(遠(yuǎn)遠(yuǎn)低于人類)昆庇。
獎(jiǎng)勵(lì)函數(shù)難以設(shè)計(jì)末贾。大部分的獎(jiǎng)勵(lì)函數(shù)都是0,過(guò)于稀疏整吆。
-
容易陷入局部最優(yōu)拱撵。文獻(xiàn)[6]中例子指出辉川,一個(gè)以速度為獎(jiǎng)勵(lì)函數(shù)的馬,可以四角朝天的“奔跑”拴测。
對(duì)環(huán)境的過(guò)擬合乓旗。往往沒辦法一個(gè)模型用于多個(gè)環(huán)境。
不穩(wěn)定性集索。 不穩(wěn)定對(duì)于一個(gè)模型是災(zāi)難性的屿愚。一個(gè)超參數(shù)的變化可能引起模型的崩潰。
??當(dāng)然务荆,我們不能一味肯定屿讽,也不能一味否定,強(qiáng)化學(xué)習(xí)在AUTOML辛臊,AlphaGO的成功應(yīng)用也說(shuō)明了強(qiáng)化學(xué)習(xí)盡管會(huì)有很多困難耍目,但是也是具有一個(gè)具有探索性、啟發(fā)性的方向盅惜。
[1] R.Sutton et al. Reinforcement learning: An introduction , 1998
[2] https://www.cnblogs.com/jinxulin/p/3511298.html
[3] https://zhuanlan.zhihu.com/p/28084904
[4] https://www.cnblogs.com/pinard/p/9385570.html
[5] https://www.cnblogs.com/pinard/p/9426283.html
[6] https://www.alexirpan.com/2018/02/14/rl-hard.html
本文由飛劍客原創(chuàng)中剩,如需轉(zhuǎn)載,請(qǐng)聯(lián)系私信聯(lián)系知乎:@AndyChanCD