強化學習應用簡介

2021-02-15 當柚子遇上量子

最近最讓人興奮的AI新聞是什麼?

AlphaGo!

AlphaGo的核心技術是什麼?

深度學習和強化學習!

強化學習有哪些應用?

非常多!

強化學習 (reinforcement learning) 經過了幾十年的研發,在一直穩定發展,最近取得了很多傲人的成果,後面會有越來越好的進展。強化學習廣泛應用於科學、工程、藝術等領域。

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

我們已經見證了強化學習的一些突破,比如深度Q網絡 (Deep Q-Network, DQN)應用於雅達利(Atari)遊戲、AlphaGo (也包括AlphaGo Zero和AlphaZero)、以及DeepStack/Libratus等。它們每一個都代表了一大類問題,也都會有大量的應用。DQN應用於雅達利遊戲代表著單玩家遊戲,或更一般性的單智能體 (agent) 控制問題。DQN點燃了這一波研發人員對深度強化學習的熱情。AlphaGo代表著雙人完美信息零和遊戲。AlphaGo在圍棋這樣超級難的問題上取得了舉世矚目的成績,是人工智慧的一個裡程碑。AlphaGo讓普羅大眾認識到人工智慧,尤其是強化學習的實力和魅力。DeepStack/Libratus代表著雙人不完美信息零和遊戲,是一類很難的問題,也取得了人工智慧裡程碑級別的成績。

谷歌Deepmind AlphaStar打敗了星際爭霸人類高手。Deepmind在一款多人搶旗遊戲(Catch the Flag)中達到了人類玩家水平。OpenAI Five打敗了人類刀塔(Dota)高手。OpenAI訓練了類人機器人手Dactyl, 用於靈活地操縱實物。谷歌人工智慧把強化學習用到數據中心製冷這樣一個實用系統。DeepMimic模擬人形機器人,掌握高難度的運動技能。強化學習也應用於化學分子逆合成和新藥設計。等等。

強化學習也已經被用到產品和服務中。谷歌雲的自動機器學習 (AutoML) 提供了自動優化神經元網絡結構設計這樣的服務。臉書開源了Horizon產品和服務,實現通知傳達、視頻流比特率優化等功能。谷歌研發了基於強化學習的YouTube視頻推薦算法。亞馬遜與英特爾合作,發布了一款強化學習實體測試平臺AWS DeepRacer. 滴滴出行則把強化學習應用於派單等業務。阿里、京東、快手等把強化學習應用於推薦系統。

強化學習一般看成是機器學習的一種。機器學習從數據中學習做預測或決策。一般把機器學習分為監督學習、無監督學習、和強化學習。監督學習中的數據有標註;無監督學習的數據沒有標註。分類和回歸是兩類監督學習問題,其輸出分別是類別和數字。強化學習中有評估反饋,卻沒有標註數據。評估反饋不能像監督學習中的標註那樣指明一個決策正確與否。與監督學習相比,強化學習還有成績分配、穩定性、探索與利用等方面的挑戰。深度學習,也就是通過深度神經元網絡進行學習,可以作為或用於上面幾種機器學習方法。深度學習是機器學習的一部分,而機器學習又是人工智慧的一部分。深度強化學習則是深度學習與強化學習的結合。下圖左側框圖為機器學習的分類,引自維基百科;右側框圖是人工智慧的分類,引自流行的Russell & Norvig 人工智慧教材。

事實上這些領域都在不斷發展。深度學習可以與其它機器學習、人工智慧算法一道完成某項任務。深度學習和強化學習正在努力解決一些傳統的人工智慧問題,比如邏輯、推理、知識表達等。就像流行的Russell & Norvig 人工智慧教材所述,可以認為強化學習包括所有的人工智慧:在環境中的智能體必須學習如何在裡邊成功的表現;以及,強化學習可以看成整個人工智慧問題的微生物。另外,應該說明,監督學習、無監督學習、強化學習兩兩之間有一定交叉。

如下圖所示,強化學習與計算機科學、工程、數學、經濟學、心理學、神經科學、機器學習、最優控制、運籌學、博弈論、條件反射、獎賞系統等都有內在的聯繫。此圖為David Silver強化學習英文版課件的中文翻譯。

強化學習/人工智慧、運籌學、最優控制這些學科都以應用數學、優化、統計為基礎,同時為科學工程各方面的應用提供工具。運籌學、最優控制一般需要模型;比如混合整數規劃、隨機規劃等數學表達式就是模型的體現。模型一般不準確、測不準;參數估計一般有誤差。強化學習可以不用模型,直接通過數據進行訓練,從而做出接近最優或最優的決策。數據可以來自完美模型、精準仿真器、或大數據。強化學習可以處理很複雜的問題。AlphaGo給了一個有力證明。策略迭代提供了一條不斷提升性能的途徑。強化學習/人工智慧、運籌學、最優控制相互促進,各取所長。強化學習得益於動物學習、神經科學、心理學的獎賞系統、條件反射等。同時,強化學習可以解釋多巴胺等神經科學中的機制。圖中沒有展示,但心理學、神經科學為強化學習/人工智慧與社會科學、藝術等架設了聯繫的橋梁。

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

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

下面舉一個強化學習應用於最短路徑問題的例子。最短路徑問題就是要找起始節點到終止節點之間的最短路徑,也就是要最小化它們之間的距離,或者最小化它們之間路徑上所有的邊的距離的和。最短路徑問題如下定義成強化學習問題。當前節點為狀態。在每個節點,動作是指順著相連的邊到達鄰居節點。轉移模型指從某個節點選擇通過一條邊後到達相應的鄰居節點,當前狀態或節點也隨之改變。獎賞則是剛通過的邊的距離的負數。到達終止節點則該片段結束。折扣因子可以設為1,這樣就不用區分眼前的邊的距離和將來的邊的距離。我們可以把折扣因子設成1,因為問題是片段式的。目標是找到一條從起始節點到終止節點的最短路徑,最大化整條路徑上距離的負數的和,也就最小化了整條路徑的距離。在某個節點,最優策略選擇最好的鄰居節點,轉移過去,最後完成最短路徑;而對於每個狀態或節點,最優值函數則是從那個節點到終止節點的最短路徑的距離的負數。

