徐松林
摘要:隨著近幾年人工智能的不斷發展,深度學習受到越來越多的關注。并且隨著強化學習的興起,將深度學習與強化學習算法結合起來,形成深度強化學習算法,并得到了廣泛的研究,將其應用到了各行各業當中。本文對深度強化學習做了簡要的概述,介紹了其基礎理論以及主要的算法,并討論了其相關應用,最后做了總結。
關鍵詞:人工智能;深度學習;強化學習
中圖分類號:TP312? ? ? ? 文獻標識碼:A? ? ? ? 文章編號:1009-3044(2019)03-0193-02
1 引言
近年來,隨著人工智能的不斷發展,深度強化學習(Deep Reinforcement Learning,DRL)算法已經成為此領域當中最受關注的算法之一。DRL將深度學習與強化學習結合起來,主要解決了在高維空間下和狀態空間下決策問題。例如,谷歌公司在圍棋程序AlphaGo中,應用深度強化學習算法,在與人類的圍棋博弈中,以較大比分取得了勝利。除此之外,DRL算法在自動翻譯[1]、無人駕駛[2]、對話系統[3]以及視頻檢測[4]方面,以其強大的算法能力均取得了不俗的成績。所以對深度強化學習算法進行深入的研究以及改進是有重要意義的。
本文中第2小節介紹深度強化學習算法的基礎理論以及主要算法,第3小節中介紹深度強化學習算法的實際應用,最后在第4小節中對深度強化學習進行總結與展望。
2 深度強化學習算法
2.1 基礎理論
深度強化學習算法是在強化學習算法的基礎上加入了深度學習算法,從某種意義上來看,可以將其看作是對強化學習算法的一種有效改進。對于常規的強化學習(Reinforcement Learning,RL)算法來講,經常是用一個Agent在于環境交互的過程中學習決策策略。在Agent工作的時候,往往是在勘探與開發的權衡中,根據環境的當前狀態在每個時間步驟上,采取適當的行動來最大化累積獎勵。也就是說,RL中研究的就是通過對策略的不斷改進,以期待得到最大的累積獎勵。此外RL算法中利用狀態值函數和動作值函數來確定每個狀態或者每個狀態-動作對的好壞。在Agent進行學習的時候,有兩種方式,第一種是進行探索式的學習,即勘探學習,第二種是利用經驗獲取最大的收益進行學習,即開發學習。一個Agent既可以選擇當前使得短期收益最大的動作,也可以選擇當前非最優的動作但是卻有可能在未來獲得更大收益的動作,所以RL經常需要在這兩種模式之間進行權衡選擇。為了決定采取某個決策,強化學習算法的計算復雜度是[Q(|A|+M)],其中[A]表示Agent可以選擇的動作的總數,[M]是保存起來的經歷過的狀態-動作對的數目,而其時間復雜度是[O(|A|·|S|)],其中[S]是狀態的總數。一般對于高維度的動作空間與狀態空間問題來講,常規強化學習算法總是低效的。
為了克服這些問題,深度強化學習算法被提了出來。DRL算法一共分為兩個階段,第一階段是構建深度神經網絡(Deep Neural Network,DNN)階段,第二階段是深度強化學習階段。
第一階段,即利用深度學習(Deep Learning,DL)算法構建深度神經網絡,從原始的數據中提取高水平的特征。而DNN包括很多種,可以根據不同的需求構建不同的深度神經網絡,例如卷積神經網絡(Convolutional Neural Network,CNN)、循環神經網絡(Recurrent Neural Network,RNN)以生成式對抗網絡(Generative Adversarial Network,GAN)等。這些DNN可以自動的分析高維數據下的低維特征表示。
在第二階段,一般又分為兩種算法,一種是基于值函數的DRL算法,另一種是基于梯度策略的DRL算法,如果是利用深度神經網絡對RL中獎勵值函數進行模擬,那么便是第一種DRL算法,如果是利用深度神經網絡模擬策略并利用策略梯度得到最優策略方法,便是第二種DRL算法。
2.2 基于值函數的DRL算法
在普通的RL算法中,對于值函數的學習,一般使用時間差分學習算法[5]與Q學習[6]算法來分別學習狀態值函數與動作值函數。在DRL算法中,最開始是利用深度Q網絡(Deep Q-Network,DQN)模型進行學習的。DQN是Mnih等人[7]在2013年提出的,DQN對于DRL來講是非常重要的。在原始的DQN當中,是使用改進后的Q學習算法去學習CNN模型。DQN解決了在RL中,用DNN逼近動作值函數時往往出現不收斂的問題,具體解決方案是使用經驗回放機制[8]與目標網絡。圖1為DQN的訓練過程圖。
其中經驗回放機制通過不斷重復使用之前的歷史數據,使得數據之間的相關性得到降低,并提高了數據的使用率。在DRL中,DQN的主要作用在于使得算法收斂的同時,形成了端到端的優勢,并且可以使用相同的參數以及結構去構建不同的任務。
2.3 基于梯度策略的DRL算法
基于梯度策略的DRL算法主要分為三大類,分別是深度決定性策略梯度[9](Deep? Deterministic Policy Gradient, DDPG)、異步優勢行動者-評論家[10](Asynchronous Advantage Actor-Critic, A3C)以及信賴域策略優化[11](Trust Region Policy Optimization, TRPO)三大類算法。而這三大類算法中又各自有不同種類的算法。例如,DDPG中包括示范DDPG以及概率代理動作決定性策略梯度算法等,A3C中包括寫作A3C以及輔助學習算法等,而TRPO中包括使用廣義估計的TRPO算法等。
所謂的策略梯度算法最主要應用在具有連續空間的RL算法中,其大致思想是將策略進行參數化表示,并對動作進行策略梯度的計算,在計算出梯度之后,沿著梯度的方向,不斷進行動作的調整,之后得到最優的策略。最常見的策略梯度算法包括AC算法[12]以及Reinforce算法[13]等。
3 深度強化學習的應用
棋類游戲一直是檢驗計算機是否具有智能的一個非常重要的挑戰,也是人工智能當中研究最多的一個項目,往往每一個項目的出臺,都會形成新的人工智能的方法或者理論。在2016年3月的時候,谷歌的子公司DeepMind研制出了最新的圍棋博弈系統AlphaGo,代表著人工智能在棋類博弈中的又一個里程碑式的應用研究。利用AlphaGo與人類在圍棋領域博弈,最終AlphaGo以4比1的成績戰勝了世界圍棋冠軍李世石[14]。之后在2017年,DeepMind公司將AlphaGo程序進行升級,并與多位世界級頂尖圍棋大師進行博弈,均取得了勝利。但是這并非代表著人們已經完全掌握了計算機博弈,因為還存在著不完全信息博弈游戲,這將會帶來更加巨大的挑戰。
在視頻游戲領域中,深度強化學習也有著非常重要的作用。人們經常利用算法構建某種模型,使得計算機在不需要人類幫助的情況下,可以自主的適應視頻游戲的規則并且取得較好的成績。早在2015年,DeepMind公司就在Atari平臺上,利用49款視頻類游戲對DQN進行了訓練,并且發現DQN在其中半數的游戲中均取得了超過人類職業選手75%的成績[15]。就目前來講,視頻游戲是檢驗DRL算法最好的試驗之一。
隨著移動互聯網時代的到來,越來越多的人已經離不開手機了。人們往往希望能夠通過手機或者類似的移動端快速地搜索到自己想要的內容,并且通過語言或者文本的方式將這些信息告知給客戶。而深度強化學習在助理機器人方面也起著不可替代的作用。一般來講,助理機器人根據關鍵詞進行信息的搜索,之后通過過濾功能將垃圾信息排除掉,將留下的有用的信息告知給客戶。所以在助理機器人領域,深度強化學習將起著越來越重要的作用。
4 總結與展望
本文對深度強化學習進行了簡要的介紹,包括深度強化學習的基礎概念、主要學習算法以及一些應用領域等。深度強化學習現在已經到了高速的發展期,越來越多的研究成果不斷被提出來。目前主要是就深度Q網絡以及其后續的改進算法已經較為成熟,而且基于策略梯度的算法也已經得到了廣泛的應用。但是仍然存在一些問題值得關注。
深度強化學習本身就是模擬人的思維的一種學習算法,但是由于缺乏人類大腦生理學方面的支撐,目前的深度強化學習所能感知到的維度比起人類大腦真正能感知到的高維度還有些許差距。并且目前在深度強化學習當中用到的深度學習模型還只是深度學習當中的一小部分,如何將更多的深度學習模型應用到深度強化學習當中也是一項非常重要的工作。
總之,在工業界,有類似DeepMind這樣的公司已經將深度強化學習應用到了游戲、人工智能助理以及醫療領域當中,并且對這些領域的發展提供了重要的幫助。隨著人工智能的不斷發展,深度強化學習必將會越來越多地影響到對人們的日常生活,并在其中起到重要的作用。
參考文獻:
[1] Satija H, Pineau J. Simultaneous machine translation using deep reinforcement learning[C], 2016.
[2] Sallab A, Abdou M, Perot E, et al. Deep Reinforcement Learning framework for Autonomous Driving[J]. Electronic Imaging, 2017, 2017(19): 70-76.
[3] Li J, Monroe W, Ritter A, et al. Deep Reinforcement Learning for Dialogue Generation[J], 2016.
[4] Oh J, Guo X, Lee H, et al. Action-Conditional Video Prediction using Deep Networks in Atari Games[C], 2015: 2863-2871.
[5] Sutton R S. Learning to predict by the methods of temporal differences[J]. Machine Learning, 1988, 3(1): 9-44.
[6] Watkins C J C H, Dayan P. Q-learning[J]. Machine Learning, 1992, 8(3-4): 279-292.
[7] Mnih V, Kavukcuoglu K, Silver D, et al. Playing Atari with Deep Reinforcement Learning[J]. Computer Science, 2013.
[8] Long-Ji L. Self-improving reactive agents based on reinforcement learning, planning and teaching[J]. Machine Learning, 1992, 8(3-4): 293-321.
[9] Lillicrap T P, Hunt J J, Pritzel A, et al. Continuous control with deep reinforcement learning[J]. arXiv preprint arXiv:1509.02971, 2015.
[10] Mnih V, Badia A P, Mirza M, et al. Asynchronous Methods for Deep Reinforcement Learning[J], 2016.
[11] Schulman J, Levine S, Moritz P, et al. Trust Region Policy Optimization[J]. Computer Science, 2015: 1889-1897.
[12] Degris T, Pilarski P M, Sutton R S. Model-Free Reinforcement Learning with Continuous Action in Practice[C], 2012: 2177-2182.
[13] Williams R J. Simple statistical gradient-following algorithms for connectionist reinforcement learning[J]. Machine Learning, 1992, 8(3-4): 229-256.
[14] Silver D, Huang A, Maddison C J, et al. Mastering the game of Go with deep neural networks and tree search[J]. Nature, 2016, 529(7587): 484-489.
[15] Volodymyr M, Koray K, David S, et al. Human-level control through deep reinforcement learning[J]. Nature, 2015, 518(7540): 529.
【通聯編輯:李雅琪】