強化學習是如何解決問題的?


強化學習是如何解決問題的?

什么是強化學習算法呢,它離我們有多遠?2016年和2017年最具影響力的AlphaGo大勝世界圍棋冠軍李世石和柯潔事件,其核心算法就用到了強化學習算法。相信很多人想了解或者轉行研究強化學習算法或多或少都跟這兩場賽事有聯系。如今,強化學習繼深度學習之后,成為學術界和工業界追捧的熱點。從目前的形式看,強化學習正在各行各業開花結果,前途一片大好。然而,強化學習的入門卻很難,明明知道它是一座“金山”,可是由於總不能入門,只能望“金山”而興嘆了。

什么是強化學習算法?呢要回答這個問題,必須先回答強化學習可以解決什么問題,強化學習如何解決這些問題。

強化學習可以解決什么問題

如圖1.1所示是強化學習算法的成功案例。其中的A圖為典型的非線性二級擺系統。該系統由一個台車(黑體矩形表示)和兩個擺(紅色擺桿)組成,可控制的輸入為台車的左右運動,該系統的目的是讓兩級擺穩定在豎直位置。兩級擺問題是非線性系統的經典問題,在控制系統理論中,解決該問題的基本思路是先對兩級擺系統建立精確的動力學模型,然后基於模型和各種非線性的理論設計控制方法。一般來說,這個過程非常復雜,需要深厚的非線性控制理論的知識。而且,在建模的時候需要知道台車和擺的質量,擺的長度等等。基於強化學習的方法則不需要建模也不需要設計控制器,只需要構建一個強化學習算法,讓二級擺系統自己去學習就可以了。當學習訓練結束后,二級擺系統便可以實現自平衡。圖1.1中的B圖是訓練好的AlphaGo與柯潔對戰的第二局棋,C圖則為機器人在仿真環境下自己學會了從摔倒的狀態爬起來。這三個例子能很好地說明,強化學習算法在不同的領域能夠取得令人驚艷的結果。當然,強化學習除了應用到非線性控制、下棋、機器人等方向,還可以應用到其他領域,如視頻游戲、人機對話、無人駕駛、機器翻譯、文本序列預測等。

圖1.1 強化學習成功案例

例子是舉不完的,可以用一句話來說明強化學習所能解決的問題:智能決策問題。更確切地說是序貫決策問題。什么是序貫決策問題呢?就是需要連續不斷地做出決策,才能實現最終目標的問題。如圖1.1中圖A的二級擺問題,它需要在每個狀態下都有個智能決策(在這里智能決策是指應該施加給台車什么方向、多大的力),以便使整個系統逐漸收斂到目標點(也就是兩個擺豎直的狀態)。圖B中的AlphaGo則需要根據當前的棋局狀態做出該下哪個子的決策,以便贏得比賽。圖C中,機器人需要得到當前狀態下每個關節的力矩,以便能夠站立起來。一句話概括強化學習能解決的問題:序貫決策問題。那么,強化學習是如何解決這個問題的呢?

1.3 強化學習如何解決問題

在回答強化學習如何解決序貫決策問題之前,我們先看看監督學習是如何解決問題的。從解決問題的角度來看,監督學習解決的是智能感知的問題。

我們依然用一個圖來表示。如圖1.2所示,監督學習最典型的例子是數字手寫體識別,當給出一個手寫數字時,監督學習需要判別出該數字是多少。也就是說,監督學習需要感知到當前的輸入到底長什么樣,當智能體感知到輸入長什么樣時,智能體就可以對它進行分類了。如圖1.2所示,輸入手寫體長得像4,所以智能體就可以判斷它是4了。智能感知其實就是在學習“輸入”長得像什么(特征),以及與該長相一一對應的是什么(標簽)。所以,智能感知必不可少的前提是需要大量長相差異化的輸入以及與輸入相關的標簽。因此,監督學習解決問題的方法就是輸入大量帶有標簽的數據,讓智能體從中學到輸入的抽象特征並分類。

圖1.2 強化學習與監督學習的區別

強化學習則不同,強化學習要解決的是序貫決策問題,它不關心輸入長什么樣,只關心當前輸入下應該采用什么動作才能實現最終的目標。再次強調,當前采用什么動作與最終的目標有關。也就是說當前采用什么動作,可以使得整個任務序列達到最優。如何使整個任務序列達到最優呢?這就需要智能體不斷地與環境交互,不斷嘗試,因為智能體剛開始也不知道在當前狀態下哪個動作有利於實現目標。強化學習解決問題的框架可用圖1.3表示。智能體通過動作與環境進行交互時,環境會返給智能體一個當前的回報,智能體則根據當前的回報評估所采取的動作:有利於實現目標的動作被保留,不利於實現目標的動作被衰減。具體的算法,我們會在后面一一介紹。用一句話來概括強化學習和監督學習的異同點:強化學習和監督學習的共同點是兩者都需要大量的數據進行訓練,但是兩者所需要的數據類型不同。監督學習需要的是多樣化的標簽數據,強化學習需要的是帶有回報的交互數據。由於輸入的數據類型不同,這就使得強化學習算法有它自己的獲取數據、利用數據的獨特方法。那么,都有哪些方法呢?這是本書重點要講的內容。在進入詳細的講解之前,我們在這里先簡單地了解下這些強化學習算法的發展歷史。

圖1.3 強化學習基本框架