下圖是一個具體的例子。圖中有節點、(有向)邊、邊的距離這些圖的信息。我們要找從節點S到節點T的最短路徑。強化學習算法並不了解圖的全局信息。在節點S,如果我們選擇了最近的鄰居節點A,那麼就沒辦法找到最短路徑S → C → F → T 了。這個例子說明,如果一個算法只關注眼前利益,比如在節點S選擇最近的鄰居節點A,可能會導致無法找到最優結果。像TD學習和Q學習這樣的強化學習方法,考慮了長期回報,都可以找到最優解。

有的讀者可能會問:為什麼不用Dijkstra算法?如果我們有節點、邊、邊的距離這樣的圖的全局信息,那麼Dijkstra算法可以高效地找到最短路徑。強化學習算法可以不用這些全局信息,而是用免模型的方式,根據TD學習和Q學習這樣的算法在圖中不斷採集本地信息,更新值函數,最終找到最短路徑。Dijkstra算法在知道圖的全局信息時,是最短路徑的高效算法;而強化學習可以不依託於這些全局信息,比Dijkstra算法的適用面更廣,是一般性的優化方法框架。

另外,強化學習可以處理有隨機元素的最短路徑問題。而且,目前的一個研究熱點是,用機器學習/強化學習去學習一類問題的求解方法;遇到新問題,直接用推斷的方式得出答案。

在圍棋中,狀態指當前棋盤的狀態,包括黑白棋子的位置,空的位置等。圍棋的狀態空間特別大,有250的150次方個不同的狀態。而西洋棋的狀態空間為35的80次方。為了處理一些複雜的情況,比如「大龍」,狀態也應該包括歷史信息。這樣會明顯增大狀態空間。動作指目前可以放棋子的位置。每一步,每位玩家最多有19x19=361個可能的動作。轉移模型表達了在當前玩家落子後棋盤狀態的變化。圍棋中轉移模型是確定性的;或者說沒有隨機性。獎賞函數指在當前玩家落子後獲得的獎賞。只有在確定勝負時,勝了得1分,輸了-1分,其它情況都是0分。圍棋AI的目標是設計最優對弈策略,或者說贏棋。圍棋中有明確的遊戲規則,這樣,就有完美的轉移模型和獎賞函數。因為狀態空間特別大,而且狀態的值函數非常難估計,圍棋是AI領域一個長期的難題。所以,2016年穀歌Deepmind的AlphaGo打敗國際頂級棋手李世乭成為世界頭條新聞,展現了深度強化學習的強大威力。

如果有系統模型,我們可能可以使用動態規劃(dynamic programming) 方法:用策略評估 (policy evaluation) 去計算一個策略的狀態或動作值函數,用值迭代 (value iteration) 或策略迭代 (policy iteration) 來找到最優策略;而策略迭代通常使用策略評估和策略改進 (policy improvement)迭代計算。我們要解決的很多問題沒有現成的系統模型;這樣,強化學習就有其用武之地。強化學習可以不需要模型,即免模型 (model-free) 的方式,得到最優值函數和最優策略。免模型強化學習可以通過與環境交互的在線(online)方式學習,也可以通過離線(offline)方式從歷史數據中學習。蒙特卡羅 (Monte Carlo) 方法用樣本的均值做估計;每一個樣本是完整的一條經驗軌跡;它不需要系統的模型,但是它只適用於片段式的任務。

時序差分 (temporal difference, TD) 學習是強化學習中的一個核心概念。TD學習一般指阿爾伯塔大學(University of Alberta) Richard Sutton教授於1988年發現的用於值函數評估的學習方法。TD學習直接從經驗中,通過自助法 (bootstrapping) 、以免模型、在線、完全增量(incremental)方式學習狀態值函數。這裡邊,自助法是一種基於自身的估計去做估計的方法。TD學習是一種同策略 (on-policy) 方法,通過行為策略產生的樣本來評估同樣的策略。Q學習是一種時序差分控制方法,通過學習最優動作值函數來找到最優策略。Q學習是一種異策略 (off-policy) 方法,通過從某個行為策略產生的數據來學習,而這些數據一般不是通過目標策略產生。

TD學習和Q學習評估狀態值函數或動作值函數,是基於值的 (value-based) 方法。而基於策略的 (policy-based) 方法則直接優化策略,比如策略梯度 (policy gradient) 方法。行動者-評價者 (actor-critic) 算法同時更新值函數和策略。

在表格式的情況,值函數和策略以表格的形式存儲。如果狀態空間與動作空間很大或者是連續的,那麼就需要函數近似 (function approximation) 來實現泛化 (generalization) 能力。函數近似是機器學習中的一個概念;其目標是從部分樣本泛化函數從而近似整個函數。線性函數近似是一種常用方法;一個原因是它有比較好的理論性質。在線性函數近似中,一個函數由一些基函數(basis function)的線性組合近似。線性組合的係數則需要由學習算法確定。

我們也可以用非線性函數近似,尤其是使用深度神經元網絡,也就是最近流行的深度學習所用的網絡結構。如果把深度學習和強化學習結合起來,用深度神經元網絡來表達狀態、值函數、策略、模型等,我們就得到了深度強化學習(deep reinforcement learning, deep RL)。這裡深度神經元網絡的參數需要由學習算法來確定。深度強化學習最近受到廣泛關注,也取得了很多斐然的成績。應該說,深度強化學習在很久以前就取得過好成績;比如1992年應用於西洋雙陸棋(Backgammon)的TD-Gammon工作。有一些比較有影響的深度強化學習算法,比如,上面提到的DQN算法,還有異步優勢行動者-評價者算法(Asynchronous Advantage Actor-Critic, A3C), 深度確定性策略梯度算法(Deep Deterministic Policy Gradient, DDPG), 可信區域策略優化算法(Trust Region Policy Optimization, TRPO), 近端策略優化算法(Proximal Policy Optimization, PPO),和軟行動者-評價者算法(soft actor-critic)等等。最後的注釋參考文獻部分簡要介紹了這些算法。

強化學習的一個基本問題是探索-利用(exploration-exploitation)之間的矛盾。智能體一方面需要利用目前最好的策略,希望獲得最好的回報;另一方面,目前最好的策略不一定是最優策略,需要探索其它可能性;智能體需要在探索-利用兩者之間進行平衡折衷。一個簡單的探索方案是  -貪婪方法:以1-  的概率選擇最優的動作,否則隨機選擇。上置信界算法(Upper Confidence Bound , UCB)是另外一類探索方法,同時考慮動作值函數及其估計方差。UCB應用於搜索樹中得到UCT算法,在AlphaGo中發揮了重要作用。

