Neil Zhu,簡(jiǎn)書ID Not_GOD,University AI 創(chuàng)始人 & Chief Scientist,致力于推進(jìn)世界人工智能化進(jìn)程。制定并實(shí)施 UAI 中長(zhǎng)期增長(zhǎng)戰(zhàn)略和目標(biāo),帶領(lǐng)團(tuán)隊(duì)快速成長(zhǎng)為人工智能領(lǐng)域最專業(yè)的力量。
作為行業(yè)領(lǐng)導(dǎo)者,他和UAI一起在2014年創(chuàng)建了TASA(中國(guó)最早的人工智能社團(tuán)), DL Center(深度學(xué)習(xí)知識(shí)中心全球價(jià)值網(wǎng)絡(luò)),AI growth(行業(yè)智庫(kù)培訓(xùn))等,為中國(guó)的人工智能人才建設(shè)輸送了大量的血液和養(yǎng)分。此外,他還參與或者舉辦過(guò)各類國(guó)際性的人工智能峰會(huì)和活動(dòng),產(chǎn)生了巨大的影響力,書寫了60萬(wàn)字的人工智能精品技術(shù)內(nèi)容,生產(chǎn)翻譯了全球第一本深度學(xué)習(xí)入門書《神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)》,生產(chǎn)的內(nèi)容被大量的專業(yè)垂直公眾號(hào)和媒體轉(zhuǎn)載與連載。曾經(jīng)受邀為國(guó)內(nèi)頂尖大學(xué)制定人工智能學(xué)習(xí)規(guī)劃和教授人工智能前沿課程,均受學(xué)生和老師好評(píng)。
深度強(qiáng)化學(xué)習(xí)可以說(shuō)是人工智能領(lǐng)域現(xiàn)在最熱門的方向,吸引了眾多該領(lǐng)域優(yōu)秀的科學(xué)家去發(fā)掘其能力極限. 而深度強(qiáng)化學(xué)習(xí)本身也由于其通用性備受各個(gè)應(yīng)用領(lǐng)域推崇,從端對(duì)端游戲控制、機(jī)器人手臂控制、推薦系統(tǒng),甚至也來(lái)到了自然語(yǔ)言對(duì)話系統(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 年后重獲新生的名稱,伴隨著其實(shí)際應(yīng)用中的超越式效果而風(fēng)靡全球. 使之成為可行的方法的計(jì)算設(shè)備 GPU 也因此大賣特賣,成為深度學(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í)》書中看到神經(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)練,參見下圖.

現(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ú)法完全接受. 盡管這樣,我還是想建議大家去了解它,你可以從書本開始,比如說(shuō)前面提到的 《神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)》 還有來(lái)自 University of Montreal 的 Yoshua Bengio 等人 《深度學(xué)習(xí)》,來(lái)走進(jìn)這個(gè)領(lǐng)域. 這本書包含了深度學(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ì)完備的體系——常被稱為近似動(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)域,適合各類人享受/被折磨(數(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é)科和思想的連接甚弱,乃至于不敢想象——一句話概括的話,我覺(jué)得是勇氣和想象力的缺失吧!在現(xiàn)在的研究中看到得更多是很多想法的全方位連接,交叉科學(xué)的研究是切切實(shí)實(shí)地交叉. )
在 Warren B. Powell 的一篇短文中說(shuō)道,很多來(lái)自不同領(lǐng)域的人,都在忙著自己的一畝三分地上耕耘,自得其樂(lè);實(shí)際上,大多人做出來(lái)同樣的工作,因此他提出了 10 條意見. 簡(jiǎn)言之:建議大家從一個(gè)全貌看待問(wèn)題和學(xué)科,找到相通聯(lián)的點(diǎn),以此出發(fā),找到潛在的連線,最終形成整體的面的認(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é)家繼往開來(lái)、在前人工作上不斷推進(jìn)的. 說(shuō)完了歷史,現(xiàn)在來(lái)看看最為激動(dòng)人心的進(jìn)展. 我們介紹深度強(qiáng)化學(xué)習(xí)的范式和相關(guān)算法. 看看究竟什么才是最為關(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% 以內(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)題展開.
根據(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)三類. 我們這里挑幾個(gè)代表性的方法簡(jiǎn)要介紹一下,如 Deep Q- Network、Double Q-Network 和 DDPG 等方法及現(xiàn)在的一些應(yīng)用,如機(jī)器人手臂控制、對(duì)話生成和游戲控制等等. 這些研究也不是突然一下子就出現(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)定解決方案:
- 使用經(jīng)驗(yàn)回放將數(shù)據(jù)之間的關(guān)聯(lián)打破,重回獨(dú)立同分布的設(shè)定下,從過(guò)去的策略中學(xué)習(xí),使用 免策略 Q-學(xué)習(xí)
- 目標(biāo) Q-網(wǎng)絡(luò)避免振蕩,將 Q-網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)之間的關(guān)聯(lián)打破
- 截?cái)嗒?jiǎng)勵(lì)或者正規(guī)化網(wǎng)絡(luò),適應(yīng)到合適的范圍內(nèi)可以得到健壯的梯度
Double Q-Network
http://arxiv.org/pdf/1509.06461v3.pdf
在某些隨機(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)的書籍,但是對(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)化感興趣的量——策略的期望總收益. 該類方法由于梯度估計(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) 上的概率分布;我們將此分布寫作
如果我們知道對(duì)每個(gè)狀態(tài)正確的行動(dòng)
然而,我們并不知道正確的行動(dòng). 相反,我們會(huì)嘗試對(duì)行動(dòng)好壞進(jìn)行粗略的猜測(cè),試著去增加好的行動(dòng)的概率. 更加具體地講,假設(shè)我們剛收集完 agent 和環(huán)境一個(gè) agent 和環(huán)境回合的交互,所以我們有了一個(gè)狀態(tài)、行動(dòng)和收益的序列:

