深度強化學習技術概述

在本文中詳細介紹了深度強化學習技術,將強化學習分成三大類(value-based 算法、policy-based 算法及結合兩者的 AC 算法)來進行介紹。首先,從數學理論角度介紹了強化學習;接着,從不同適用方向對兩類深度強化學習算法進行介紹:基於值函數(Value-based)的深度強化學習算法 DQN 和基於策略(Policy-based)的深度強化學習算法 PG。最後,介紹目前應用廣泛的結合前兩個算法的結合物 AC(Actor-Critic)算法。

深度強化學習介紹

強化學習主要用來學習一種最大化智能體與環境交互獲得的長期獎懲值的策略,其常用來處理狀態空間和動作空間小的任務,在如今大數據和深度學習快速發展的時代下,針對傳統強化學習無法解決高維數據輸入的問題,2013 年 Mnih V 等人首次將深度學習中的卷積神經網絡(Convolutional Neural Networks,CNN)[1][2][3] 引入強化學習中,提出了 DQN(Deep Q Learning Network)[4][5] 算法,至此國際上便開始了對深度強化學習(Deep Reinforcement Learning,DRL)的科研工作。除此之外,深度強化學習領域中一個里程牌事件是 2016 年的 AlphaGo 對戰李世石的圍棋世紀大戰 [6][7],谷歌旗下的人工智能團隊 DeepMind 基於深度強化學習開發出的圍棋程序 AlphaGo 擊敗了世界頂級圍棋大師李世石,震驚了世界,也因此拉開了深度強化學習從學術界走向大衆認知的帷幕。

深度強化學習結合了深度學習 [8](Deep Learning,DL)的特徵提取能力和強化學習(Reinforcement Learning,RL)的決策能力 [9],可以直接根據輸入的多維數據做出最優決策輸出,是一種端對端(end-to-end)的決策控制系統,廣泛應用於動態決策、實時預測、仿真模擬、遊戲博弈等領域,其通過與環境不斷地進行實時交互,將環境信息作爲輸入來獲取失敗或成功的經驗來更新決策網絡的參數,從而學習到最優決策。深度強化學習框架如下:

上圖深度強化學習框架中,智能體與環境進行交互,智能體通過深度學習對環境狀態進行特徵提取,將結果傳遞給強化學習進行決策並執行動作,執行完動作後得到環境反饋的新狀態和獎懲進而更新決策算法。此過程反覆迭代,最終使智能體學到獲得最大長期獎懲值的策略。

深度強化學習的數學模型

強化學習 [10] 是一種決策系統,其基本思想是通過與環境進行實時交互,在不斷地失敗與成功的過程中學習經驗,最大化智能體(Agent)從環境中獲得的累計獎勵值,最終使得智能體學到最優策略(Policy),其原理過程如下圖所示:

上圖強化學習基本模型中,智能體(Agent)是強化學習的動作實體,智能體在當前狀態下根據動作選擇策略執行動作,執行該動作後其得到環境反饋獎懲值 和下一狀態,並根據反饋信息更新強化學習算法參數,此過程會反覆循環下去,最終智能體學習到完成目標任務的最優策略。

馬爾可夫決策過程(Markov Decision Process,MDP)[11] 是強化學習理論的數學描述,其可以將強化學習問題以概率論的形式表示出來。

在 MDP 中可將強化學習以一個包含四個屬性的元組表示:{S,A,P,R},其中:

S 和 A 分別表示智能體的環境狀態集和智能體可選擇的動作集;

P 表示狀態轉移概率函數,假設 t 時刻狀態爲,智能體執行動作後以概率轉移進入下一個狀態,則狀態轉移概率函數可以表示爲:

R 表示智能體獲得的反饋獎勵函數,即智能體執行一個動作 a 後獲得的即時獎勵,可表示爲:

一個完整的馬爾科夫決策過程可以用下圖進行解釋:

馬爾可夫決策過程樣例