在這裡匯集了一些強化學習詞彙,方便讀者查詢。

預測 (prediction),或策略評估 (policy evaluation),用來計算一個策略的狀態或動作值函數。控制 (control) 用來找最優策略。規劃 (planning) 則根據模型來找值函數或策略。

用行為策略 (behaviour policy) 來產生樣本數據;同時希望評估目標策略 (target policy)。同策略 (on-policy) 中,產生樣本的行為策略與需要評估的目標策略相同。比如,TD學習就用來評估當前的策略,或者說用同樣的策略產生的樣本來做策略評估。異策略 (off-policy) 中,產生樣本的行為策略與需要評估的目標策略一般不相同。比如,Q學習的目標是學習最優策略的動作值函數,而用來學習的樣本數據一般都不是依據最優策略產生的。

探索-利用 (exploration-exploitation) 之間的矛盾指,智能體需要利用目前最好的策略,希望達到最大化獎賞的目標;同時,也需要探索環境,去發現更好的策略,尤其是在目前的策略仍然不是最優策略或者環境並不穩定等情況下。

在免模型 (model-free) 強化學習方法中,智能體不知道狀態轉移和獎賞模型,從與環境的交互經驗中通過試錯的方式直接學習。而基於模型(model-based)強化學習方法則利用模型。模型可以是給定的,比如像計算機圍棋中那樣通過遊戲規則得到的完美模型,或是通過數據學習來的。

在線模式 (online) 算法通過序列數據流來訓練,不保存數據,不進一步使用數據。離線模式(offline) 或批量模式 (batch mode) 算法則通過一組數據來訓練。

在自助法(bootstrapping)中,對一個狀態或動作的值函數估計會通過其它狀態或動作的值函數估計來獲得。

把強化學習應用於實際場景,首先要明確強化學習問題的定義,包括環境、智能體、狀態、動作、獎賞這些核心元素。有時也可能知道狀態轉移模型。需要考察監督學習或情境老虎機(contextual bandits)是否更適合要解決的問題;如果是那樣,強化學習則不是最好的解決方案。強化學習的應用場景一般需要一定的資源,包括人才、計算力、大數據等。

目前成功的強化學習應用一般需要有足夠的訓練數據;可能來自完美的模型、很接近真實系統的仿真程序、或通過與環境交互收集到的大量數據。收集到的數據根據問題做相應處理。

一個模型或好的仿真程序可以產生足夠的數據進行訓練。有些問題,比如健康醫療、教育、自動駕駛等方面的問題,可能很難、不可行、或不合乎道德規範對所有情況採集數據。這種情況,異策略技術可以用行為策略產生的數據來學習目標策略。把在仿真程序學到的策略遷移到真實場景方面最近有一些喜人的進展,尤其在機器人方面。有些問題可能需要大量的計算。比如,AlphaGo的成功有幾個重要因素:通過遊戲規則得到了完美模型,產生大量訓練數據,谷歌級的海量計算能力進行大規模訓練,以及研發人員非凡的科研和工程能力。

特徵工程一般需要大量的手工處理並結合很多相關行業知識。隨著深度學習興起的端到端學習模式,手工的特徵工程可能很少用,甚至不用。不過,在實際問題中,特徵工程很可能無法避免,也可能是取得好性能至關重要的因素。

需要考慮強化學習的表徵問題,比如,是否需要以及需要什麼樣的神經網絡來表達值函數和策略;是否考慮線性模型;而對於規模並不大的問題,甚至可以考慮表格的方式。

有了數據、特徵、和表徵,需要考慮選取什麼算法來計算最優值函數和最優策略。有許多強化學習算法可能選擇,可能是在線的或離線的、同策略或異策略的、免模型或有模型的等。通常根據問題的具體情況,選擇幾種算法,然後挑性能最好的。

通過做實驗,參數調優,比較算法性能。強化學習應該與目前最高水平的算法對比,可能是其它強化學習算法,也可能是監督學習、情境老虎機、或某種傳統算法。為了調優算法,可能多次迭代前面幾步。

當訓練的強化學習算法性能足夠好,就把它部署到實際系統中,監控性能,不斷調優算法。可能需要多次迭代前面幾步,調優系統性能。

上圖描述了應用強化學習的流程,簡單總結如下。

第一步:定義強化學習問題。定義環境、智能體、狀態、動作、獎賞這些核心元素。

第二步:數據準備,收集數據,預處理。

第三步:特徵工程,一般根據領域知識手動生成,也可能以端到端的方式自動產生。

第四步:選擇表徵方式,有深度神經元網絡、其它非線性、線性、甚至表格等表徵方式。

第五步:選擇算法,根據問題選擇幾種算法。

第六步:實驗、調優系統;可能要多次迭代前面幾步。

第七步:部署、調優系統。可能要多次迭代前面幾步。

強化學習雖然取得了很多驕人的成績,但是仍然存在不少問題。強化學習與函數近似結合,尤其與深度學習結合,存在「死亡三組合」 (deadly triad) 問題。就是說,在異策略、函數近似、自助法同時結合時,訓練可能會碰到不穩定或發散的問題。樣本效率、稀疏獎賞、成績分配、探索-利用、表徵等是常見問題。深度強化學習還有可複製性的問題,實驗結果可能會受到網絡結構、獎賞比例、隨機種子、隨機實驗、環境、程序實現等的影響。強化學習同機器學習一樣面臨一些問題,比如時間效率、空間效率、可解釋性、安全性、可擴展性、魯棒性、簡單性等等。從積極的角度看待,研發人員一直在這些方面努力工作。後面章節會進一步討論。

強化學習雖然有這麼多問題,卻可以給很多問題提供有效的解決方案。麻省理工學院(Massachusetts Institute of Technology, MIT) Dimitri Bertsekas教授是強化學習領域有影響的研究者。他對強化學習的應用持謹慎樂觀的態度。他指出:一方面,還沒有強化學習方法可以解決所有甚至大多數問題;另一方面,有足夠多的方法去嘗試,有比較好的可能性在大多數問題上取得成功,比如確定性問題、隨機性問題、動態問題、離散或連續問題、各類遊戲等等。他說:我們開始用強化學習解決難以想像的難題!他又說:我們前面的強化學習旅程令人激動!

下面討論幾個話題,關於現實世界中強化學習面臨的挑戰,機器人高效學習的基礎、強化學習應用於健康的參考原則、把機器學習負責任地應用於健康醫療、以及人工智慧創業。雖然有些話題關於人工智慧或機器學習,但對強化學習及其應用也有參考意義。

谷歌Deepmind和谷歌研究院合作發表論文,研究為什麼強化學習雖然在遊戲等問題獲得了巨大成功,但在現實世界中仍然沒有被大規模應用。他們討論了下面九個制約因素:1)能夠對現場系統從有限的採樣中學習;2)處理系統執行器、傳感器、或獎賞中存在的未知、可能很大的延遲;3)在高維狀態空間和動作空間學習、行動;4)滿足系統約束,永遠或極少違反;5)與部分可觀察的系統交互,這樣的系統可以看成是不平穩的或隨機的;6)從多目標或沒有很好指明的獎賞函數學習;7)可以提供實時動作,尤其是為高控制頻率的系統;8)從外部行為策略的固定的日誌數據離線學習;9)為系統操作員提供可解釋的策略。他們辨識並定義了這些挑戰因素,對每個挑戰設計實驗並做分析,設計實現基線任務包含這些挑戰因素,並開源了軟體包。

在目前的深度學習、強化學習、機器學習的基礎上,機器人學習算法取得成功的一個關鍵因素是需要大量的實際數據。而一個通用機器人要面對各種各樣的情況,則獲取大量訓練數據成本會很高。這樣,下面幾個方面會很關鍵:1)採樣高效 (sample efficient),需要比較少的訓練數據;2)可泛化性 (generalizable),訓練的機器人不光能應用於訓練的情況,還可以擴展到很多其它情況;3)組合方式 (compositional),可以通過以前的知識組合而成;4)增量方式 (incremental),可以逐漸增加新知識和新能力。目前的深度強化學習雖然可以學習很多新能力,不過,一般需要很多數據,泛化性不好,不是通過組合或增量的方式訓練和執行。學習算法如果要獲得泛化能力,需要具備固有的知識或結構等形式的歸納偏向(inductive bias),同時提高採樣效率。組合性和增量性可以通過特定的結構化的歸納偏向獲得,把學到的知識分解成語義相互獨立的因子,就可以通過組合解決更多的問題。

在學習算法中加入先驗知識或結構,有一定的爭議。強化學習之父Richard Sutton認為不應該在學習系統中加入任何先驗知識,因為人工智慧的歷史經驗表明,每次我們想人為加些東西,結果都是錯的。MIT教授Rodney Brooks寫博客做了強烈回應。這樣的學術爭論很有益,可以讓我們辯明設計學習系統時的問題:應該把什麼樣的歸納偏向包括到學習系統中,可以幫助從適量的數據中學到可以泛化的知識,同時又不會導致不準確或過度約束?

有兩種方式可以找到合適的歸納偏向。一種是元學習(meta-learning)。在系統設計階段,以離線方式學習結構、算法、先驗知識;這樣,到系統部署後,就可以在新環境高效地在線學習。在系統設計階段,元學習通過可能在部署後碰到的任務的大量訓練數據,學習一個學習算法,當遇到新的任務時,可以儘可能高效地學習;而不是學習對一個環境好的算法,或是試圖學一個對所有環境都好的算法。元學習通過學習訓練任務之間的共性,形成先驗知識或歸納偏向,這樣,遇到新任務就可以主要去學習差異性。

還有一些可能的方向,包括讓人教機器人,與其它機器人合作學習,修改機器人軟體的時候一道修改硬體。利用從計算機科學與工程和認知神經科學獲得的靈感,幫助設計機器學習的算法和結構。卷積神經元網絡(convolutional neural networks)是一個很好的例子。卷積利用了翻譯不變性(translation invariance),就是說,物體不管在圖像中的什麼位置,其表現基本不變;還有空間局部性(spatial locality),就是說,一組臨近的像素共同提供圖片的信息。用了卷積這樣的歸納偏向,神經元網絡的參數就大幅減少了,也大幅減少了訓練。哺乳動物的視覺中樞應該就有類似於卷積這樣的計算過程。機器人和強化學習需要類似的靈感來設計更高效的算法。

強化學習是一類通用的學習、預測、決策的方法框架,在科學、工程、藝術等領域有廣泛應用。已經在雅達利遊戲、AlphaGo、機器人、推薦系統、AutoML等領域取得了突出成績。不過,把強化學習應用到實際場景中仍然有很多挑戰。這樣,我們很自然地會問:問題是什麼,如何解決?

筆者與Alborz Geramifard (臉書), Lihong Li (谷歌), Csaba Szepesvari (Deepmind & 阿爾伯塔大學), Tao Wang (蘋果) 擔任機器學習頂級期刊《機器學習》強化學習應用專刊的客座編輯。這個專刊的主要目標為:(1) 確定能使強化學習成功應用的關鍵研究問題;(2) 報告在這些關鍵問題上的進展;3)讓領域專家分享把強化學習應用到實際場景的成功故事,以及在應用過程中獲得的洞察領悟。

專刊邀請解決強化學習落地相關的問題,把強化學習算法成功地應用於實際問題的稿件。專刊感興趣的話題比較廣泛,包括但不限於以下的話題:

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

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

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

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

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

研討會有三個一流的特邀報告:

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

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

推薦系統中的強化學習。報告人:Craig Boutilier

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

有大約60篇海報/論文。選擇了4篇最佳論文:

Chow et al. 討論了連續動作問題裡的安全性

Dulac-Arnold et al. 討論了強化學習應用的9個挑戰

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

Mao et al. 討論了增強計算機系統開放平臺Park

歡迎訪問研討會網站;有特邀報告的視頻連結、大部分論文和一部分海報;網址為:sites.google.com/view/R.

2020年6月,筆者與Gabriel Dulac-Arnold (谷歌), Alborz Geramifard (臉書), Omer Gottesman(哈佛大學),Lihong Li (谷歌), Anusha Nagabandi (加州大學伯克利分校), Zhiwei (Tony) Qin (滴滴), Csaba Szepesvari (Deepmind & 阿爾伯塔大學) 在網上共同組織舉辦了強化學習應用研討會。會議邀請了頂級專家組成了兩個專題討論小組,分別討論「強化學習+健康醫療」和「一般性強化學習」兩個專題;會議有30多篇海報/論文。

強化學習+健康醫療專題討論由Finale Doshi-Velez (哈佛大學), Niranjani Prasad (普林斯頓大學),Suchi Saria (約翰霍普金斯大學)組成, 由Susan Murphy (哈佛大學)主持,由Omer Gottesman(哈佛大學)做開場及總結主持。

一般性強化學習專題討論由Ed Chi (谷歌), Chelsea Finn (史丹福大學), Jason Gauci (臉書)組成, 由Peter Stone (德克薩斯大學&索尼)主持, 由Lihong Li (谷歌)做開場及總結主持。

更多信息參見會議網址:sites.google.com/view/R.

強化學習的學習資料中,Sutton & Barto 的強化學習教科書是必讀的,David Silver的UCL課程是經典,阿爾伯塔大學最近在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強化學習書裡面的例子都實現了,也有很多深度強化學習算法的實現:github.com/ShangtongZha.

筆者偶爾寫博客:zhihu.com/people/yuxili,在知乎上開了強化學習專欄:zhuanlan.zhihu.com/c_11. 其中《強化學習資料》收集了很多強化學習及相關的資料;《強化學習應用場景》收集了很多強化學習應用方面的論文、資料。

早期的強化學習有兩個主要的豐富綿長的發展線索。一個是源於動物學習的試錯法;在早期的人工智慧中發展,與二十世紀八十年代促進了強化學習的復興。另一個是最優控制及其解決方案:值函數和動態規劃。最優控制大部分沒有包括學習。這兩個線索先是分頭進展,到二十世紀八十年代,時序差分(temporal-difference)方法出現,形成第三條線索。然後幾種線索交織融合到一起,發展成現代強化學習。

最優控制始於二十世紀五十年代,設計控制器來優化動態系統一段時間內行為的性能指標。動態規劃是最優控制的一個解決方法,由Richard Bellman等人提出,基於以前Hamilton和Jacobi的理論。動態規劃使用動態系統的狀態和值函數,或最優回報函數,來定義一個等式,現在被稱為Bellman等式。通過解這個等式的一組方法則被稱為動態規劃方法。Bellman也提出離散隨機版的最優控制問題,既馬爾科夫決策過程(Markov decision processes, MDP). Ronald Howard在1960年給MDP問題設計了策略迭代方法。這些都是現代強化學習理論和算法的基本元素。

一般認為,動態規劃是解決一般性的隨機優化控制的唯一方法。動態規劃會遇到「維度災難」問題,就是說,它的計算複雜性隨著狀態變量的個數而指數增長。不過,動態規劃仍然是最高效、應用最廣的方法。動態規劃已經被擴展到部分可見馬爾科夫決策過程(Partially Observable MDP, POMDP),異步方法,以及各種應用。

最優控制、動態規劃與學習的聯繫,確認得卻比較慢。可能的原因是這些領域由不同的學科在發展,而目標也不盡相同。一個流行的觀點是動態規劃是離線計算的,需要準確的系統模型,並給出Bellman等式的解析解。還有,最簡單的動態規劃是按時間從後向前運算的,而學習則是從前往後的,這樣,則很難把兩者聯繫起來。事實上,早期的一些研究工作,已經把動態規劃與學習結合起來了。而在1989年,Chris Watkins用MDP的形式定義強化學習問題,把動態規劃和線上學習完全結合起來,也得到廣泛接受。之後,這樣的聯繫獲得進一步的發展。麻省理工學院的Dimitri Bertsekas和John Tsitsiklis提出了神經元動態規劃(neurodynamic programming)這一術語,用來指代動態規劃與神經元網絡的結合。現在還在用的另一個術語是近似動態規劃(approximate dynamic programming). 這些方法與強化學習都是在解決動態規劃的經典問題。

在某種意義上,最優控制就是強化學習。強化學習問題與最優控制問題緊密相關,尤其是描述成MDP的隨機優化控制問題。這樣,最優控制的解決方法,比如動態規劃,也是強化學習方法。大部分傳統的最優控制方法需要完全的系統模型知識,這樣把它們看成強化學習有些不夠自然。不過,許多動態規划算法是增量的、迭代的。像學習方法一樣,它們通過連續的近似逐漸達到正確解。這些相似性有著深刻的意義,而對於完全信息和不完全信息的理論和方法也緊密相關。

下面討論強化學習早期發展的另外一條線索:試錯學習法。試錯學習法最早可以追溯到十九世紀五十年代。1911年,Edward Thorndike簡明地把試錯學習法當成學習的原則:對於同一情況下的幾個反應,在其它因素一樣時,只有伴隨著或緊隨動物的喜悅之後的那些反應,才會被更深刻地與當下的情況聯繫起來,這樣,當這些反應再次發生,再次發生的可能性也更大;而只有伴隨著或緊隨動物的不適之後的那些反應,與當下的情況聯繫會被削弱,這樣,當這些反應再次發生,再次發生的可能性會更小。喜悅或不適的程度越大,聯繫的加強或減弱的程度也越大。Thorndike稱其為「效果定律」(Law of Effect), 因為它描述了強化事件對選擇動作的傾向性的效果,也成為許多行為的基本原則。

「強化」這一術語出現於1927年巴浦洛夫(Pavlov)條件反射論文的英譯本,晚於Thorndike的效果定律。巴浦洛夫把強化描述成,當動物接收到刺激,也就是強化物,對一種行為模式的加強,而這個刺激與另一個刺激或反應的發生有合適的時間關係。

在計算機裡實現試錯法學習是人工智慧早期的想法之一。在1948年,阿蘭·圖靈(Alan Turing)描述了一個「快樂-痛苦系統」,根據效果定律設計:達到一個系統狀態時,如果選哪個動作還沒有確定,就暫時隨機選一個,作為臨時記錄。當出現一個痛苦刺激,取消所有的臨時記錄;當出現一個快樂刺激,所有的臨時記錄變成永久記錄。

1954年,圖靈獎獲得者馬文·明斯基(Marvin Minsky)在他的博士論文裡討論了強化學習的計算模型,描述了他搭建的模擬電路機器,用來模仿大腦中可以修改的突觸連接。他於1961年發表《通向人工智慧的幾個步驟》(Steps Toward Artificial Intelligence), 討論了與試錯學習法相關的幾個問題,包括預測、期望、還有被他稱為複雜強化學習系統中基本的獎賞分配問題:如何把成功獲得的獎賞分配給可能導致成功相關的那些決定?這個問題仍然是現代強化學習的一個關鍵問題。

