3
本文作者: 李尊 | 2016-08-16 18:16 |
引言:強(qiáng)化學(xué)習(xí)(Reinforcement learning)是機(jī)器學(xué)習(xí)中的一個(gè)領(lǐng)域,強(qiáng)調(diào)如何基于環(huán)境而行動(dòng),以取得最大化的預(yù)期利益。
David Silver在2013年加入Google DeepMind,是小組中AlphaGo項(xiàng)目的主程序員,也是University College London的講師。
強(qiáng)化學(xué)習(xí)(Reinforcement learning)靈感來源于心理學(xué)中的行為主義理論,即有機(jī)體如何在環(huán)境給予的獎(jiǎng)勵(lì)或懲罰的刺激下,逐步形成對刺激的預(yù)期,產(chǎn)生能獲得最大利益的習(xí)慣性行為。這個(gè)方法具有普適性,因此在其他許多領(lǐng)域都有研究,例如博弈論、控制論、運(yùn)籌學(xué)、信息論、模擬優(yōu)化方法、多主體系統(tǒng)學(xué)習(xí)、群體智能、統(tǒng)計(jì)學(xué)以及遺傳算法。
強(qiáng)化學(xué)習(xí)也是多學(xué)科多領(lǐng)域交叉的一個(gè)產(chǎn)物,它的本質(zhì)就是解決“決策(decision making)”問題,即學(xué)會(huì)自動(dòng)進(jìn)行決策。其在各個(gè)領(lǐng)域體現(xiàn)不同:
在計(jì)算機(jī)科學(xué)(Computer science)領(lǐng)域體現(xiàn)為機(jī)器學(xué)習(xí)算法;
在工程(Engineering)領(lǐng)域體現(xiàn)在決定序列行為(the sequence of actions)來得到最好的結(jié)果;
在神經(jīng)科學(xué)(Neuroscience)領(lǐng)域體現(xiàn)在理解人類大腦如何做出決策,主要的研究是反饋系統(tǒng)(reward system);
在心理學(xué)(Psychology)領(lǐng)域,研究動(dòng)物如何做出決策、動(dòng)物的行為是由什么導(dǎo)致的;
在經(jīng)濟(jì)學(xué)(Economics)領(lǐng)域體現(xiàn)在博弈論的研究。
這所有的問題最終都?xì)w結(jié)為一個(gè)問題,人為什么能夠做出最優(yōu)決策,且人類是如何做到的。
| 原理
強(qiáng)化學(xué)習(xí)作為一個(gè)序列決策(Sequential Decision Making)問題,它需要連續(xù)選擇一些行為,從這些行為完成后得到最大的收益作為最好的結(jié)果。它在沒有任何label告訴算法應(yīng)該怎么做的情況下,通過先嘗試做出一些行為——然后得到一個(gè)結(jié)果,通過判斷這個(gè)結(jié)果是對還是錯(cuò)來對之前的行為進(jìn)行反饋。由這個(gè)反饋來調(diào)整之前的行為,通過不斷的調(diào)整算法能夠?qū)W習(xí)到在什么樣的情況下選擇什么樣的行為可以得到最好的結(jié)果。
強(qiáng)化學(xué)習(xí)與監(jiān)督學(xué)習(xí)有不少區(qū)別,從前文中可以看到監(jiān)督學(xué)習(xí)是有一個(gè)label(標(biāo)記)的,這個(gè)label告訴算法什么樣的輸入對應(yīng)著什么樣的輸出。而強(qiáng)化學(xué)習(xí)沒有l(wèi)abel告訴它在某種情況下應(yīng)該做出什么樣的行為,只有一個(gè)做出一系列行為后最終反饋回來的reward signal,這個(gè)signal能判斷當(dāng)前選擇的行為是好是壞。另外強(qiáng)化學(xué)習(xí)的結(jié)果反饋有延時(shí),有時(shí)候可能需要走了很多步以后才知道之前某步的選擇是好還是壞,而監(jiān)督學(xué)習(xí)如果做了比較壞的選擇則會(huì)立刻反饋給算法。強(qiáng)化學(xué)習(xí)面對的輸入總是在變化,不像監(jiān)督學(xué)習(xí)中——輸入是獨(dú)立分布的。每當(dāng)算法做出一個(gè)行為,它就影響了下一次決策的輸入。強(qiáng)化學(xué)習(xí)和標(biāo)準(zhǔn)的監(jiān)督式學(xué)習(xí)之間的區(qū)別在于,它并不需要出現(xiàn)正確的輸入/輸出對,也不需要精確校正次優(yōu)化的行為。強(qiáng)化學(xué)習(xí)更加專注于在線規(guī)劃,需要在Exploration(探索未知的領(lǐng)域)和Exploitation(利用現(xiàn)有知識(shí))之間找到平衡。
強(qiáng)化學(xué)習(xí)決策實(shí)現(xiàn)過程需要設(shè)定一個(gè)agent(圖中的大腦部分),agent能夠執(zhí)行某個(gè)action(例如決定圍棋棋子下在哪個(gè)位置,機(jī)器人的下一步該怎么走)。Agent能夠接收當(dāng)前環(huán)境的一個(gè)observation(觀察),例如當(dāng)前機(jī)器人的攝像頭拍攝到場景。Agent還能接收當(dāng)它執(zhí)行某個(gè)action后的reward,即在第t步agent的工作流程是執(zhí)行一個(gè)動(dòng)作At,獲得該動(dòng)作之后的環(huán)境觀測狀況Ot,以及獲得這個(gè)動(dòng)作的反饋獎(jiǎng)賞Rt。而環(huán)境environment則是agent交互的對象,它是一個(gè)行為不可控制的對象,agent一開始不知道環(huán)境會(huì)對不同action做出什么樣的反應(yīng),而環(huán)境會(huì)通過observation告訴agent當(dāng)前的環(huán)境狀態(tài),同時(shí)環(huán)境能夠根據(jù)可能的最終結(jié)果反饋給agent一個(gè)reward,例如圍棋棋面就是一個(gè)environment,它可以根據(jù)當(dāng)前的棋面狀況估計(jì)一下黑白雙方輸贏的比例。因而在第t步,environment的工作流程是接收一個(gè)At,對這個(gè)動(dòng)作做出反應(yīng)之后傳遞環(huán)境狀況和評估的reward給agent。reward獎(jiǎng)賞Rt,是一個(gè)反饋標(biāo)量值,它表明了在第t步agent做出的決策有多好或者有多不好,整個(gè)強(qiáng)化學(xué)習(xí)優(yōu)化的目標(biāo)就是最大化累積reward。
強(qiáng)化學(xué)習(xí)中Agent的組成
一個(gè)agent由Policy(策略)、Value function(價(jià)值函數(shù))、Model(模型)三部分組成,但這三部分不是必須同時(shí)存在的。
Policy(策略):它根據(jù)當(dāng)前看到的observation來決定action,是從state到action的映射。有兩種表達(dá)形式,一種是Deterministic policy(確定策略)即a=π(s)a=π(s),在某種狀態(tài)s下,一定會(huì)執(zhí)行某個(gè)動(dòng)作a。一種是Stochastic policy(隨機(jī)策略)即π(a|s)=p[At=a|St=s]π(a|s)=p[At=a|St=s],它是在某種狀態(tài)下執(zhí)行某個(gè)動(dòng)作的概率。
Value function(價(jià)值函數(shù)):它預(yù)測了當(dāng)前狀態(tài)下未來可能獲得的reward的期望。Vπ(s)=Eπ[Rt+1+rRt+2+…|St=s]Vπ(s)=Eπ[Rt+1+rRt+2+…|St=s]。用于衡量當(dāng)前狀態(tài)的好壞。
Model(模型):預(yù)測environment下一步會(huì)做出什么樣的改變,從而預(yù)測agent接收到的狀態(tài)或者reward是什么。因而有兩種類型的model,一種是預(yù)測下一個(gè)state的transition model即Pass′=p[St+1=s′|St=s,At=a]Pss′a=p[St+1=s′|St=s,At=a],一種是預(yù)測下一次reward的reward model即Ras=E[Rt+1|St=s,At=a]Rsa=E[Rt+1|St=s,At=a]
強(qiáng)化學(xué)習(xí)是一種試錯(cuò)(trial-and-error)的學(xué)習(xí)方式:最開始的時(shí)候不清楚environment(環(huán)境)的工作方式,不清楚執(zhí)行什么樣的action(行為)是對的,什么樣的action(行為)是錯(cuò)的。因而agent需要從不斷嘗試的經(jīng)驗(yàn)中發(fā)現(xiàn)一個(gè)好的policy,從而在這個(gè)過程中獲取更多的reward。
在學(xué)習(xí)過程中,會(huì)有一個(gè)在Exploration(探索)和Exploitation(利用)之間的權(quán)衡。
Exploration(探索)會(huì)放棄一些已知的reward信息,而去嘗試一些新的選擇——即在某種狀態(tài)下,算法也許已經(jīng)學(xué)習(xí)到選擇什么action讓reward比較大,但是并不能每次都做出同樣的選擇,也許另外一個(gè)沒有嘗試過的選擇會(huì)讓reward更大,即Exploration希望能夠探索更多關(guān)于environment的信息。
Exploitation(利用)指根據(jù)已知的信息最大化reward。
舉個(gè)例子,這兩者在選擇一家餐館時(shí)——Exploration(探索)會(huì)選擇你最喜歡的餐館,而Exploitation(利用)則會(huì)嘗試選擇一個(gè)新的餐館。
總結(jié):經(jīng)過文中對于強(qiáng)化學(xué)習(xí)中背景、原理、實(shí)現(xiàn)過程以及相關(guān)概念的介紹,相信大家對于強(qiáng)化學(xué)習(xí)會(huì)有一個(gè)基礎(chǔ)的認(rèn)識(shí),后續(xù)實(shí)現(xiàn)過程以及詳細(xì)的價(jià)值函數(shù)、策略方法請持續(xù)關(guān)注我們接下來的文章。
PS : 本文由雷鋒網(wǎng)編譯,未經(jīng)許可拒絕轉(zhuǎn)載!
via David Silver
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。