0
| 本文作者: AI研習(xí)社-譯站 | 2019-01-03 10:44 |
本文為 AI 研習(xí)社編譯的技術(shù)博客,原標(biāo)題 :
The Future with Reinforcement Learning?—?Part 1
作者 | Hunter Heidenreich
翻譯 | Disillusion、lyminghaoo
校對 | 醬番梨 整理 | 菠蘿妹
原文鏈接:
https://towardsdatascience.com/the-future-with-reinforcement-learning-part-1-26e09e9be901
強(qiáng)化學(xué)習(xí)的未來——第一部分
想像這樣一個(gè)世界:每個(gè)計(jì)算機(jī)系統(tǒng)都根據(jù)你的個(gè)性而特別定制。它可以學(xué)習(xí)到你如何與他人溝通,以及你希望他人如何與你溝通的細(xì)微差別。與計(jì)算機(jī)系統(tǒng)的交互將比以往任何時(shí)候都更加直接,從而使得科技水平如火箭般推進(jìn)。在未來強(qiáng)化學(xué)習(xí)成為常態(tài)的情況下,你將可能看到這些結(jié)果的出現(xiàn)。
在這篇文章中,我們將對強(qiáng)化學(xué)習(xí)進(jìn)行分解,并對強(qiáng)化學(xué)習(xí)系統(tǒng)的一些組成部分進(jìn)行剖析。
如果你之前從未聽說過強(qiáng)化學(xué)習(xí)(RL),不要急!這個(gè)概念非常直觀。從很高的層次上看,強(qiáng)化學(xué)習(xí)只是:智能體(agent)基于從環(huán)境(environment)接收到的反饋信號(hào),學(xué)習(xí)如何與環(huán)境進(jìn)行交互。 這與其它機(jī)器學(xué)習(xí)方法不同,在那些方法中,智能體可以在訓(xùn)練過程中看到正確答案。但在強(qiáng)化學(xué)習(xí)中,我們可以認(rèn)為,我們的智能體只得到了一個(gè)讓它知道自己的表現(xiàn)如何的分?jǐn)?shù)。
讓我們通過一個(gè)電子游戲來表達(dá)這個(gè)思想。假設(shè)我們有一個(gè)玩“超級(jí)瑪麗”的電腦程序。它學(xué)習(xí)控制角色,并通過變化的畫面接收來自環(huán)境的反饋?;谖覀兂晒Γɑ蚴。┑乃惴ǎ梢詫W(xué)習(xí)到如何與環(huán)境交互,并利用接收到的反饋來改進(jìn)。
為了學(xué)習(xí)所處的環(huán)境,我們需要探索!要想知道“板栗仔”(圖中怪物)是壞的,而道具是好的,唯一的方法就是通過試錯(cuò)和反饋。
強(qiáng)化學(xué)習(xí)試圖模仿人類或其他智慧生物與新環(huán)境交互的方式:試錯(cuò)法。它是在計(jì)算機(jī)科學(xué)、心理學(xué)、神經(jīng)科學(xué)、數(shù)學(xué)等許多領(lǐng)域研究成果的基礎(chǔ)上誕生的。雖然強(qiáng)化學(xué)習(xí)在今天的工業(yè)界中并不常見,但它的潛在影響是巨大的。
強(qiáng)化學(xué)習(xí)確實(shí)是許多領(lǐng)域的交匯點(diǎn),它在優(yōu)化和行為心理學(xué)領(lǐng)域有著悠久的歷史。
這個(gè)潛力,就是我將要為你展示的。
我們已經(jīng)接觸了強(qiáng)化學(xué)習(xí)玩電子游戲的經(jīng)典例子?,F(xiàn)在,讓我們繼續(xù)使用“超級(jí)瑪麗”的例子,同時(shí)進(jìn)一步深入挖掘這個(gè)概念的思想和相關(guān)詞匯。
智能體:馬里奧
首先,我們有了智能體(agent)。我們的智能體是我們的算法和程序。它是一切操作的“大腦”。它將與我們的環(huán)境進(jìn)行交互。在這個(gè)例子中,我們的智能體是馬里奧,他會(huì)負(fù)責(zé)所有的控制。
我們的智能體:馬里奧
環(huán)境:游戲等級(jí)
智能體存在于一個(gè)環(huán)境(environment)的內(nèi)部。環(huán)境就是我們玩的“超級(jí)瑪麗”的等級(jí)。畫面中的敵人和方塊構(gòu)成了這個(gè)世界。時(shí)間在流逝,分?jǐn)?shù)在上升(至少我們希望如此!)。我們的智能體的目標(biāo)是與環(huán)境進(jìn)行交互,從而獲得獎(jiǎng)勵(lì)。
我們的環(huán)境:一個(gè)簡單的等級(jí)
動(dòng)作:跳躍、閃避和前進(jìn)
什么是獎(jiǎng)勵(lì)?我們的智能體如何獲得它?嗯,我們的智能體必須和環(huán)境交互。它可以從可選動(dòng)作列表中選擇一個(gè)合法的動(dòng)作來完成交互??赡芪覀兊闹悄荏w“馬里奧”決定向上跳,或者向左/右移動(dòng)。也可能有火球道具,所以智能體決定發(fā)射一個(gè)。關(guān)鍵是,這些動(dòng)作中的每一個(gè)都將影響到環(huán)境,并且導(dǎo)致一定的改變。我們的智能體可以觀察到這個(gè)改變,使用它作為反饋信號(hào),并從中學(xué)習(xí)到一些東西。
人類可能用這個(gè)接口來執(zhí)行動(dòng)作并影響環(huán)境
狀態(tài):馬里奧+動(dòng)作+環(huán)境=狀態(tài)
我們的智能體觀察到的改變就是環(huán)境狀態(tài)的改變。智能體觀察到的新狀態(tài)將會(huì)產(chǎn)生“獎(jiǎng)勵(lì)”信號(hào)。把智能體做的動(dòng)作、狀態(tài)的改變、和從狀態(tài)改變中獲得的潛在獎(jiǎng)勵(lì)三者結(jié)合起來,智能體就開始為他們要探索的環(huán)境建立了一個(gè)可行的模型。
狀態(tài)包含了從我們所觀察到的環(huán)境中發(fā)生的所有信息。比如我們的人物在哪里,我們當(dāng)前的分?jǐn)?shù),以及畫面中的敵人,所有這些都與我們當(dāng)前的環(huán)境有關(guān)。
獎(jiǎng)勵(lì):分?jǐn)?shù) + 保持活著
如果智能體學(xué)習(xí)到,當(dāng)它跳起并落在敵人上面的時(shí)候,它的分?jǐn)?shù)會(huì)增加,并且不會(huì)再被這個(gè)敵人殺死,這一定是一件值得學(xué)習(xí)的事情!它還可以學(xué)到,如果馬里奧掉進(jìn)洞里,游戲就結(jié)束了,未來也沒有機(jī)會(huì)獲得更多的分?jǐn)?shù)或贏得關(guān)卡。這些都是智能體隨著時(shí)間增加可能學(xué)到的東西,與環(huán)境的交互越多,它學(xué)習(xí)到的就越多。
在“超級(jí)瑪麗”中,一個(gè)衡量獎(jiǎng)勵(lì)的好方法可能就是分?jǐn)?shù)了!
上述內(nèi)容包括了一個(gè)強(qiáng)化學(xué)習(xí)問題中所有主要組成部分的介紹。這個(gè)章節(jié)中需要記住的重要內(nèi)容有:智能體、環(huán)境、動(dòng)作、狀態(tài)和獎(jiǎng)勵(lì),并嘗試在腦中對這些內(nèi)容進(jìn)行一個(gè)可用的定義。
如果你更習(xí)慣看圖學(xué)習(xí),這張圖片很好地把這些概念聯(lián)系在了一起。
所有部分組合在一起,構(gòu)成了一個(gè)智能體如何從它所處的環(huán)境中學(xué)習(xí)!
現(xiàn)在我們已經(jīng)理解了一些基本詞匯,我們可以用它去學(xué)習(xí)一個(gè)智能體是如何工作的。一個(gè)智能體如何決定它應(yīng)該做什么動(dòng)作,來最大化它將會(huì)得到的獎(jiǎng)勵(lì)?
我們需要分析理解兩個(gè)主要的分支:強(qiáng)化學(xué)習(xí)智能體的需要,以及它的子元素。
強(qiáng)化學(xué)習(xí)智能體必須學(xué)習(xí)去決策,在一個(gè)充滿不確定性的環(huán)境中什么是一個(gè)好的動(dòng)作。收到的反饋是從觀察到的狀態(tài)變化中得到的延時(shí)獎(jiǎng)勵(lì)信號(hào),可以從中計(jì)算出獎(jiǎng)勵(lì)。智能體必須能夠探索這種不確定性,并對獎(jiǎng)勵(lì)的原因進(jìn)行推理。要做到這一點(diǎn),智能體需要有三個(gè)簡單的東西:動(dòng)作、目標(biāo)和感知。
動(dòng)作
動(dòng)作是智能體可以在任何給定時(shí)刻對環(huán)境進(jìn)行操作的序列。通過執(zhí)行一個(gè)動(dòng)作,智能體會(huì)影響它所處的環(huán)境并改變它的狀態(tài)。如果不能做到這一點(diǎn),智能體永遠(yuǎn)不能主動(dòng)地影響狀態(tài),也不能從它的積極或消極地影響環(huán)境的行為中獲得任何可解釋的獎(jiǎng)勵(lì),甚至不能學(xué)會(huì)在未來采取更好的動(dòng)作。
一個(gè)人可能對Atari控制器采取的動(dòng)作序列。
目標(biāo)
目標(biāo)指我們?nèi)绾味x獎(jiǎng)勵(lì)信號(hào)。我們是否要根據(jù)游戲中的分?jǐn)?shù)定義獎(jiǎng)勵(lì)?還是完成一個(gè)關(guān)卡?什么是好的和壞的動(dòng)作?在強(qiáng)化學(xué)習(xí)的背景下定義目標(biāo)時(shí),我們必須考慮這些問題。這關(guān)乎我們?nèi)绾渭?lì)智能體完成一項(xiàng)任務(wù)。
一個(gè)簡單的目標(biāo)設(shè)定。一個(gè)人該怎么從開始到結(jié)尾?
感知
智能體用感知來觀察環(huán)境。在電子游戲環(huán)境中,也許可以使用計(jì)算機(jī)視覺技術(shù)來觀察屏幕上的對象,以及當(dāng)我們的智能體做出動(dòng)作時(shí),這些對象是如何變化的。也許我們可以用光學(xué)字符識(shí)別(OCR)技術(shù)來觀察分?jǐn)?shù)。關(guān)鍵是,如果智能體不能感知環(huán)境,就不能推斷它的動(dòng)作如何影響了環(huán)境。因此,我們需要感知來監(jiān)控我們交互的環(huán)境。
現(xiàn)在,我們可以轉(zhuǎn)換到RL系統(tǒng)的子元素:策略、獎(jiǎng)勵(lì)信號(hào)、值函數(shù)和環(huán)境最優(yōu)模型。
策略
策略是我們RL智能體的核心。這是我們的智能體在給定環(huán)境當(dāng)前狀態(tài)下的行為方式。以及在給定狀態(tài)下所采取的行動(dòng)。在生物學(xué)中,我們可能把策略看作一個(gè)有機(jī)體如何根據(jù)它所受到的刺激做出反應(yīng)。我們的智能體觀察環(huán)境的狀態(tài),策略就是它們學(xué)到的行動(dòng)。好的策略會(huì)帶來積極的結(jié)果。
我們的策略將規(guī)定在給定環(huán)境狀態(tài)下智能體將做什么。我們可以看到在這策略是給定一個(gè)格子,我們的智能體將朝某個(gè)方向移動(dòng)。
獎(jiǎng)勵(lì)信號(hào)
獎(jiǎng)勵(lì)信號(hào)指我們?nèi)绾魏饬恐悄荏w的成功。它是衡量我們在實(shí)現(xiàn)目標(biāo)方面有多成功的數(shù)字指標(biāo)。獎(jiǎng)勵(lì)信號(hào)可以是積極的或消極的,這樣我們的智能體就可以判斷一個(gè)行為是好是壞,亦或是中性的。這些可以是視頻游戲中的分?jǐn)?shù),或是智能體的存活狀況。關(guān)鍵是,我們的智能體接收這些獎(jiǎng)勵(lì)信號(hào),衡量當(dāng)前目標(biāo)的完成表現(xiàn)如何,并基于這些反饋來制定其策略,以便它可以進(jìn)一步改變環(huán)境,從而最大化未來可能獲得的獎(jiǎng)勵(lì)。
我們可以把它看作是之前目標(biāo)圖像中隱藏獎(jiǎng)勵(lì)的映射。只有通過探索環(huán)境,智能體才能知道踩在目標(biāo)格子上得到的獎(jiǎng)勵(lì)是1!
值函數(shù)
我們可以把獎(jiǎng)勵(lì)信號(hào)看作是判斷一個(gè)行為是好是壞的即時(shí)指標(biāo)。然而,強(qiáng)化學(xué)習(xí)不僅僅是關(guān)于即時(shí)的正面或負(fù)面結(jié)果。而是通過長期的計(jì)劃來最好地完成一項(xiàng)任務(wù)。為了對這種長期性能建模,我們引入了一個(gè)稱為值函數(shù)的概念。值函數(shù)是對我們的智能體長期成功可能性的估計(jì)。這很難估計(jì)和測量的,但它是我們RL問題最關(guān)鍵的部件之一!在不確定的環(huán)境中,我們的智能體將在多次迭代中不斷修改其對值的估計(jì),學(xué)習(xí)如何更好地塑造策略和行為,以接管長序列的行為和狀態(tài)。
由智能體形成的值函數(shù)的可視化。當(dāng)它對自己所處的狀態(tài)下可能得到的長期獎(jiǎng)勵(lì)越來越確定時(shí),它就能想出應(yīng)對這一挑戰(zhàn)的辦法。
最后,我們的強(qiáng)化學(xué)習(xí)系統(tǒng)可能要為環(huán)境建模。我之所以說“可能”,是因?yàn)椴⒎撬袕?qiáng)化學(xué)習(xí)智能體都會(huì)為環(huán)境建模。一些智能體只是簡單地通過反復(fù)試錯(cuò)來學(xué)習(xí),通過好的評(píng)價(jià)函數(shù)和策略組合來構(gòu)建一定程度上隱式的環(huán)境模型。其它智能體可以顯式地創(chuàng)建環(huán)境的內(nèi)部模型,允許智能體根據(jù)它希望直接執(zhí)行的動(dòng)作,來預(yù)測結(jié)果狀態(tài)和獎(jiǎng)勵(lì)。這似乎是一種非常好的方法,但是在高度復(fù)雜的環(huán)境中,構(gòu)建這樣的內(nèi)部模型是極其困難的,所以智能體通常不會(huì)選擇這種策略。
當(dāng)智能體探索一個(gè)環(huán)境時(shí),它可以構(gòu)建一個(gè)周圍世界的3D解釋,以幫助它推斷未來可能執(zhí)行的動(dòng)作。
有了這些基本概念,我們就可以開始展望未來了,計(jì)算機(jī)系統(tǒng)將根據(jù)我們的行為和反應(yīng)來學(xué)習(xí),并根據(jù)我們的個(gè)性進(jìn)行調(diào)整。如同我們上面例子中的智能體“馬里奧”,我們可以設(shè)想未來的計(jì)算機(jī)系統(tǒng)能夠讀取我們的行為和反應(yīng),就像人物“馬里奧”讀取環(huán)境一樣。當(dāng)它讓我們越高興,以及讓我們越快實(shí)現(xiàn)我們的目標(biāo)時(shí),它會(huì)得到更多的獎(jiǎng)勵(lì)。很容易看出,這種未來的結(jié)果可能是在我們的能力范圍內(nèi)的。
所有這些加在一起,使我們對強(qiáng)化(學(xué)習(xí))系統(tǒng)如何運(yùn)作有了一個(gè)基本的概念。這個(gè)高層的基礎(chǔ)將對我們文章的第二部分有所幫助,我們將討論如何強(qiáng)化學(xué)習(xí)與其他類型機(jī)器學(xué)習(xí)的比較,以及我們認(rèn)為在形式化一個(gè)強(qiáng)化學(xué)習(xí)問題時(shí)的一些(關(guān)鍵的)因素。文章的第三部分中,我們將看到一些強(qiáng)化學(xué)習(xí)領(lǐng)域最近的成就和開放的研究問題。
觀看動(dòng)態(tài)的“超級(jí)瑪麗”游戲!看看你能否識(shí)別出強(qiáng)化學(xué)習(xí)場景中需要的所有元素。(請?jiān)谟⑽臋邳c(diǎn)擊鏈接)
MarI/O - Machine Learning for Video Games
https://youtu.be/qv6UVOQ0F44
如果你喜歡閱讀這篇文章,請給我留言,或者向我的 GoFundMe 捐款,幫助我繼續(xù)我的機(jī)器學(xué)習(xí)研究!
最初于 2018 年 8 月 8 日發(fā)表在 recast.ai 上。
想要繼續(xù)查看該篇文章相關(guān)鏈接和參考文獻(xiàn)?
長按鏈接點(diǎn)擊打開或點(diǎn)擊底部【強(qiáng)化學(xué)習(xí)的未來--第一部分】:
https://ai.yanxishe.com/page/TextTranslation/1369
AI研習(xí)社每日更新精彩內(nèi)容,觀看更多精彩內(nèi)容:雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
自然語言處理中的詞表征(第二部分)
等你來譯:
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。