<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一文讀懂強化學習

          共 34129字,需瀏覽 69分鐘

           ·

          2021-08-13 00:45

          點擊左上方藍字關注我們



          一個專注于目標檢測與深度學習知識分享的公眾號

          編者薦語
          強化學習 (reinforcement learning) 經(jīng)過了幾十年的研發(fā),在一直穩(wěn)定發(fā)展,最近取得了很多傲人的成果,后面會有越來越好的進展。強化學習廣泛應用于科學、工程、藝術等領域。

          來源 | 海豚數(shù)據(jù)科學實驗室



          下面簡單列舉一些強化學習的成功案例,然后對強化學習做簡介,介紹兩個例子:最短路徑和圍棋,討論如何應用強化學習,討論一些仍然存在的問題和建議,介紹《機器學習》強化學習應用專刊和強化學習應用研討會,介紹強化學習資料,回顧強化學習簡史,最后,簡單討論強化學習的前景。

          01
          成功案例
          我們已經(jīng)見證了強化學習的一些突破,比如深度Q網(wǎng)絡 (Deep Q-Network, DQN)應用于雅達利(Atari)游戲、AlphaGo (也包括AlphaGo Zero和AlphaZero)、以及DeepStack/Libratus等。它們每一個都代表了一大類問題,也都會有大量的應用。DQN應用于雅達利游戲代表著單玩家游戲,或更一般性的單智能體 (agent) 控制問題。DQN點燃了這一波研發(fā)人員對深度強化學習的熱情。AlphaGo代表著雙人完美信息零和游戲。AlphaGo在圍棋這樣超級難的問題上取得了舉世矚目的成績,是人工智能的一個里程碑。AlphaGo讓普羅大眾認識到人工智能,尤其是強化學習的實力和魅力。DeepStack/Libratus代表著雙人不完美信息零和游戲,是一類很難的問題,也取得了人工智能里程碑級別的成績。
          谷歌Deepmind AlphaStar打敗了星際爭霸人類高手。Deepmind在一款多人搶旗游戲(Catch the Flag)中達到了人類玩家水平。OpenAI Five打敗了人類刀塔(Dota)高手。OpenAI訓練了類人機器人手Dactyl, 用于靈活地操縱實物。谷歌人工智能把強化學習用到數(shù)據(jù)中心制冷這樣一個實用系統(tǒng)。DeepMimic模擬人形機器人,掌握高難度的運動技能。強化學習也應用于化學分子逆合成和新藥設計。等等。
          強化學習也已經(jīng)被用到產(chǎn)品和服務中。谷歌云的自動機器學習 (AutoML) 提供了自動優(yōu)化神經(jīng)元網(wǎng)絡結構設計這樣的服務。臉書開源了Horizon產(chǎn)品和服務,實現(xiàn)通知傳達、視頻流比特率優(yōu)化等功能。谷歌研發(fā)了基于強化學習的YouTube視頻推薦算法。亞馬遜與英特爾合作,發(fā)布了一款強化學習實體測試平臺AWS DeepRacer. 滴滴出行則把強化學習應用于派單等業(yè)務。阿里、京東、快手等把強化學習應用于推薦系統(tǒng)。
          02
          強化學習簡介


          1. 強化學習與相關學科的關系


          強化學習一般看成是機器學習的一種。機器學習從數(shù)據(jù)中學習做預測或決策。一般把機器學習分為監(jiān)督學習、無監(jiān)督學習、和強化學習。監(jiān)督學習中的數(shù)據(jù)有標注;無監(jiān)督學習的數(shù)據(jù)沒有標注。分類和回歸是兩類監(jiān)督學習問題,其輸出分別是類別和數(shù)字。強化學習中有評估反饋,卻沒有標注數(shù)據(jù)。評估反饋不能像監(jiān)督學習中的標注那樣指明一個決策正確與否。與監(jiān)督學習相比,強化學習還有成績分配、穩(wěn)定性、探索與利用等方面的挑戰(zhàn)。深度學習,也就是通過深度神經(jīng)元網(wǎng)絡進行學習,可以作為或用于上面幾種機器學習方法。深度學習是機器學習的一部分,而機器學習又是人工智能的一部分。深度強化學習則是深度學習與強化學習的結合。下圖左側框圖為機器學習的分類,引自維基百科;右側框圖是人工智能的分類,引自流行的Russell & Norvig 人工智能教材。
          事實上這些領域都在不斷發(fā)展。深度學習可以與其它機器學習、人工智能算法一道完成某項任務。深度學習和強化學習正在努力解決一些傳統(tǒng)的人工智能問題,比如邏輯、推理、知識表達等。就像流行的Russell & Norvig 人工智能教材所述,可以認為強化學習包括所有的人工智能:在環(huán)境中的智能體必須學習如何在里邊成功的表現(xiàn);以及,強化學習可以看成整個人工智能問題的微生物。另外,應該說明,監(jiān)督學習、無監(jiān)督學習、強化學習兩兩之間有一定交叉。
          如下圖所示,強化學習與計算機科學、工程、數(shù)學、經(jīng)濟學、心理學、神經(jīng)科學、機器學習、最優(yōu)控制、運籌學、博弈論、條件反射、獎賞系統(tǒng)等都有內在的聯(lián)系。此圖為David Silver強化學習英文版課件的中文翻譯。
          強化學習/人工智能、運籌學、最優(yōu)控制這些學科都以應用數(shù)學、優(yōu)化、統(tǒng)計為基礎,同時為科學工程各方面的應用提供工具。運籌學、最優(yōu)控制一般需要模型;比如混合整數(shù)規(guī)劃、隨機規(guī)劃等數(shù)學表達式就是模型的體現(xiàn)。模型一般不準確、測不準;參數(shù)估計一般有誤差。強化學習可以不用模型,直接通過數(shù)據(jù)進行訓練,從而做出接近最優(yōu)或最優(yōu)的決策。數(shù)據(jù)可以來自完美模型、精準仿真器、或大數(shù)據(jù)。強化學習可以處理很復雜的問題。AlphaGo給了一個有力證明。策略迭代提供了一條不斷提升性能的途徑。強化學習/人工智能、運籌學、最優(yōu)控制相互促進,各取所長。強化學習得益于動物學習、神經(jīng)科學、心理學的獎賞系統(tǒng)、條件反射等。同時,強化學習可以解釋多巴胺等神經(jīng)科學中的機制。圖中沒有展示,但心理學、神經(jīng)科學為強化學習/人工智能與社會科學、藝術等架設了聯(lián)系的橋梁。


          2. 強化學習簡介


          如下圖所示,強化學習智能體 (agent) 與環(huán)境 (environment) 交互,針對序列決策問題,通過試錯 (trial-and-error) 的方式學習最優(yōu)策略。強化學習一般定義為馬爾科夫決策過程(Markov Decision Process, MDP). 在每一個時間步驟,智能體接受到一個狀態(tài) (state),根據(jù)策略 (policy) 選擇一個動作 (action),獲得獎賞 (reward),然后根據(jù)環(huán)境的動態(tài)模型轉移到下一個狀態(tài)。這里面,策略表達智能體的行為,就是狀態(tài)到動作的映射。強化學習中,經(jīng)驗 (experience) 是指 (狀態(tài),動作,獎賞,下一個狀態(tài)) 這樣一系列的數(shù)據(jù)。在片段式 (episodic) 的環(huán)境中,上述過程一直持續(xù)直到遇到終止狀態(tài),然后重新開始。在連續(xù)性 (continuing) 的環(huán)境中,則沒有終止狀態(tài)。用一個折扣因子(discount factor)來表達將來的獎賞對現(xiàn)在的影響。模型 (model) 指狀態(tài)轉移模型和獎賞函數(shù)。強化學習的適用范圍非常廣泛:狀態(tài)和動作空間可以是離散的或連續(xù)的,強化學習問題可以是確定性的、隨機性的、動態(tài)的、或者像一些游戲那樣對抗性的。

          狀態(tài)值函數(shù)或動作值函數(shù)分別用來度量每個狀態(tài)或每對狀態(tài)-動作的價值。是對回報的預測,而回報是長期折扣累積獎賞的期望。動作值函數(shù)一般也稱為Q函數(shù)。最優(yōu)值函數(shù)是所有策略所能得到的最好的值函數(shù);而相應的策略則為最優(yōu)策略。最優(yōu)值函數(shù)包含了全局優(yōu)化信息;一般可以比較容易地從最優(yōu)狀態(tài)值函數(shù)或最優(yōu)動作值函數(shù)得到最優(yōu)策略。強化學習的目標是得到最優(yōu)的長期回報或找到最優(yōu)策略。


          3. 例子:最短路徑


          下面舉一個強化學習應用于最短路徑問題的例子。最短路徑問題就是要找起始節(jié)點到終止節(jié)點之間的最短路徑,也就是要最小化它們之間的距離,或者最小化它們之間路徑上所有的邊的距離的和。最短路徑問題如下定義成強化學習問題。當前節(jié)點為狀態(tài)。在每個節(jié)點,動作是指順著相連的邊到達鄰居節(jié)點。轉移模型指從某個節(jié)點選擇通過一條邊后到達相應的鄰居節(jié)點,當前狀態(tài)或節(jié)點也隨之改變。獎賞則是剛通過的邊的距離的負數(shù)。到達終止節(jié)點則該片段結束。折扣因子可以設為1,這樣就不用區(qū)分眼前的邊的距離和將來的邊的距離。我們可以把折扣因子設成1,因為問題是片段式的。目標是找到一條從起始節(jié)點到終止節(jié)點的最短路徑,最大化整條路徑上距離的負數(shù)的和,也就最小化了整條路徑的距離。在某個節(jié)點,最優(yōu)策略選擇最好的鄰居節(jié)點,轉移過去,最后完成最短路徑;而對于每個狀態(tài)或節(jié)點,最優(yōu)值函數(shù)則是從那個節(jié)點到終止節(jié)點的最短路徑的距離的負數(shù)。
          下圖是一個具體的例子。圖中有節(jié)點、(有向)邊、邊的距離這些圖的信息。我們要找從節(jié)點S到節(jié)點T的最短路徑。強化學習算法并不了解圖的全局信息。在節(jié)點S,如果我們選擇了最近的鄰居節(jié)點A,那么就沒辦法找到最短路徑S → C → F → T 了。這個例子說明,如果一個算法只關注眼前利益,比如在節(jié)點S選擇最近的鄰居節(jié)點A,可能會導致無法找到最優(yōu)結果。像TD學習和Q學習這樣的強化學習方法,考慮了長期回報,都可以找到最優(yōu)解。
          有的讀者可能會問:為什么不用Dijkstra算法?如果我們有節(jié)點、邊、邊的距離這樣的圖的全局信息,那么Dijkstra算法可以高效地找到最短路徑。強化學習算法可以不用這些全局信息,而是用免模型的方式,根據(jù)TD學習和Q學習這樣的算法在圖中不斷采集本地信息,更新值函數(shù),最終找到最短路徑。Dijkstra算法在知道圖的全局信息時,是最短路徑的高效算法;而強化學習可以不依托于這些全局信息,比Dijkstra算法的適用面更廣,是一般性的優(yōu)化方法框架。
          另外,強化學習可以處理有隨機元素的最短路徑問題。而且,目前的一個研究熱點是,用機器學習/強化學習去學習一類問題的求解方法;遇到新問題,直接用推斷的方式得出答案。
          4. 例子:圍棋
          在圍棋中,狀態(tài)指當前棋盤的狀態(tài),包括黑白棋子的位置,空的位置等。圍棋的狀態(tài)空間特別大,有250的150次方個不同的狀態(tài)。而國際象棋的狀態(tài)空間為35的80次方。為了處理一些復雜的情況,比如“大龍”,狀態(tài)也應該包括歷史信息。這樣會明顯增大狀態(tài)空間。動作指目前可以放棋子的位置。每一步,每位玩家最多有19x19=361個可能的動作。轉移模型表達了在當前玩家落子后棋盤狀態(tài)的變化。圍棋中轉移模型是確定性的;或者說沒有隨機性。獎賞函數(shù)指在當前玩家落子后獲得的獎賞。只有在確定勝負時,勝了得1分,輸了-1分,其它情況都是0分。圍棋AI的目標是設計最優(yōu)對弈策略,或者說贏棋。圍棋中有明確的游戲規(guī)則,這樣,就有完美的轉移模型和獎賞函數(shù)。因為狀態(tài)空間特別大,而且狀態(tài)的值函數(shù)非常難估計,圍棋是AI領域一個長期的難題。所以,2016年谷歌Deepmind的AlphaGo打敗國際頂級棋手李世乭成為世界頭條新聞,展現(xiàn)了深度強化學習的強大威力。


          5. 更多強化學習簡介


          如果有系統(tǒng)模型,我們可能可以使用動態(tài)規(guī)劃(dynamic programming) 方法:用策略評估 (policy evaluation) 去計算一個策略的狀態(tài)或動作值函數(shù),用值迭代 (value iteration) 或策略迭代 (policy iteration) 來找到最優(yōu)策略;而策略迭代通常使用策略評估和策略改進 (policy improvement)迭代計算。我們要解決的很多問題沒有現(xiàn)成的系統(tǒng)模型;這樣,強化學習就有其用武之地。強化學習可以不需要模型,即免模型 (model-free) 的方式,得到最優(yōu)值函數(shù)和最優(yōu)策略。免模型強化學習可以通過與環(huán)境交互的在線(online)方式學習,也可以通過離線(offline)方式從歷史數(shù)據(jù)中學習。蒙特卡羅 (Monte Carlo) 方法用樣本的均值做估計;每一個樣本是完整的一條經(jīng)驗軌跡;它不需要系統(tǒng)的模型,但是它只適用于片段式的任務。
          時序差分 (temporal difference, TD) 學習是強化學習中的一個核心概念。TD學習一般指阿爾伯塔大學(University of Alberta) Richard Sutton教授于1988年發(fā)現(xiàn)的用于值函數(shù)評估的學習方法。TD學習直接從經(jīng)驗中,通過自助法 (bootstrapping) 、以免模型、在線、完全增量(incremental)方式學習狀態(tài)值函數(shù)。這里邊,自助法是一種基于自身的估計去做估計的方法。TD學習是一種同策略 (on-policy) 方法,通過行為策略產(chǎn)生的樣本來評估同樣的策略。Q學習是一種時序差分控制方法,通過學習最優(yōu)動作值函數(shù)來找到最優(yōu)策略。Q學習是一種異策略 (off-policy) 方法,通過從某個行為策略產(chǎn)生的數(shù)據(jù)來學習,而這些數(shù)據(jù)一般不是通過目標策略產(chǎn)生。
          TD學習和Q學習評估狀態(tài)值函數(shù)或動作值函數(shù),是基于值的 (value-based) 方法。而基于策略的 (policy-based) 方法則直接優(yōu)化策略,比如策略梯度 (policy gradient) 方法。行動者-評價者 (actor-critic) 算法同時更新值函數(shù)和策略。
          在表格式的情況,值函數(shù)和策略以表格的形式存儲。如果狀態(tài)空間與動作空間很大或者是連續(xù)的,那么就需要函數(shù)近似 (function approximation) 來實現(xiàn)泛化 (generalization) 能力。函數(shù)近似是機器學習中的一個概念;其目標是從部分樣本泛化函數(shù)從而近似整個函數(shù)。線性函數(shù)近似是一種常用方法;一個原因是它有比較好的理論性質。在線性函數(shù)近似中,一個函數(shù)由一些基函數(shù)(basis function)的線性組合近似。線性組合的系數(shù)則需要由學習算法確定。
          我們也可以用非線性函數(shù)近似,尤其是使用深度神經(jīng)元網(wǎng)絡,也就是最近流行的深度學習所用的網(wǎng)絡結構。如果把深度學習和強化學習結合起來,用深度神經(jīng)元網(wǎng)絡來表達狀態(tài)、值函數(shù)、策略、模型等,我們就得到了深度強化學習(deep reinforcement learning, deep RL)。這里深度神經(jīng)元網(wǎng)絡的參數(shù)需要由學習算法來確定。深度強化學習最近受到廣泛關注,也取得了很多斐然的成績。應該說,深度強化學習在很久以前就取得過好成績;比如1992年應用于西洋雙陸棋(Backgammon)的TD-Gammon工作。有一些比較有影響的深度強化學習算法,比如,上面提到的DQN算法,還有異步優(yōu)勢行動者-評價者算法(Asynchronous Advantage Actor-Critic, A3C), 深度確定性策略梯度算法(Deep Deterministic Policy Gradient, DDPG), 可信區(qū)域策略優(yōu)化算法(Trust Region Policy Optimization, TRPO), 近端策略優(yōu)化算法(Proximal Policy Optimization, PPO),和軟行動者-評價者算法(soft actor-critic)等等。最后的注釋參考文獻部分簡要介紹了這些算法。
          強化學習的一個基本問題是探索-利用(exploration-exploitation)之間的矛盾。智能體一方面需要利用目前最好的策略,希望獲得最好的回報;另一方面,目前最好的策略不一定是最優(yōu)策略,需要探索其它可能性;智能體需要在探索-利用兩者之間進行平衡折衷。一個簡單的探索方案是  -貪婪方法:以1-  的概率選擇最優(yōu)的動作,否則隨機選擇。上置信界算法(Upper Confidence Bound , UCB)是另外一類探索方法,同時考慮動作值函數(shù)及其估計方差。UCB應用于搜索樹中得到UCT算法,在AlphaGo中發(fā)揮了重要作用。
          6. 強化學習詞匯
          在這里匯集了一些強化學習詞匯,方便讀者查詢。
          預測 (prediction),或策略評估 (policy evaluation),用來計算一個策略的狀態(tài)或動作值函數(shù)。控制 (control) 用來找最優(yōu)策略。規(guī)劃 (planning) 則根據(jù)模型來找值函數(shù)或策略。
          用行為策略 (behaviour policy) 來產(chǎn)生樣本數(shù)據(jù);同時希望評估目標策略 (target policy)。同策略 (on-policy) 中,產(chǎn)生樣本的行為策略與需要評估的目標策略相同。比如,TD學習就用來評估當前的策略,或者說用同樣的策略產(chǎn)生的樣本來做策略評估。異策略 (off-policy) 中,產(chǎn)生樣本的行為策略與需要評估的目標策略一般不相同。比如,Q學習的目標是學習最優(yōu)策略的動作值函數(shù),而用來學習的樣本數(shù)據(jù)一般都不是依據(jù)最優(yōu)策略產(chǎn)生的。
          探索-利用 (exploration-exploitation) 之間的矛盾指,智能體需要利用目前最好的策略,希望達到最大化獎賞的目標;同時,也需要探索環(huán)境,去發(fā)現(xiàn)更好的策略,尤其是在目前的策略仍然不是最優(yōu)策略或者環(huán)境并不穩(wěn)定等情況下。
          在免模型 (model-free) 強化學習方法中,智能體不知道狀態(tài)轉移和獎賞模型,從與環(huán)境的交互經(jīng)驗中通過試錯的方式直接學習。而基于模型(model-based)強化學習方法則利用模型。模型可以是給定的,比如像計算機圍棋中那樣通過游戲規(guī)則得到的完美模型,或是通過數(shù)據(jù)學習來的。
          在線模式 (online) 算法通過序列數(shù)據(jù)流來訓練,不保存數(shù)據(jù),不進一步使用數(shù)據(jù)。離線模式(offline) 或批量模式 (batch mode) 算法則通過一組數(shù)據(jù)來訓練。
          在自助法(bootstrapping)中,對一個狀態(tài)或動作的值函數(shù)估計會通過其它狀態(tài)或動作的值函數(shù)估計來獲得。
          03
          如何應用強化學習


          1. 如何應用強化學習


          把強化學習應用于實際場景,首先要明確強化學習問題的定義,包括環(huán)境、智能體、狀態(tài)、動作、獎賞這些核心元素。有時也可能知道狀態(tài)轉移模型。需要考察監(jiān)督學習或情境老虎機(contextual bandits)是否更適合要解決的問題;如果是那樣,強化學習則不是最好的解決方案。強化學習的應用場景一般需要一定的資源,包括人才、計算力、大數(shù)據(jù)等。
          目前成功的強化學習應用一般需要有足夠的訓練數(shù)據(jù);可能來自完美的模型、很接近真實系統(tǒng)的仿真程序、或通過與環(huán)境交互收集到的大量數(shù)據(jù)。收集到的數(shù)據(jù)根據(jù)問題做相應處理。
          一個模型或好的仿真程序可以產(chǎn)生足夠的數(shù)據(jù)進行訓練。有些問題,比如健康醫(yī)療、教育、自動駕駛等方面的問題,可能很難、不可行、或不合乎道德規(guī)范對所有情況采集數(shù)據(jù)。這種情況,異策略技術可以用行為策略產(chǎn)生的數(shù)據(jù)來學習目標策略。把在仿真程序學到的策略遷移到真實場景方面最近有一些喜人的進展,尤其在機器人方面。有些問題可能需要大量的計算。比如,AlphaGo的成功有幾個重要因素:通過游戲規(guī)則得到了完美模型,產(chǎn)生大量訓練數(shù)據(jù),谷歌級的海量計算能力進行大規(guī)模訓練,以及研發(fā)人員非凡的科研和工程能力。
          特征工程一般需要大量的手工處理并結合很多相關行業(yè)知識。隨著深度學習興起的端到端學習模式,手工的特征工程可能很少用,甚至不用。不過,在實際問題中,特征工程很可能無法避免,也可能是取得好性能至關重要的因素。
          需要考慮強化學習的表征問題,比如,是否需要以及需要什么樣的神經(jīng)網(wǎng)絡來表達值函數(shù)和策略;是否考慮線性模型;而對于規(guī)模并不大的問題,甚至可以考慮表格的方式。
          有了數(shù)據(jù)、特征、和表征,需要考慮選取什么算法來計算最優(yōu)值函數(shù)和最優(yōu)策略。有許多強化學習算法可能選擇,可能是在線的或離線的、同策略或異策略的、免模型或有模型的等。通常根據(jù)問題的具體情況,選擇幾種算法,然后挑性能最好的。
          通過做實驗,參數(shù)調優(yōu),比較算法性能。強化學習應該與目前最高水平的算法對比,可能是其它強化學習算法,也可能是監(jiān)督學習、情境老虎機、或某種傳統(tǒng)算法。為了調優(yōu)算法,可能多次迭代前面幾步。
          當訓練的強化學習算法性能足夠好,就把它部署到實際系統(tǒng)中,監(jiān)控性能,不斷調優(yōu)算法。可能需要多次迭代前面幾步,調優(yōu)系統(tǒng)性能。
          上圖描述了應用強化學習的流程,簡單總結如下。
          第一步:定義強化學習問題。定義環(huán)境、智能體、狀態(tài)、動作、獎賞這些核心元素。
          第二步:數(shù)據(jù)準備,收集數(shù)據(jù),預處理。
          第三步:特征工程,一般根據(jù)領域知識手動生成,也可能以端到端的方式自動產(chǎn)生。
          第四步:選擇表征方式,有深度神經(jīng)元網(wǎng)絡、其它非線性、線性、甚至表格等表征方式。
          第五步:選擇算法,根據(jù)問題選擇幾種算法。
          第六步:實驗、調優(yōu)系統(tǒng);可能要多次迭代前面幾步。
          第七步:部署、調優(yōu)系統(tǒng)。可能要多次迭代前面幾步。


          2. 強化學習現(xiàn)存問題及建議


          強化學習雖然取得了很多驕人的成績,但是仍然存在不少問題。強化學習與函數(shù)近似結合,尤其與深度學習結合,存在“死亡三組合” (deadly triad) 問題。就是說,在異策略、函數(shù)近似、自助法同時結合時,訓練可能會碰到不穩(wěn)定或發(fā)散的問題。樣本效率、稀疏獎賞、成績分配、探索-利用、表征等是常見問題。深度強化學習還有可復制性的問題,實驗結果可能會受到網(wǎng)絡結構、獎賞比例、隨機種子、隨機實驗、環(huán)境、程序實現(xiàn)等的影響。強化學習同機器學習一樣面臨一些問題,比如時間效率、空間效率、可解釋性、安全性、可擴展性、魯棒性、簡單性等等。從積極的角度看待,研發(fā)人員一直在這些方面努力工作。后面章節(jié)會進一步討論。
          強化學習雖然有這么多問題,卻可以給很多問題提供有效的解決方案。麻省理工學院(Massachusetts Institute of Technology, MIT) Dimitri Bertsekas教授是強化學習領域有影響的研究者。他對強化學習的應用持謹慎樂觀的態(tài)度。他指出:一方面,還沒有強化學習方法可以解決所有甚至大多數(shù)問題;另一方面,有足夠多的方法去嘗試,有比較好的可能性在大多數(shù)問題上取得成功,比如確定性問題、隨機性問題、動態(tài)問題、離散或連續(xù)問題、各類游戲等等。他說:我們開始用強化學習解決難以想象的難題!他又說:我們前面的強化學習旅程令人激動!
          下面討論幾個話題,關于現(xiàn)實世界中強化學習面臨的挑戰(zhàn),機器人高效學習的基礎、強化學習應用于健康的參考原則、把機器學習負責任地應用于健康醫(yī)療、以及人工智能創(chuàng)業(yè)。雖然有些話題關于人工智能或機器學習,但對強化學習及其應用也有參考意義。
          3. 現(xiàn)實世界中強化學習面臨的挑戰(zhàn)
          谷歌Deepmind和谷歌研究院合作發(fā)表論文,研究為什么強化學習雖然在游戲等問題獲得了巨大成功,但在現(xiàn)實世界中仍然沒有被大規(guī)模應用。他們討論了下面九個制約因素:1)能夠對現(xiàn)場系統(tǒng)從有限的采樣中學習;2)處理系統(tǒng)執(zhí)行器、傳感器、或獎賞中存在的未知、可能很大的延遲;3)在高維狀態(tài)空間和動作空間學習、行動;4)滿足系統(tǒng)約束,永遠或極少違反;5)與部分可觀察的系統(tǒng)交互,這樣的系統(tǒng)可以看成是不平穩(wěn)的或隨機的;6)從多目標或沒有很好指明的獎賞函數(shù)學習;7)可以提供實時動作,尤其是高控制頻率的系統(tǒng);8)從外部行為策略的固定的日志數(shù)據(jù)離線學習;9)為系統(tǒng)操作員提供可解釋的策略。他們辨識并定義了這些挑戰(zhàn)因素,對每個挑戰(zhàn)設計實驗并做分析,設計實現(xiàn)基線任務包含這些挑戰(zhàn)因素,并開源了軟件包。
          4. 機器人高效學習的基礎
          在目前的深度學習、強化學習、機器學習的基礎上,機器人學習算法取得成功的一個關鍵因素是需要大量的實際數(shù)據(jù)。而一個通用機器人要面對各種各樣的情況,則獲取大量訓練數(shù)據(jù)成本會很高。這樣,下面幾個方面會很關鍵:1)采樣高效 (sample efficient),需要比較少的訓練數(shù)據(jù);2)可泛化性 (generalizable),訓練的機器人不光能應用于訓練的情況,還可以擴展到很多其它情況;3)組合方式 (compositional),可以通過以前的知識組合而成;4)增量方式 (incremental),可以逐漸增加新知識和新能力。目前的深度強化學習雖然可以學習很多新能力,不過,一般需要很多數(shù)據(jù),泛化性不好,不是通過組合或增量的方式訓練和執(zhí)行。學習算法如果要獲得泛化能力,需要具備固有的知識或結構等形式的歸納偏向(inductive bias),同時提高采樣效率。組合性和增量性可以通過特定的結構化的歸納偏向獲得,把學到的知識分解成語義相互獨立的因子,就可以通過組合解決更多的問題。
          在學習算法中加入先驗知識或結構,有一定的爭議。強化學習之父Richard Sutton認為不應該在學習系統(tǒng)中加入任何先驗知識,因為人工智能的歷史經(jīng)驗表明,每次我們想人為加些東西,結果都是錯的。MIT教授Rodney Brooks寫博客做了強烈回應。這樣的學術爭論很有益,可以讓我們辯明設計學習系統(tǒng)時的問題:應該把什么樣的歸納偏向包括到學習系統(tǒng)中,可以幫助從適量的數(shù)據(jù)中學到可以泛化的知識,同時又不會導致不準確或過度約束?
          有兩種方式可以找到合適的歸納偏向。一種是元學習(meta-learning)。在系統(tǒng)設計階段,以離線方式學習結構、算法、先驗知識;這樣,到系統(tǒng)部署后,就可以在新環(huán)境高效地在線學習。在系統(tǒng)設計階段,元學習通過可能在部署后碰到的任務的大量訓練數(shù)據(jù),學習一個學習算法,當遇到新的任務時,可以盡可能高效地學習;而不是學習對一個環(huán)境好的算法,或是試圖學一個對所有環(huán)境都好的算法。元學習通過學習訓練任務之間的共性,形成先驗知識或歸納偏向,這樣,遇到新任務就可以主要去學習差異性。
          還有一些可能的方向,包括讓人教機器人,與其它機器人合作學習,修改機器人軟件的時候一道修改硬件。利用從計算機科學與工程和認知神經(jīng)科學獲得的靈感,幫助設計機器學習的算法和結構。卷積神經(jīng)元網(wǎng)絡(convolutional neural networks)是一個很好的例子。卷積利用了翻譯不變性(translation invariance),就是說,物體不管在圖像中的什么位置,其表現(xiàn)基本不變;還有空間局部性(spatial locality),就是說,一組臨近的像素共同提供圖片的信息。用了卷積這樣的歸納偏向,神經(jīng)元網(wǎng)絡的參數(shù)就大幅減少了,也大幅減少了訓練。哺乳動物的視覺中樞應該就有類似于卷積這樣的計算過程。機器人和強化學習需要類似的靈感來設計更高效的算法。
          5. 強化學習應用于健康的參考原則
          最近《自然醫(yī)學》一篇短評論文討論強化學習應用于健康問題時,要考慮的幾個參考原則。第一,強化學習算法最好可以使用影響決定的所有數(shù)據(jù)。強化學習算法需要獲得醫(yī)生可以獲得的信息。第二,有效樣本量與學到的策略和醫(yī)生的策略之間的相似度相關;相似度越高則有效樣本量越大。序列中決策越多,新的策略與產(chǎn)生數(shù)據(jù)的策略不同的可能性就越大。第三,需要審查學到的策略,使其有合理的表現(xiàn)。需要考察問題建模是否合適,比如獎賞函數(shù)的定義,數(shù)據(jù)記錄及處理是否會引入誤差,以及策略的適用范圍,等等。
          6. 把機器學習負責任地應用于健康醫(yī)療
          最近《自然醫(yī)學》發(fā)表一篇觀點論文,討論機器學習在醫(yī)學中為什么沒有廣泛應用,提出成功、負責任的發(fā)展方案。
          第一,選擇合適的問題。確定所研發(fā)的問題在健康醫(yī)療中有意義,收集合適的數(shù)據(jù),對項目成功做出明確定義。于項目早期,就在團隊中包括利益相關人員:a) 業(yè)務專家,包括臨床醫(yī)生、機器學習研究人員、健康醫(yī)療信息技術專家、開發(fā)實現(xiàn)專家;b) 決策者,包括醫(yī)院管理人員、研究機構管理人員、監(jiān)管部門人員、政府人員;c) 用戶,包括護士、醫(yī)生、實驗室人員、病人、家人朋友。
          第二,開發(fā)有用的解決方案。在預測一個結果時,一定要了解數(shù)據(jù)是什么時候如何收集的,收集數(shù)據(jù)的目的是什么。在模型應用的環(huán)境中,數(shù)據(jù)要有代表性。在開發(fā)模型的過程中,要改正電子病歷數(shù)據(jù)中存在的偏向,否則會降低模型的可靠性。
          第三,考慮倫理道德方面的因素。加入相關專家,改正數(shù)據(jù)中的偏向。
          第四,對模型進行嚴格的評估。在訓練和測試模型過程中,保證沒有數(shù)據(jù)泄露發(fā)生。評估模型在什么情況很可能成功或失敗。統(tǒng)計分析應該考慮與臨床相關的評價指標。另外,用定性的方式評估,可能可以發(fā)現(xiàn)定量的方法沒有發(fā)現(xiàn)的偏向和干擾(confounding)因素。
          第五,做深思熟慮的匯報。詳細描述數(shù)據(jù)源、參與者、結果、預測變量、以及模型本身。報告模型在什么情境下驗證、應用,需要滿足什么假設或條件。分享生成結果的代碼、軟件包、輸入數(shù)據(jù),以及支持文檔。對下面兩種技術路線的權衡分析:簡單、快速、可解釋的模型與復雜、比較慢卻更準確的模型,提供幫助信息。
          第六,負責任地部署。對于學到的模型,應該先實時預測結果,讓臨床專家評估其有效性,再給病人用。了解如何把干預策略與醫(yī)護團隊的工作流整合到一起也很重要。病人群體、臨床規(guī)范經(jīng)常變化,應該經(jīng)常監(jiān)視并評估模型的可靠性和錯誤,并對模型做相應改進。
          第七,推向市場。機器學習健康醫(yī)療工具必須要滿足所在國家的監(jiān)管要求。
          在健康醫(yī)療、自動駕駛等系統(tǒng)中,開發(fā)部署高效的機器學習系統(tǒng)存在很多復雜的問題。上面的發(fā)展方案可以幫助解決健康醫(yī)療中的問題,對其它領域也會有參考意義。
          雖然離機器學習大規(guī)模應用于醫(yī)療健康還有很長的路,但是,政策制定者、健康醫(yī)療管理人員、研發(fā)人員等正在通力合作。在大力發(fā)展智慧醫(yī)療時,我們有時可能需要暫時放緩腳步,重溫希波格拉底誓言(Hippocratic oath),即醫(yī)生誓約,其首要之務就是不可傷害(first, do no harm)。
          人工智能創(chuàng)業(yè):人工智能公司代表一種新的商業(yè)模式
          這里介紹一篇Andreessen Horowitz投資公司網(wǎng)站上的一篇博客,討論人工智能公司代表一種新的商業(yè)模式,與傳統(tǒng)的軟件業(yè)有所不同,更像是傳統(tǒng)的軟件服務公司。
          軟件的優(yōu)勢在于生產(chǎn)一次就可以賣很多次。這樣,就帶來重復的收益流、高利潤、有的時候還有超線性規(guī)模化,而且知識產(chǎn)權,一般是程序,可以形成高護城河。在軟件服務業(yè)中,每個項目需要專門的開發(fā)人員,然后只能賣一次。這樣,收益不能重復,總利潤低,最好的情況就是線性增長。同時,不容易建護城河。
          人工智能公司,因為對云計算平臺的依賴,加上需要不斷的人工支持,總利潤比較低;因為要處理麻煩的邊緣情況,上規(guī)模充滿挑戰(zhàn);因為人工智能模型的商品化,以為數(shù)據(jù)是競爭資源并具有野蠻生長的網(wǎng)絡效應而事實并非如此,護城河比較弱。
          大多數(shù)人工智能應用程序看起來像軟件,與用戶交互,管理數(shù)據(jù),與其它系統(tǒng)融合等。但其核心是一組訓練好的數(shù)據(jù)模型,維護起來更像是軟件服務。人工智能公司看著像軟件公司與軟件服務公司的某種組合,從總利潤、規(guī)模化、防御性等方面看,代表了一種新的商業(yè)模式。
          總利潤方面,對于人工智能公司,云計算平臺帶來相當大的花費,包括訓練模型、模型推斷、處理豐富的媒體類型、復雜的云操作等。人工智能應用程序依賴人工作為系統(tǒng)的一部分,幫助清洗、標注大量數(shù)據(jù),或需要實時的幫助,比如在認知推理任務中,以獲得高準確率。這些會讓總利潤降低。當人工智能的性能逐步提高,人工的參與會越來越少,但很可能不會一點沒有。因為人工智能經(jīng)常面對長尾效應,或者說要經(jīng)常處理邊緣情況,很難讓人工智能系統(tǒng)規(guī)模化。而保護人工智能商業(yè)的方案還沒有成型。人工智能產(chǎn)品與純軟件產(chǎn)品比起來,不一定更難防御。不過,人工智能公司的護城河看起來比預想的要淺。
          下面給創(chuàng)業(yè)人員一些實用建議,創(chuàng)建、規(guī)模化、防御偉大的人工智能公司。1)盡可能消除模型的復雜性。2)仔細選擇問題領域,一般選擇窄領域,降低數(shù)據(jù)復雜性,最小化邊緣情況的挑戰(zhàn)。3)為高變動的費用做好打算。4)擁抱服務。人工智能公司長期成功的關鍵是把軟件和服務的優(yōu)點結合起來。5)為新技術的不斷出現(xiàn)做好打算。6)用舊的方式構建防御能力,好商業(yè)總需要好產(chǎn)品和私有數(shù)據(jù)。
          人工智能創(chuàng)業(yè):彌補概念驗證與產(chǎn)品的差距
          下面討論吳恩達(Andrew Ng)博士于2020年10月初在斯坦福大學以人為本人工智能(Human-Centered AI, HAI)研究院做的一個學術報告。討論了如何彌補人工智能中概念驗證與產(chǎn)品的差距,包括以下三個方面:1)小數(shù)據(jù);2)泛化性和魯棒性;3)變化管理。
          小數(shù)據(jù)算法包括合成數(shù)據(jù)生成,比如生成對抗網(wǎng)絡(Generative Adversarial Networks, GANs),單樣本/少樣本學習,自我監(jiān)督學習,遷移學習,異常檢測等。
          在一個數(shù)據(jù)集上訓練的模型是否能泛化到其它數(shù)據(jù)集上?是個問題。論文里工作的模型,在產(chǎn)品中經(jīng)常不工作。人工智能產(chǎn)品項目除了機器學習程序,還包括標注定義、歧義消解、高效批量數(shù)據(jù)標注、為罕見標注生成數(shù)據(jù)、數(shù)據(jù)驗證、數(shù)據(jù)分析、環(huán)境變化檢測、數(shù)據(jù)及模型版本控制、過程管理工具、模型性能下降檢測等等。
          管理技術帶來的變化,包括計劃足夠的時間、發(fā)現(xiàn)所有的利益相關者,提供再保證,解釋在發(fā)生什么,做規(guī)模合適的第一個項目。這里關鍵的技術是可解釋人工智能和審計。
          機器學習項目的周期包括:確定范圍,決定要解決的問題;為模型獲取數(shù)據(jù);構建、訓練模型;部署,運行產(chǎn)品創(chuàng)造價值。下面從后往前討論這幾個階段。
          先說部署。在云平臺或邊緣設備上實現(xiàn)。最初的部署允許分析結果,調整參數(shù)和模型。可以采取影子部署的方式,并不真正決策,只是實時監(jiān)視性能。也可以先小規(guī)模部署。然后逐漸加大部署力度。長期保持監(jiān)視和維護狀態(tài)。
          人工智能模型的構建和訓練,是高度迭代的過程,從人工智能體系結構,包括算法、數(shù)據(jù)等,到程序和訓練,再到分析,幾個階段反復循環(huán);是開發(fā)過程,更是發(fā)現(xiàn)并修改錯誤的過程。機器學習模型由訓練數(shù)據(jù)、超參數(shù)、算法/程序構成。一般通過修改超參數(shù)、算法/程序試圖改進性能,也應該使用不同的訓練數(shù)據(jù),提高模型的泛化性。
          對于獲取模型需要的數(shù)據(jù),并不需要等到有足夠完美的數(shù)據(jù)才開始項目,卻需要明確數(shù)據(jù)的定義,比如,如何定義圖像邊界框,或如何處理專家不同的意見,等等。
          對于范圍和要解決的問題,可以頭腦風暴商業(yè)問題、技術解決方案,對價值和可行性做盡職調查,配置資源,制定計劃,確定里程碑。人工智能專家確定什么可以做,領域專家確定什么是有價值的,這兩個的交集里就有要解決的問題。
          機器學習項目的周期中:確定范圍,決定要解決的問題,需要不同功能部門的頭腦風暴;為模型獲取數(shù)據(jù),需要不同功能部門的執(zhí)行;構建、訓練模型,需要人工智能的研究;部署,運行產(chǎn)品創(chuàng)造價值,需要機器學習開發(fā)、軟件開發(fā)。
          人工智能在用戶互聯(lián)網(wǎng)領域已經(jīng)創(chuàng)造了價值。在互聯(lián)網(wǎng)之外,人工智能仍然存在大量沒有開發(fā)的機會。預計零售、旅游、交通、物流、汽車、材料、電子/半導體、健康、高科技、通信、能源、農(nóng)業(yè)等領域2030年將創(chuàng)造13萬億美元的價值。但在很多其它領域仍然需要彌補概念驗證到產(chǎn)品的差距。學術界和工業(yè)界應該聯(lián)合起來把機器學習變成一個系統(tǒng)工程學科。
          04
          強化學習應用專刊與應用研討會
          1.《機器學習》強化學習應用專刊
          強化學習是一類通用的學習、預測、決策的方法框架,在科學、工程、藝術等領域有廣泛應用。已經(jīng)在雅達利游戲、AlphaGo、機器人、推薦系統(tǒng)、AutoML等領域取得了突出成績。不過,把強化學習應用到實際場景中仍然有很多挑戰(zhàn)。這樣,我們很自然地會問:問題是什么,如何解決?
          這個專刊的主要目標為:(1) 確定能使強化學習成功應用的關鍵研究問題;(2) 報告在這些關鍵問題上的進展;3)讓領域專家分享把強化學習應用到實際場景的成功故事,以及在應用過程中獲得的洞察領悟。
          專刊邀請解決強化學習落地相關的問題,把強化學習算法成功地應用于實際問題的稿件。專刊感興趣的話題比較廣泛,包括但不限于以下的話題:


          • 實用強化學習算法,包括所有強化學習算法的挑戰(zhàn),尤其是在實際應用中遇到的挑戰(zhàn);

          • 實際問題:泛化性、采樣/時間/空間的效率、探索與利用、獎賞函數(shù)的詳述(specification)與修整(shaping)、可擴展性、基于模型的學習(模型的效驗與模型誤差估計)、先驗知識、安全性、責任、可解釋性、可復制性、調超參數(shù)等等;

          • 應用方向:推薦系統(tǒng)、廣告、聊天系統(tǒng)、商業(yè)、金融、健康醫(yī)療、教育、機器人、自動駕駛、交通、能源、化學合成、藥物設計、工業(yè)控制、美術、音樂、以及其它科學、工程、藝術問題。


          專刊內容會在2021年初完成編輯,敬請關注。


          2. 強化學習應用研討會


          在2019年國際機器學習大會(International Conference on Machine Learning, ICML)上,Alborz Geramifard (臉書), Lihong Li (谷歌), Csaba Szepesvari (Deepmind & 阿爾伯塔大學), Tao Wang (蘋果) 共同組織舉辦了強化學習應用研討會(Reinforcement Learning for Real Life, RL4RealLife). 工業(yè)界和學術界對強化學習應用感興趣的研發(fā)人員集聚一堂,探討如何將強化學習應用于實際場景。
          研討會有三個一流的特邀報告:


          • AlphaStar:理解星際爭霸。報告人:David Silver

          • 如何開展強化學習應用的革命?報告人:John Langford

          • 推薦系統(tǒng)中的強化學習。報告人:Craig Boutilier


          頂級專家組成了專題討論小組: Craig Boutilier (谷歌研究院), Emma Brunskill (斯坦福大學), Chelsea Finn (谷歌研究院, 斯坦福大學, 加州大學伯克利分校), Mohammad Ghavamzadeh (臉書人工智能研究院), John Langford (微軟研究院), David Silver (Deepmind), 和Peter Stone (得克薩斯大學奧斯丁分校, Cogitai). 討論了重要的問題,比如,強化學習哪些方向最有前景?把強化學習應用到實際場景的一般性原則是什么?等等。
          有大約60篇海報/論文。選擇了4篇最佳論文:


          • Chow et al. 討論了連續(xù)動作問題里的安全性

          • Dulac-Arnold et al. 討論了強化學習應用的9個挑戰(zhàn)

          • Gauci et al. 討論了臉書的開源應用強化學習平臺Horizon

          • Mao et al. 討論了增強計算機系統(tǒng)開放平臺Park


          歡迎訪問研討會網(wǎng)站;有特邀報告的視頻鏈接、大部分論文和一部分海報;網(wǎng)址為:sites.google.com/view/R.
          2020年6月,Gabriel Dulac-Arnold (谷歌), Alborz Geramifard (臉書), Omer Gottesman (哈佛大學),Lihong Li (谷歌), Anusha Nagabandi (加州大學伯克利分校), Zhiwei (Tony) Qin (滴滴), Csaba Szepesvari (Deepmind & 阿爾伯塔大學) 在網(wǎng)上共同組織舉辦了強化學習應用研討會。會議邀請了頂級專家組成了兩個專題討論小組,分別討論“強化學習+健康醫(yī)療”和“一般性強化學習”兩個專題;會議有30多篇海報/論文。
          強化學習+健康醫(yī)療專題討論由Finale Doshi-Velez (哈佛大學), Niranjani Prasad (普林斯頓大學), Suchi Saria (約翰霍普金斯大學)組成, 由Susan Murphy (哈佛大學)主持,由Omer Gottesman (哈佛大學)做開場及總結主持。
          一般性強化學習專題討論由Ed Chi (谷歌), Chelsea Finn (斯坦福大學), Jason Gauci (臉書)組成, 由Peter Stone (得克薩斯大學&索尼)主持, 由Lihong Li (谷歌)做開場及總結主持。
          更多信息參見會議網(wǎng)址:sites.google.com/view/R.
          05
          強化學習資料與簡史
          1. 強化學習資料
          強化學習的學習資料中,Sutton & Barto 的強化學習教科書是必讀的,David Silver的UCL課程是經(jīng)典,阿爾伯塔大學最近在Coursera上線了強化學習課程。強化學習里概念比較多,仔細學一些基礎,會很有幫助。如果有一定深度學習背景,可能可以考慮直接學深度強化學習。OpenAI Spinning Up比較簡潔,Deepmind與UCL合出了深度學習與強化學習課程,UC Berkeley的深度強化學習課程是高級進階。下面列了這幾個資料。


          • Sutton & Barto RL強化學習教科書,incompleteideas.net/boo

          • David Silver強化學習課程,www0.cs.ucl.ac.uk/staff

          • 阿爾伯塔大學在Coursera上的強化學習課,coursera.org/specializa

          • OpenAI Spinning Up, blog.openai.com/spinnin

          • DeepMind & UCL 的深度學習與強化學習課程,youtube.com/playlist?

          • UC Berkeley深度強化學習課程,rail.eecs.berkeley.edu/


          學習強化學習,有必要對深度學習和機器學習有一定的了解。下面推薦幾篇綜述論文。


          • LeCun, Bengio and Hinton, Deep Learning, Nature, May 2015

          • Jordan and Mitchell, Machine learning: Trends, perspectives, and prospects, Science, July 2015

          • Littman, Reinforcement learning improves behaviour from evaluative feedback, Nature, May 2015


          希望深入了解深度學習、機器學習,Goodfellow et al. (2016)、Zhang et al. (2019) 介紹了深度學習;周志華(2016)、李航(2019)介紹了機器學習。
          學習基本概念的同時應該通過編程加深理解。OpenAI Gym很常用,gym.openai.com.
          下面的Github開源把Sutton & Barto強化學習書里面的例子都實現(xiàn)了,也有很多深度強化學習算法的實現(xiàn):github.com/ShangtongZha.


          2. 強化學習簡史


          早期的強化學習有兩個主要的豐富綿長的發(fā)展線索。一個是源于動物學習的試錯法;在早期的人工智能中發(fā)展,與二十世紀八十年代促進了強化學習的復興。另一個是最優(yōu)控制及其解決方案:值函數(shù)和動態(tài)規(guī)劃。最優(yōu)控制大部分沒有包括學習。這兩個線索先是分頭進展,到二十世紀八十年代,時序差分(temporal-difference)方法出現(xiàn),形成第三條線索。然后幾種線索交織融合到一起,發(fā)展成現(xiàn)代強化學習。
          最優(yōu)控制始于二十世紀五十年代,設計控制器來優(yōu)化動態(tài)系統(tǒng)一段時間內行為的性能指標。動態(tài)規(guī)劃是最優(yōu)控制的一個解決方法,由Richard Bellman等人提出,基于以前Hamilton和Jacobi的理論。動態(tài)規(guī)劃使用動態(tài)系統(tǒng)的狀態(tài)和值函數(shù),或最優(yōu)回報函數(shù),來定義一個等式,現(xiàn)在被稱為Bellman等式。通過解這個等式的一組方法則被稱為動態(tài)規(guī)劃方法。Bellman也提出離散隨機版的最優(yōu)控制問題,既馬爾科夫決策過程(Markov decision processes, MDP). Ronald Howard在1960年給MDP問題設計了策略迭代方法。這些都是現(xiàn)代強化學習理論和算法的基本元素。
          一般認為,動態(tài)規(guī)劃是解決一般性的隨機優(yōu)化控制的唯一方法。動態(tài)規(guī)劃會遇到“維度災難”問題,就是說,它的計算復雜性隨著狀態(tài)變量的個數(shù)而指數(shù)增長。不過,動態(tài)規(guī)劃仍然是最高效、應用最廣的方法。動態(tài)規(guī)劃已經(jīng)被擴展到部分可見馬爾科夫決策過程(Partially Observable MDP, POMDP),異步方法,以及各種應用。
          最優(yōu)控制、動態(tài)規(guī)劃與學習的聯(lián)系,確認得卻比較慢。可能的原因是這些領域由不同的學科在發(fā)展,而目標也不盡相同。一個流行的觀點是動態(tài)規(guī)劃是離線計算的,需要準確的系統(tǒng)模型,并給出Bellman等式的解析解。還有,最簡單的動態(tài)規(guī)劃是按時間從后向前運算的,而學習則是從前往后的,這樣,則很難把兩者聯(lián)系起來。事實上,早期的一些研究工作,已經(jīng)把動態(tài)規(guī)劃與學習結合起來了。而在1989年,Chris Watkins用MDP的形式定義強化學習問題,把動態(tài)規(guī)劃和線上學習完全結合起來,也得到廣泛接受。之后,這樣的聯(lián)系獲得進一步的發(fā)展。麻省理工學院的Dimitri Bertsekas和John Tsitsiklis提出了神經(jīng)元動態(tài)規(guī)劃(neurodynamic programming)這一術語,用來指代動態(tài)規(guī)劃與神經(jīng)元網(wǎng)絡的結合。現(xiàn)在還在用的另一個術語是近似動態(tài)規(guī)劃(approximate dynamic programming). 這些方法與強化學習都是在解決動態(tài)規(guī)劃的經(jīng)典問題。
          在某種意義上,最優(yōu)控制就是強化學習。強化學習問題與最優(yōu)控制問題緊密相關,尤其是描述成MDP的隨機優(yōu)化控制問題。這樣,最優(yōu)控制的解決方法,比如動態(tài)規(guī)劃,也是強化學習方法。大部分傳統(tǒng)的最優(yōu)控制方法需要完全的系統(tǒng)模型知識,這樣把它們看成強化學習有些不夠自然。不過,許多動態(tài)規(guī)劃算法是增量的、迭代的。像學習方法一樣,它們通過連續(xù)的近似逐漸達到正確解。這些相似性有著深刻的意義,而對于完全信息和不完全信息的理論和方法也緊密相關。
          下面討論強化學習早期發(fā)展的另外一條線索:試錯學習法。試錯學習法最早可以追溯到十九世紀五十年代。1911年,Edward Thorndike簡明地把試錯學習法當成學習的原則:對于同一情況下的幾個反應,在其它因素一樣時,只有伴隨著或緊隨動物的喜悅之后的那些反應,才會被更深刻地與當下的情況聯(lián)系起來,這樣,當這些反應再次發(fā)生,再次發(fā)生的可能性也更大;而只有伴隨著或緊隨動物的不適之后的那些反應,與當下的情況聯(lián)系會被削弱,這樣,當這些反應再次發(fā)生,再次發(fā)生的可能性會更小。喜悅或不適的程度越大,聯(lián)系的加強或減弱的程度也越大。Thorndike稱其為“效果定律”(Law of Effect), 因為它描述了強化事件對選擇動作的傾向性的效果,也成為許多行為的基本原則。
          “強化”這一術語出現(xiàn)于1927年巴浦洛夫(Pavlov)條件反射論文的英譯本,晚于Thorndike的效果定律。巴浦洛夫把強化描述成,當動物接收到刺激,也就是強化物,對一種行為模式的加強,而這個刺激與另一個刺激或反應的發(fā)生有合適的時間關系。
          在計算機里實現(xiàn)試錯法學習是人工智能早期的想法之一。在1948年,阿蘭·圖靈(Alan Turing)描述了一個“快樂-痛苦系統(tǒng)”,根據(jù)效果定律設計:達到一個系統(tǒng)狀態(tài)時,如果選哪個動作還沒有確定,就暫時隨機選一個,作為臨時記錄。當出現(xiàn)一個痛苦刺激,取消所有的臨時記錄;當出現(xiàn)一個快樂刺激,所有的臨時記錄變成永久記錄。
          1954年,圖靈獎獲得者馬文·明斯基(Marvin Minsky)在他的博士論文里討論了強化學習的計算模型,描述了他搭建的模擬電路機器,用來模仿大腦中可以修改的突觸連接。他于1961年發(fā)表《通向人工智能的幾個步驟》(Steps Toward Artificial Intelligence), 討論了與試錯學習法相關的幾個問題,包括預測、期望、還有被他稱為復雜強化學習系統(tǒng)中基本的獎賞分配問題:如何把成功獲得的獎賞分配給可能導致成功相關的那些決定?這個問題仍然是現(xiàn)代強化學習的一個關鍵問題。
          二十世紀六十年代、七十年代試錯學習法有一些發(fā)展。Harry Klopf在人工智能領域對試錯法在強化學習中的復興做了重要貢獻。Klopf發(fā)現(xiàn),當研究人員專門關注監(jiān)督學習時,則會錯過自適應行為的一些方面。按照Klopf所說,行為的快樂方面被錯過了,而這驅動了從環(huán)境成功獲得結果,控制環(huán)境向希望的結果發(fā)展,而遠離不希望的結果。這是試錯法學習的基本思想。Klopf的思想對強化學習之父Richard Sutton和Andrew Barto有深遠影響,使得他們深入評估監(jiān)督學習與強化學習的區(qū)別,并最終專注強化學習,包括如何為多層神經(jīng)元網(wǎng)絡設計學習算法。
          現(xiàn)在討論強化學習發(fā)展的第三個線索,時序差分學習。時序差分學習基于對同一個量在時間上相連的估計,比如,圍棋例子中贏棋的概率。時序差分學習是強化學習中一個新的獨特的方法。
          時序差分學習部分上起源于動物學習心理學,尤其是次要強化物的概念。次要強化物與像食物和痛苦這樣的主要強化物相伴而來,所以也就有相應的強化特點。明斯基于1954年意識到這樣的心理學原則可能對人工學習系統(tǒng)的重要意義;他可能是第一位。1959年,Arthur Samuel在其著名的國際跳棋程序中,第一次提出并實現(xiàn)了包括時序差分學習的學習方法。Samuel受克勞德·香農(nóng)(Claude Shannon)1950年工作的啟發(fā),發(fā)現(xiàn)計算機程序可以用評估函數(shù)玩國際象棋,棋藝也可以通過在線修改這個評估函數(shù)來提高。明斯基于1961年深入討論Samuel的方法與次要強化物的聯(lián)系。Klopf在1972年把試錯學習法與時序差分學習聯(lián)系起來。
          Sutton在1978年進一步研究Klopf的想法,尤其是與動物學習的聯(lián)系,通過連續(xù)時間預測的變化來定義學習規(guī)則。Sutton和Barto繼續(xù)改進這些想法,提出了基于時序差分學習的經(jīng)典條件反射心理學模型。同時期有不少相關工作;一些神經(jīng)科學模型也可以用時序差分學習來解釋。
          Sutton和Barto于1981年提出了行動者-評價者體系結構,把時序差分學習與試錯學習結合起來。Sutton1984年的博士論文深入討論了這個方法。Sutton于1988年把時序差分學習與控制分開,把它當做一種通用的預測方法。那篇論文也提出了多步時序差分學習算法。
          在1989年,Chris Watkins提出Q學習,把時序差分學習、最優(yōu)控制、試錯學習法三個線索完全融合到一起。這時,開始在機器學習和人工智能領域出現(xiàn)大量的強化學習方面的研究。1992年,
          Gerry Tesauro成功地使用強化學習和神經(jīng)元網(wǎng)絡設計西洋雙陸棋(Backgammon)的TD-Gammon算法,進一步增加了強化學習的熱度。
          Sutton和Barto于1998年發(fā)表《強化學習介紹》之后,神經(jīng)科學的一個子領域專注于研究強化學習算法與神經(jīng)系統(tǒng)中的強化學習,而這歸功于時序差分學習算法的行為與大腦中生成多巴胺的神經(jīng)元的活動之間神秘的相似性。強化學習還有數(shù)不勝數(shù)的進展。
          最近,隨著DQN算法的出現(xiàn)以及AlphaGo的巨大成功,強化學習進一步發(fā)展,也出現(xiàn)了深度強化學習這一子領域。這樣,強化學習簡史就與前面的介紹銜接起來了。
          06
          強化學習的前景


          強化學習時代正在到來


          強化學習是一類一般性的學習、預測、決策方法框架。如果一個問題可以描述成或轉化成序列決策問題,可以對狀態(tài)、動作、獎賞進行定義,那么強化學習很可能可以幫助解決這個問題。強化學習有可能幫助自動化、最優(yōu)化手動設計的策略。
          強化學習考慮序列問題,具有長遠眼光,考慮長期回報;而監(jiān)督學習一般考慮一次性的問題,關注短期效益,考慮即時回報。強化學習的這種長遠眼光對很多問題找到最優(yōu)解非常關鍵。比如,在最短路徑的例子中,如果只考慮最近鄰居節(jié)點,則可能無法找到最短路徑。
          David Silver博士是AlphaGo的核心研發(fā)人員,他提出這樣的假設:人工智能=強化學習+深度學習。Russell和Norvig的經(jīng)典人工智能教材里提到:強化學習可以說包括了整個人工智能。有研究表明,計算機科學中任何可以計算的問題,都可以表達成強化學習問題。
          本書前面首先介紹了強化學習,然后介紹了強化學習在游戲、推薦系統(tǒng)、計算機系統(tǒng)、健康醫(yī)療、教育、金融、機器人、交通、能源、制造等領域的一些應用。應該說,這里的每個領域都有很多工作、很多方向沒有討論,另外還有很多領域沒有包括進來;難免掛一漏萬。下圖中描述了強化學習的應用領域及方向。可能的應用領域太廣了。
          強化學習在計算機系統(tǒng)中的各個方向,從底層的芯片設計、硬件系統(tǒng),到操作系統(tǒng)、編譯系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)等軟件系統(tǒng),到云計算平臺、通信網(wǎng)絡系統(tǒng)等基礎設施,到游戲引擎、推薦系統(tǒng)等應用程序,到計算機視覺、自然語言處理、機器學習人工智能系統(tǒng)本身,都有廣泛的應用。
          對于科學、工程、藝術,本書有所涉及,比如游戲中涉及心理學、設計藝術等,而機器人、交通、能源、制造等與工程密切相關。應該說,對于強化學習在科學、工程、藝術等方面廣泛的應用場景,以及這些領域對強化學習的反哺,本書的涉獵有限。
          自然科學及工程的問題,一般比較客觀,有標準答案,容易評估。如果有模型、比較準確的仿真、或大量數(shù)據(jù),強化學習/機器學習就有希望解決問題。AlphaGo是這種情況。組合優(yōu)化、運籌學、最優(yōu)控制、藥學、化學、基因等方向,基本符合這種情況。社會科學及藝術問題,一般包含人的因素,會受心理學、行為科學等影響,一般比較主觀,不一定有標準答案,不一定容易評估。游戲設計及評估、教育等基本符合這種情況。內在動機等心理學概念為強化學習/人工智能與社會科學及藝術之間搭建了聯(lián)系的橋梁。
          深度學習和強化學習分別于2013年和2017年被《麻省理工學院科技評論》評為當年10項突破性技術之一。深度學習已經(jīng)被廣泛應用。強化學習會在實際應用場景中發(fā)揮越來越重要的作用。強化學習已經(jīng)被成功應用于游戲、推薦系統(tǒng)等領域,也可能已經(jīng)成功應用于量化金融中。目前,強化學習可能還沒有被廣泛應用于某些場景的產(chǎn)品和服務中;我們也很可能需要對不同情況做不同的分析。不過,如果考慮長期回報,現(xiàn)在很可能是培養(yǎng)、教育、引領強化學習市場的絕佳時機。我們會看到深度學習和強化學習大放異彩。


          注釋參考文獻


          Sutton and Barto (2018) 是強化學習的首選教材,而且寫的很直觀。Szepesvari (2010) 討論了強化學習算法。Bertsekas (2019) 介紹了強化學習和最優(yōu)控制。Bertsekas and Tsitsiklis (1996) 討論了神經(jīng)元動態(tài)規(guī)劃,理論性比較強。Powell (2011) 討論了近似動態(tài)規(guī)劃,及其在運籌學中的應用。Powell (2019) 和 Recht (2019) 討論了強化學習與最優(yōu)控制的關系。Botvinick et al. (2019) 討論了強化學習與認知科學、心理學、神經(jīng)科學的關系。
          Csaba Szepesvari在ACM KDD 2020 深度學習日上對強化學習做了全方位的深入剖析,理清了許多錯誤觀念;參見Szepesvari (2020)。我對其做了雙語解讀,參見《強化學習的“神話”和“鬼話”》,zhuanlan.zhihu.com/p/19。
          Goodfellow et al. (2016)、Zhang et al. (2020) 介紹深度學習。周志華(2016)、李航(2019)介紹機器學習。Russell and Norvig (2009) 介紹了人工智能。張鈸等(2020) 討論第三代人工智能。
          Mnih et al. (2015) 介紹了深度Q網(wǎng)絡 (Deep Q-Network, DQN)。Badia et al. (2020)討論了Agent57. Silver et al. (2016) 介紹了AlphaGo. Silver et al. (2017) 介紹了AlphaGo Zero;可以不用人類知識就能掌握圍棋,超越人類圍棋水平。Silver et al. (2018) 介紹了AlphaZero, 把AlphaGo Zero擴展到國際象棋和日本將棋等更多游戲。Tian et al. (2019) 實現(xiàn)、分析了AlphaZero,并提供了開源軟件。Moravcik et al. (2017) 介紹了DeepStack;Brown and Sandholm (2017) 介紹了Libratus;是兩個無限注雙人德州撲克計算機算法。
          Vinyals et al. (2019)介紹了AlphaStar,打敗了星際爭霸人類高手。Jaderberg et al. (2018) 介紹了取得人類水平的奪旗程序。OpenAI (2019)介紹了OpenAI Five,打敗了刀塔人類高手。微軟在麻將方面取得了進展(Suphx)。冰壺(curling)被稱為冰上國際象棋,最近也有進展(Curly)。這些在多玩家游戲上取得的成績表明強化學習在團隊游戲中對戰(zhàn)術和戰(zhàn)略已經(jīng)有了一定的掌握。
          OpenAI (2018)介紹了人形機器手Dactyl,用來靈巧地操縱實物。Hwangbo et al. (2019)、Lee et al. (2020) 介紹了靈活的四足機器人。Peng et al. (2018) 介紹了仿真人形機器 DeepMimic完成高難度雜技般的動作。Lazic et al. (2018) 研究了數(shù)據(jù)中心制冷。Segler et al. (2018) 把強化學習應用于化學分子逆合成。Popova et al. (2018) 把強化學習應用于全新藥物設計。等等。
          DQN結合了Q學習和深度神經(jīng)元網(wǎng)絡,使用了經(jīng)驗回放 (experience replay) 和目標網(wǎng)絡 (target network) 技術來穩(wěn)定訓練過程。在經(jīng)驗回放中,經(jīng)驗被存儲在回放緩沖器中,然后隨機樣本用于學習。目標網(wǎng)絡保留一份單獨的網(wǎng)絡參數(shù),用于在學習中使用的網(wǎng)絡參數(shù);目標網(wǎng)絡定期更新,卻并非每個訓練迭代步驟都更新。Mnih et al. (2016) 介紹了異步優(yōu)勢行動者-評價者算法(Asynchronous Advantage Actor-Critic, A3C), 其中并行的行動者使用不同的探索方法來穩(wěn)定訓練,而并沒有使用經(jīng)驗回放。確定策略梯度可以幫助更高效地估計策略梯度。Silver et al. (2014) 介紹了確定策略梯度 (Deterministic Policy Gradient, DPG);Lillicrap et al. (2016) 將它擴展為深度確定策略梯度 (Deep Deterministic Policy Gradient, DDPG)。可信區(qū)域方法對梯度更新設置了約束條件,用來穩(wěn)定策略優(yōu)化。Schulman et al. (2015)介紹了可信區(qū)域策略優(yōu)化算法 (Trust Region Policy Optimization, TRPO);Schulman et al. (2017)介紹了近端策略優(yōu)化算法 (Proximal Policy Optimization, PPO)。Haarnoja et al. (2018)介紹了軟行動者-評價者(Soft Actor Critic)算法。2020年谷歌Deepmind設計了Agent57算法,可以在57個雅達利游戲上都取得非常好的成績。而之前在幾款游戲上,比如Montezuma’s Revenge, Pitfall, Solaris和Skiing上,成績總差強人意。Agent57融合了DQN之后的很多進展,包括分布式學習、短期記憶、片段式記憶、用內在動機方法鼓勵直接探索(包括在長時間尺度上和短時間尺度上追求新穎性)、設計元控制器,用來學習如何平衡探索和利用。
          值得關注Pieter Abbeel, Dimitri Bertsekas, Emma Brunskill, Chelsea Finn, Leslie Kaelbling, Lihong Li, Michael Littman, Joelle Pineau, Doina Precup, Juergen Schmidhuber, David Silver, Satinder Singh, Dale Schuurmans, Peter Stone, Rich Sutton, Csaba Szepesvari等研究人員,以及像CMU, Deepmind, Facebook, Google, Microsoft, MIT, OpenAI, Stanford, University of Alberta, UC Berkeley等研究機構在強化學習方面的工作。
          Amershi et al. (2019)討論了機器學習中的軟件工程;很可能對強化學習也有幫助。作者展示了機器學習工作流的9個階段:模型需求、數(shù)據(jù)收集、數(shù)據(jù)清洗、數(shù)據(jù)標注、特征工程、模型訓練、模型評估、模型部署、以及模型監(jiān)視。在工作流中有很多反饋回路,比如,在模型訓練和特征工程之間;而模型評估和模型監(jiān)視可能會回到前面任何一個階段。作者也指出人工智能中的軟件工程與以前軟件應用中的軟件工程的三個不同:1)發(fā)現(xiàn)數(shù)據(jù)、管理數(shù)據(jù)、為數(shù)據(jù)確定版本號更復雜、更困難;2)模型定制和模型重用都需要不同的技能;3)人工智能組成部分缺少模塊化、復雜的方式糾纏在一起。
          現(xiàn)實世界中強化學習面臨的挑戰(zhàn)的討論基于Dulac-Arnold et al. (2020) 。機器人高效學習的基礎的討論基于Kaelbling (2020)。里面提到兩篇博客:Sutton (2019) The bitter lesson 和 Brooks (2019)A better lesson. 強化學習應用于健康的參考原則基于Gottesman et al. (2019)。Wiens et al. (2019)討論了在健康醫(yī)療中應用機器學習如何做到負責任。人工智能創(chuàng)業(yè):人工智能公司代表一種新的商業(yè)模式的討論基于Casado and Bornstein (2020)。人工智能創(chuàng)業(yè):彌補概念驗證與產(chǎn)品的差距的討論基于Ng (2020)。另外,Alharin et al. (2020), Belle and Papantonis (2020), Lipton (2018) 等討論可解釋性。
          Li (2017) 是深度強化學習綜述,兼顧了該領域的大方向和細節(jié),在歷史發(fā)展的背景下討論了最新的進展。Li (2017) 討論了六個核心元素:值函數(shù)、策略、獎賞、模型、探索-利用、以及表征;討論了六個重要機制:注意力模型和存儲器、無監(jiān)督學習、分層強化學習、多智能體強化學習、關系強化學習、以及元學習;討論了12個應用場景:游戲、機器人、自然語言處理、計算機視覺、金融、商業(yè)管理、醫(yī)療、教育、能源、交通、計算機系統(tǒng)、以及科學、工程、和藝術。
          參考文獻:
          Alharin, A., Doan, T.-N., and Sartipi, M. (2020). Reinforcement learning interpretation methods: A survey. IEEE Access, 8:171058 – 171077.
          Amershi, S., Begel, A., Bird, C., DeLine, R., Gall, H., Kamar, E., Nagappan, N., Nushi, B., and Zimmermann, T. (2019). Software engineering for machine learning: A case study. In ICSE.
          Badia, A. P., Piot, B., Kapturowski, S., Sprechmann, P., Vitvitskyi, A., and Guo, D. (2020). Agent57: Outperforming the atari human benchmark. ArXiv.
          Belle, V. and Papantonis, I. (2020). Principles and practice of explainable machine learning. AXiv.
          Botvinick, M., Ritter, S., Wang, J. X., Kurth-Nelson, Z., Blundell, C., and Hassabis, D. (2019). Reinforcement learning, fast and slow. Trends in Cognitive Sciences, 23(5):408–422.
          Brooks, R. (2019). A better lesson. rodneybrooks.com/a-bett
          Brown, N. and Sandholm, T. (2017). Superhuman ai for heads-up no-limit poker: Libratus beats top professionals. Science.
          Casado, M. and Bornstein, M. (2020). The new business of AI (and how its
          different from traditional software). a16z.com/2020/02/16/ the-new-business-of-ai-and-how-its-different-from-traditional-software/.
          Dulac-Arnold, G., Levine, N., Mankowitz, D. J., Li, J., Paduraru, C., Gowal, S., and Hester, T. (2020). An empirical investigation of the challenges of real-world reinforcement learning. ArXiv.
          Gottesman, O., Johansson, F., Komorowski, M., Faisal, A., Sontag, D., Doshi-Velez, F., and Celi, L. A. (2019). Guidelines for reinforcement learning in healthcare. Nature Medicine, 25:14–18.
          Goodfellow, I., Bengio, Y., and Courville, A. (2016). Deep Learning. MIT Press.
          Haarnoja, T., Zhou, A., Abbeel, P., and Levine, S. (2018). Soft actor-critic: Off-policy maximum entropy deep reinforcement learning with a stochastic actor. In ICML.
          Hwangbo, J., Lee, J., Dosovitskiy, A., Bellicoso, D., Tsounis, V., Koltun, V., and Hutter, M. (2019). Learning agile and dynamic motor skills for legged robots. Science Robotics, 4(26).
          Kaelbling, L. P. (2020). The foundation of efficient robot learning. Science, 369(6506):915–916.
          Lazic, N., Boutilier, C., Lu, T., Wong, E., Roy, B., Ryu, M., and Imwalle, G. (2018). Data center cooling using model-predictive control. In NeurIPS.
          Lee, J., Hwangbo, J., Wellhausen, L., Koltun, V., and Hutter, M. (2020). Learning quadrupedal locomotion over challenging terrain. Science Robotics.
          Li, Y. (2017). Deep Reinforcement Learning: An Overview. ArXiv.
          Lillicrap, T. P., Hunt, J. J., Pritzel, A., Heess, N., Erez, T., Tassa, Y., Silver, D., and Wierstra, D. (2016). Continuous control with deep reinforcement learning. In ICLR.
          Lipton, Z. C. (2018). The mythos of model interpretability. ACM Queue, 16(3):31–57.
          Jaderberg, M., Czarnecki, W. M., Dunning, I., Marris, L., Lever, G., Garcia Castaneda, A., Beat- tie, C., Rabinowitz, N. C., Morcos, A. S., Ruderman, A., Sonnerat, N., Green, T., Deason, L., Leibo, J. Z., Silver, D., Hassabis, D., Kavukcuoglu, K., and Graepel, T. (2018). Human-level performance in first-person multiplayer games with population-based deep reinforcement learning. ArXiv.
          Mnih, V., Badia, A. P., Mirza, M., Graves, A., Harley, T., Lillicrap, T. P., Silver, D., and Kavukcuoglu, K. (2016). Asynchronous methods for deep reinforcement learning. In ICML.
          Mnih, V., Kavukcuoglu, K., Silver, D., Rusu, A. A., Veness, J., Bellemare, M. G., Graves, A., Riedmiller, M., Fidjeland, A. K., Ostrovski, G., Petersen, S., Beattie, C., Sadik, A., Antonoglou, I., King, H., Kumaran, D., Wierstra, D., Legg, S., and Hassabis, D. (2015). Human-level control through deep reinforcement learning. Nature, 518(7540):529–533.
          Moravcik, M., Schmid, M., Burch, N., Lisy, V., Morrill, D., Bard, N., Davis, T., Waugh, K., Johanson, M., and Bowling, M. (2017). Deepstack: Expert-level artificial intelligence in heads-up no-limit poker. Science, 356(6337):508–513.
          Ng, A. (2020). Bridging AI’s proof-of-concept to production gap. youtube. com/watch?v=tsPuVAMaADY.
          OpenAI, Andrychowicz, M., Baker, B., Chociej, M., Jozefowicz, R., McGrew, B., Pachocki, J., Petron, A., Plappert, M., Powell, G., Ray, A., Schneider, J., Sidor, S., Tobin, J., Welinder, P., Weng, L., and Zaremba, W. (2018). Learning dexterous in-hand manipulation. ArXiv.
          OpenAI, Berner, C., Brockman, G., Chan, B., Cheung, V., Debiak, P., Dennison, C., Farhi, D., Fischer, Q., Hashme, S., Hesse, C., Jozefowicz, R., Gray, S., Olsson, C., Pachocki, J., Petrov, M., de Oliveira Pinto, H. P., Raiman, J., Salimans, T., Schlatter, J., Schneider, J., Sidor, S., Sutskever, I., Tang, J., Wolski, F., and Zhang, S. (2019). Dota 2 with large scale deep reinforcement learning. ArXiv.
          Peng, X. B., Abbeel, P., Levine, S., and van de Panne, M. (2018). Deepmimic: Example-guided deep reinforcement learning of physics-based character skills. In SIGGRAPH.
          Popova, M., Isayev, O., and Tropsha, A. (2018). Deep reinforcement learning for de novo drug design. Science Advances, 4(7).
          Powell, W. B. (2011). Approximate Dynamic Programming: Solving the curses of dimensionality (2nd Edition). John Wiley and Sons.
          Powell, W. B. (2019). From reinforcement learning to optimal control: A unified framework for sequential decisions. Arxiv.
          Recht, B. (2019). A tour of reinforcement learning: The view from continuous control. Annual Review of Control, Robotics, and Autonomous Systems, 1:253–279.
          Russell, S. and Norvig, P. (2009). Artificial Intelligence: A Modern Approach (3rd edition). Pearson.
          Schulman, J., Levine, S., Moritz, P., Jordan, M. I., and Abbeel, P. (2015). Trust region policy optimization. In ICML.
          Schulman, J., Wolski, F., Dhariwal, P., Radford, A., and Klimov, O. (2017). Proximal Policy Optimization Algorithms. ArXiv.
          Segler, M. H. S., Preuss, M., and Waller, M. P. (2018). Planning chemical syntheses with deep neural networks and symbolic AI. Nature, 555:604–610.
          Silver, D., Huang, A., Maddison, C. J., Guez, A., Sifre, L., Van Den Driessche, G., Schrittwieser, J., Antonoglou, I., Panneershelvam, V., Lanctot, M., et al. (2016). Mastering the game of go with deep neural networks and tree search. Nature, 529(7587):484–489.
          Silver, D., Lever, G., Heess, N., Degris, T., Wierstra, D., and Riedmiller, M. (2014). Deterministic policy gradient algorithms. In ICML.
          Silver, D., Hubert, T., Schrittwieser, J., Antonoglou, I., Lai, M., Guez, A., Lanctot, M., Sifre, L., Kumaran, D., Graepel, T., Lillicrap, T., Simonyan, K., and Hassabis, D. (2018). A general reinforcement learning algorithm that masters chess, shogi, and go through self-play. Science, 362(6419):1140–1144.
          Silver, D., Lever, G., Heess, N., Degris, T., Wierstra, D., and Riedmiller, M. (2014). Deterministic policy gradient algorithms. In ICML.
          Silver, D., Schrittwieser, J., Simonyan, K., Antonoglou, I., Huang, A., Guez, A., Hubert, T., Baker, L., Lai, M., Bolton, A., Chen, Y., Lillicrap, T., Hui, F., Sifre, L., van den Driessche, G., Graepel, T., and Hassabis, D. (2017). Mastering the game of go without human knowledge. Nature, 550:354–359.
          Sutton, R. (2019). The bitter lesson. incompleteideas.net/Inc BitterLesson.html.
          Sutton, R. S. and Barto, A. G. (2018). Reinforcement Learning: An Introduction (2nd Edition). MIT Press.
          Szepesvari, C. (2010). Algorithms for Reinforcement Learning. Morgan & Claypool.
          Szepesvari, C. (2020). Myths and misconceptions in rl. sites.ualberta.ca/ ?szepesva/talks.html. KDD 2020 Deep Learning Day.
          Tian, Y., Ma, J., Gong, Q., Sengupta, S., Chen, Z., Pinkerton, J., and Zitnick, C. L. (2019). ELF OpenGo: An analysis and open reimplementation of AlphaZero. In ICML.
          Vinyals, O., Babuschkin, I., Czarnecki, W. M., Mathieu, M., Dudzik, A., Chung, J., Choi, D. H., Powell, R., Ewalds, T., Georgiev, P., Oh, J., Horgan, D., Kroiss, M., Danihelka, I., Huang, A., Sifre, L., Cai, T., Agapiou, J. P., Jaderberg, M., Vezhnevets, A. S., Leblond, R., Pohlen, T., Dalibard, V., Budden, D., Sulsky, Y., Molloy, J., Paine, T. L., Gulcehre, C., Wang, Z., Pfaff, T., Wu, Y., Ring, R., Yogatama, D., Wunsch, D., McKinney, K., Smith, O., Schaul, T., Lillicrap, T., Kavukcuoglu, K., Hassabis, D., Apps, C., and Silver, D. (2019). Grandmaster level in StarCraft II using multi-agent reinforcement learning. Nature, 575:350–354.
          Wiens, J., Saria, S., Sendak, M., Ghassemi, M., Liu, V. X., Doshi-Velez, F., Jung, K., Heller, K., Kale, D., Saeed, M., Ossorio, P. N., Thadaney-Israni, S., and Goldenberg, A. (2019). Do no harm: a roadmap for responsible machine learning for health care. Nature Medicine, 25:1337–1340.
          Zhang, A., Lipton, Z. C., Li, M., and Smola, A. J. (2020). Dive into Deep Learning. https: //d2l.ai.
          李航. (2019). 統(tǒng)計學習方法(第二版). 清華大學出版社.
          張鈸, 朱軍, 蘇航. 邁向第三代人工智能. 中國科學: 信息科學, 2020, 50: 1281–1302, doi: 10.1360/SSI-2020-0204 Zhang B, Zhu J, Su H. Toward the third generation of artificial intelligence (in Chinese). Sci Sin Inform, 2020, 50: 1281–1302, doi: 10.1360/SSI-2020-0204
          周志華. (2016). 機器學習. 清華大學出版社

          END



          雙一流大學研究生團隊創(chuàng)建,專注于目標檢測與深度學習,希望可以將分享變成一種習慣!

          整理不易,點贊三連↓

          瀏覽 183
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  午夜伊人 | 日无码一区| 日批免费视频 | 99无码视频 | 五月天婷婷丁香久久 |