使用這個(gè)梯度的估計(jì)

進(jìn)行策略的更新,其中
盡管我們現(xiàn)在還沒(méi)有給出對(duì)上述策略梯度公式的數(shù)學(xué)上的驗(yàn)證,但實(shí)際上已經(jīng)給出了一個(gè)對(duì)策略梯度的無(wú)偏估計(jì).
策略梯度定義為右式的策略期望總收益的梯度.
如果我們用充足的樣本(充足的回合),那么就可以任意精度計(jì)算出策略梯度. 然而,估計(jì)量
有一系列形如下式的策略梯度估計(jì)量:
其中
下面的有利度估計(jì)量更有效率,也更常見:

其中

是 狀態(tài)-值 函數(shù)

的近似.
上的分布. 例如,
如果
如果
DDPG 深度確定型策略梯度方法
http://www0.cs.ucl.ac.uk/staff/d.silver/web/Publications_files/ddpg.pdf
這是 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)重為
來(lái)達(dá)到更大的獎(jiǎng)勵(lì)
確定型策略梯度是 David Silver 在 2014 年的工作,剛好為此鋪墊,他們證明了確定型策略梯度算法給出的期望恰好就是策略梯度(這里可以參考 DPG 論文中的證明),策略的梯度由下式給出
策略梯度是最大化提升
確定型 Actor-Critic,使用兩個(gè)網(wǎng)絡(luò),Actor 是參數(shù)為
Critic 是參數(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)
http://arxiv.org/abs/1605.09128
近期 Michigan 大學(xué)的研究組一篇論文提出了一種基于記憶的深度強(qiáng)化學(xué)習(xí)架構(gòu),專門設(shè)計(jì)了可控制的機(jī)制來(lái)處理第一人稱視角的場(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 僅僅依賴當(dāng)前觀察,除了當(dāng)前輸入用來(lái)做強(qiáng)化學(xué)習(xí)問(wèn)題中的時(shí)態(tài)上下文的內(nèi)存檢索類似于 MemNN,是一個(gè)單純的前驅(qū)網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)造了上下文環(huán)境;RMQN 則是循環(huán)結(jié)構(gòu)使用 LSTM 從觀察的歷史信息中刻畫了空間和時(shí)間信息,保證能夠從 LSTM 和外部記憶中獲得時(shí)態(tài)信息;FRMQN 則包含了一個(gè)從檢索得到的記憶中反饋到上下文向量的鏈接. 如圖