我們不去深究強化學習算法的具體發展歷史,只給出兩個關鍵的時間點。第一個關鍵點是1998年,標志性的事件是Richard S. Sutton出版了他的強化學習導論第一版,即Reinforcement Learning : An Introduction(該書第二版的中文版將由電子工業出版社出版),該書系統地總結了1998年以前強化學習算法的各種進展。在這一時期強化學習的基本理論框架已經形成。1998年之前,學者們關注和發展得最多的算法是表格型強化學習算法。當然,這一時期基於直接策略搜索的方法也被提出來了。如1992年R.J.Williams提出了Rinforce算法直接對策略梯度進行估計。第二個關鍵點是2013年DeepMind提出DQN(Deep Q Network),將深度網絡與強化學習算法結合形成深度強化學習。從1998年到2013年,學者們也沒閑着,發展出了各種直接策略搜索的方法。2013年之后,隨着深度學習的火熱,深度強化學習也越來越引起大家的注意。尤其是2016年和2017年,谷歌的AlphaGo連續兩年擊敗世界圍棋冠軍,更是將深度強化學習推到了風口浪尖之上。如今,深度強化學習算法正在如火如荼地發展,可以說正是百家爭鳴的年代,或許再過幾年,深度強化學習技術會越來越普及,並發展出更成熟、更實用的算法來,我們拭目以待。

1.4 強化學習算法分類及發展趨勢

已有的強化學習算法種類繁多,一般可按下列幾個標准來分類。

(1)根據強化學習算法是否依賴模型可以分為基於模型的強化學習算法和無模型的強化學習算法。這兩類算法的共同點是通過與環境交互獲得數據,不同點是利用數據的方式不同。基於模型的強化學習算法利用與環境交互得到的數據學習系統或者環境模型,再基於模型進行序貫決策。無模型的強化學習算法則是直接利用與環境交互獲得的數據改善自身的行為。兩類方法各有優缺點,一般來講基於模型的強化學習算法效率要比無模型的強化學習算法效率更高,因為智能體在探索環境時可以利用模型信息。但是,有些根本無法建立模型的任務只能利用無模型的強化學習算法。由於無模型的強化學習算法不需要建模,所以和基於模型的強化學習算法相比,更具有通用性。

(2)根據策略的更新和學習方法,強化學習算法可分為基於值函數的強化學習算法、基於直接策略搜索的強化學習算法以及AC的方法。所謂基於值函數的強化學習方法是指學習值函數,最終的策略根據值函數貪婪得到。也就是說,任意狀態下,值函數最大的動作為當前最優策略。基於直接策略搜索的強化學習算法,一般是將策略參數化,學習實現目標的最優參數。基於AC的方法則是聯合使用值函數和直接策略搜索。具體的算法會在后面介紹。

(3)根據環境返回的回報函數是否已知,強化學習算法可以分為正向強化學習和逆向強化學習。在強化學習中,回報函數是人為指定的,回報函數指定的強化學習算法稱為正向強化學習。很多時候,回報無法人為指定,如無人機的特效表演,這時可以通過機器學習的方法由函數自己學出來回報。

為了提升強化學習的效率和實用性,學者們又提出了很多強化學習算法,如分層強化學習、元強化學習、多智能體強化學習、關系強化學習和遷移強化學習等。

強化學習尤其是深度強化學習正在快速發展,從當前的論文可以初步判斷強化學習的發展趨勢如下。

第一,強化學習算法與深度學習的結合會更加緊密。

機器學習算法常被分為監督學習、非監督學習和強化學習,以前三類方法分得很清楚,而如今三類方法聯合起來使用效果會更好。所以,強化學習算法其中一個趨勢便是三類機器學習方法在逐漸走向統一的道路。誰結合得好,誰就會有更好的突破。該方向的代表作如基於深度強化學習的對話生成等。

第二,強化學習算法與專業知識結合得將更加緊密。

如果將一般的強化學習算法,如Qlearning算法直接套到專業領域中,很可能不工作。這時一定不能灰心,因為這是正常現象。這時需要把專業領域中的知識加入到強化學習算法中,如何加?這沒有統一的方法,而是根據每個專業的內容而變化。通常來說可以重新塑造回報函數,或修改網絡結構(大家可以開心地煉丹灌水了)。該方向的代表作是NIPS2016的最佳論文值迭代網絡(Value Iteration Networks)等。

第三,強化學習算法理論分析會更強,算法會更穩定和高效。

強化學習算法大火之后,必定會吸引一大批理論功底很強的牛人。這些牛人不愁吃穿,追求完美主義、又有很強的數學技巧,所以在強化學習這個理論還幾乎是空白的領域,他們必定會建功立業,名垂千史。該方向的代表作如基於深度能量的策略方法,值函數與策略方法的等價性等。

第四,強化學習算法與腦科學、認知神經科學、記憶的聯系會更緊密。

腦科學和認知神經科學一直是機器學習靈感的源泉,這個源泉往往會給機器學習算法帶來革命性的成功。人們對大腦的認識還很片面,隨着腦科學家和認知神經科學家逐步揭開大腦的神秘面紗,機器學習領域必定會再次受益。這個流派應該是以DeepMind和倫敦大學學院為首,因為這些團體里面不僅有很多人工智能學家還有很多認知神經科學家。該方向的代表作如DeepMind關於記憶的一列論文。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM