當今世界,科技發展日新月異。即便是業界中人,往往也搞不清同行們的動态。是以,隔三差五需要有人梳理業界的動态。
“deep reinforcementlearning: an overview” [1] 這篇論文的作者,梳理了深度學習與增強學習相融合的最新動态。
這是一篇苦心之作,
梳理了該領域各個學派的基本思路及其差別。
羅列了各種測試平台,目前主要是各種遊戲,之是以用遊戲來做測試,是因為容易采集資料。
值得讀的論文,羅列了各個學派的重要論文。
枚舉了若幹重要的應用,包括遊戲,重點介紹了下圍棋的 alphago,教無人機做特技,教機器人行走和跳躍,機器翻譯和對話,智能醫療診斷,深度學習系統的自動設計等等。
論文:深度強化學習概覽
作者:yuxi li,加拿大阿爾伯塔大學(university of alberta)計算機系的博士
摘要
本文概述了最近取得許多令人振奮的成果的深度增強學習(rl)。我們從深度學習和增強學習的背景開始說起,并介紹了各種測試平台。然後我們讨論了 deep q-network(dqn)及其擴充,異步方法,政策優化,激勵,以及規劃。接着,我們讨論了注意力和記憶,無監督學習,以及學習學習(learning to learn)。我們還讨論了 rl 的各種應用,包括遊戲(尤其是 alphago),機器人,語音對話系統(即,chatbot),機器翻譯,文本序列預測,神經架構設計,個性化網絡服務,醫療保健,金融,以及音樂自動生成等。我們也提了一些尚沒有綜述的主題/論文。本論文以一系列值得閱讀的 rl 重要論文的列舉結束。
什麼是增強學習,為什麼需要引入深度學習?
不妨把機器學習看成二維空間,第一個次元是問題,第二個次元是方法,用什麼方法來解決問題。
大緻來說,機器學習想解決兩大類問題,模拟和決策。
1. 模拟:
給定一系列輸入 x 和輸出 y,模拟兩者之間的函數關系 y = f(x)。
預測是函數模拟的一個小類,譬如根據各種經濟因素 x,預測股票價格。
分類是另一個小類,譬如給定一張人像照片 x,識别照片中的人物是不是y。
2. 決策:
先構造三元組,包括狀态 state、行動action、收益 reward。
序列是一連串三元組
輸入若幹序列,作為訓練資料。
決策的任務,是分析這些訓練資料,發現最優行動政策
,目的是獲得最大的收益
。
類似于金融折現率,未來的收益,折算成現鈔,得打個折扣。遠期的折扣,比近期的折扣大,這就是
的意義。
決策的應用很多,下棋、開車、問答、醫療診斷、機器人自主行走跳躍等等,都是決策問題。
邏輯回歸 logistic regression、向量機 svm、決策樹decision tree 等等是傳統的機器學習的方法,主要用于解決模拟問題。
深度學習 deep learning 是最新的方法,起先也主要用于解決模拟問題。
增強學習 reinforcement learning,譬如 q-learning 算法,是解決決策問題的傳統方法。
為什麼要用深度學習這個新方法解決決策問題?
目的無非是,1. 解決更複雜的決策問題,2. 學得更準,3. 學得更快,4. 用更少的訓練資料。
傳統的增強學習存在什麼問題?
盧浮宮館藏美術作品衆多,經驗豐富的導遊,會幫遊客規劃一條參觀路徑,走最短的路,看最多的名畫。
如何規劃最佳參觀路徑,是一個決策問題。傳統的方法,是增強學習 reinforcement learning。
簡單而蠻力的辦法,是找一張盧浮宮地圖,盡可能羅列所有可能的參觀路徑,評價每一種路徑的總收益。
這是 monte carlo tree search (mcts) 的思路。
mcst 簡單有效,但是缺陷是計算成本高。
下圍棋的 alphago,用 mcst 算法來精算局部的對弈政策。
但是,不能用這個方法來學習整盤棋的政策,因為如果要窮舉整盤棋的所有對弈政策,數量級大概是
。單機搞不定,雲計算也搞不定。
如何降低計算量?思路是不必浪費精力去為槽糕的路徑評估收益。問題是,如何甄别槽糕的路徑?
不妨換一個思路。不會有觀衆故意跟自己過不去,專挑路程長、名畫少的槽糕路徑去參觀盧浮宮。
我們不必關心哪條路徑是槽糕的路徑,我們隻需要研究其他觀衆曾經走過的路徑,就不會偏離最佳的路徑太遠。
什麼是最佳路徑?兩個要素,
1. 目前收益大:每走一步,多半能看到一副名畫。
2. 潛在的未來收益大:每走一步,離其它名畫更近。
用數學公式來表達,就是,
的專業名稱是行動價值 action value。
用價值取代收益,既着眼目前收益,又兼顧未來潛力。
即便目前沒有收益,譬如爬樓梯時一幅作品都看不到,但是樓上的展廳有名畫,未來潛力巨大,爬樓就是明智的行動。
為了估算目前的行動價值
,先得估算下一步的潛在價值
為了估算下一步的潛在價值
,先得估算再下一步的潛在價值
重複以上步驟,直到走出盧浮宮出口。這個辦法,就是 q-learning算法。
q-learning 算法是傳統增強學習中最重要的算法。除此之外,有若幹變種。
但是無論哪一種變種,面對複雜的問題,傳統的增強學習算法都難以勝任。
如果狀态
不僅僅是位置,而且也包含每幅名作附近的擁堵程度,參觀盧浮宮的路徑規劃就變得更複雜了。
如果行動
不僅僅是前進、後退、左轉、右轉,而且也包括速度,問題就更複雜了。
如果收益
不僅僅取決于作品的知名度,而且也包括觀衆的品味, 問題就更複雜了。
解決複雜的決策問題,是增強學習與深度學習融合的一大動機。
增強學習與深度學習融合的切入點,是用結構複雜的神經網絡,來估算增強學習中的行動價值
、收益
、政策
等等。
深度增強學習深在哪裡?
1. 用深度學習來估算價值
deep q-network (dqn), double dqn , dueling architecture 等等算法,都是這個思路。
先根據訓練資料,來計算目前的行動價值,
然後用深度神經網絡,估算
,如果估算得完全準确,那麼
如果兩者之間有差距,那麼就不斷調整深度神經網絡的參數,縮小兩者的差距,這就是深度增強學習的訓練過程。
這個辦法,就是 deepq-network dqn,及其變種 double dqn 的基本原理。
dqn 的計算成本較大,為了學得更快。決鬥模型 dueling architecture 提議,拆解
把
拆解為
,其中
是每個狀态的價值,而
是指在狀态
下采取行動
後,價值的增量。
dqn 算法用一個規模較大的神經網絡,去模拟
,訓練過程的計算成本高。
而決鬥架構 duelingarchitecture 用兩個規模較小的神經網絡,分别去模拟
和
,進而大大降低了訓練過程的計算成本。
2. 用深度學習來估算政策
dpg (deterministic policygradient),deep dpg,gps (guided policy search),trpo (trust region policy optimization) ,pgq 等等算法,都是這個思路。
dpg 把增強學習的訓練過程,類比成演員和評委的互動。
dpg 用一個神經網絡 actor,去模拟政策
用另一個神經網絡 critic,評估使用某種政策後的行動價值
標明了政策 π 後,在每一種狀态,actor 都會選擇固定的行動,是以,
正因為如此,訓練評委神經網絡 critic時,隻需要對狀态
做梯度下降 (gradient descent),不僅計算量小,而且能夠解決複雜的增強學習問題。
deep dpg 在此基礎上,做了一些改進。尤其是把訓練資料回放,并且每次訓練時,柔和地改進網絡參數。
回放和柔和改進,目的是為了既不增加訓練資料的數量,又提高訓練的穩定性。
3. 用深度學習來估算收益
某些應用場景的收益
,無法用簡單的方式表達,譬如模仿書法家的字型風格,或者模仿某位飛行員的特技飛行動作。
反向增強學習 inverse reinforcementlearning,小樣本學習 one-shot learning 等等算法,針對這類模仿問題,做過有益的嘗試。
生成對抗網絡,generative adversarialnetworks (gans),提供了新思路。
gan 主要由兩個神經網絡構成,
1. 生成模型generator,從訓練資料中猜測這些樣本的資料分布,并僞造資料。
2. 鑒别模型discriminator,識别哪些資料是真實的訓練資料,哪些是生成模型僞造的假資料。
兩個模型不斷對抗,使得生成模型僞造的資料越來越像真的,而鑒别模型的識别能力越來越精準。
對抗的結果,是生成模型對資料分布的猜測,越來越精準。
模仿,是增強學習的一個子領域。
把 gan 應用于增強學習,将是一大熱點。
4. 融合
dqn 用深度學習來估算價值函數
,dpg 用深度學習來估算政策函數
,gan 用深度學習來估算難以言說的收益函數
asynchronous advantageactor-critic (a3c) 算法,試圖把模拟價值函數
的決鬥架構,與模拟政策
的演員-評委模型,外加多核并行計算,融合在一起。
differentiable neuralcomputer (dnc) 不糾結價值函數
和政策函數
的細節,而是把它們看成黑盒子的内部構成。
dnc 用 lstm 來分析訓練資料,把分析結果儲存在 lstm 外部的存儲空間。
lstm 分析結果是一組數字向量,數字向量的實體意義很隐晦,如同表達生命特征的 dna,但是它們包含了
的内容。
雖然數字向量的實體意義很隐晦,但是隻要黑盒子能夠做出正确的決策,就是好盒子。
dnc 的論文作者,用這個技術來玩積木遊戲,來規劃倫敦地鐵任何兩站之間的最佳換乘路徑,效果很好。
黑盒子能不能完成更複雜的任務?這是吊足觀衆胃口的懸念。