上圖 MDP 樣例中,t 時刻智能體在狀態下選擇並執行動作,執行完動作後智能體得到環境反饋的獎懲值,並以概率 P 轉移到下一個時刻 t+1 的狀態;智能體在狀態下選擇並執行動作,同時獲得該時刻獎懲值,並以概率 P 轉移到下一個時刻 t+2 的狀態。這個過程一直會進行下去,直至到達最終目標狀態。強化學習的目標是使得 MDP 中長期獎懲值最大化,從而學習到一種選擇最優動作的策略,其中,MDP 中長期獎懲可以被表示爲:

式中折扣因子表示當前選擇的動作對未來影響程度,其值在 0 到 1 之間;n 表示 MDP 中當前狀態到目標狀態的步數。

MDP 中的策略定義了智能體在狀態 S 下到動作的映射關係,即:。由上式可知長期獎懲的獲取必須要等整個 MDP 過程結束,假若狀態集合規模過大,則整個強化學習系統存儲量太大,運行太慢,故爲了學習最優策略,一個可行的建模方法是利用值函數近似表示,強化學習引入兩類價值函數:狀態值函數和動作值函數。其中,狀態值函數表示在狀態 S 下獲得的期望回報,其數學定義爲:

根據上上公式將上公式展開得到:

最終得到的狀態價值函數可用貝爾曼(Bellman)方程 [12] 形式表示:

動作值函數表示在狀態 S 下執行動作 a 後獲得的期望回報,強化學習的智能體學習目標就是使得動作值函數最大化。動作值函數數學定義如下:

最優動作值函數含義爲:所有策略中動作值函數值最大的動作值函數,可表示爲:

式中,表示所有策略,表示使動作值函數最大的策略,即最優策略。上式可用 Bellman 方程表示如下:

式中,r 和分別爲在狀態 S 下采取動作 a 時的獎懲和對應的下一個狀態;爲衰減因子;爲在狀態能獲取到最大動作值函數值的動作。

根據馬爾可夫特性,狀態值函數和動作值函數之間關係如下:

上式表明,狀態值函數是動作值函數關於動作 a 的期望。

基於值函數的深度強化學習算法

基於值函數(Value based)的學習方法是一種求解最優值函數從而獲取最優策略的方法。值函數輸出的最優動作最終會收斂到確定的動作,從而學習到一種確定性策略。當在動作空間連續的情況下該方法存在維度災難、計算代價大問題,雖然可以將動作空間離散化處理,但離散間距不易確定,過大會導致算法取不到最優,過小會使得動作空間過大,影響算法速度。因此該方法常被用於離散動作空間下動作策略爲確定性的強化學習任務。

基於值函數的深度強化學習算法利用 CNN 來逼近傳統強化學習的動作值函數,代表算法就是 DQN 算法, DQN 算法框架如下:

基於值函數的深度強化學習算法 DQN 的框架

上圖可以看出,基於值函數的深度強化學習算法 DQN 特徵之一就是使用深度卷積神經網絡逼近動作值函數。

其中,S 狀態和爲多維數據;經驗池用於存儲訓練過程中的成敗經驗。

DQN 中有兩個相同結構的神經網絡,分別稱爲目標網絡和評估網絡。目標網絡中的輸出值表示當在狀態 S 下選擇動作 a 時的衰減得分,即:

式中,r 和 S' 分別爲在狀態 S 下采取動作 a 時的得分和對應的下一個狀態;爲衰減因子;a'爲評估網絡輸出的 Q 值向量表中在狀態 S' 能獲取到最大值的動作,爲目標網絡的權重參數。

評估網絡的輸出值表示當在狀態時採取動作的價值,即:

式中,爲評估網絡的權重參數。

