天天看點

鄧侃:深度強化學習“深”在哪裡?

當今世界,科技發展日新月異。即便是業界中人,往往也搞不清同行們的動态。是以,隔三差五需要有人梳理業界的動态。 

“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 的論文作者,用這個技術來玩積木遊戲,來規劃倫敦地鐵任何兩站之間的最佳換乘路徑,效果很好。

黑盒子能不能完成更複雜的任務?這是吊足觀衆胃口的懸念。

繼續閱讀