學術報告 中科院計算所趙地:強化學習簡介及大規模計算實現
不到現場,照樣看最乾貨的學術報告!
嗨,大家好。這裡是學術報告專欄,讀芯術小編不定期挑選並親自跑會,為大家奉獻科技領域最優秀的學術報告,為同學們記錄報告乾貨,並想方設法搞到一手的PPT和現場視頻——足夠乾貨,足夠新鮮!話不多說,快快看過來,希望這些優秀的青年學者、專家傑青的學術報告 ,能讓您在業餘時間的知識閱讀更有價值。
2018年8月4月,由北京理工大學大數據創新學習中心與中國科學院人工智慧聯盟標準組聯合主辦的「2018深度強化學習:理論與應用」學術研討會,學界與業界頂級專家濟濟一堂,共同分享深度強化學習領域的研究成果。
中國科學院計算技術研究所趙地老師以強化學習簡介及大規模計算實現為主題進行報告,以下分享內容根據嘉賓口頭分享整理。
強化學習簡介及大規模計算實現
報告主要是大家一起交流強化學習的基本內容。報告從《強化學習》這本書開始,該書是去年下半年到今年上半年趙老師和其他五位老師共同翻譯的,主要介紹了強化學習的基本概念等,該書將很快面市。在翻譯該書的過程中,趙老師對強化學習的概念有了更加深入的理解,同時認為在研究深度強化學習時,強化學習的基本知識對研究工作也極為重要。
通過這本書的目錄,我們能夠發現很多與強化學習相關的、有價值的信息,通過學習可以對強化學習的概念有更好的了解,該書後面的章節會談到強化學習過程當中如何求解最佳算式的問題,同時也會提到很多強化應用案例,最多的案例是遊戲的應用和機器的應用方面。從學習的角度來看,在眾多強化學習的資料當中,該書向大家提供一個很好的強化學習解決方案。
基於stanford大學feifei li教授的ppt,趙老師對強化學習進行了深入淺出的介紹。趙老師介紹機器學習的三個方面分別是:非監督學習,監督學習,強化學習。其中,強化學習最新的概念是Agent,可以譯為學習器,這是產生動作最主要的部分;另一個是Environment,其作用是針對Agent Action產生影響的信息來源,但還需要看Environment是有限的還是無限的。
在強化學習演算法設計應用的過程當中,有的Environment是有限的,例如:電腦遊戲不管怎樣變化,所有的信息都是通過電腦終端顯示出來,所以通過分析電腦終端屏幕能夠獲得關於Environment的所有信息,這樣對強化學習演算法信息有很大幫助。也有Environment是無限的,例如:自動駕駛機器人沒有辦法把所有信息都通過感測器存取下來,因此強化學習演算法無法獲得足夠的信息。無論是有限環境還是無限環境,最後都會形成一些更高級的方法,主體思路是:根據演算法能夠獲得的信息設計相關的演算法。
再一個就是State,因為Environment是隨著時間變化的信息流,在這種情況下,對於任何固定的時間,都要有一種State,也就是狀態。Agent主要是根據State的情況,做出一個Action。因此在強化學習當中,Agent不停地和Environment交互,獲得State信息,然後Take Action。Reward和State的反饋,指導Agent產生 Action,再作用於Environment,獲得新的Reward和State以後又反饋給Agent,產生新的Action,直到整個過程完成為止。例如:想在車子運動的過程當中保持桿處於豎立狀態,我們可以通過看State的定義,Action的定義,以及Reward的定義。通過三種定義能夠理解相關過程的含義;在機器人運動的例子當中也可以運用同樣的方法進行分析,來理解強化學習的過程。
Atari Games遊戲是通過操作一個飛船或者操作一把槍去打對面的這些物體,2016年的《Nature》文章講的是通過某種過程可以讓計算機自動玩這個遊戲,該遊戲是有限環境,其所有信息都呈現在顯示屏上面,這樣對強化學習演算法設計是非常有利的。因此從這個意義上來講,通過演算法超過人類是很有可能的,也是完全可以做到的,因為其信息是有限的。
對於下圍棋的遊戲,其信息終端也是有限的過程,只要計算能力足夠,能夠把策略優化得非常好,就能取得好的結果,這也是Alpha-Go能夠戰勝世界冠軍的原因,這就是有限信息輸出問題。
通過對強化學習的幾個基本概念介紹,我們接下來要思考怎麼樣才能從數學方面對其進行嚴謹的定義?因為如果想進行計算機程序的設計,就要把一些直觀的知識通過數學模型表達出來,而強化學習中最重要的概念是Markov Decision Process。Markov DecisionProcess最重要的內容是當前的狀態可以對環境進行描述,當前的步驟由過去的一步或者多步來決定,其定義了五個參數,對這些參數深入的理解可以促進對強化學習過程的理解。
MDP首先定義了在t0時刻環境具有一個初始的狀態,因此會有Agent和Reward的初始值,引入Policy來決定如何採取下一步Action的策略。所謂的Policy就是怎麼去玩這個遊戲,到底是往前走還是往後走,例如在坦克大戰的遊戲中往前走還是往後走就是Policy。強化學習最核心的內容是尋找到最佳策略,即通過玩遊戲儘快獲勝。從數學的定義來講就是能夠讓Reward最大化,這是策略的目標,因此所有演算法的設計都是圍繞著這樣一個OptimalPolicy來進行,通過Reward和期望值的形式定義相關方法。
為評價狀態的好壞,通過定義Value Function來看狀態多好,評價當前狀態的情況。同時也定義了Q-Value Function,兩者都是根據期望的Reward,針對當前的狀況可能得到的Reward來評價狀態,所以也是強化學習當中的重要概念。
在很多情況下,環境都是無限的狀態,我們可以採用Policy Gradient的方法進行求解;對有限的Involvement,可以通過Q-Learning的方法能夠進行比較完全的採樣,獲得Optimal Policy。Bellman Equation可以對State Action好壞進行評價,也可以求出最佳的Q。因此在強化學習當中,最重要的問題是如何求解最佳Q Value函數。
在數學當中,我們如何尋找最佳策略?從數學定義方面來講,可以通過Iterative Update的方法來求解最佳策略;在環境信息有限的情況下,很多信息都是已知的,在這種情況下我們可以採用Q-Learning的方式來實現。2016年的文章當中,通過CNN方式將遊戲屏幕變成一個可識別的特徵,然後根據這個特徵的方式來求OptimalPolicy,不是採用顯示屏的原始信息,這樣能夠提高準確率,同時也能夠減少計算的複雜度,這也是實現了DeepQ-Learning。
我們通過Gradient方式進行Update,經過多個循環以後,剛開始的目標逐漸得到優化,電腦自動玩遊戲的水平變得越來越高,但是其計算量很大,需要花費大量的時間進行相應的計算。2013年和2015年的文章都是通過DeepQ-Learning的方式來進行,仔細研究文章會發現其利用Q-network Architecture方法來決定Action到底是向前走還是向後走、向左走還是向右走。其前提建立在環境信息是有限的情況下。
文章中是如何訓練Q-Networkloss function?實際上就是Follow Q-Learning的形式,把Q和Y之間的信息能夠定義到損失函數裡面,通過對損失函數L值的計算來決定出Mixed Action的步驟,通過多次循環以後Q-Network權重值就能夠學習到,演算法完成以後計算機就學會了玩個遊戲。文章中提到了ExperienceReplay的概念,即當前的Action不僅僅是基於前面的Action實現,而是提高到以前多個Action來讓演算法和效力更高一點。在這裡Q-Network是通過Q-Learning加上Experience Reply來使演算法達到最好的效果,所付出的代價是需要存儲前面Action信息,對存儲複雜度不會帶來太大的影響。
在很多情況下,環境的信息來源是無限的,比如自動駕駛的情況,道路的信息和附近場景的信息完全超過了感測器能夠接受信息的容量。在這種情況下,我們必須採用另外一種方式——Policy Gradient來進行求解。該方法的下一步動作是根據在有限的信息情況下做出自己對Agent最有利的Action,在這種情況下我們定義一個value,下一個Policy是根據當前或者以前Policy的情況進行學習,利用CNN演算法中的梯度下降可以對演算法進行學習。
Policy Gradient可以通過演算法來實現,通過積分的方式,所求解的下一個Policy是當前的Policy加上Gradient,通過MC的方式來計算出相應的積分,計算Gradient的時候,會出現很多小的Trick,同時也要減小Variance。對於減小Variance可以採用Baseline函數的方式來進行。那麼該如何求解Baseline?可以通過對過去所有Action Trajectory求平均值的方式得到Baseline,這也是針對過去action回顧性的方法求得Baseline。
這裡引出一個比較重要的概念:Trajectory。Trajectory就是按照之前所有Action的時序,看action是怎樣做的,就像坦克大戰當中的坦克是怎麼運動的,通過TrajectoryAverage形式來確定Baseline。通過這種方式可以對PolicyGradient進行有效的計算。
通過將Q-Learning與Policy Gradient 結合起來就會形成Actor-CriticAlgorithm這樣的策略,可以更大地提高效率。
對於手寫字體識別的例子,我們通常採用CNN的方式來實現,但是在強化學習中也能夠實現。在強化學習中,我們需要首先尋找一個部分的信息,然後決定怎樣獲得下一步的信息,這樣就設計出了用於字體識別的強化學習方式。
在每個循環中輸出Action以後決定下一步如何採樣,通過這種紅色的框能夠遊歷目標所有的信息,識別完整以後通過分類演算法決定到底是哪一個字元,這樣就也可以達到比較高的效率。Alpha-Go在這方面更加有名,其採用了Actor-Critic演算法,能夠對圍棋遊戲規則進行更好的編碼,採用Policy-Gradient演算法達到良好效果。
歸納起來,今天我們講了強化學習的5個基本概念,通過數學定義引出了MDP的概念,最終引到強化學習當中最重要的問題——怎麼求得Optimal Policy。對於Optimal Policy的求解方法,提到了兩種方法,即Policy Gradient方法與Q-Learning方法。
當環境信息量太大、變數太多的時候需要大量採樣,而難以做到時,通常採用Policy Gradient的方法;當環境信息有限並且能夠實現比較好的採樣,通常採用Q-Learning的方法。不管是通過Policy Gradient還是Q-Learning都可以獲得比較好的求解方案。
精彩的學術報告背後,是一群優秀的學術人才。都說搞學術的人需要「超凡脫俗」,需要耐得住清貧寂寞,其實……芯君想說:完全不需要這樣啊!比如,馬上申請2018百度獎學金——是的,百度為每位具有AI才能的「潛力股」學術精英們提供了廣闊的平台資源和發展空間,為其提供20萬研究資金支持,幫助優秀學子全身心投入科研工作,心無旁騖地進行科學探索。
還等什麼,你——未來的學術之星,趕快申請報名吧!
留言 點贊 發個朋友圈我們一起探討AI落地的最後一公里


※今日芯聲:別抗拒!有沒有發現自己越來越蠢了!
※學術報告 中山大學吳酈軍:神經機器翻譯中的強化學習
TAG:讀芯術 |