點(diǎn)擊上方“深度學(xué)習(xí)大講堂”可訂閱哦! 深度學(xué)習(xí)大講堂致力于推送人工智能,深度學(xué)習(xí)方面的最新技術(shù),產(chǎn)品以及活動(dòng)。 前言 深度強(qiáng)化學(xué)習(xí)可以說(shuō)是人工智能領(lǐng)域現(xiàn)在最熱門(mén)的方向,吸引了眾多該領(lǐng)域優(yōu)秀的科學(xué)家去發(fā)掘其能力極限。而深度強(qiáng)化學(xué)習(xí)本身也由于其通用性備受各個(gè)應(yīng)用領(lǐng)域推崇,從端對(duì)端游戲控制、機(jī)器人手臂控制、推薦系統(tǒng),甚至也來(lái)到了自然語(yǔ)言對(duì)話(huà)系統(tǒng)。然而如何在日新月異,幾乎每日都在更新迭代的深度強(qiáng)化學(xué)習(xí)的進(jìn)展中保持好節(jié)奏,那是這篇文章帶給大家的建議和思考。 我們首先簡(jiǎn)要介紹一下深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)技術(shù),以及在兩者融合兩者過(guò)程可能會(huì)出現(xiàn)的問(wèn)題,接著探討了深度強(qiáng)化學(xué)習(xí)的幾種范式,然后介紹近期有意思的一些工作和應(yīng)用,最后給出總結(jié)和展望。 基礎(chǔ) 深度學(xué)習(xí) 深度學(xué)習(xí)是人工神經(jīng)網(wǎng)絡(luò) 2006 年后重獲新生的名稱(chēng),伴隨著其實(shí)際應(yīng)用中的超越式效果而風(fēng)靡全球。使之成為可行的方法的計(jì)算設(shè)備 GPU 也因此大賣(mài)特賣(mài),成為深度學(xué)習(xí)研究必備利器。 人工神經(jīng)網(wǎng)絡(luò)已經(jīng)可以實(shí)現(xiàn)任意復(fù)雜度連續(xù)函數(shù)的逼近,這個(gè)可以在 Michael Nielsen 的《神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)》書(shū)中看到神經(jīng)網(wǎng)絡(luò)可以計(jì)算任何函數(shù)的具體化的證明。而深度學(xué)習(xí)則可以利用超多的隱藏層來(lái)提升表示的能力(淺層網(wǎng)絡(luò)需要指數(shù)級(jí)的隱藏元個(gè)數(shù)才能達(dá)到相當(dāng)?shù)纳顚泳W(wǎng)絡(luò)的表達(dá)能力)。深度學(xué)習(xí)的表示其實(shí)是大量函數(shù)的復(fù)合,并可以通過(guò)反向傳播進(jìn)行訓(xùn)練,參見(jiàn)下圖。 現(xiàn)在深度學(xué)習(xí)已經(jīng)席卷了語(yǔ)音識(shí)別、圖像識(shí)別、計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理乃至視頻預(yù)測(cè)等領(lǐng)域,主要的兩種網(wǎng)絡(luò) CNN 和 RNN 完成了空間和時(shí)間的完備。但由于對(duì)于深度學(xué)習(xí)本身仍舊有太多的認(rèn)知空白,一部分人仍然對(duì)其無(wú)法完全接受。盡管這樣,我還是想建議大家去了解它,你可以從書(shū)本開(kāi)始,比如說(shuō)前面提到的 《神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)》 還有來(lái)自 Montreal University 的 《深度學(xué)習(xí)》,來(lái)走進(jìn)這個(gè)領(lǐng)域。這本書(shū)包含了深度學(xué)習(xí)學(xué)習(xí)、研究及應(yīng)用所有需要的概念和直覺(jué)(并不含強(qiáng)化學(xué)習(xí))。 強(qiáng)化學(xué)習(xí) 強(qiáng)化學(xué)習(xí),現(xiàn)在常常將其看作機(jī)器學(xué)習(xí)領(lǐng)域的一個(gè)分支,但如果細(xì)細(xì)去看,你會(huì)發(fā)現(xiàn),強(qiáng)化學(xué)習(xí)本身也有完整的一條發(fā)展的脈絡(luò)。從動(dòng)物行為研究和優(yōu)化控制兩個(gè)領(lǐng)域獨(dú)立發(fā)展最終經(jīng) Bellman 之手匯集抽象為 MDP 問(wèn)題而完成形式化。之后經(jīng)很多的科學(xué)家的不斷擴(kuò)大,形成了相對(duì)完備的體系——常被稱(chēng)為近似動(dòng)態(tài)規(guī)劃,參看 MIT 教授 Dimitri P. Bertsekas 的 動(dòng)態(tài)規(guī)劃系列,Dynamic Programming and Optimal Control, Vol. II, 4th Edition: Approximate Dynamic Programming。 強(qiáng)化學(xué)習(xí)是非常嚴(yán)謹(jǐn)?shù)念I(lǐng)域,適合各類(lèi)人享受/被折磨(數(shù)學(xué)重起來(lái)可以直接 KO 一般的非數(shù)學(xué)系本科生)。但往往應(yīng)用起來(lái)卻非常困難,首先維度災(zāi)難的存在使得我們很難高效地求解最優(yōu)的策略或者計(jì)算最優(yōu)行動(dòng)值。另外深度學(xué)習(xí)其中包含的思想——貪婪、動(dòng)態(tài)規(guī)劃、近似等等都是算法中最為關(guān)鍵的部分,也是這些方法使用得比較極致的地方。因此,才有不少人持續(xù)在其上很多年不斷地推進(jìn)研究的深入和一般性。(這里,其實(shí)要說(shuō)一句,國(guó)內(nèi)的強(qiáng)化學(xué)習(xí)研究并不是特別領(lǐng)先,也要引發(fā)我們的思考。另一個(gè)有趣的現(xiàn)象是,作為強(qiáng)化學(xué)習(xí)研究的重鎮(zhèn) Alberta 大學(xué),也就是 Richard Sutton 等計(jì)算機(jī)科學(xué)家領(lǐng)銜的強(qiáng)化學(xué)習(xí)中心,同樣是在加拿大。這種感覺(jué)讓人想到了 Geoffrey Hinton 在 Toronto 領(lǐng)導(dǎo)的深度學(xué)習(xí)復(fù)興。個(gè)人感覺(jué),國(guó)內(nèi)強(qiáng)化學(xué)習(xí)研究不能夠興起的原因是研究者本身相對(duì)狹窄的視角,與不同學(xué)科和思想的連接甚弱,乃至于不敢想象——一句話(huà)概括的話(huà),我覺(jué)得是勇氣和想象力的缺失吧!在現(xiàn)在的研究中看到得更多是很多想法的全方位連接,交叉科學(xué)的研究是切切實(shí)實(shí)地交叉。) 在 Warren B. Powell 的一篇短文中說(shuō)道,很多來(lái)自不同領(lǐng)域的人,都在忙著自己的一畝三分地上耕耘,自得其樂(lè);實(shí)際上,大多人做出來(lái)同樣的工作,因此他提出了 10 條意見(jiàn)。簡(jiǎn)言之:建議大家從一個(gè)全貌看待問(wèn)題和學(xué)科,找到相通聯(lián)的點(diǎn),以此出發(fā),找到潛在的連線(xiàn),最終形成整體的面的認(rèn)知。 這里結(jié)合 David Silver 的強(qiáng)化學(xué)習(xí)課程給出一個(gè)強(qiáng)化學(xué)習(xí)的概貌: 深度強(qiáng)化學(xué)習(xí) 深度學(xué)習(xí)模型的簡(jiǎn)單(實(shí)際上帶來(lái)了更多的不可控制的難度)剛剛好是降低了一些使用的難度,短短數(shù)十行代碼,便能夠解決之前需要花費(fèi)大量精力才可以設(shè)計(jì)出來(lái)的系統(tǒng)。所以,各個(gè)應(yīng)用領(lǐng)域(語(yǔ)音、圖像、視覺(jué)、自然語(yǔ)言理解等)現(xiàn)在都把資源往深度學(xué)習(xí)上傾斜,在這里我們不去評(píng)判這會(huì)造成的未發(fā)生的不良后果,從樂(lè)觀的角度來(lái)看,深度學(xué)習(xí)確實(shí)讓人工智能領(lǐng)域重新煥發(fā)活力。當(dāng)然如何去疏導(dǎo)人們的激情是相當(dāng)重要的事情,我相信過(guò)上一段時(shí)間后,大家都會(huì)找到合適的路徑發(fā)展下去的。 一蹴而就的成功在科學(xué)領(lǐng)域往往是非常難以實(shí)現(xiàn)的。存在的若干重要的數(shù)論、圖論問(wèn)題,也都是經(jīng)過(guò)一代代科學(xué)家繼往開(kāi)來(lái)、在前人工作上不斷推進(jìn)的。說(shuō)完了歷史,現(xiàn)在來(lái)看看最為激動(dòng)人心的進(jìn)展。我們介紹深度強(qiáng)化學(xué)習(xí)的范式和相關(guān)算法??纯淳烤故裁床攀亲顬殛P(guān)鍵的因素。 實(shí)際上關(guān)鍵在于我們?nèi)绾稳?yīng)用這些技術(shù)解決問(wèn)題——適合的問(wèn)題建模,解決手段的提升。 強(qiáng)化學(xué)習(xí)之前并不能實(shí)用的原因在于面對(duì)過(guò)大的狀態(tài)或者行動(dòng)空間,很難有效地處理這些情形,往往看到的例子都是相對(duì)簡(jiǎn)化的場(chǎng)景。深度學(xué)習(xí)的出現(xiàn)讓人們能夠去處理真正的問(wèn)題,比如說(shuō)視覺(jué)識(shí)別準(zhǔn)確率的大幅提高至 ImageNet 數(shù)據(jù)急的 top-5 錯(cuò)誤率下降到了 4% 以?xún)?nèi),現(xiàn)在語(yǔ)音識(shí)別已經(jīng)真正變得比較成熟,并且被廣泛商用,且目前所有的商用語(yǔ)音識(shí)別算法沒(méi)有一個(gè)不是基于深度學(xué)習(xí)的。這些都是說(shuō)明深度學(xué)習(xí)能成為一些實(shí)際應(yīng)用的基礎(chǔ)。而現(xiàn)在深度強(qiáng)化學(xué)習(xí)的研究和應(yīng)用也基本上針對(duì)上面的問(wèn)題展開(kāi)。 根據(jù) Berkeley 的深度強(qiáng)化學(xué)習(xí)課程我們可以其分成近似動(dòng)態(tài)規(guī)劃方法(Approximate Dynamic Programming Methods)策略梯度方法(Policy Gradient Methods)和 搜索+監(jiān)督學(xué)習(xí)(Search + Supervised Learning)三類(lèi)。我們這里挑幾個(gè)代表性的方法簡(jiǎn)要介紹一下,如 Deep Q- Network、Double Q-Network 和 DDPG 等方法及現(xiàn)在的一些應(yīng)用,如機(jī)器人手臂控制、對(duì)話(huà)生成和游戲控制等等。這些研究也不是突然一下子就出現(xiàn)的,他們的產(chǎn)生可以說(shuō)伴隨著強(qiáng)化學(xué)習(xí)的發(fā)展而恰好到深度學(xué)習(xí)的出現(xiàn)又產(chǎn)生了巨大的能量。先看看近似動(dòng)態(tài)規(guī)劃方法,Deep Q-Network。 Deep Q-Network DQN 實(shí)際上在 2013 年就已經(jīng)發(fā)表,后經(jīng) DeepMind 眾人改進(jìn)成發(fā)表在 Nature 上的經(jīng)典文章,由于現(xiàn)在已經(jīng)有大量的文章介紹過(guò),我們這里略過(guò)。DQN 是一種基于 Q-學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)版本。通過(guò)神經(jīng)網(wǎng)絡(luò)來(lái)近似 Q 函數(shù),但是并不是簡(jiǎn)單地替換,否則在 2006 年應(yīng)該就能夠產(chǎn)生一定的影響了。DQN 解決了三個(gè)困難,DQN 為深度基于值的強(qiáng)化學(xué)習(xí)問(wèn)題提供了一種穩(wěn)定解決方案: 1. 使用經(jīng)驗(yàn)回放將數(shù)據(jù)之間的關(guān)聯(lián)打破,重回獨(dú)立同分布的設(shè)定下,從過(guò)去的策略中學(xué)習(xí),使用 免策略 Q-學(xué)習(xí) 2.目標(biāo) Q-網(wǎng)絡(luò)避免振蕩,將 Q-網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)之間的關(guān)聯(lián)打破 3.截?cái)嗒?jiǎng)勵(lì)或者正規(guī)化網(wǎng)絡(luò),適應(yīng)到合適的范圍內(nèi)可以得到健壯的梯度 Double Q-Network 在某些隨機(jī)環(huán)境中,Q-學(xué)習(xí)表現(xiàn)很糟糕。罪魁禍?zhǔn)资呛艽蟮男袆?dòng)值的過(guò)估計(jì)(overestimations)。這些過(guò)估計(jì)是由于 Q學(xué)習(xí)使用最大的行動(dòng)值作為最大期望行動(dòng)值的估計(jì)產(chǎn)生了正的偏差。這里有另外一種方式來(lái)近似對(duì)于任意隨機(jī)變量集的最大期望行動(dòng)值。所謂的雙估計(jì)方法某些事件會(huì)欠估計(jì)而不是過(guò)估計(jì)。將這種思想應(yīng)用在 Q-學(xué)習(xí)上可以得到雙 Q-學(xué)習(xí)方法,一種免策略強(qiáng)化學(xué)習(xí)方法。這個(gè)算法可以收斂到最優(yōu)策略上,并在某些設(shè)置下表現(xiàn)得要超過(guò) Q-學(xué)習(xí)算法。 Double Q-Network 則是融合 Q-學(xué)習(xí)和深度學(xué)習(xí)的結(jié)果,在某些 Atari 游戲中 DQN 本身其實(shí)也會(huì)受到過(guò)估計(jì)的影響,通過(guò)雙 Q-學(xué)習(xí)的引入,就能夠處理大規(guī)模的函數(shù)近似問(wèn)題。最終的算法不僅僅降低了觀察值過(guò)估計(jì),而且在某些游戲中有著相當(dāng)好的表現(xiàn)。 策略梯度方法 盡管現(xiàn)存若干本強(qiáng)化學(xué)習(xí)相關(guān)的書(shū)籍,但是對(duì)于策略梯度部分的介紹確實(shí)不夠的。已有的強(qiáng)化學(xué)習(xí)(RL)課本沒(méi)有給出足夠的關(guān)于如何使用函數(shù)近似的指導(dǎo);基本上都是聚焦在離散狀態(tài)空間的領(lǐng)域。而且,現(xiàn)有 RL 課本并沒(méi)有對(duì)無(wú)導(dǎo)數(shù)優(yōu)化和策略梯度方法給出充分講述,而這些技術(shù)在很多的任務(wù)上都是相當(dāng)重要的. 策略梯度算法通過(guò)梯度下降進(jìn)行優(yōu)化。就是說(shuō),通過(guò)重復(fù)計(jì)算策略的期望回報(bào)梯度的噪聲估計(jì),然后按照梯度方向來(lái)更新策略。該方法比其他 RL 方法(如 Q-學(xué)習(xí))更有利,原因是我們可以直接優(yōu)化感興趣的量——策略的期望總收益。該類(lèi)方法由于梯度估計(jì)的高方差長(zhǎng)期被認(rèn)為不太實(shí)用,直到最近,Schulman 等人和 Mnih 等人的工作展示了神經(jīng)網(wǎng)絡(luò)策略在困難的控制問(wèn)題上的采用策略梯度方法的成功應(yīng)用。 你可能比較熟悉概率模型的監(jiān)督學(xué)習(xí),其中目標(biāo)是最大化給定輸入(x) 時(shí)的輸出 (y) 的對(duì)數(shù)概率。 策略梯度方法通常需要假設(shè)一個(gè)隨機(jī)策略,該策略給出了對(duì)每個(gè)狀態(tài) (s) 的行動(dòng) (a) 上的概率分布;我們將此分布寫(xiě)作 如果我們知道對(duì)每個(gè)狀態(tài)正確的行動(dòng) ,我們可以簡(jiǎn)單地最大化監(jiān)督學(xué)習(xí)的目標(biāo)函數(shù): 然而,我們并不知道正確的行動(dòng)。相反,我們會(huì)嘗試對(duì)行動(dòng)好壞進(jìn)行粗略的猜測(cè),試著去增加好的行動(dòng)的概率。更加具體地講,假設(shè)我們剛收集完 agent 和環(huán)境一個(gè) agent 和環(huán)境回合的交互,所以我們有了一個(gè)狀態(tài)、行動(dòng)和收益的序列: 。令 表示收益的和: 。最簡(jiǎn)單的策略梯度公式就是: 使用這個(gè)梯度的估計(jì) ,我們可以用一個(gè)梯度上升的步驟, 進(jìn)行策略的更新,其中 為學(xué)習(xí)率,我們會(huì)收集所有的回合,對(duì)那個(gè)回合中所有的行動(dòng)的對(duì)數(shù)概率按照回合的總收益 為比例進(jìn)行增加。換言之,如果我們收集了大量的回合數(shù)據(jù),其中一些是好的(憑借運(yùn)氣),另外一些是差的。我們本質(zhì)上是在進(jìn)行監(jiān)督學(xué)習(xí)——最大化好的回合的概率。 盡管我們現(xiàn)在還沒(méi)有給出對(duì)上述策略梯度公式的數(shù)學(xué)上的驗(yàn)證,但實(shí)際上已經(jīng)給出了一個(gè)對(duì)策略梯度的無(wú)偏估計(jì). 策略梯度定義為右式的策略期望總收益的梯度. 如果我們用充足的樣本(充足的回合),那么就可以任意精度計(jì)算出策略梯度。然而,估計(jì)量 通常噪聲很大,即有很高的方差。你可以想象,這里存在很大的提升空間。與其提高好的軌跡(trajectory)的概率,我們應(yīng)該提高好的行動(dòng)的概率,也就是說(shuō),我們應(yīng)試著去推斷哪些行動(dòng)影響軌跡的好壞. 有一系列形如下式的策略梯度估計(jì)量: 其中 是行動(dòng) 的有利度 (advantage)的估計(jì)——比平均值好還是壞的程度. 下面的有利度估計(jì)量更有效率,也更常見(jiàn): 其中 是折扣因子, 是 狀態(tài)-值 函數(shù) 的近似. 用來(lái)定義一個(gè)有效時(shí)間區(qū)域,其中你忽略所有可能的超過(guò)未來(lái) 的時(shí)間步的影響。 我們的策略其實(shí)是 ,那么我們?nèi)绾问褂靡粋€(gè)神經(jīng)網(wǎng)絡(luò)進(jìn)行表示?實(shí)際上,我們僅僅需要將 映射到某個(gè)向量 上,向量描述了行動(dòng) 上的分布。例如,如果 來(lái)自一個(gè)離散的集合,那么我們?cè)O(shè)計(jì)一個(gè)神經(jīng)網(wǎng)絡(luò)將 到一個(gè)概率向量上。(我們一般在神經(jīng)網(wǎng)絡(luò)的最后層使用一個(gè) softmax 函數(shù))這完全就是我們用來(lái)進(jìn)行分類(lèi)器學(xué)習(xí)的形式.如果 是連續(xù)的,那么我們可以將 映射到一個(gè)高斯分布的均值和方差上。一般情況我們使用一個(gè)不依賴(lài)于 的對(duì)角協(xié)方差.如果 是二值的,那么我們可以使用一個(gè)單個(gè)輸出的網(wǎng)絡(luò),表示輸出 1 的概率. DDPG 深度確定型策略梯度方法 這是 DPG 確定型策略梯度方法的深度學(xué)習(xí)化,利用 DQN 的思想將 DPG 進(jìn)行改造。DDPG 可以解決連續(xù)行動(dòng)空間上的強(qiáng)化學(xué)習(xí)問(wèn)題。在實(shí)驗(yàn)中,DDPG 給出了穩(wěn)定的表現(xiàn),并且在不同環(huán)境上都不需要做出改動(dòng)。另外,DDPG 在所有實(shí)驗(yàn)中都是以比 DQN 學(xué)習(xí)使用更少時(shí)間步的經(jīng)驗(yàn)發(fā)現(xiàn) Atari 游戲的解的,大概是性能 20 倍的差距。給定更多模擬時(shí)間,DDPG 可能解決比現(xiàn)在 Atari 游戲更加困難的問(wèn)題。DDPG 的未來(lái)方向應(yīng)該是利用基于模型的方法來(lái)減少訓(xùn)練的回合次數(shù),因?yàn)槟P蜔o(wú)關(guān)的強(qiáng)化學(xué)習(xí)方法通常需要大量的訓(xùn)練才能找到合理的解。 DDPG 實(shí)際上是 Actor-Critic 結(jié)構(gòu),融合了策略和值函數(shù)兩者信息進(jìn)行學(xué)習(xí)。對(duì) Actor 和 Critic 均使用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行近似。 使用一個(gè)權(quán)重為 的深度神經(jīng)網(wǎng)絡(luò) 來(lái)表示策略,定義目標(biāo)函數(shù)為總折扣獎(jiǎng)勵(lì) 然后使用 SGD 來(lái)端對(duì)端優(yōu)化目標(biāo)函數(shù),也即是說(shuō)調(diào)整策略參數(shù) 來(lái)達(dá)到更大的獎(jiǎng)勵(lì) 確定型策略梯度是 David Silver 在 2014 年的工作,剛好為此鋪墊,他們證明了確定型策略梯度算法給出的期望恰好就是策略梯度(這里可以參考 DPG 論文中的證明),策略的梯度由下式給出 策略梯度是最大化提升 的方向 確定型 Actor-Critic,使用兩個(gè)網(wǎng)絡(luò),Actor 是參數(shù)為 的策略 Critic 是參數(shù)為 的值函數(shù) Critic 為 Actor 提供損失函數(shù), 梯度從 Critic 到 Actor 反向傳播, Critic 通過(guò) Q-學(xué)習(xí)估計(jì)當(dāng)前策略的值 而 Actor 按照提升 Q 的方向更新策略 確定型深度策略梯度(DDPG)由于基本的 actor-critic 使用神經(jīng)網(wǎng)絡(luò)會(huì)振蕩或者發(fā)散,DDPG 給出了穩(wěn)定解,采取了 DQN 中的技巧對(duì) actor 和 critic 均使用經(jīng)驗(yàn)回放并凍結(jié)目標(biāo)網(wǎng)絡(luò)來(lái)避免振蕩 基于記憶的 DRL 架構(gòu) 近期 Michigan 大學(xué)的研究組一篇論文提出了一種基于記憶的深度強(qiáng)化學(xué)習(xí)架構(gòu),專(zhuān)門(mén)設(shè)計(jì)了可控制的機(jī)制來(lái)處理第一人稱(chēng)視角的場(chǎng)景、延遲獎(jiǎng)勵(lì)及高維視覺(jué)信息,并引入主動(dòng)感知能力,從而能夠較好地完成既定任務(wù)。上面提到的問(wèn)題或者要求同時(shí)具備是現(xiàn)有的深度強(qiáng)化學(xué)習(xí)架構(gòu)并不能完全應(yīng)付。這個(gè)新框架在實(shí)驗(yàn)中相比其他的深度強(qiáng)化學(xué)習(xí)模型表現(xiàn)出了較好的泛化能力。 其結(jié)構(gòu)示例如圖: 這兩幅圖展示了記憶操作的過(guò)程和不同的網(wǎng)絡(luò)整體結(jié)構(gòu). MQN 僅僅依賴(lài)當(dāng)前觀察,除了當(dāng)前輸入用來(lái)做強(qiáng)化學(xué)習(xí)問(wèn)題中的時(shí)態(tài)上下文的內(nèi)存檢索類(lèi)似于 MemNN,是一個(gè)單純的前驅(qū)網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)造了上下文環(huán)境;RMQN 則是循環(huán)結(jié)構(gòu)使用 LSTM 從觀察的歷史信息中刻畫(huà)了空間和時(shí)間信息,保證能夠從 LSTM 和外部記憶中獲得時(shí)態(tài)信息;FRMQN 則包含了一個(gè)從檢索得到的記憶中反饋到上下文向量的鏈接。如圖 最終使用的 FRMQN 網(wǎng)絡(luò)架構(gòu)包含了用來(lái)抽取圖像特征的卷積網(wǎng)絡(luò)、獲取歷史觀察的記憶單元和一個(gè)上下文向量用于記憶查詢(xún)和行動(dòng)值的估計(jì)。其中提及的 FRQMN 對(duì)于未曾見(jiàn)過(guò)的環(huán)境在學(xué)習(xí)值函數(shù)的時(shí)候能夠表現(xiàn)出更好的泛化能力. 在 https://sites.google.com/a/umich.edu/junhyuk-oh/icml2016-minecraft 可以看到在實(shí)際的 Minecraft 中的 agent 行為的效果視頻. 大規(guī)模離散行動(dòng)空間上的深度強(qiáng)化學(xué)習(xí) https:///pdf/1512.07679.pdf 這項(xiàng)工作建立在 DeepMind 之前的 DDPG 等工作之上,雜糅了若干模型,并使用嵌入的方式來(lái)大幅度降低行動(dòng)空間的維數(shù),其主要過(guò)程在下圖中給出: 博弈均衡求解的深度強(qiáng)化學(xué)習(xí)方法 https:///pdf/1603.01121.pdf NFSP 就是引入神經(jīng)網(wǎng)絡(luò)近似函數(shù)的 FSP,是一種利用強(qiáng)化學(xué)習(xí)技術(shù)來(lái)從自我博弈中學(xué)習(xí)近似納什均衡的方法,解決了三個(gè)問(wèn)題: 1. 無(wú)先驗(yàn)知識(shí) NFSP agent 學(xué)習(xí) 2. 運(yùn)行時(shí)不依賴(lài)局部搜索 3. 收斂到自我對(duì)局的近似納什均衡 這是一般的不完美信息二人零和博弈。虛擬對(duì)弈同樣也會(huì)收斂到合作、勢(shì)力場(chǎng)博弈的納什均衡。所以 NFSP 也能夠成功應(yīng)用在這些博弈上。另外,近期的研究關(guān)于連續(xù)空間行動(dòng)的強(qiáng)化學(xué)習(xí)(Lillicrap et al. 2015)也能夠應(yīng)用在連續(xù)行動(dòng)博弈中,目前的博弈論方法并不能直接處理這樣的情形。所以說(shuō),這系列工作是具有重要的意義的,揭示了可以完成部分真實(shí)場(chǎng)景博弈的均衡求解。 用于對(duì)話(huà)生成的深度強(qiáng)化學(xué)習(xí) 循環(huán)神經(jīng)網(wǎng)絡(luò)在對(duì)話(huà)生成上的應(yīng)用確實(shí)有所進(jìn)展,可以為對(duì)話(huà)機(jī)器人生成回應(yīng)的語(yǔ)句,但是這些反應(yīng)相當(dāng)?shù)囟桃暎3>秃雎粤藢?duì)未來(lái)產(chǎn)生的后果。為對(duì)話(huà)的未來(lái)方向進(jìn)行建模是產(chǎn)生連貫有趣的對(duì)話(huà)的關(guān)鍵,這也是傳統(tǒng) NLP 對(duì)話(huà)模型要采用強(qiáng)化學(xué)習(xí)的緣故。這個(gè)工作,將這些目標(biāo)進(jìn)行整合,應(yīng)用深度強(qiáng)化學(xué)習(xí)來(lái)建模機(jī)器人對(duì)話(huà)的未來(lái)獎(jiǎng)勵(lì)。這個(gè)對(duì)話(huà)模型模擬了兩個(gè)虛擬 agent 之間的對(duì)話(huà),使策略梯度方法在包含三個(gè)有用的對(duì)話(huà)屬性(信息量、連貫性和易答性)的獎(jiǎng)勵(lì)序列上。實(shí)驗(yàn)在 diversity、長(zhǎng)度和人類(lèi)評(píng)判上進(jìn)行,結(jié)果表明算法產(chǎn)生了更具交互性的答復(fù)并刺激出更加持久的對(duì)話(huà)模擬。這也是基于對(duì)話(huà)長(zhǎng)期成功的學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)對(duì)話(huà)模型的第一次嘗試。 未來(lái)發(fā)展 現(xiàn)在的深度強(qiáng)化學(xué)習(xí)中很多的模型是,強(qiáng)化學(xué)習(xí)中部分研究成果深度學(xué)習(xí)化的結(jié)果。但最令人興奮的是,一些新的想法,例如強(qiáng)化變分推斷,在Theophane Weber 等人的論文(http:///files/nips-15-weber-reinforced-inference.pdf)中,就將 VI 和 RL 進(jìn)行了聯(lián)系。參見(jiàn)下圖的對(duì)比: 他們給出了一種將推斷看作是強(qiáng)化學(xué)習(xí)的視角,這樣其實(shí)可以讓變分推斷的研究者們受強(qiáng)化學(xué)習(xí)技術(shù)啟發(fā)創(chuàng)造出新的推斷技術(shù)?;€(xiàn)和值函數(shù)的方式來(lái)進(jìn)行解釋。很多強(qiáng)化學(xué)習(xí)中其他的概念可用在變分推斷中,如時(shí)間差分方法或者探索方法,未來(lái)這兩者間的關(guān)系應(yīng)該能夠挖掘到更深的層次,這也使得我們能夠找到更多的微分模型和關(guān)聯(lián)技術(shù). 而這篇文章中作者之一 John Schulman 和他 Berkeley 的合作者也有一個(gè)進(jìn)行從計(jì)算方法的角度統(tǒng)一化工作,Gradient Estimation Using Stochastic Computation Graphs,將監(jiān)督學(xué)習(xí)、非監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)中出現(xiàn)的共同問(wèn)題進(jìn)行提煉——損失函數(shù)由一個(gè)隨機(jī)變量集上的期望定義,這些隨機(jī)變量可能是概率模型的變量或者是外部環(huán)境的變量。那么使用樣本來(lái)估計(jì)損失函數(shù)的梯度就是基于梯度學(xué)習(xí)的算法的核心。該文給出了隨機(jī)計(jì)算圖的形式化定義——包含確定型函數(shù)和條件概率分布的有向無(wú)環(huán)圖,并解釋如何自動(dòng)推導(dǎo)出損失函數(shù)梯度的無(wú)偏估計(jì)。得到的算法是對(duì)標(biāo)準(zhǔn)反向傳播算法的微小改進(jìn)。該框架可以幫助研究者們開(kāi)發(fā)復(fù)雜微妙的模型,方便地加入隨機(jī)和確定型的操作,如注意力、記憶和行動(dòng)控制等。 另外深度強(qiáng)化學(xué)習(xí)在博弈均衡求解中的應(yīng)用也是令人興奮的方向之一,隨著這些技術(shù)的細(xì)化和深入,我們將理論計(jì)算機(jī)和更為實(shí)用的機(jī)器學(xué)習(xí)等等技術(shù)之間的鴻溝進(jìn)一步縮小。 未來(lái)深度強(qiáng)化學(xué)習(xí)的發(fā)展必定是理論探索和應(yīng)用實(shí)踐的深入,這一方面取決于我們深度學(xué)習(xí)的認(rèn)識(shí),另一方面則倚重不斷地實(shí)踐。 最后,我想推薦一下 OpenAI 的 gym,這是一個(gè)強(qiáng)化學(xué)習(xí)算法測(cè)試的環(huán)境,可以在上面去嘗試自己解決一些問(wèn)題,同時(shí)也可以比對(duì)自己方法的優(yōu)劣。現(xiàn)在也是相當(dāng)活躍的一個(gè)項(xiàng)目,OpenAI 的成員正在不斷擴(kuò)展這個(gè)環(huán)境,使之滿(mǎn)足現(xiàn)在強(qiáng)化學(xué)習(xí)需要的環(huán)境,另外也在征求大家的意見(jiàn)列出最關(guān)鍵的一些相關(guān)問(wèn)題。深度學(xué)習(xí)有很多的標(biāo)準(zhǔn)的任務(wù)可以供大家測(cè)試算法,強(qiáng)化學(xué)習(xí)領(lǐng)域?qū)嶋H上在前幾年并不是非常方便進(jìn)行測(cè)試,現(xiàn)在的 Gym 可以算作深度強(qiáng)化學(xué)習(xí)算法的試金石了。 OpenAI 處于快速發(fā)展階段,其中涉及的 POMDP 環(huán)境不斷增加: 1. 經(jīng)典控制和玩具文本:強(qiáng)化學(xué)習(xí)文獻(xiàn)中的小規(guī)模的任務(wù) 2. 算法:執(zhí)行諸如多位數(shù)字相加,序列逆變等等計(jì)算。 大多數(shù)這樣的任務(wù)需要記憶,而難度可通過(guò)序列長(zhǎng)度調(diào)整 3. Atari 游戲:屏幕圖像或者 RAM 作為輸入,使用的是 Arcade Learning Environment 作為底層支撐 棋盤(pán)游戲:當(dāng)前包括圍棋的 9X9 和 19X19 棋盤(pán),Pachi 作為對(duì)手 4. 2D 和 3D 機(jī)器人:在模擬環(huán)境中控制機(jī)器人,這些任務(wù)使用了 MuJoCo 物理引擎,還有部分來(lái)自 RLLAB(http://rllab./en/latest/) 根據(jù) OpenAI 發(fā)布的信息,他們也在擴(kuò)展 Gym 中其他的環(huán)境,如: 1. 多 agent 場(chǎng)景,這些場(chǎng)景中的 agent 之間可以合作或者競(jìng)爭(zhēng) 2. Curriculum 學(xué)習(xí)和遷移學(xué)習(xí)。當(dāng)前這些任務(wù)還只是初期,后面會(huì)形成任務(wù)的序列,這樣算法可以一個(gè)接一個(gè)任務(wù)地進(jìn)行訓(xùn)練。這里的設(shè)計(jì)師創(chuàng)建不斷提升難度的任務(wù)序列,來(lái)適應(yīng)所需的場(chǎng)景。 3. 真實(shí)世界操作:最終目標(biāo)是將 Gym API 和機(jī)器人硬件進(jìn)行結(jié)合,在真實(shí)世界中檢驗(yàn)強(qiáng)化學(xué)習(xí)算法 所以從 OpenAI Gym 開(kāi)始你可以逐步走近到走進(jìn)這個(gè)有意思的領(lǐng)域了,通過(guò)實(shí)現(xiàn)那些 tricky 的算法來(lái)掌握它,對(duì)于很多人來(lái)說(shuō),實(shí)現(xiàn)了可以運(yùn)作的算法代碼才是真的懂了(我覺(jué)得可能還不夠,仍舊有很多的指引需要我們?nèi)ヌ剿?,也許數(shù)學(xué)證明才是真的理解象征……) 很開(kāi)心能夠有這樣的一群人去實(shí)踐人工智能技術(shù)的開(kāi)放化,對(duì)此,我非常的欽佩,也希望能夠借助自己的力量來(lái)幫助這個(gè)項(xiàng)目的成長(zhǎng)。 在 Gym 變得更加穩(wěn)定后, OpenAI 近期向大家征求未來(lái)的研究項(xiàng)目,這里可以看到相應(yīng)的項(xiàng)目和評(píng)分。 學(xué)習(xí)建議 現(xiàn)在網(wǎng)絡(luò)上其實(shí)遍布了可以學(xué)習(xí)深度強(qiáng)化學(xué)習(xí)的資源,建議大家可以選擇下面的課程: 1. Neural Networks for Machine Learning — Geoff Hinton (Coursera) 2. Neural Nets — Andrej Karpathy’s CS231N (Stanford) 3. Reinforcement Learning — David Silver UCL 4. Advanced Robotics (the MDP / optimal control lectures) — Pieter Abbeel’s CS287 (Berkeley) Deep RL — John Schulman’s CS294-112 (Berkeley) 5. Deep RL — David Silver RLDM 6. Deep RL — John Schulman MLSS 除了課程外,也有一些書(shū)籍,比如 Richard Sutton 等人的《Reinforcement Learning: An Introduction》,還有 Pieter 推薦了 Cover 和 Thomas 的《信息論》和 Nocedal 和 Wright 寫(xiě)的 nonlinear optimization 書(shū),David Barber 的 Bayesian Reasoning and Machine Learning 等等 如果你愛(ài)編程實(shí)現(xiàn),那么 Ilya Sutskever 建議你從實(shí)現(xiàn)簡(jiǎn)單的 MNIST 分類(lèi)器開(kāi)始,卷積網(wǎng)絡(luò),重新實(shí)現(xiàn) char-rnn,然后玩玩大的卷積網(wǎng)絡(luò)。同樣還可以選擇一些競(jìng)賽,比如說(shuō) Kaggle 的 Knowledge 系列。不斷地去尋找訓(xùn)練和實(shí)現(xiàn)的手感。在 OpenAI 中也有很多的資源幫助你快速找到感覺(jué)。 但實(shí)際上,深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)及深度強(qiáng)化學(xué)習(xí)需要有理論和實(shí)踐的結(jié)合,所以理論課程和實(shí)踐經(jīng)歷都是非常重要的。通過(guò)讀書(shū)聽(tīng)課可以找到自己的位置,還有知識(shí)本身所處的位置以及你在整個(gè)知識(shí)地圖的位置,從而不至于迷失在日新月異的環(huán)境中,慢慢地你會(huì)發(fā)現(xiàn)自己感興趣的那些目的地,然后逐步地探索這些有趣的目的地,最終能夠取得令自己滿(mǎn)意的成就。而實(shí)現(xiàn)模型的重要性在于你可以將那些抽象的概念和理論轉(zhuǎn)化為實(shí)實(shí)在在可以觸及的經(jīng)驗(yàn),你飛動(dòng)的指尖會(huì)慢慢告訴你什么是正確的節(jié)奏,哪些是讓你興奮的點(diǎn)。通常理論和實(shí)踐之間的差異之大會(huì)超乎想象,所以只能夠通過(guò)實(shí)際應(yīng)用去填補(bǔ)這些罅隙,實(shí)現(xiàn)完模型后往往需要成天成天的調(diào)試你才能達(dá)到滿(mǎn)意的效果。這個(gè)過(guò)程是非常痛苦的,但這種痛苦也是短暫的:當(dāng)你最終完成了一個(gè)真正可用的模型時(shí),那種快感無(wú)與倫比.。我想這也是很多人堅(jiān)持挑戰(zhàn)自己的緣故吧。Ilya Suskever 說(shuō)道:“But each time you suffer, know that you've built a little bit of skill that will be invaluable for the future.” 后記 兩周前答應(yīng)劉昕博士,匆匆寫(xiě)完這篇,越到 deadline 越是能發(fā)現(xiàn)自己的漏洞,為了填補(bǔ)這些常常查資料到深夜,不過(guò)這個(gè)過(guò)程還是非常享受,樂(lè)在其中。從深度學(xué)習(xí)基本的 MLP、SGD 的理解和掌握,到 RNN LSTM 及 NTM 和 MM 等網(wǎng)絡(luò)的理解,再到慢慢地發(fā)現(xiàn)生成式模型的魅力所在,隨之與變分推斷的結(jié)合,然后后來(lái)的強(qiáng)化學(xué)習(xí)重新進(jìn)入我的視野,這個(gè)過(guò)程跌宕起伏,也讓我對(duì)這個(gè)龐大領(lǐng)域的脈絡(luò)逐漸清晰??梢哉f(shuō)深度學(xué)習(xí)重新激活了我對(duì)機(jī)器學(xué)習(xí)的熱情。而且隨著理解的深入,你會(huì)發(fā)現(xiàn)深度強(qiáng)化學(xué)習(xí)會(huì)將各個(gè)領(lǐng)域有趣的問(wèn)題放在同樣的一個(gè)框架內(nèi)進(jìn)行思考和處理,這是以前只有博弈論和復(fù)雜網(wǎng)絡(luò)能夠帶來(lái)給我的體驗(yàn)。相較于單純掌握某個(gè)領(lǐng)域的知識(shí)和技術(shù),我傾向于從更廣的層面來(lái)理解它們,然后吸收進(jìn)入自己的知識(shí)體系。 這個(gè)過(guò)程中,我們需要的一方面是接受新的技術(shù),同時(shí)也要辨別清楚那些重要的東西,那么最好的方式就是去研習(xí)它們,觀察它們,使用它們,這樣才有最真切的體會(huì),也能夠告訴自己需要的究竟是什么。 我們給某個(gè)事物取了名字,一方面界定清楚了它,但另一方面也限制住了它。實(shí)際上,并不需要太多嚴(yán)苛地將注意力限制在一個(gè)有“名”的物上,而是應(yīng)該去感知它所能夠觸及的領(lǐng)域和問(wèn)題,通過(guò)用之來(lái)增加認(rèn)知。對(duì)于技術(shù)或者理論均是如此,敢于突破前人列下的規(guī)則,才是我們創(chuàng)新的動(dòng)力之源. 現(xiàn)在這個(gè)開(kāi)放的時(shí)代,讓技術(shù)的進(jìn)步可以方便地獲取,只要你有熱情和興趣,就能夠找到釋放的地方。盡管有著諸多鴻溝攔在人類(lèi)的面前,但是勇敢者必定能夠邁出堅(jiān)定的步伐去探知未來(lái)的奧秘!既然如此,大家盡情發(fā)揮吧~ 記住,跟隨你的好奇心,它會(huì)指引你找到屬于自己的路! “I am a pessimist because of intelligence, but an optimist because of will.” 相關(guān)資料 Parallel and Distributed Computation:Numerical Methods: https://dspace./handle/1721.1/3719#files-area DQN https://www.cs./~vmnih/docs/dqn.pdf John Schulman drl: http://rl-gym-doc.s3-website-us-west-2./mlss/2016-MLSS-RL.pdf Gradient Estimation Using Stochastic Computation Graphs: https:///pdf/1506.05254.pdf Deep Reinforcement Learning in Large Discrete Action Spaces: https:///pdf/1512.07679.pdf Deep Reinforcement Learning from Self-Play in Imperfect-Information Games: https:///pdf/1603.01121.pdf 該文章屬于“深度學(xué)習(xí)大講堂”原創(chuàng),如需要轉(zhuǎn)載,請(qǐng)聯(lián)系loveholicguoguo。 作者簡(jiǎn)介 朱小虎 簡(jiǎn)書(shū)數(shù)據(jù)科學(xué)家,負(fù)責(zé)推薦系統(tǒng)業(yè)務(wù)。目前專(zhuān)注于深度學(xué)習(xí)在自然語(yǔ)言理解及社會(huì)網(wǎng)絡(luò)分析中的應(yīng)用,并與傳統(tǒng)機(jī)器學(xué)習(xí)算法結(jié)合來(lái)改善業(yè)務(wù)流程和提升用戶(hù)體驗(yàn)。上海深度學(xué)習(xí)線(xiàn)下群發(fā)起人,深度學(xué)習(xí)國(guó)際群聯(lián)合發(fā)起人。致力于推廣深度學(xué)習(xí)和機(jī)器學(xué)習(xí)技術(shù),共同完成了該領(lǐng)域一本入門(mén)教程《神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)》的翻譯工作。 往期精彩回顧 【大規(guī)模圖像檢索的利器】Deep哈希算法介紹 深度學(xué)習(xí)在智能電網(wǎng)圖像識(shí)別與故障檢測(cè)中的應(yīng)用 基于深度學(xué)習(xí)的目標(biāo)檢測(cè)研究進(jìn)展 【阿里集團(tuán)卜居深度解析】卷積神經(jīng)網(wǎng)絡(luò)的硬件加速 全卷積網(wǎng)絡(luò):從圖像級(jí)理解到像素級(jí)理解 長(zhǎng)文干貨!走近人臉檢測(cè):從 VJ 到深度學(xué)習(xí)(上) 長(zhǎng)文干貨!走近人臉檢測(cè):從VJ到深度學(xué)習(xí)(下) 歡迎關(guān)注我們! 深度學(xué)習(xí)大講堂致力于推送人工智能,深度學(xué)習(xí)的最新技術(shù),產(chǎn)品和活動(dòng)! 深度學(xué)習(xí)大講堂 |
|