強(qiáng)化學(xué)習(xí)中很多重要的難題都圍繞著兩個(gè)問(wèn)題:我們應(yīng)該如何高效地與環(huán)境互動(dòng)?如何從經(jīng)驗(yàn)中高效學(xué)習(xí)?在這篇文章中,我想對(duì)最近的深度強(qiáng)化學(xué)習(xí)研究做一些調(diào)查,找到解決這兩個(gè)問(wèn)題的方法,其中主要會(huì)講到三部分:
分層強(qiáng)化學(xué)習(xí)
記憶和預(yù)測(cè)建模
有模型和無(wú)模型方法的結(jié)合
首先我們快速回顧下DQN和A3C這兩種方法,之后會(huì)深入到最近的幾篇論文中,看看它們?cè)谶@一領(lǐng)域做出了怎樣的貢獻(xiàn)。
回顧DQN和A3C/A2C
DeepMind的深度Q網(wǎng)絡(luò)(DQN)是深度學(xué)習(xí)應(yīng)用到強(qiáng)化學(xué)習(xí)中實(shí)現(xiàn)的第一個(gè)重大突破,它利用一個(gè)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)Q函數(shù),來(lái)玩經(jīng)典雅達(dá)利游戲,例如《乓》和《打磚塊》,模型可以直接將原始的像素輸入轉(zhuǎn)化成動(dòng)作。
從算法上來(lái)說(shuō),DQN直接依賴經(jīng)典的Q學(xué)習(xí)技術(shù)。在Q學(xué)習(xí)中,動(dòng)作對(duì)的Q值,或者說(shuō)“質(zhì)量”,是根據(jù)基于經(jīng)驗(yàn)的迭代更新來(lái)估計(jì)的。從本質(zhì)上說(shuō),在每個(gè)狀態(tài)采取的行動(dòng),我們都能利用接收到的實(shí)時(shí)獎(jiǎng)勵(lì)和新?tīng)顟B(tài)的價(jià)值來(lái)更新原始狀態(tài)動(dòng)作對(duì)的價(jià)值估計(jì)。
除此之外,DeepMind的A3C(Asynchronous Advantage Actor Critic)和OpenAI的變體A2C,對(duì)actor-critic方法來(lái)說(shuō)都是非常成功的深度學(xué)習(xí)方法。
Actor-critic方法結(jié)合了策略梯度方法和學(xué)習(xí)價(jià)值函數(shù)。只用DQN,我們只能得到學(xué)習(xí)價(jià)值函數(shù)(Q函數(shù)),我們跟隨的“策略”也只是簡(jiǎn)單的在每一步將Q值達(dá)到最大的動(dòng)作。有了A3C和其他actor-critic方法,我們學(xué)習(xí)兩種不同的函數(shù):策略(或者“演員”)和價(jià)值(或者“評(píng)委”)。基于當(dāng)前估計(jì)的優(yōu)點(diǎn),策略會(huì)調(diào)整動(dòng)作的概率,價(jià)值函數(shù)也會(huì)更新基于經(jīng)驗(yàn)和獎(jiǎng)勵(lì)的優(yōu)勢(shì)。策略如下:
可以看到,降至網(wǎng)絡(luò)學(xué)習(xí)了一個(gè)基準(zhǔn)狀態(tài)值V(si;θv),有了它我們可以將目前的獎(jiǎng)勵(lì)估計(jì)R和得到的優(yōu)點(diǎn)相比較,策略網(wǎng)絡(luò)會(huì)根據(jù)這些優(yōu)點(diǎn)用經(jīng)典強(qiáng)化算法調(diào)整對(duì)數(shù)幾率。
A3C之所以這么受歡迎,主要原因是它結(jié)構(gòu)的平行和不同步性,具體結(jié)構(gòu)不是本文重點(diǎn)討論的內(nèi)容,感興趣的讀者可以查看DeepMind的IMPALA論文。
DQN和A3C/A2C都是強(qiáng)大的基準(zhǔn)智能體,但遇到復(fù)雜問(wèn)題時(shí),它們并不那么好用,比如可能觀察補(bǔ)全或者在動(dòng)作和獎(jiǎng)勵(lì)信號(hào)之間有延遲。所以,強(qiáng)化學(xué)習(xí)領(lǐng)域的研究者們一直致力于解決這些問(wèn)題。
分層強(qiáng)化學(xué)習(xí)
分層強(qiáng)化學(xué)習(xí)是強(qiáng)化學(xué)習(xí)方法的一種,它從策略的多個(gè)圖層中學(xué)習(xí),每一層都負(fù)責(zé)控制不同時(shí)間下的動(dòng)作。策略的最下一層負(fù)責(zé)輸出環(huán)境動(dòng)作,上面幾層可以完成其他抽象的目標(biāo)。
為什么這種方法如此受歡迎呢?首先,從認(rèn)知角度來(lái)看,長(zhǎng)久以來(lái)的研究都表示,人類和動(dòng)物的行為都是有組織的。例如,當(dāng)我們想做飯的時(shí)候,我會(huì)把這一任務(wù)分成好幾部分完成:洗菜、切菜、燒水煮面等等。我還可以把其中的某一小任務(wù)進(jìn)行替換,比如把煮面換成蒸米飯,也能完成做好一頓飯的總?cè)蝿?wù)。這就說(shuō)明現(xiàn)實(shí)世界中的任務(wù)內(nèi)部是有結(jié)構(gòu)的。
從技術(shù)層面來(lái)說(shuō),分層強(qiáng)化學(xué)習(xí)能幫助解決上述提到的第二個(gè)問(wèn)題,即如何從經(jīng)驗(yàn)中高效地學(xué)習(xí),解決方法就是通過(guò)長(zhǎng)期信用分配和稀疏獎(jiǎng)勵(lì)信號(hào)。在分層強(qiáng)化學(xué)習(xí)中,由于低層次的策略是從高層次策略分布的任務(wù)所得到的內(nèi)部獎(jiǎng)勵(lì)學(xué)習(xí)的,即使獎(jiǎng)勵(lì)稀疏,也可以學(xué)到其中的小任務(wù)。另外,高層次策略生成的時(shí)間抽象可以讓我們的模型處理信用分配。
說(shuō)到具體工作原理,實(shí)施分層強(qiáng)化學(xué)習(xí)的方法有很多。最近,谷歌大腦團(tuán)隊(duì)的一篇論文就采取了一種簡(jiǎn)易方法,他們的模型稱為HIRO。
核心思想如下:我們有兩個(gè)策略層,高層策略訓(xùn)練的目的是為了讓環(huán)境獎(jiǎng)勵(lì)R實(shí)現(xiàn)最大化。每一步后,高層策略都會(huì)對(duì)新動(dòng)作進(jìn)行采樣。低層策略訓(xùn)練的目的是為了采取環(huán)境行動(dòng),生成與給定的目標(biāo)狀態(tài)相似的狀態(tài)。
訓(xùn)練低層策略時(shí),HIRO用的是深度確定性策略梯度(DDPG)的變體,它的內(nèi)部獎(jiǎng)勵(lì)是將目前得到的觀察和目標(biāo)觀察之間的距離進(jìn)行參數(shù)化:
DDPG是另一種開(kāi)創(chuàng)新的深度強(qiáng)化學(xué)習(xí)算法,它將DQN的思想擴(kuò)展到了持續(xù)動(dòng)作空間中。他也是另一種actor-critic方法,使用策略梯度來(lái)優(yōu)化策略。
不過(guò),HIRO絕不是唯一的分層強(qiáng)化學(xué)習(xí)方法。FeUdal網(wǎng)絡(luò)出現(xiàn)的時(shí)間更早,它將經(jīng)過(guò)學(xué)習(xí)的“目標(biāo)”表示作為輸入,而不是原始狀態(tài)的觀察。另外還有很多方法需要一定程度的手動(dòng)操作或領(lǐng)域知識(shí),這就限制了其泛化能力。我個(gè)人比較喜歡的最近的一項(xiàng)研究成果是基于人口的訓(xùn)練(PBT),其中他們將內(nèi)部獎(jiǎng)勵(lì)看作額外的超參數(shù),PBT在訓(xùn)練時(shí)人口“增長(zhǎng)”的過(guò)程中對(duì)這些超參數(shù)進(jìn)行優(yōu)化。
如今,分層強(qiáng)化學(xué)習(xí)是非常火熱的研究對(duì)象,雖然它的核心是非常直觀的,但它可擴(kuò)展、多任務(wù)并行、能解決強(qiáng)化學(xué)習(xí)中的許多基礎(chǔ)性問(wèn)題。
存儲(chǔ)和注意力
現(xiàn)在讓我們談?wù)劻硗饽芙鉀Q長(zhǎng)期信用分配和稀疏獎(jiǎng)勵(lì)信號(hào)問(wèn)題的方法。通俗點(diǎn)說(shuō),我們想知道智能體如何能擅長(zhǎng)記憶。
深度學(xué)習(xí)中的記憶總是非常有趣,科學(xué)家們經(jīng)歷了千辛萬(wàn)苦,也很難找到一種結(jié)構(gòu)能打敗經(jīng)過(guò)良好調(diào)校的LSTM。但是,人類的記憶機(jī)制可不像LSTM。當(dāng)我們從家開(kāi)車去超市時(shí),回想的都是原來(lái)走過(guò)幾百次的路線記憶,而不是怎么從倫敦的一個(gè)城市到另一個(gè)城市的路線。所以說(shuō),我們的記憶是根據(jù)情景可查詢的,它取決于我們?cè)谀睦铩⒃诟墒裁矗覀兊拇竽X知道哪部分記憶對(duì)現(xiàn)在有用。
在深度學(xué)習(xí)中,Neural Turing Machine是外部、關(guān)鍵信息存儲(chǔ)方面論文的標(biāo)桿,這也是我最喜歡的論文之一,它提出通過(guò)向量值“讀取”和“寫(xiě)入”特定位置,利用可區(qū)分的外部存儲(chǔ)器對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行增強(qiáng)。如果把它用在強(qiáng)化學(xué)習(xí)上會(huì)怎樣?這就是最近的MERLIN結(jié)構(gòu)的思想。
MERLIN有兩個(gè)組成部分:基于記憶的預(yù)測(cè)器(MBP)和一個(gè)策略網(wǎng)絡(luò)。MBP負(fù)責(zé)將觀察壓縮成有用的、低維的“狀態(tài)變量”,將它們直接儲(chǔ)存在關(guān)鍵的記憶矩陣中。
整個(gè)過(guò)程如下:對(duì)輸入觀察進(jìn)行編碼,并將其輸入到MLP中,輸出結(jié)果被添加到先驗(yàn)分布中,生成后驗(yàn)分布。接著,后驗(yàn)分布經(jīng)過(guò)采樣,生成一個(gè)狀態(tài)變量zt。接著,zt輸入到MBP的LSTM網(wǎng)絡(luò)中,輸出結(jié)果用來(lái)更新先驗(yàn),并且進(jìn)行讀取或書(shū)寫(xiě)。最后,策略網(wǎng)絡(luò)運(yùn)用z_t和讀取輸出生成一個(gè)動(dòng)作。
關(guān)鍵細(xì)節(jié)在與,為了保證狀態(tài)表示時(shí)有用的,MBP同樣經(jīng)過(guò)訓(xùn)練需要預(yù)測(cè)當(dāng)前狀態(tài)下的獎(jiǎng)勵(lì),所以學(xué)習(xí)到的表示和目前的任務(wù)要相關(guān)。
不過(guò),MERLIN并不是唯一使用外部存儲(chǔ)器的深度強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò),早在2016年,研究者就在一個(gè)記憶Q網(wǎng)絡(luò)中運(yùn)用了這一方法,來(lái)解決Minecraft中的迷宮問(wèn)題。不過(guò)這種將存儲(chǔ)用作預(yù)測(cè)模型的方法有一些神經(jīng)科學(xué)上的阻礙。
MERLIN的基于存儲(chǔ)的預(yù)測(cè)器對(duì)所有觀察進(jìn)行編碼,將它們與內(nèi)部先驗(yàn)結(jié)合,生成一個(gè)“狀態(tài)變量”,可以捕捉到一些表示,并將這些狀態(tài)存儲(chǔ)到長(zhǎng)期記憶中,讓智能體在未來(lái)可以做出相應(yīng)的動(dòng)作。
智能體、世界模型和想象力
在傳統(tǒng)強(qiáng)化學(xué)習(xí)中,我們可以做無(wú)模型學(xué)習(xí),也可以做基于模型的學(xué)習(xí)。在無(wú)模型的強(qiáng)化學(xué)習(xí)中,我們學(xué)著將原始環(huán)境觀察直接映射到某個(gè)值或動(dòng)作上。在基于模型的強(qiáng)化學(xué)習(xí)中,我們首先會(huì)學(xué)習(xí)一個(gè)基于原始觀察的過(guò)渡模型,然后用這個(gè)模型來(lái)選擇動(dòng)作。
能在模型上進(jìn)行計(jì)劃比單純的試錯(cuò)法更高效,但是,學(xué)習(xí)一個(gè)好的模型通常很困難,所以早期很多深度強(qiáng)化學(xué)習(xí)的成功都是無(wú)模型的(例如DQN和A3C)。
這就表示,無(wú)模型和有模型的強(qiáng)化學(xué)習(xí)之間的界線很模糊。現(xiàn)在,一種新的“Imagination-augmented Agents”算法出現(xiàn)了,將這兩種方法結(jié)合了起來(lái)。
在Imagination-Augmented Agents(I2A)中,最終策略是一個(gè)無(wú)模型模塊和有模型模塊并存的函數(shù)。有模型的模塊可以看做智能體對(duì)環(huán)境的“想象”,其中包含了智能體內(nèi)部想象的活動(dòng)軌跡。但是,關(guān)鍵是有模型模塊在終點(diǎn)處有一個(gè)編碼器,它可以聚集想象軌跡,并將它們進(jìn)行編譯,讓智能體在必要的時(shí)候忽略那些想象。所以,當(dāng)智能體發(fā)現(xiàn)它的內(nèi)部模型在進(jìn)行無(wú)用或不精確的想象時(shí),它可以學(xué)習(xí)忽略模型,用無(wú)模型部分繼續(xù)工作。
I2A的工作流程
和A3C以及MERLIN類似,該策略也是通過(guò)一個(gè)標(biāo)準(zhǔn)策略梯度損失進(jìn)行訓(xùn)練,如下:
I2A之所以如此受歡迎的原因之一是,在某些情況下,這也是我們?cè)诂F(xiàn)實(shí)中處理情況的方法。我們總是根據(jù)所處的環(huán)境下,目前的精神想法對(duì)未來(lái)做計(jì)劃和預(yù)測(cè),但我們知道,我們的精神模型可能不完全準(zhǔn)確,尤其是當(dāng)我們來(lái)到一個(gè)陌生環(huán)境中時(shí)。在這種情況下,我們就會(huì)進(jìn)行試錯(cuò)法,就像無(wú)模型方法一樣,但同時(shí)我們還會(huì)利用這一段新體驗(yàn)對(duì)內(nèi)在精神環(huán)境進(jìn)行更新。
除此之外,還有很多研究結(jié)合了有模型和無(wú)模型兩種方法,例如伯克利的Temporal Difference Model等,這些研究論文都有著相同目標(biāo),即達(dá)到像無(wú)模型方法一樣的性能,同時(shí)具有和基于模型方法相同的高效采樣率。
結(jié)語(yǔ)
深度強(qiáng)化學(xué)習(xí)模型非常難以訓(xùn)練,但是正是因?yàn)檫@樣的難度,我們想到了如此多種的解決方案。這篇文章只是對(duì)深度強(qiáng)化學(xué)習(xí)的不完全調(diào)查,除了本文提到了方法,還有很多針對(duì)深度強(qiáng)化學(xué)習(xí)的解決方案。但是希望文中所提到的關(guān)于記憶、分層和想象的方法對(duì)該領(lǐng)域中所遇到的挑戰(zhàn)和瓶頸有所幫助。最后,Happy RL hacking!
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4344瀏覽量
62813 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5510瀏覽量
121349 -
強(qiáng)化學(xué)習(xí)
+關(guān)注
關(guān)注
4文章
268瀏覽量
11274
原文標(biāo)題:除了DQN/A3C,還有哪些高級(jí)強(qiáng)化學(xué)習(xí)成果
文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論