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