最終使用的 FRMQN 網(wǎng)絡(luò)架構(gòu)包含了用來(lái)抽取圖像特征的卷積網(wǎng)絡(luò)、獲取歷史觀察的記憶單元和一個(gè)上下文向量用于記憶查詢和行動(dòng)值的估計(jì). 其中提及的 FRQMN 對(duì)于未曾見過(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://arxiv.org/pdf/1512.07679.pdf
這項(xiàng)工作建立在 DeepMind 之前的 DDPG 等工作之上,雜糅了若干模型,并使用嵌入的方式來(lái)大幅度降低行動(dòng)空間的維數(shù),其主要過(guò)程在下圖中給出:

博弈均衡求解的深度強(qiáng)化學(xué)習(xí)方法
https://arxiv.org/pdf/1603.01121.pdf
NFSP 就是引入神經(jīng)網(wǎng)絡(luò)近似函數(shù)的 FSP,是一種利用強(qiáng)化學(xué)習(xí)技術(shù)來(lái)從自我博弈中學(xué)習(xí)近似納什均衡的方法. 解決了三個(gè)問(wèn)題:
- 無(wú)先驗(yàn)知識(shí) NFSP agent 學(xué)習(xí)
- 運(yùn)行時(shí)不依賴局部搜索
- 收斂到自我對(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ì)話生成的深度強(qiáng)化學(xué)習(xí)
http://arxiv.org/pdf/1606.01541.pdf
循環(huán)神經(jīng)網(wǎng)絡(luò)在對(duì)話生成上的應(yīng)用確實(shí)有所進(jìn)展,可以為對(duì)話機(jī)器人生成回應(yīng)的語(yǔ)句,但是這些反應(yīng)相當(dāng)?shù)囟桃暎3>秃雎粤藢?duì)未來(lái)產(chǎn)生的后果. 為對(duì)話的未來(lái)方向進(jìn)行建模是產(chǎn)生連貫有趣的對(duì)話的關(guān)鍵,這也是傳統(tǒng) NLP 對(duì)話模型要采用強(qiáng)化學(xué)習(xí)的緣故. 這個(gè)工作,將這些目標(biāo)進(jìn)行整合,應(yīng)用深度強(qiáng)化學(xué)習(xí)來(lái)建模機(jī)器人對(duì)話的未來(lái)獎(jiǎng)勵(lì). 這個(gè)對(duì)話模型模擬了兩個(gè)虛擬 agent 之間的對(duì)話,使策略梯度方法在包含三個(gè)有用的對(duì)話屬性(信息量、連貫性和易答性)的獎(jiǎng)勵(lì)序列上. 實(shí)驗(yàn)在 diversity、長(zhǎng)度和人類評(píng)判上進(jìn)行,結(jié)果表明算法產(chǎn)生了更具交互性的答復(fù)并刺激出更加持久的對(duì)話模擬. 這也是基于對(duì)話長(zhǎng)期成功的學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)對(duì)話模型的第一次嘗試.
未來(lái)發(fā)展
現(xiàn)在的深度強(qiáng)化學(xué)習(xí)中很多的模型是,強(qiáng)化學(xué)習(xí)中部分研究成果深度學(xué)習(xí)化的結(jié)果. 但最令人興奮的是,一些新的想法,例如強(qiáng)化變分推斷,在Theophane Weber 等人的論文中,就將 VI 和 RL 進(jìn)行了聯(lián)系. 參見下圖的對(duì)比:

他們給出了一種將推斷看作是強(qiáng)化學(xué)習(xí)的視角,這樣其實(shí)可以讓變分推斷的研究者們受強(qiáng)化學(xué)習(xí)技術(shù)啟發(fā)創(chuàng)造出新的推斷技術(shù). 基線和值函數(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). 該框架可以幫助研究者們開發(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)境,使之滿足現(xiàn)在強(qiáng)化學(xué)習(xí)需要的環(huá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)境不斷增加:
- 經(jīng)典控制和玩具文本:強(qiáng)化學(xué)習(xí)文獻(xiàn)中的小規(guī)模的任務(wù)
- 算法:執(zhí)行諸如多位數(shù)字相加,序列逆變等等計(jì)算. 大多數(shù)這樣的任務(wù)需要記憶,而難度可通過(guò)序列長(zhǎng)度調(diào)整
- Atari 游戲:屏幕圖像或者 RAM 作為輸入,使用的是 Arcade Learning Environment 作為底層支撐
- 棋盤游戲:當(dāng)前包括圍棋的 9X9 和 19X19 棋盤,Pachi 作為對(duì)手
- 2D 和 3D 機(jī)器人:在模擬環(huán)境中控制機(jī)器人,這些任務(wù)使用了 MuJoCo 物理引擎,還有部分來(lái)自 RLLAB
根據(jù) OpenAI 發(fā)布的信息,他們也在擴(kuò)展 Gym 中其他的環(huán)境,如:
- 多 agent 場(chǎng)景,這些場(chǎng)景中的 agent 之間可以合作或者競(jìng)爭(zhēng)
- 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)景.
- 真實(shí)世界操作:最終目標(biāo)是將 Gym API 和機(jī)器人硬件進(jìn)行結(jié)合,在真實(shí)世界中檢驗(yàn)強(qiáng)化學(xué)習(xí)算法
所以從 OpenAI Gym 開始你可以逐步走近到走進(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é)證明才是真的理解象征……)
很開心能夠有這樣的一群人去實(shí)踐人工智能技術(shù)的開放化,對(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í)的資源,建議大家可以選擇下面的課程:
- Neural Networks for Machine Learning — Geoff Hinton (Coursera)
- Neural Nets — Andrej Karpathy’s CS231N (Stanford)
- Reinforcement Learning — David Silver UCL
- Advanced Robotics (the MDP / optimal control lectures) — Pieter Abbeel’s CS287 (Berkeley)
- Deep RL — John Schulman’s CS294-112 (Berkeley)
- Deep RL — David Silver RLDM
- Deep RL — John Schulman MLSS
除了課程外,也有一些書籍,比如 Richard Sutton 等人的《Reinforcement Learning: An Introduction》,還有 Pieter 推薦了 Cover 和 Thomas 的《信息論》和 Nocedal 和 Wright 寫的 nonlinear optimization 書,David Barber 的 Bayesian Reasoning and Machine Learning 等等
如果你愛編程實(shí)現(xiàn),那么 Ilya Sutskever 建議你從實(shí)現(xiàn)簡(jiǎn)單的 MNIST 分類器開始,卷積網(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í)本身所處的位置以及你在整個(gè)知識(shí)地圖的位置,從而不至于迷失在日新月異的環(huán)境中,慢慢地你會(huì)發(fā)現(xià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á)到滿意的效果. 這個(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)劉昕博士,匆匆寫完這篇,越到 deadline 越是能發(fā)現(xiàn)自己的漏洞,為了填補(bǔ)這些常常查資料到深夜,不過(guò)這個(gè)過(guò)程還是非常享受,樂(lè)在其中. 從深度學(xué)習(xí)基本的 MLP、SGD 的理解和掌握,到 RNN LSTM 及 Neural Turing Machine 和 Memory Network 等網(wǎng)絡(luò)的理解,再到慢慢地發(fā)現(xiàn)生成式模型的魅力所在,隨之與變分推斷的結(jié)合,然后后來(lái)的強(qiáng)化學(xué)習(xí)重新進(jìn)入我的視野,這個(gè)過(guò)程跌宕起伏,也讓我對(duì)這個(gè)龐大領(lǐng)域的脈絡(luò)逐漸清晰. 可以說(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è)開放的時(shí)代,讓技術(shù)的進(jìn)步可以方便地獲取,只要你有熱情和興趣,就能夠找到釋放的地方. 盡管有著諸多鴻溝攔在人類的面前,但是勇敢者必定能夠邁出堅(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.mit.edu/handle/1721.1/3719#files-area
- OpenAI Gym: http://arxiv.org/pdf/1606.01540.pdf
- DQN https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf
- Double DQN http://arxiv.org/pdf/1509.06461v3.pdf
- DPG http://jmlr.org/proceedings/papers/v32/silver14.pdf
- DDPG http://arxiv.org/abs/1509.02971
- GAE http://arxiv.org/pdf/1506.02438v4
- Nervana: http://www.nervanasys.com/demystifying-deep-reinforcement-learning/
- David Silver drl: http://videolectures.net/site/normal_dl/tag=968058/rldm2015_silver_reinforcement_learning.pdf
- John Schulman drl: http://rl-gym-doc.s3-website-us-west-2.amazonaws.com/mlss/2016-MLSS-RL.pdf
- Reinforced Variational Inference: http://arkitus.com/files/nips-15-weber-reinforced-inference.pdf
- Gradient Estimation Using Stochastic Computation Graphs: https://arxiv.org/pdf/1506.05254.pdf
- Control of Memory, Active Perception, and Action in Minecraft: http://arxiv.org/abs/1605.09128
- Deep Reinforcement Learning in Large Discrete Action Spaces: https://arxiv.org/pdf/1512.07679.pdf
- Deep Reinforcement Learning from Self-Play in Imperfect-Information Games: https://arxiv.org/pdf/1603.01121.pdf
- Continuous control with deep reinforcement learning: http://www0.cs.ucl.ac.uk/staff/d.silver/web/Publications_files/ddpg.pdf