二十世紀六十年代、七十年代試錯學習法有一些發展。Harry Klopf在人工智慧領域對試錯法在強化學習中的復興做了重要貢獻。Klopf發現,當研究人員專門關注監督學習時,則會錯過自適應行為的一些方面。按照Klopf所說,行為的快樂方面被錯過了,而這驅動了從環境成功獲得結果,控制環境向希望的結果發展,而遠離不希望的結果。這是試錯法學習的基本思想。Klopf的思想對強化學習之父Richard Sutton和Andrew Barto有深遠影響,使得他們深入評估監督學習與強化學習的區別,並最終專注強化學習,包括如何為多層神經元網絡設計學習算法。

現在討論強化學習發展的第三個線索,時序差分學習。時序差分學習基於對同一個量在時間上相連的估計,比如,圍棋例子中贏棋的概率。時序差分學習是強化學習中一個新的獨特的方法。

時序差分學習部分上起源於動物學習心理學,尤其是次要強化物的概念。次要強化物與像食物和痛苦這樣的主要強化物相伴而來,所以也就有相應的強化特點。明斯基於1954年意識到這樣的心理學原則可能對人工學習系統的重要意義;他可能是第一位。1959年,Arthur Samuel在其著名的國際跳棋程序中,第一次提出並實現了包括時序差分學習的學習方法。Samuel受克勞德·香農(Claude Shannon)1950年工作的啟發,發現電腦程式可以用評估函數玩西洋棋,棋藝也可以通過在線修改這個評估函數來提高。明斯基於1961年深入討論Samuel的方法與次要強化物的聯繫。Klopf在1972年把試錯學習法與時序差分學習聯繫起來。

Sutton在1978年進一步研究Klopf的想法,尤其是與動物學習的聯繫,通過連續時間預測的變化來定義學習規則。Sutton和Barto繼續改進這些想法,提出了基於時序差分學習的經典條件反射心理學模型。同時期有不少相關工作;一些神經科學模型也可以用時序差分學習來解釋。

Sutton和Barto於1981年提出了行動者-評價者體系結構,把時序差分學習與試錯學習結合起來。Sutton1984年的博士論文深入討論了這個方法。Sutton於1988年把時序差分學習與控制分開,把它當做一種通用的預測方法。那篇論文也提出了多步時序差分學習算法。

在1989年,Chris Watkins提出Q學習,把時序差分學習、最優控制、試錯學習法三個線索完全融合到一起。這時,開始在機器學習和人工智慧領域出現大量的強化學習方面的研究。1992年,

Gerry Tesauro成功地使用強化學習和神經元網絡設計西洋雙陸棋(Backgammon)的TD-Gammon算法,進一步增加了強化學習的熱度。

Sutton和Barto於1998年發表《強化學習介紹》之後,神經科學的一個子領域專注於研究強化學習算法與神經系統中的強化學習,而這歸功於時序差分學習算法的行為與大腦中生成多巴胺的神經元的活動之間神秘的相似性。強化學習還有數不勝數的進展。

最近,隨著DQN算法的出現以及AlphaGo的巨大成功,強化學習進一步發展,也出現了深度強化學習這一子領域。這樣,強化學習簡史就與前面的介紹銜接起來了。

強化學習是一類一般性的學習、預測、決策方法框架。如果一個問題可以描述成或轉化成序列決策問題,可以對狀態、動作、獎賞進行定義,那麼強化學習很可能可以幫助解決這個問題。強化學習有可能幫助自動化、最優化手動設計的策略。

強化學習考慮序列問題,具有長遠眼光,考慮長期回報;而監督學習一般考慮一次性的問題,關注短期效益,考慮即時回報。強化學習的這種長遠眼光對很多問題找到最優解非常關鍵。比如,在最短路徑的例子中,如果只考慮最近鄰居節點,則可能無法找到最短路徑。

David Silver博士是AlphaGo的核心研發人員,他提出這樣的假設:人工智慧=強化學習+深度學習。Russell和Norvig的經典人工智慧教材裡提到:強化學習可以說包括了整個人工智慧。有研究表明,計算機科學中任何可以計算的問題,都可以表達成強化學習問題。

本書前面首先介紹了強化學習,然後介紹了強化學習在遊戲、推薦系統、計算機系統、健康醫療、教育、金融、機器人、交通、能源、製造等領域的一些應用。應該說,這裡的每個領域都有很多工作、很多方向沒有討論,另外還有很多領域沒有包括進來;難免掛一漏萬。下圖中描述了強化學習的應用領域及方向。可能的應用領域太廣了。

強化學習在計算機系統中的各個方向,從底層的晶片設計、硬體系統,到作業系統、編譯系統、資料庫管理系統等軟體系統,到雲計算平臺、通信網絡系統等基礎設施,到遊戲引擎、推薦系統等應用程式,到計算機視覺、自然語言處理、機器學習人工智慧系統本身,都有廣泛的應用。

對於科學、工程、藝術,本書有所涉及,比如遊戲中涉及心理學、設計藝術等,而機器人、交通、能源、製造等與工程密切相關。應該說,對於強化學習在科學、工程、藝術等方面廣泛的應用場景,以及這些領域對強化學習的反哺,本書的涉獵有限。

自然科學及工程的問題,一般比較客觀,有標準答案,容易評估。如果有模型、比較準確的仿真、或大量數據,強化學習/機器學習就有希望解決問題。AlphaGo是這種情況。組合優化、運籌學、最優控制、藥學、化學、基因等方向,基本符合這種情況。社會科學及藝術問題,一般包含人的因素,會受心理學、行為科學等影響,一般比較主觀,不一定有標準答案,不一定容易評估。遊戲設計及評估、教育等基本符合這種情況。內在動機等心理學概念為強化學習/人工智慧與社會科學及藝術之間搭建了聯繫的橋梁。

深度學習和強化學習分別於2013年和2017年被《麻省理工學院科技評論》評為當年10項突破性技術之一。深度學習已經被廣泛應用。強化學習會在實際應用場景中發揮越來越重要的作用。強化學習已經被成功應用於遊戲、推薦系統等領域,也可能已經成功應用於量化金融中。目前,強化學習可能還沒有被廣泛應用於某些場景的產品和服務中;我們也很可能需要對不同情況做不同的分析。不過,如果考慮長期回報,現在很可能是培養、教育、引領強化學習市場的絕佳時機。我們會看到深度學習和強化學習大放異彩。