DQN 訓練過程中分爲三個階段:

  1. 初始階段。這時經驗池 D 未滿,在每一個時刻 t 中隨機選擇行爲獲取經驗元組,然後將每一步的經驗元組存儲至經驗池。這個階段主要用來積攢經驗,此時 DQN 的兩個網絡均不進行訓練;

  2. 探索階段。這一階段採用了貪心策略(從 1 至 0 逐漸減少)獲取動作,在網絡產生決策的同時,又能以一定的概率探索其他可能的最優行爲,避免了陷入局部最優解的問題。這個階段中不斷更新經驗池中的經驗元組,並作爲評估網絡、目標網絡的輸入,得到。然後將兩者差值作爲損失函數,以梯度下降算法 [13][14] 更新評估網絡的權重參數。爲了使訓練收斂,目標網絡的權重參數更新方式爲:每隔一段固定的迭代次數,將評估網絡的權重參數複製給目標網絡參數;

  3. 利用階段。這一階段降爲 0,即選擇的動作全部來自評估網絡的輸出。評估網絡和目標網絡的更新方法和探索階段一樣。

基於值函數的深度強化學習算法 DQN 按上述三個階段進行網絡訓練,當網絡訓練收斂,評估網絡將逼近最優動作值函數,實現最優策略學習目的。

▐****基於策略梯度的深度強化學習算法

基於策略梯度(Policy based)的深度強化學習算法是一種最大化策略目標函數從而獲取最優策略的方法,其相比 Value based 方法區別在於:

  1. 可以學習到一種最優化隨機策略。Policy based 方法在訓練過程中直接學習策略函數,隨着策略梯度方向優化策略函數參數,使得策略目標函數最大化,最終策略輸出最優動作分佈。策略以一定概率輸出動作,每次結果很可能不一樣,故不適合應用於像 CR 頻譜協同這類動作策略爲確定性的問題中。

  2. Policy based 方法容易收斂到局部極值,而 Value based 探索能力強可以找到最佳值函數。

上述中的策略目標函數用來衡量策略的性能。定義如下:

式中,爲在策略下處於狀態 s 的概率,爲在狀態 s 下采用策略選擇動作的概率,爲即時獎懲 。

目前有很多基於策略梯度的深度強化學習算法,像:PG[16],DPG[15],DDPG[17] 等。下面以 PG 算法作爲該類算法代表進行介紹,基於 PG 的深度強化學習算法訓練過程如下:

上述基於 PG 的深度強化學習算法實現過程爲:

  1. 隨機初始化神經網絡參數,即隨機定義了一個策略。策略表示在本回合參數爲下每個狀態對應的動作的概率分佈,表明神經網絡輸出的是動作概率。

  2. 基於 PG 的深度強化學習算法在每一個回合(episode)完成後才更新網絡參數,其中一個回合內的長期獎懲值爲 

  3. 基於 PG 的深度強化學習算法的參數更新方法爲:

式中,g 爲策略梯度;爲用來控制策略參數更新速度的學習率。

該算法多次迭代後,訓練出的神經網絡可逼近最優動作值函數,以一定概率輸出連續或離散動作空間下的最優動作。

AC 算法

AC 算法框架被廣泛應用於實際強化學習算法中,該框架集成了值函數估計算法和策略搜索算法,是解決實際問題時最常考慮的框架。衆所周知的 alphago 便用了 AC 框架。而且在強化學習領域最受歡迎的 A3C 算法,DDPG 算法,PPO 算法等都是 AC 框架。

Actor-Critic 算法分爲兩部分,Actor 的前身是 policy gradient,policy gradient 可以輕鬆地在連續動作空間內選擇合適的動作(value-based 的 Q-learning 只能解決離散動作空間的問題)。但是又因爲 Actor 是基於一個 episode 的 return 來進行更新的,所以學習效率比較慢。這時候我們發現使用一個 value-based 的算法作爲 Critic 就可以使用梯度下降方法實現單步更新,這其實可以看做是拿偏差換方差,使得方差變小。這樣兩種算法相互補充結合就形成了 Actor-Critic 算法。框架如下:

AC 算法框架

Actor 基於概率分佈選擇行爲, Critic 基於 Actor 生成的行爲評判得分, Actor 再根據 Critic 的評分修改選行爲的概率。下面分析優缺點:

優點:可以進行單步更新,不需要跑完一個 episode 再更新網絡參數,相較於傳統的 PG 更新更快。傳統 PG 對價值的估計雖然是無偏的,但方差較大,AC 方法犧牲了一點偏差,但能夠有效降低方差;

缺點:Actor 的行爲取決於 Critic 的 Value,但是因爲 Critic 本身就很難收斂和 actor 一起更新的話就更難收斂了。(爲了解決收斂問題, Deepmind 提出了 Actor Critic 升級版 Deep Deterministic Policy Gradient,後者融合了 DQN 的一些 trick, 解決了收斂難的問題)。

參考文獻

  1. Ketkar N . Convolutional Neural Networks[J]. 2017.

  2. Aghdam H H , Heravi E J . Convolutional Neural Networks[M]// Guide to Convolutional Neural Networks. Springer International Publishing, 2017.

  3. Gu, Jiuxiang, Wang, et al. Recent advances in convolutional neural networks[J]. PATTERN RECOGNITION, 2018.

  4. MINH V, KAVUKCUOGLU K, SILVER D, et al.Playing atari with deep reinforcement learning[J].Computer Science, 2013, 1-9.

  5. MNIH V,KAVUKCUOGLU K,SILVER D,et al.Human-level control through deep reinforcement learning[J].Nature,2015,518(7540):529-533.

  6. 曹譽櫳. 從 AlphaGO 戰勝李世石窺探人工智能發展方向 [J]. 電腦迷, 2018, 115(12):188.

  7. 劉紹桐. 從 AlphaGo 完勝李世石看人工智能與人類發展 [J]. 科學家, 2016(16).

  8. Lecun Y, Bengio Y, Hinton G. Deep learning.[J]. 2015, 521(7553):436.

  9. 趙冬斌, 邵坤, 朱圓恆, 李棟, 陳亞冉, 王海濤, 劉德榮, 周彤, 王成紅. 深度強化學習綜述: 兼論計算機圍棋的發展 [J]. 控制理論與應用, 2016,33(06):701-717.9

  10. 陳學松, 楊宜民. 強化學習研究綜述 [J]. 計算機應用研究 (8):40-44+50.

  11. L. C. Thomas. Markov Decision Processes[J]. European Journal of Operational Research, 1995, 46(6):792-793.

  12. Bardi M, Bardi M. Optimal control and viscosity solutions of Hamilton-Jacobi-Bellman equations /[M]// Optimal control and viscosity solutions of Hamilton-Jacobi-Bellman equations. 1997.

  13. Ruder S . An overview of gradient descent optimization algorithms[J]. 2016.

  14. R. Johnson, T. Zhang. Accelerating stochastic gradient descent using predictive variance reduction[J]. News in physiological sciences, 2013, 1(3):315-323.

  15. Sutton, Richard& Mcallester, David& Singh, Satinder& Mansour, Yishay. (2000). Policy Gradient Methods for Reinforcement Learning with Function Approximation. Adv. Neural Inf. Process. Syst. 12.

  16. Silver, David& Lever, Guy& Heess, Nicolas& Degris, Thomas& Wierstra, Daan& Riedmiller, Martin. (2014). Deterministic Policy Gradient Algorithms. 31st International Conference on Machine Learning, ICML 2014. 1.

  17. Lillicrap, Timothy& Hunt, Jonathan& Pritzel, Alexander& Heess, Nicolas& Erez, Tom& Tassa, Yuval& Silver, David& Wierstra, Daan. (2015). Continuous control with deep reinforcement learning. CoRR.

作者 | 江民民(民超)

編輯 | 橙子君

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/28rcOWcMotTomZ3tZQyVEQ