AlphaGo背后这项核心技术,后来怎么样了?
導讀:本文介紹AlphaGo背后的核心技術——深度強化學習。
作者:劉馳 王占健 戴子彭?等
來源:大數據DT(ID:hzdashuju)
01 強化學習
近年來,深度學習(Deep Learning, DL)作為機器學習的一個重要研究領域,得到了長足的發展,為強化學習(Reinforcement Learning, RL)提供了強有力的支撐,使RL能夠解決以前難以處理的問題,例如學習直接從像素玩視頻游戲。
深度強化學習(Deep Reinforcement Learning, DRL)是DL和RL相結合的產物,有望徹底改變人工智能領域。人工智能領域的一個主要目標是生成完全自主的智能體(agent),這些智能體通過與環境的相互作用來學習最優行為。
從可以感知和響應其所處環境的機器人到基于軟件的與自然語言和多媒體進行交互的智能體,建立一個能夠有效學習且實時響應的人工智能系統一直都是一項長期挑戰。幸運的是,DRL的出現使我們朝著建立自主系統的目標邁出了更近的一步,因為DRL對自主系統有更高層次的理解。
當然,DRL算法還有許多其他方面的應用,比如機器人控制技術,允許我們直接從現實世界中的攝像機輸入來學習對機器人進行控制和操作的策略。
02 強化學習簡介
在討論深度神經網絡對RL的貢獻之前,我們先來介紹一下RL的一般領域。
RL的本質是互動學習,即讓智能體與其外界環境進行交互。智能體根據自己每次感知到的外界環境狀態來選擇相應的動作,以對環境進行響應,然后觀測該動作所造成的結果(或好或壞,結果的評判來自某種特殊的獎勵管控機制),并根據結果來調整自身動作選擇機制,最終讓智能體可以對外界環境達到最優的響應,從而獲得最好的結果(智能體針對外界環境采取一系列動作后獲得的最大獎賞值,也稱為累積獎賞值、預期回報)。
所以,RL的目標是使智能體在與環境的交互過程中獲得最大的累積獎賞值,從而學習到對自身動作的最優控制方法。這種試錯學習的方法源于行為主義心理學,是RL的主要基礎之一。另一個關鍵基礎是最優控制,它提供了支撐該領域的數學形式,特別是DP。
為了便于對RL模型結構的理解,我們首先對RL模型中最關鍵的三個部分進行描述。
1. 狀態(state)
如圖1.2所示,狀態其實就是智能體所處的外界環境信息,該圖中描述的狀態就是一個石板鋪成的具有間隔的橋面。而環境狀態的具體表現形式可以有很多種,例如多維數組、圖像和視頻等。
外界環境的狀態需要能夠準確地描述外界環境,盡可能將有效信息包括在內,通常越充足的信息越有利于算法的學習。狀態要著重體現出外界環境的特征。
▲圖1.2 外界環境狀態示意圖
2. 動作(action)或行動
如圖1.3所示,動作就是智能體(多關節木頭人)在感知到所處的外界環境狀態后所要采取的行為,如跳躍、奔跑、轉彎等,是對外界環境的一種反饋響應。當然,動作的表現形式既可以是離散的,也可以是連續的。
▲圖1.3 智能體動作響應示意圖
3. 獎勵(reward)
智能體感知到外界環境并采取動作后所獲得的獎賞值。獎賞值來源于根據實際場景定義的某種獎勵機制,包括正向獎勵和負向獎勵。正向獎勵會激勵智能體趨向于學習該動作,負向獎勵與之相反。
在圖1.3中,當智能體從一塊石板成功跨過障礙到達下一塊石板上時,應該給予其相應的正向獎勵,比如得分加1。當智能體未能成功跨過障礙(從石板上掉落)到達下一塊石板時,應該給予其懲罰(負向獎勵),比如得分減1。
在RL環境中,由機器學習算法控制的自主智能體在時間步t從其環境觀察狀態st。智能體通過在狀態st中執行動作a來對環境進行響應。當智能體執行完動作時,環境和智能體將根據當前的狀態和所選的動作轉換到新的狀態st+1。
狀態是對環境的充分統計,包括智能體選取最優動作的所有必要信息,也可以包括智能體自身的一些部分(例如制動器和傳感器的位置)。
最優的動作順序由環境提供的獎勵決定。每次環境轉換到新狀態時,它還會向智能體提供標量獎勵rt+1作為反饋。智能體的目標是學習一種策略(控制策略)π: S→A,以使得預期回報(累積折扣獎勵)最大化,其中S為外界環境狀態的集合S={s1, s2, ... ,st, st+1, ...},A為動作的集合A={a1, a2, ... ,ak}。
給定狀態,智能體根據策略返回要執行的動作,最優策略是最大化環境預期回報的任何策略。在這方面,RL旨在解決與最優控制相同的問題。
然而,與最優控制不同,RL中的挑戰是智能體需要通過試錯學習的方法來了解在環境中采取某種動作后所產生的結果,因此,智能體無法獲得狀態轉換的動態模型。智能體與環境的每次交互都會產生相應的信息,然后利用這些信息來更新其自身的知識。這種感知–動作–學習循環如圖1.4所示。
▲圖1.4 感知-動作-學習循環結構
通過智能體與環境進行交互來感知環境、依靠策略選擇動作,從而獲得最大累積獎賞值。在時間t,智能體從環境感知狀態st,然后使用其策略選擇動作at。一旦執行了動作,環境就會轉換到下一個狀態,并提供下一個狀態st+1和獎勵rt+1作為新的反饋。
智能體以序列(st, at, st+1, rt+1)的形式使用狀態轉換的知識來學習和改進其策略。如果RL系統中的某種行為能夠獲得正的獎勵,那么系統便會加強產生該動作的趨勢,稱之為正反饋;反之,系統便會減弱產生該動作的趨勢,稱之為負反饋。
在深度神經網絡融入RL之前,雖然RL在過去取得了一定的進展,但是之前的RL方法缺乏可擴展性,并且在本質上僅限于維度相當低的問題。
存在這些限制的主要原因是之前的RL算法與其他算法具有相同的復雜性,比如,存儲器復雜性、計算復雜性,以及在機器學習算法情況下的樣本復雜性。因此,之前的RL算法只是適用于比較少的領域,例如,過程控制、調度管理和機器人控制等,并沒有得到廣泛的應用。
幸運的是,隨著DL的興起,深度神經網絡為我們克服這些問題提供了新的工具。深度神經網絡具有強大的函數逼近和表示學習特性,使我們解決高維、復雜場景下的RL問題成為可能。
03 深度強化學習簡介
近年來,DL作為一大熱點研究方向對機器學習的許多領域都產生了重大影響,大大提高了對象檢測、語音識別和語言翻譯等任務的技術水平。
DL最重要的一個特性是深度神經網絡可以自動找到高維數據(例如圖像、文本和音頻)的低維表示(特征)。通過將歸納偏差制作成神經網絡架構,特別是層次化表示,機器學習從業者在解決維度災難方面取得了有效進展。DL方法擅長對事物的感知和表達,RL方法擅長學習解決問題的策略。
為了更好地發揮DL和RL的優勢,谷歌人工智能研究團隊DeepMind創造性地將具有強大感知力的DL方法和具有優秀決策力的RL方法相結合,在RL中使用DL算法定義了DRL領域。深度神經網絡的引入讓我們能夠以更加具有創新性的方式來實現對自主智能體的開發。
DRL是DL領域中迅猛發展起來的一個分支,目的是解決計算機從感知到決策控制的問題,從而實現通用人工智能。以Google DeepMind為首,基于DRL的算法已經在視頻、游戲、圍棋、機器人等領域取得了突破性進展。
2015年,Google DeepMind在《自然》雜志上發表的“Human-level control through deep reinforcement learning”論文,使得DRL受到了廣泛的關注。
2016年,DeepMind推出的AlphaGo圍棋系統使用蒙特卡羅樹搜索與DRL相結合的方法讓計算機的圍棋水平達到甚至超過了頂尖職業棋手,引起了世界性的轟動。借此案例,我們來簡單了解一下蒙特卡羅樹搜索和DRL的相關過程。如圖1.5所示,蒙特卡羅樹搜索的每個循環包括以下4個步驟。
選擇:從根節點開始,選擇連續的子節點向下至葉子節點。后面給出了一種選擇子節點的方法,讓游戲樹向最優的方向擴展,這是蒙特卡羅樹搜索的精華所在。
擴展:除非任意一方的輸贏使得游戲在葉子節點結束,否則創建一個或多個子節點并選取其中一個子節點。
仿真:從選取的子節點開始,用隨機策略進行游戲,又稱為playout或者rollout。
反向傳播(backpropagation):使用隨機游戲的結果,更新從選擇的子節點到根節點的路徑上的節點信息。
每一個節點的內容代表勝利次數/游戲次數。
▲圖1.5 蒙特卡羅樹搜索過程
對于DRL來說,目前的算法都可以包含在actor-critic框架下。actor-critic屬于TD學習方法,其用獨立的內存結構來明確地表示獨立于值函數的策略。
策略結構被稱為actor,因為它用于選擇動作;而估計值函數被稱為critic,因為它評價actor所做的動作。對于actor-critic框架,我們會在后面章節詳細講解,現在我們重點探討DRL,如圖1.6所示。
▲圖1.6 DRL的Actor-critic框架
把DRL的算法視為智能體的大腦,那么這個大腦包含兩個部分:actor行動模塊和critic評判模塊。當然,這兩個模塊都是由深度神經網絡構成的,也正是DRL中“深度”一詞的由來。其中actor行動模塊是大腦的動作執行機構,輸入外部的環境狀態s,然后輸出動作a。
而critic評判模塊則可被認為是大腦的價值觀,根據歷史信息及回饋r進行自我調整,然后對整個actor行動模塊進行相關的更新指導。這種基于actor-critic框架的方法非常類似于人類自身的行為方式。
在actor-critic框架下,Google DeepMind相繼提出了DQN、A3C和UNREAL等DRL算法,取得了非常不錯的效果,大大推動了DRL的發展和應用。
2017年DeepMind又推出了更強大的圍棋系統AlphaGo Zero,通過自我對弈,AlphaGo Zero不再受限于人類認知,在三天內以100比0的成績戰勝了AlphaGo Lee,花了21天達到AlphaGo Master的水平,用40天超越了所有的舊版本,與之前版本相比,其棋法更像人類。
如圖1.7~圖1.9所示,AlphaGo Zero在使用DRL算法學習到3小時的時候,就能夠像人類圍棋新手一樣,不注重考慮長期戰略,而只專注于盡可能多地吃掉對手的棋子。
▲圖1.7 AlphaGo使用DRL算法學習3個小時成果示意圖
▲圖1.8 AlphaGo使用DRL算法學習19小時效果示意圖
▲圖1.9 AlphaGo使用DRL算法學習70小時效果示意圖
然后,當其繼續學習到19小時的時候,AlphaGo Zero就已經領悟到一些高級圍棋策略的基礎性知識,例如,生死、每一步的影響和棋盤布局等。最終當使用DRL算法學習70小時的時候,AlphaGo Zero的棋藝已經超過了人類頂級水平。
DRL算法由于能夠基于深度神經網絡實現從感知到決策控制的端到端自學習,因此具有非常廣闊的應用前景,比如在機器人控制、自然語言處理和計算機視覺等領域都取得了一定的成功,它的發展也將進一步推動人工智能的革命。
圖1.10展示了DRL的部分應用領域。
▲圖1.10 DRL算法的部分應用領域
其中,圖1.10a是DRL技術在電子游戲方面的應用,其利用DRL技術學習控制策略為游戲主體提供動作,在某些游戲方面其能力已經超過了人類頂級水平。
圖1.10b是機器人足球比賽,利用機器人觀察到的周邊環境,通過DRL模型給出具體的動作指令,控制足球機器人之間的競爭和協作。
圖1.10c是無人車領域,根據汽車傳感器獲得的環境信息,利用DRL技術對汽車的行為進行控制,比如加速、剎車和轉向等。
圖1.10d是無人機或無人機群,DRL控制模型可以控制每個無人機對環境的自身行為響應,也可以為無人機群的協作任務提供自主控制策略。
如今,DRL算法得到了更深層次的發展,可以分為基于值函數(value-based)的DRL、基于策略(policy-based)的DRL、基于模型(model-based)的DRL和基于分層(hierarchical-based)的DRL等。
關于作者:劉馳,北京理工大學計算機學院副院長、教授、博士生導師,英國工程技術學會會士(IET Fellow),IEEE高級會員(IEEE Senior Member),英國計算機學會會士(Fellow of British Computer Society)和英國皇家藝術學會會士(Fellow of Royal Society of Arts)。
本文摘編自《深度強化學習:學術前沿與實戰應用》,經出版方授權發布。
延伸閱讀《深度強化學習》
點擊上圖了解及購買
轉載請聯系微信:DoctorData
推薦語:更全面的深度強化學習指南!詳解深度強化學習領域近年來重要進展及其典型應用場景,涵蓋新的理論算法、工程實現和領域應用。
劃重點????
干貨直達????
手把手教你用Python畫一個絕美土星環
大廠和初創公司都在用!Redis好在哪?終于有人講明白了
5種不會被機器智能替代的能力
世界一流大學的計算機專業,在用哪些書當教材?
更多精彩????
在公眾號對話框輸入以下關鍵詞
查看更多優質內容!
PPT?|?讀書?|?書單?|?硬核?|?干貨?
大數據?|?揭秘?|?Python?|?可視化
AI?|?人工智能?|?5G?|?中臺
機器學習?|?深度學習?|?神經網絡
合伙人?|?1024?|?大神?|?數學
據統計,99%的大咖都完成了這個神操作
????
總結
以上是生活随笔為你收集整理的AlphaGo背后这项核心技术,后来怎么样了?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从用户不足2000万到27亿,这项技术真
- 下一篇: 手把手教你用ECharts画柱状图