Sutton and Barto (2018) 是強化學習的首選教材,而且寫的很直觀。Szepesvari (2010) 討論了強化學習算法。Bertsekas (2019) 介紹了強化學習和最優控制。Bertsekas and Tsitsiklis (1996) 討論了神經元動態規劃,理論性比較強。Powell (2011) 討論了近似動態規劃,及其在運籌學中的應用。Powell (2019) 和 Recht (2019) 討論了強化學習與最優控制的關係。Botvinick et al. (2019) 討論了強化學習與認知科學、心理學、神經科學的關係。

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網絡 (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) 實現、分析了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)。這些在多玩家遊戲上取得的成績表明強化學習在團隊遊戲中對戰術和戰略已經有了一定的掌握。

OpenAI (2018)介紹了人形機器手Dactyl,用來靈巧地操縱實物。Hwangbo et al. (2019)、Lee et al. (2020) 介紹了靈活的四足機器人。Peng et al. (2018) 介紹了仿真人形機器 DeepMimic完成高難度雜技般的動作。Lazic et al. (2018) 研究了數據中心製冷。Segler et al. (2018) 把強化學習應用於化學分子逆合成。Popova et al. (2018) 把強化學習應用於全新藥物設計。等等。

DQN結合了Q學習和深度神經元網絡,使用了經驗回放 (experience replay) 和目標網絡 (target network) 技術來穩定訓練過程。在經驗回放中,經驗被存儲在回放緩衝器中,然後隨機樣本用於學習。目標網絡保留一份單獨的網絡參數,用於在學習中使用的網絡參數;目標網絡定期更新,卻並非每個訓練迭代步驟都更新。Mnih et al. (2016) 介紹了異步優勢行動者-評價者算法(Asynchronous Advantage Actor-Critic, A3C), 其中並行的行動者使用不同的探索方法來穩定訓練,而並沒有使用經驗回放。確定策略梯度可以幫助更高效地估計策略梯度。Silver et al. (2014) 介紹了確定策略梯度 (Deterministic Policy Gradient, DPG);Lillicrap et al. (2016) 將它擴展為深度確定策略梯度 (Deep Deterministic Policy Gradient, DDPG)。可信區域方法對梯度更新設置了約束條件,用來穩定策略優化。Schulman et al. (2015)介紹了可信區域策略優化算法 (Trust Region Policy Optimization, TRPO);Schulman et al. (2017)介紹了近端策略優化算法 (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個階段:模型需求、數據收集、數據清洗、數據標註、特徵工程、模型訓練、模型評估、模型部署、以及模型監視。在工作流中有很多反饋迴路,比如,在模型訓練和特徵工程之間;而模型評估和模型監視可能會回到前面任何一個階段。作者也指出人工智慧中的軟體工程與以前軟體應用中的軟體工程的三個不同:1)發現數據、管理數據、為數據確定版本號更複雜、更困難;2)模型定製和模型重用都需要不同的技能;3)人工智慧組成部分缺少模塊化、複雜的方式糾纏在一起。

現實世界中強化學習面臨的挑戰的討論基於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)討論了在健康醫療中應用機器學習如何做到負責任。人工智慧創業:人工智慧公司代表一種新的商業模式的討論基於Casado and Bornstein (2020)。人工智慧創業:彌補概念驗證與產品的差距的討論基於Ng (2020)。另外,Alharin et al. (2020), Belle and Papantonis (2020), Lipton (2018) 等討論可解釋性。

Li (2017) 是深度強化學習綜述,兼顧了該領域的大方向和細節,在歷史發展的背景下討論了最新的進展。Li (2017) 討論了六個核心元素:值函數、策略、獎賞、模型、探索-利用、以及表徵;討論了六個重要機制:注意力模型和存儲器、無監督學習、分層強化學習、多智能體強化學習、關係強化學習、以及元學習;討論了12個應用場景:遊戲、機器人、自然語言處理、計算機視覺、金融、商業管理、醫療、教育、能源、交通、計算機系統、以及科學、工程、和藝術。

