谷歌Gorila強化學習體系解析
【編者按】 本文根據ICML 2015第二天David Silver和Arun Nair的演講整理。 David Silver 是谷歌DeepMind強化學習團隊的主管,Arun Nair來自Deepmind應用團隊,演講的主題是谷歌強化學習體系Gorila,分別從學術研究和實際應用的角度來解析。
Gorila (General Reinforcement Learning Architecture)
在5月份圣地亞哥舉辦的ICLR(International Conference on Learning Representations)會議上,Silver對同一主題做了 主題演講 ,但那次演講更注重強化學習(RL)的普遍利益,而不是Gorila本身。
總的來說,在前饋監督學習和無監督強化學習方面,Gorila是Jeff Dean等人開發的著名的 DistBelief 的一般化。
什么是強化學習?
從ML(機器學習)的角度來看,強化學習( Reinforcement Learning )比監督式學習有某些更優秀的特點,但也很難成功地實現它。監督或半監督學習取決于兩個關鍵特性:
- 有良好標記的數據來告訴你訓練階段中的網絡是否正確工作。標記的數據往往很難得到,而且得到大規模標記數據是需要昂貴的支出,因為我們需要人工為數據打標簽。
- 有一個定義良好的教師模塊(Teacher module),并能夠構建你的目標函數,用這樣的方式,你甚至可以有一個教師模塊。
在無監督學習中,沒有類別標簽和“教師”。最常見的無監督學習的例子是,在沒有外界幫助的情況下,算法可以根據數據集的本質特征進行聚類。
強化學習(RL)和監督學習、無監督學習都不同。RL從另一個角度考慮問題,一個網絡是否可以在現在通過采取一個或多個動作并在將來有所回報或者 付出(潛在的遙遠的,即t步之后的步驟)。這種延遲的獎勵方案更難訓練因為我們可能有大量的t步需要回滾,而且我們同樣需要解決債權轉讓的問題,也就是把 網絡選擇的多個動作和實現目標結合起來。這沒有教師模塊也沒有多少標記的數據,我們只需要能夠測量環境中動作的結果。
從數學意義上來說,對于一個給定的環境狀態(包含動作action),網絡需要選擇最好的action,去學習最好的策略從而得到最好的結果。比如 求解Q learning/貝爾曼最優方程(來自動態規劃派) 。
可視化最簡單的方法是玩視頻游戲(這也是確保主流媒體覆蓋面豐富的一種很棒的方式)。:) DeepMind團隊使用49款游戲(包括Atari 2600 - Seaquest,Tennis,Boxing等)來訓練網絡。
關于Gorila
來自于David Silver2015年在ICML大會上介紹強化學習的示意圖(已獲得試用許可)
我對Gorila感興趣的地方是,它與Dean的MapReduce或者Chang的BigTable有多少相似之處。在這兩種情況下,一個很艱難的問題(有效利用異構計算集群對非常大數據集的存儲和查詢)以起初從未有過的規模和水平被新的設計良好的網絡解決了。
Gorila的四個關鍵組件:
- Actor(有許多Actor,它們與游戲玩家、服務用戶等相對應)
- Replay memory (這是一個關鍵組件,提高了RL系統的性能,并且使得Q learning任務得到學習)
- Learner(并行,所以可以產生比之前迭代更多的梯度漸變)
- Q網絡或模型本身(分布式使用DistBelief,DistBelief可以并行處理更多的網絡)
啟示
所有這一切的意義是相當明顯的,但是他們的重要性仍值得一提:
- 小組的報告中,性能和掛鐘訓練時間(在49款Atari游戲中,v2在41款游戲中打敗了v1(自然DQN),在其中的25款 游戲中,他們分別以22×2倍、11×5倍勝過人類玩家)顯著加快。訓練時間從2周降至1天。因此,從非常基本研究到二輪迭代的速度是快的(按我的測算, 不足一年)。
- 谷歌正在圍繞ML建設相同的基礎架構,因為他們面臨著其他問題(Gorila用于強化學習,MapReduce負責并行處 理,BigTable則用來數據存儲)。歷史經驗告訴我們,遲早會有開源化,而且在軟件中使用強化學習將是常事(然而現在它還很深奧,甚至在深度學習社區 中也如此)。
- 隨著Gorila的推進,強化學習有著比視頻游戲和系統更為廣泛的實際應用潛力。如果你想象我們都是谷歌服務(油Tube,AdWords等)中的演員或者主演,那么使用RL為我挑選最合適的廣告、向我推薦新的內容等將會變的相當現實。
最后,Silver和Nair提到了將要發表的論文,一旦發表,我將馬上提供鏈接。
英文原文: GORILA: GOOGLE REINFORCEMENT LEARNING ARCHITECTURE (譯者/劉翔宇 審校/劉帝偉、朱正貴 責編/周建丁)
關于譯者: 劉翔宇,中通軟開發工程師,關注機器學習、神經網絡、模式識別。