相關焦點

  • 資料| Python強化學習實戰:應用OpenAI Gym和TensorFlow精通強化...
    內容簡介 · · · · · ·強化學習是一種重要的機器學習方法,在智能體及分析預測等領域有許多應用。《Python強化學習實戰:應用OpenAI Gym和TensorFlow精通強化學習和深度強化學習》共13章,主要包括強化學習的各種要素,即智能體、環境、策略和模型以及相應平臺和庫;Anaconda、Docker、OpenAIGym、Universe和TensorFlow等安裝配置;馬爾可夫鏈和馬爾可夫過程及其與強化學習問題建模之間的關係,動態規劃的基本概念;蒙特卡羅方法以及不同類型的蒙特卡羅預測和控制方法
  • 強化學習應用簡述
    下面簡單列舉一些強化學習的成功案例,然後對強化學習做簡介,介紹兩個例子:最短路徑和圍棋,討論如何應用強化學習,討論一些仍然存在的問題和建議,介紹《機器學習》強化學習應用專刊和強化學習應用研討會,介紹強化學習資料,回顧強化學習簡史,最後,簡單討論強化學習的前景。
  • 強化學習簡介(一)
    強化學習被認為是機器學習的三大範式(監督學習、無監督學習、強化學習)之一,它具有如下特徵:1)、沒有監督,即學習對象得不到直接的指導(如行動對與錯);而是得到一個獎勵信號,或者說,不直接判定某個狀態或行動的好壞,而是給出一個獎勵; 2)、行動的獎勵不及時,或者說,反饋是有延遲的。
  • ——《強化學習》從基礎概念、核心原理到應用案例(文末贈書)
    強化學習是機器學習的一個分支,通過與環境的交互進行學習,目前廣泛應用於遊戲領域,如ATARI遊戲、西洋雙陸棋、AlphaZero等。由於它具有自學習的特性,因此在機器人、工業自動化、自然語言處理、醫療保健及在線股票交易等領域受到了廣泛重視,並取得了眾多成果。強化學習是一門實踐性很強的學科,同時也具有堅實的理論基礎。
  • 深度學習第56講:強化學習簡介與Q-Learning實例
    從整個機器學習的任務劃分上來看,機器學習可以分為有監督學習、有監督和半監督學習以及強化學習,而我們之前一直談論的圖像、文本等深度學習的應用都屬於監督學習範疇。自編碼器和生成式對抗網絡可以算在無監督深度學習範疇內。最後就只剩下強化學習了。但是我們這是深度學習的筆記,為什麼要把強化學習單獨拎出來講一下呢?
  • DeepMind推出深度學習與強化學習進階課程(附視頻)
    涉及的應用領域包括目標識別和自然語言處理。第一課視頻截圖深度強化學習部分介紹了馬爾科夫決策過程、動態規劃、無模型預測與控制、值函數近似、策略梯度方法、學習與規劃整合、探索/利用困境等。涉及的應用領域包括學習玩經典棋盤遊戲或電子遊戲等。
  • 深度強化學習核心技術實戰培訓班
    而在人工智慧的發展上,深度學習、強化學習、遷移學習等成為了科學界、工業界研究和應用的熱點。在實際研究和應用過程當中,研究人員逐漸發現了深度學習單獨應用的缺點,如沒有決策能力,不可推理等。而深度強化學習,作為一種嶄新的機器學習方法,同時具有感知能力和決策能力,它是深度學習與強化學習的結合,二者的結合涵蓋眾多算法、規則、框架,並廣泛應用於機器人控制、多智能體、推薦系統、多任務遷移等眾多領域,具有極高的研究與應用價值。
  • 從概念到應用,全面了解強化學習
    雖然是周末,也保持充電,今天來看看強化學習,不過不是要用它來玩遊戲,而是覺得它在製造業,庫存,電商,廣告,推薦,金融,醫療等與我們生活息息相關的領域也有很好的應用,當然要了解一下了。本文結構:定義和監督式學習, 非監督式學習的區別主要算法和類別應用舉例1.
  • 一文讀懂強化學習簡介及其研究歷史
    在諸多可以實現機器學習的方法和技術中,強化學習(Reinforcement Learning,RL)以其生物相關性和學習自主性在機器學習領域和人工智慧領域引發了極大的關注,並在多個應用領域體現了其實用價值。強化學習應用於圍棋強化學習的思想源於行為心理學(behavioural psychology)的研究。
  • 深度強化學習算法與應用研究現狀綜述
    深度強化學習主要被用來處理感知-決策問題,已經成為人工智慧領域重要的研究分支。
  • 伯克利《深度強化學習》更新 | 第十三講:利用模仿優化控制器學習...
    該課程主題選擇深度增強學習,即緊跟當前人工智慧研究的熱點,又可作為深度學習的後續方向,值得推薦。想要學習伯克利 CS 294-112 《深度強化學習》這門課程,學生需要先學習 CS189 或者其他同等學力課程。本課程將假定學生掌握強化學習、數值優化和機器學習的相關背景知識。
  • 【學術講座】臺灣中山大學黃國勝教授關於強化學習的講座通知
    臺灣中山大學黃國勝教授關於強化學習的講座通知報告人: 黃國勝 教授(IET Fellow)邀請人: 崔榮鑫時間: 2017年11月4日,下午2:30地點: 航海學院東配樓主題: 強化學習概述及其應用範例內容簡介:強化學習是機器學習中的一個領域,強調如何基於環境而行動,以取得最大化的預期利益。
  • 葉志豪:介紹強化學習及其在 NLP 上的應用 | 分享總結
    分享主題:介紹強化學習及其在 NLP 上的應用分享提綱:1、強化學習與深度強化學習介紹。2、強化學習在文本生成的應用代表。3、強化學習在對話任務的應用代表。雷鋒網(公眾號:雷鋒網) AI 研習社將其分享內容整理如下:我今天要講的是強化學習及其在 NLP 上的應用,為什麼要講強化學習和在 NLP 上的應用?因為我覺得強化學習在 NLP 上有很大的的應用前景。
  • 「人工智慧師資班」(Python機器學習,圖像識別與深度學習,深度學習與NLP,知識圖譜,強化學習)
    機器視覺技術主要包含圖像識別與目標偵測,本課程主要就是介紹這兩個方面的基礎內容;從圖像處理,到圖像特徵抽取,到特徵學習,主要介紹了基於卷積神經網絡的一些機器學習算法及其簡單應用。本課程主要以編程實現為主,用來強化機器視覺的理論與應用認知。
  • 強化學習——Q Learning 簡介
    繼續接著上一篇,這篇文章介紹強化學習中的一個經典算法——Q Learning.
  • 12月16日應用強化學習研討會邀請
    應用強化學習(ARL)研討會是一個介紹強化學習應用和理論的最新進展的線上討論會
  • 資源 | UC Berkeley CS 294深度強化學習課程(附視頻、學習資料)
    該課程第一節課主要是課程介紹和對強化學習基本概念的介紹。8 月 30日:強化學習簡介(Levine)9 月 11 日:actor-critic 算法簡介(Levine)本節課介紹價值函數的應用,包括從價值函數提取策略,如何用價值函數優化策略,Q-學習算法的介紹、實際應用和擴展等。
  • 【演講實錄】強化學習在 TensorFlow 中的應用 | 個推*GDG
    結合了一些我們導師,我是一個導師制的,我還有導師,結合我們導師的想法,想在強化學習和一些物理器件、物理材料有應用計算,後來轉向強化學習的研究過程。最近也有一些坑,我們通過嘗試探索、反饋總結,谷歌一下得到一些建議,再通過自己看源碼改變一些東西,這也是我們的學習成長。對應到強化學習的環境,強化學習的環境,大家看一下強化學習分成這幾部分,這是DQN上的應用,首先有左邊綠顏色的,是模擬環境,真實線上環境,大家對阿法狗都很了解,不知道強化學習的也應該知道阿法狗,是不是下圍棋的,我們把強化學習應用在下棋上,這個就是我們下棋的環境。
  • 2019年度最佳書單:深度學習/機器學習/強化學習(附部分電子書下載)
    這本書最大的特點就是號稱高中生也能看懂的深度學習教材。在本書中,Andrew試圖繞開數學公式,來科普什麼是深度學習,以及如何創建一個神經網絡。圖書簡介Grokking Deep Learning教你從頭開始構建深度學習神經網絡!
  • NIPS2019 | 深度強化學習重點論文解讀
    在強化學習的現實應用中,策略政策可能成本高昂且危險,而策略外評估通常是關鍵步驟。目前,離線策略評估的現有方法主要基於離散樹MDP的馬爾可夫決策過程(MDP)模型,並且由於重要性權重的累積乘積而具有高方差。在本文中,作者直接基於離散有向無環圖(DAG)MDP提出了一種新的非策略評估方法。方法可以應用於大多數非策略評估的估算,無需修改,可以顯著減少差異。