汪 晨,曾凡玉,郭九霞,2
1(電子科技大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,成都 611731) 2(中國(guó)民航飛行學(xué)院 空中交通管理學(xué)院,四川 廣漢 618307)
深度強(qiáng)化學(xué)習(xí)在環(huán)境認(rèn)知和控制策略中表現(xiàn)突出,能實(shí)現(xiàn)智能體(如真實(shí)機(jī)器人、虛擬機(jī)器人或游戲中的人物等)從被動(dòng)感知環(huán)境到主動(dòng)認(rèn)知環(huán)境,且具有較好的通用性.但在動(dòng)態(tài)復(fù)雜的現(xiàn)實(shí)環(huán)境中,智能體的行為具有高維的狀態(tài)空間,此時(shí)深度強(qiáng)化學(xué)習(xí)算法存在復(fù)雜度較高,求解效率低的問(wèn)題.
記憶是實(shí)現(xiàn)智能體更高級(jí)行為的重要途徑,人類的復(fù)雜行為方式都是基于其擁有記憶能力產(chǎn)生的.在深度強(qiáng)化學(xué)習(xí)模型中引入記憶,一方面能充分利用先驗(yàn)知識(shí),使智能體能直接利用過(guò)往事件中收集到的信息來(lái)指導(dǎo)行為,減少試錯(cuò)次數(shù),加快訓(xùn)練的收斂速度;同時(shí),記憶使得深度強(qiáng)化學(xué)習(xí)智能體具有某種程度的主動(dòng)認(rèn)知和推理能力,使其快速遍歷環(huán)境狀態(tài),幫助智能體更好地完成目標(biāo)任務(wù).
常用的記憶體有LSTM[1]/GRU[2],為了增強(qiáng)智能體應(yīng)對(duì)復(fù)雜環(huán)境的能力,研究者往往通過(guò)增加LSTM/GRU的數(shù)量來(lái)提高記憶的容量.然而,它們的訓(xùn)練參數(shù)量會(huì)隨著記憶體容量的增大而急劇上升,使得訓(xùn)練變得困難.部分研究者嘗試增大記憶體容量的同時(shí)保持訓(xùn)練參數(shù)量不變,將記憶體與參數(shù)訓(xùn)練過(guò)程相分離,提出了一些外部記憶體;這些外部記憶體都是基于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),故又被稱為記憶增強(qiáng)型神經(jīng)網(wǎng)絡(luò).記憶增強(qiáng)型神經(jīng)網(wǎng)絡(luò)將網(wǎng)絡(luò)訓(xùn)練參數(shù)與記憶體容量相分離,因此增大記憶體的容量,不會(huì)導(dǎo)致訓(xùn)練參數(shù)的增加.常見的記憶增強(qiáng)型神經(jīng)網(wǎng)絡(luò)包括:經(jīng)驗(yàn)回放(Experience Replay)[3]、記憶網(wǎng)絡(luò)(Memory Networks)[4,5]、情景記憶(Episodic Memory)[6]、神經(jīng)圖靈機(jī)(Neural Turing Machines,NTM)[7]及其改進(jìn)型的可微分計(jì)算機(jī)(Differentiable Neural Computer,DNC)[8].
如圖1是記憶增強(qiáng)型深度強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)圖.智能體與環(huán)境交互,獲取環(huán)境狀態(tài)信息;智能體從記憶中讀取或?qū)懭胗兄谄浣换サ男畔?執(zhí)行動(dòng)作決策;環(huán)境以獎(jiǎng)勵(lì)的形式對(duì)智能體執(zhí)行的動(dòng)作給出反饋.如此反復(fù)該過(guò)程,最終達(dá)到累計(jì)獎(jiǎng)勵(lì)最大化,學(xué)習(xí)到一個(gè)環(huán)境到狀態(tài)的映射關(guān)系,即策略.
圖1 記憶增強(qiáng)型深度強(qiáng)化學(xué)習(xí)結(jié)構(gòu)圖Fig.1 Framework of memory-augmented DRL
盡管深度強(qiáng)化學(xué)習(xí)領(lǐng)域已有部分研究綜述被發(fā)表,一些綜述[9-12]在整體上介紹深度強(qiáng)化學(xué)習(xí)的基礎(chǔ)理論與應(yīng)用;另外,部分學(xué)者對(duì)深度強(qiáng)化學(xué)習(xí)基礎(chǔ)理論的某一分支進(jìn)行了詳細(xì)綜述,如分層深度強(qiáng)化學(xué)習(xí)[13]、多智能體深度強(qiáng)化學(xué)習(xí)[14]等;同時(shí),其他學(xué)者也綜述了深度強(qiáng)化學(xué)習(xí)在某一具體領(lǐng)域的應(yīng)用,如視覺導(dǎo)航[15]、無(wú)人駕駛[16]、游戲[17,18]、通信[19,20]等.然而,目前還沒(méi)有一篇全面并系統(tǒng)地對(duì)記憶增強(qiáng)型深度強(qiáng)化學(xué)習(xí)研究進(jìn)行綜述;因此,本文將對(duì)記憶增強(qiáng)型深度強(qiáng)化學(xué)習(xí)的研究進(jìn)展、存在的問(wèn)題、以及可能的研究方向進(jìn)行詳細(xì)闡述,希望這篇綜述能夠促進(jìn)該領(lǐng)域的發(fā)展.
本文首先介紹強(qiáng)化學(xué)習(xí)的基本理論,以及常用的深度強(qiáng)化學(xué)習(xí)算法;接著對(duì)常見記憶增強(qiáng)型神經(jīng)網(wǎng)絡(luò)進(jìn)行了闡述;同時(shí),對(duì)記憶增強(qiáng)型深度強(qiáng)化學(xué)習(xí)絡(luò)進(jìn)行分類并介紹了其研究進(jìn)展;然后,對(duì)常用的訓(xùn)練環(huán)境進(jìn)行介紹;最后對(duì)記憶增強(qiáng)型深度強(qiáng)化學(xué)習(xí)存在的不足與未來(lái)研究方向進(jìn)行了討論與展望.
強(qiáng)化學(xué)習(xí)過(guò)程屬于馬爾科夫決策過(guò)程(Markov Decision Process,MDP).通常,將MDP定義為一個(gè)四元組[21]:
(S,A,R,P)
(1)
其中,S表示環(huán)境的狀態(tài)信息,st∈S表示智能體在t時(shí)刻的環(huán)境狀態(tài);A為智能體可執(zhí)行的動(dòng)作,at∈A表示智能體在t時(shí)刻執(zhí)行的動(dòng)作;R是獎(jiǎng)勵(lì)函數(shù),rt∈R表示智能體在t時(shí)刻獲得的獎(jiǎng)勵(lì)值;P為狀態(tài)轉(zhuǎn)移概率分布函數(shù),表示智能體執(zhí)行動(dòng)作at從狀態(tài)st轉(zhuǎn)移到下一狀態(tài)st+1的概率.
強(qiáng)化學(xué)習(xí)智能體以累積獎(jiǎng)勵(lì)最大化為訓(xùn)練目標(biāo),t時(shí)刻的累積獎(jiǎng)勵(lì)可表示為:
(2)
其中,γ∈[0,1]是折扣因子,反映當(dāng)下反饋的重要性隨著時(shí)間減弱.
狀態(tài)值函數(shù)Vπ(s)用于評(píng)價(jià)狀態(tài)的好壞,其定義如下:
(3)
(4)
行為值函數(shù)Qπ(s,a)用于評(píng)價(jià)動(dòng)作的好壞,其定義如下:
(5)
(6)
通過(guò)貝爾曼公式,更新Q值:
Qi+1(s,a)=Eπ[Rt+γmaxQi(st+1,at+1)|St=s,At=a]
(7)
其中,當(dāng)i→∞,Qi逐漸收斂至最優(yōu)行為值函數(shù),獲得最優(yōu)策略:
π*=argmaxa∈AQ*(s,a)
(8)
深度學(xué)習(xí)飛速發(fā)展,許多經(jīng)典的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)被相繼提出:AlexNet[22]、VGG[23]、GoogleNet[24]、ResNet[25]、DesNet[26]、MobileNet[27]以及GAN[28].深度學(xué)習(xí)的優(yōu)勢(shì)在于感知能力,強(qiáng)化學(xué)習(xí)的優(yōu)勢(shì)在于決策能力,兩者優(yōu)勢(shì)結(jié)合形成了深度強(qiáng)化學(xué)習(xí),并成功應(yīng)用于AlphaGo[29].近年了,一些經(jīng)典的深度強(qiáng)化學(xué)習(xí)算法被研究者們提出,包括深度Q網(wǎng)絡(luò)(Deep Q Network,DQN)算法[3],深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)算法[30],異步優(yōu)勢(shì)演員-評(píng)論家(Asynchronous Advantage Actor-Critic,A3C)算法[31],置信域策略優(yōu)化(Trust Region Policy Optimization,TRPO)算法[32]及其改進(jìn)版近端策略優(yōu)化(Proximal Policy Optimization,PPO)算法[33].
按照最常用的策略更新和學(xué)習(xí)方法標(biāo)準(zhǔn)來(lái)分類,深度強(qiáng)化學(xué)習(xí)可分為:基于值函數(shù)的深度強(qiáng)化學(xué)習(xí)、基于策略搜索的深度強(qiáng)化學(xué)習(xí)和基于演員-評(píng)論家的深度強(qiáng)化學(xué)習(xí).
求解最優(yōu)策略等價(jià)于求解最優(yōu)值函數(shù),這種求解最優(yōu)策略的方式稱為基于值函數(shù)的深度強(qiáng)化學(xué)習(xí),該類算法中使用最廣泛的是DQN 算法.DeepMind的Mnih等人[3]提出了DQN,開創(chuàng)性地將深度卷積網(wǎng)絡(luò)與傳統(tǒng)強(qiáng)化學(xué)習(xí)Q-learning結(jié)合在一起,成功地直接從高維的輸入學(xué)習(xí)控制策略,在多種Atari游戲上取得了超越人類水平的成績(jī).
相對(duì)于Q-learning,DQN主要做了3個(gè)方面的改進(jìn):利用深度卷積網(wǎng)絡(luò)逼近值函數(shù);訓(xùn)練過(guò)程中使用經(jīng)驗(yàn)回放;設(shè)置單獨(dú)的目標(biāo)網(wǎng)絡(luò)處理時(shí)間差分(Temporal difference,TD)的誤差.在DQN的基礎(chǔ)上,各種深度強(qiáng)化學(xué)習(xí)算法相繼被提出,如深度雙Q網(wǎng)絡(luò)[34]、對(duì)偶Q網(wǎng)絡(luò)[35]、深度循環(huán)DQN[36]等.
不同于求解最優(yōu)值函數(shù)間接得到最優(yōu)策略,基于策略梯度的強(qiáng)化學(xué)習(xí)通過(guò)策略梯度函數(shù)在策略空間內(nèi)搜索得到最優(yōu)策略.π(a|s;θ)為參數(shù)為θ的策略,At是優(yōu)勢(shì)函數(shù),通過(guò)對(duì)累計(jì)獎(jiǎng)勵(lì)的期望E[Rt]進(jìn)行梯度上升來(lái)更新π(a|s;θ),如式(9)所示:
(9)
TRPO[32]及其改進(jìn)版PPO[33]是使用較多的基于策略搜索的深度強(qiáng)化學(xué)習(xí)算法.DQN[3]和A3C[31]等深度強(qiáng)化學(xué)習(xí)算法在訓(xùn)練時(shí)存在一定的波動(dòng)性,研究者們思考:能不能找到這樣的一種方法,減小深度強(qiáng)化學(xué)習(xí)算法波動(dòng)的同時(shí)保持其策略穩(wěn)定上升.OpenAI的Schulman等人[32]找到一種衡量策略優(yōu)劣的計(jì)算方法,提出了置信域策略優(yōu)化算法TRPO,TRPO保證了每一輪更新后的策略保持單調(diào)提升.TRPO計(jì)算過(guò)程相對(duì)復(fù)雜,并無(wú)法與參數(shù)共享的網(wǎng)絡(luò)架構(gòu)兼容,Schulman等人為了解決TRPO的這方面問(wèn)題,提出了PPO算法[33],將TRPO中的二階梯度約束項(xiàng)改進(jìn)為一階梯度的懲罰項(xiàng),極大地簡(jiǎn)化了計(jì)算過(guò)程和計(jì)算量.
基于值函數(shù)的方法和基于策略搜索的方法有各自的優(yōu)點(diǎn)和缺點(diǎn)[21]:
1)策略搜索方法可以處理動(dòng)作空間連續(xù)和狀態(tài)空間 大的任務(wù),并能直接將策略的優(yōu)化函數(shù)參數(shù)化,收斂性好;但策略搜索方法無(wú)法直接對(duì)產(chǎn)生的策略進(jìn)行評(píng)價(jià),導(dǎo)致策略梯度方差大.
2)值函數(shù)方法可以評(píng)價(jià)動(dòng)作的好壞;但其無(wú)法對(duì)動(dòng)作空間連續(xù)或狀態(tài)空間過(guò)高的的任務(wù)進(jìn)行有效求解.
基于演員-評(píng)論家(Actor-Critic,AC)的強(qiáng)化學(xué)習(xí)算法融合了兩者的優(yōu)勢(shì),利用策略搜索方法更新策略,同時(shí)結(jié)合值函數(shù)來(lái)對(duì)策略進(jìn)行評(píng)價(jià).如圖2為Actor-Critic架構(gòu)圖,Actor網(wǎng)絡(luò)用來(lái)輸出動(dòng)作,Critic網(wǎng)絡(luò)用來(lái)評(píng)估動(dòng)作選擇的好壞.DDPG與A3C是兩個(gè)使用最廣泛的基于演員-評(píng)論家的深度強(qiáng)化學(xué)習(xí)算法.
晉南辦事處銷售員張逸驕,是去年招進(jìn)公司銷售隊(duì)伍、專業(yè)對(duì)口的大學(xué)生,他與當(dāng)?shù)?2戶農(nóng)民交上了朋友。除學(xué)習(xí)市場(chǎng)深耕的基礎(chǔ)知識(shí)外,他大多數(shù)時(shí)間就是進(jìn)行農(nóng)化服務(wù),走進(jìn)農(nóng)民中間,走進(jìn)田間地頭,主動(dòng)為農(nóng)民講解切合當(dāng)?shù)剞r(nóng)作物實(shí)際的科學(xué)施肥知識(shí)、田間管理知識(shí)。在春耕、夏種、秋收、冬藏時(shí)節(jié),張逸驕主動(dòng)參與、跟蹤服務(wù)、交流溝通、貼心服務(wù)。在當(dāng)?shù)剞r(nóng)民朋友心中,張逸驕就是天脊集團(tuán)精準(zhǔn)服務(wù)形象的“標(biāo)簽”。
圖2 Actor-Critic結(jié)構(gòu)圖Fig.2 Framework of Actor-Critic
Silver等人在確定性策略梯度(Deterministic Policy Gradient,DPG)算法[37]的基礎(chǔ)上提出了深度確定性策略梯度DDPG算法[30],解決了DQN只能用于離散動(dòng)作的情況,DDPG可應(yīng)用于連續(xù)動(dòng)作的任務(wù)學(xué)習(xí).DDPG算法基于Actor-Critic框架,在動(dòng)作輸出方面采用Actor網(wǎng)絡(luò)來(lái)擬合策略函數(shù),直接輸出動(dòng)作,可以應(yīng)對(duì)連續(xù)動(dòng)作的輸出及大的動(dòng)作空間,同時(shí)采用Critic網(wǎng)絡(luò)擬合值函數(shù)估計(jì)策略優(yōu)勢(shì).此外,DDPG還采用了類似DQN結(jié)構(gòu),Actor和Critic都有相應(yīng)的網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò).訓(xùn)練決策模型時(shí),只需訓(xùn)練Actor網(wǎng)絡(luò)參數(shù)和Critic網(wǎng)絡(luò)參數(shù);每間隔一段時(shí)間,將Actor網(wǎng)絡(luò)參數(shù)和Critic網(wǎng)絡(luò)參數(shù)分別傳遞給Actor目標(biāo)網(wǎng)絡(luò)和Critic目標(biāo)網(wǎng)絡(luò).
A3C由DeepMind的Mnih等人[31]提出的,A3C算法基于Actor-Critic框架引入了異步訓(xùn)練和優(yōu)勢(shì)函數(shù),加快了算法的訓(xùn)練速度.A3C無(wú)需經(jīng)驗(yàn)回放機(jī)制,異步訓(xùn)練建立不同線程的智能體保證了搜索策略的多樣性.每個(gè)線程的智能體并行地與環(huán)境交互,降低了訓(xùn)練樣本的相關(guān)性,同時(shí)提高了算法的學(xué)習(xí)速度.
記憶增強(qiáng)型神經(jīng)網(wǎng)絡(luò)也稱為外部記憶體.常見的內(nèi)部記憶體有LSTM/GRU,它們的訓(xùn)練參數(shù)量會(huì)隨著記憶體容量的增大而急劇上升,使得訓(xùn)練變得困難.常見的外部記憶體結(jié)構(gòu):經(jīng)驗(yàn)回放[3]、記憶網(wǎng)絡(luò)[4,5]、情景記憶[6]、神經(jīng)圖靈機(jī)[7]及其改進(jìn)型的可微分計(jì)算機(jī)[8].外部記憶體將訓(xùn)練參數(shù)與記憶容量相分離,因此增加記憶體的容量,不會(huì)導(dǎo)致訓(xùn)練參數(shù)的增加.
如圖3所示為經(jīng)驗(yàn)回放結(jié)構(gòu)圖,它存放著智能體的經(jīng)驗(yàn)單元et=(st,at,rt,st+1),不同時(shí)刻的經(jīng)驗(yàn)單元構(gòu)成了訓(xùn)練數(shù)據(jù)集Dt=(e1,e2,e3,…,et).在智能體的訓(xùn)練過(guò)程中,經(jīng)驗(yàn)回放具有以下幾個(gè)優(yōu)勢(shì)[3]:
圖3 經(jīng)驗(yàn)回放結(jié)構(gòu)圖Fig.3 Framework of experience replay
1)每個(gè)時(shí)刻的經(jīng)驗(yàn)單元et會(huì)被重復(fù)使用,極大地提高了訓(xùn)練數(shù)據(jù)的利用率;
2)由于連續(xù)的樣本(即經(jīng)驗(yàn)單元)具有高度的相關(guān)性,直接用連續(xù)的樣本訓(xùn)練智能體會(huì)導(dǎo)致其學(xué)習(xí)效率低下;經(jīng)驗(yàn)回放能夠隨機(jī)打亂訓(xùn)練數(shù)據(jù),去除數(shù)據(jù)之間的相關(guān)性,減小訓(xùn)練方差;
3)經(jīng)驗(yàn)回放能夠平均行為的分布,平滑學(xué)習(xí)過(guò)程并避免參數(shù)的振蕩與發(fā)散.
現(xiàn)有的 RNN 在長(zhǎng)期記憶中表現(xiàn)不佳,Weston等人[4]提出了記憶網(wǎng)絡(luò)MemN來(lái)保存問(wèn)答的知識(shí)或者聊天的語(yǔ)境信息.如圖4所示,MemN包括4個(gè)重要的組件:輸入(Input)、泛化(Generalization)、輸出(Output)和回答(Response).輸入組件將文本轉(zhuǎn)換為特征向量,泛化組件更新記憶槽里面的記憶信息,輸出組件將問(wèn)題文本轉(zhuǎn)換為向量表示并讀取相關(guān)記憶信息,回答組件根據(jù)記憶信息與問(wèn)題文本的向量表示輸出文本答案.
圖4 記憶網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.4 Framework of memory network
情景記憶是指?jìng)€(gè)體在特定時(shí)間和地點(diǎn)時(shí)候的記憶.情景記憶可以提升智能體在復(fù)雜狀態(tài)空間中的樣本使用效率,基于少量數(shù)據(jù)學(xué)習(xí),有效近似值函數(shù),同時(shí)建立動(dòng)作與獎(jiǎng)勵(lì)的長(zhǎng)期依賴.
圖5 情景記憶結(jié)構(gòu)圖Fig.5 Framework of episodic memory
DNC由一個(gè)可以讀寫外部記憶矩陣的神經(jīng)網(wǎng)絡(luò)組成,類似于傳統(tǒng)計(jì)算機(jī)中的隨機(jī)存取存儲(chǔ)器.DNC既可以像傳統(tǒng)計(jì)算機(jī)一樣使用它的存儲(chǔ)空間來(lái)表征和操作復(fù)雜的數(shù)據(jù)結(jié)構(gòu),也能像神經(jīng)網(wǎng)絡(luò)一樣從數(shù)據(jù)中學(xué)習(xí).
圖6 可微分計(jì)算機(jī)結(jié)構(gòu)圖Fig.6 Framework of differentiable neural computer
如圖6所示,DNC包括4個(gè)部分[8]:控制器、讀出頭、寫入頭和記憶體.控制器的作用是將輸入信息寫入記憶體,以及生成可以被解讀為答案的輸出;讀出頭通過(guò)內(nèi)容尋址或時(shí)間記憶鏈接的方式讀出數(shù)據(jù);寫入頭通過(guò)內(nèi)容尋址或動(dòng)態(tài)記憶分配的方式將數(shù)據(jù)寫入記憶體;記憶體是一個(gè)多維矩陣,用于存儲(chǔ)數(shù)據(jù).內(nèi)容尋址方式適用于具有關(guān)聯(lián)性的數(shù)據(jù),時(shí)間記憶鏈接方式適用于序列數(shù)據(jù)的讀出,動(dòng)態(tài)記憶分配方式為寫入頭提供未使用的記憶存儲(chǔ)位置.
記憶是實(shí)現(xiàn)智能體更高級(jí)行為的重要途徑,將記憶增強(qiáng)型神經(jīng)網(wǎng)絡(luò)引入深度強(qiáng)化學(xué)習(xí),讓智能體充分利用先驗(yàn)知識(shí),提升智能體的主動(dòng)環(huán)境認(rèn)知與推理能力,做出有效決策.記憶增強(qiáng)型深度強(qiáng)化學(xué)習(xí)廣泛應(yīng)用于智能體的導(dǎo)航、機(jī)械臂控制、游戲以及自然語(yǔ)言處理等領(lǐng)域.記憶增強(qiáng)型神經(jīng)網(wǎng)絡(luò)使得導(dǎo)航智能體能夠應(yīng)對(duì)部分可觀測(cè)且大范圍環(huán)境;使得機(jī)械臂能夠執(zhí)行精準(zhǔn)的操作;使得游戲人物能夠完成更靈活的動(dòng)作;使得自然語(yǔ)言處理對(duì)話系統(tǒng)更智能.
根據(jù)不同的記憶增強(qiáng)型神經(jīng)網(wǎng)絡(luò)與深度強(qiáng)化學(xué)習(xí)結(jié)合,我們將記憶增強(qiáng)型深度強(qiáng)化學(xué)習(xí)細(xì)分為:基于經(jīng)驗(yàn)回放的深度強(qiáng)化學(xué)習(xí),基于記憶網(wǎng)絡(luò)的深度強(qiáng)化學(xué)習(xí),基于情景記憶的深度強(qiáng)化學(xué)習(xí)和基于可微分計(jì)算機(jī)的深度強(qiáng)化學(xué)習(xí).
傳統(tǒng)的經(jīng)驗(yàn)回放池[38]采用均勻采樣,忽略了經(jīng)驗(yàn)之間的重要程度.為了提高抽樣效率,Schaul等人[39]提出了優(yōu)先級(jí)經(jīng)驗(yàn)回放(Prioritized Experience Replay,PER),利用時(shí)間差分誤差來(lái)衡量經(jīng)驗(yàn)的優(yōu)先級(jí);PER將重要的經(jīng)驗(yàn)被回放的概率增大,加快了智能體在Atari 2600中的學(xué)習(xí)效率.為了讓優(yōu)先級(jí)經(jīng)驗(yàn)回放用于多任務(wù),Yin等人[40]將其擴(kuò)展到多任務(wù)強(qiáng)化學(xué)習(xí)領(lǐng)域,提出了分層優(yōu)先經(jīng)驗(yàn)回放(Hierarchical prioritized experience replay,HPER)機(jī)制,從多任務(wù)的經(jīng)驗(yàn)池中選擇性地獲取訓(xùn)練數(shù)據(jù);經(jīng)驗(yàn)回放被劃分為幾個(gè)采樣分區(qū),每個(gè)分區(qū)內(nèi),根據(jù)經(jīng)驗(yàn)的優(yōu)先級(jí)對(duì)其進(jìn)行進(jìn)一步采樣,并執(zhí)行重要性采樣;HPER使得DRL智能體在許多Atari 2600中表現(xiàn)優(yōu)異.另外,Horgan等人[41]提出了分布式優(yōu)先級(jí)經(jīng)驗(yàn)回放(Distributed Prioritized Experience Replay,DPER),對(duì)傳統(tǒng)DQN、DDPG使用分布式actor獲取經(jīng)驗(yàn)回放數(shù)據(jù),并優(yōu)先選擇更重要的經(jīng)驗(yàn)數(shù)據(jù)進(jìn)行回放,從而使深度強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練得更有效率.另外,Kapturowski等人[42]解決傳統(tǒng)經(jīng)驗(yàn)池的參數(shù)參滯后導(dǎo)致RNN 隱藏狀態(tài)滯后的問(wèn)題,提出的具有循環(huán)經(jīng)驗(yàn)池的分布式DQN算法在Atari-57和DMLab-30上顯著優(yōu)于人類水平.Cha等人[43]為了解決分布式強(qiáng)化學(xué)習(xí)存在通信開銷大與智能體之間隱私保護(hù)的問(wèn)題,提出了代理經(jīng)驗(yàn)回放(Proxy experience replay,ProxER),ProxER提升了分布式強(qiáng)化學(xué)習(xí)的智能體之間的通信效率和數(shù)據(jù)的隱私保護(hù).Messaoud等人[44]將先前經(jīng)驗(yàn)軌跡的數(shù)據(jù)存入經(jīng)驗(yàn)回放中,在每次迭代中選取一批樣本,對(duì)其平均損失執(zhí)行隨機(jī)梯度下降;智能體可以高效地解決語(yǔ)義分割中高階條件隨機(jī)場(chǎng)的推理問(wèn)題.
傳統(tǒng)強(qiáng)化學(xué)習(xí)需要手工設(shè)計(jì)獎(jiǎng)勵(lì)函數(shù),但該過(guò)程復(fù)雜且不可控;如果從簡(jiǎn)單的獎(jiǎng)勵(lì)函數(shù)(如二值獎(jiǎng)勵(lì))學(xué)會(huì)任務(wù),就無(wú)需設(shè)計(jì)復(fù)雜的獎(jiǎng)勵(lì)函數(shù).為此,Andrychowicz等人[45]提出了事后經(jīng)驗(yàn)回放(Hindsight Experience Replay,HER),HER將失敗經(jīng)驗(yàn)中到達(dá)的狀態(tài)視為偽目標(biāo),從失敗的經(jīng)驗(yàn)數(shù)據(jù)中學(xué)習(xí),使得基于深度強(qiáng)化學(xué)習(xí)的機(jī)械臂在二值和稀疏獎(jiǎng)勵(lì)的情況下也能學(xué)習(xí)到好的技能.Lu等人[46]將HER推廣至對(duì)話學(xué)習(xí)領(lǐng)域,提出了修剪型HER(Trimming-based HER,T-HER)和拼接型HER(Stitching-based HER,S-HER);T-HER和S-HER對(duì)失敗的對(duì)話進(jìn)行修剪和拼接來(lái)生成成功的對(duì)話數(shù)據(jù),最后訓(xùn)練DQN學(xué)習(xí)對(duì)話策略.對(duì)于HER,并非所有的失敗經(jīng)驗(yàn)都有效,使用所有失敗經(jīng)驗(yàn)導(dǎo)致智能體學(xué)習(xí)效率不高,Fang等人[47]增加好奇心機(jī)制,讓智能體自適應(yīng)地選擇更有效的失敗經(jīng)驗(yàn),提升DDPG在機(jī)械臂控制方面的學(xué)習(xí)效率.
一些研究者將基于經(jīng)驗(yàn)回放的深度強(qiáng)化學(xué)習(xí)應(yīng)用于智能體導(dǎo)航領(lǐng)域.Bruce等人[48]將機(jī)器人一次遍歷環(huán)境的世界模型存入交互式經(jīng)驗(yàn)回放中,讓智能體與世界模型反復(fù)交互獲得大量訓(xùn)練數(shù)據(jù)以使其學(xué)會(huì)導(dǎo)航;實(shí)現(xiàn)了不需要模型微調(diào),機(jī)器人就能在真實(shí)環(huán)境中從一個(gè)位置到達(dá)指定目標(biāo).Eysenbach等人[49]提出了一種基于經(jīng)驗(yàn)回放的規(guī)劃控制算法,該算法把到達(dá)一個(gè)較遠(yuǎn)的目標(biāo)狀態(tài)的任務(wù)分解成一系列簡(jiǎn)單的任務(wù),每一個(gè)任務(wù)對(duì)應(yīng)于達(dá)到一個(gè)特定的子目標(biāo).利用DQN/DDPG算法構(gòu)建環(huán)境狀態(tài)的有向圖,有向圖的節(jié)點(diǎn)和邊分別對(duì)應(yīng)環(huán)境的觀察和它們之間的預(yù)測(cè)距離;節(jié)點(diǎn)存于經(jīng)驗(yàn)回放中,通過(guò)搜索經(jīng)驗(yàn)回放自動(dòng)生成此子目標(biāo)序列,使智能體能夠在稀疏環(huán)境下快速學(xué)會(huì)導(dǎo)航規(guī)劃.Singla等人[50]將經(jīng)驗(yàn)回放用于無(wú)人機(jī),并結(jié)合深度回復(fù)式Q網(wǎng)絡(luò)實(shí)現(xiàn)無(wú)人機(jī)在非結(jié)構(gòu)和未知的室內(nèi)環(huán)境中自主避障.
Oh等人[51]利用記憶網(wǎng)絡(luò)MemN提出了上下文相關(guān)記憶檢索(Context-dependent memory retrieval)讀取機(jī)制,基于該記憶讀取機(jī)制設(shè)計(jì)了3種新的記憶型智能體網(wǎng)絡(luò)結(jié)構(gòu):記憶Q網(wǎng)絡(luò)(Memory Q-Network,MQN)、循環(huán)記憶Q網(wǎng)絡(luò)(Recurrent Memory Q-Network,RMQN)、反饋式循環(huán)記憶Q網(wǎng)絡(luò)(Feedback Recurrent Memory Q-Network,FRMQN).這些基于MemN的DRL智能體可以在部分可觀測(cè)的Minecraft中主動(dòng)感知環(huán)境,其學(xué)習(xí)到的技能具有較好的泛化能力.
Tang等人[52]提出了一種基于情景記憶神經(jīng)啟發(fā)的認(rèn)知導(dǎo)航模型,該模型綜合了內(nèi)嗅皮層的認(rèn)知映射能力和海馬的情景記憶能力,建立環(huán)境認(rèn)知地圖.認(rèn)知地圖和情景記憶之間的信息通過(guò)各自的編碼和解碼方案進(jìn)行交換,該認(rèn)知導(dǎo)航模型實(shí)現(xiàn)了移動(dòng)機(jī)器人在真實(shí)環(huán)境中的定位與導(dǎo)航.Chin等人[53]提出了一種情景記憶的無(wú)監(jiān)督學(xué)習(xí)導(dǎo)航模型—增強(qiáng)情景記憶自適應(yīng)共振理論(Enhanced Episodic Memory Adaptive Resonance Theory,EEM-ART),EEM-ART由多層ART網(wǎng)絡(luò)組成,將機(jī)器人的經(jīng)驗(yàn)分類和編碼到環(huán)境中,并生成認(rèn)知地圖供機(jī)器人連續(xù)地進(jìn)行路徑規(guī)劃和目標(biāo)導(dǎo)航.除了利用情景記憶存儲(chǔ)智能體導(dǎo)航的環(huán)境認(rèn)知地圖,Savinov等人[54]將好奇心與情景記憶結(jié)合,緩解導(dǎo)航環(huán)境中獎(jiǎng)勵(lì)的稀疏性;情景記憶存儲(chǔ)了豐富的環(huán)境信息,通過(guò)比較當(dāng)前觀察值與情景記憶中的觀察值為智能體提供額外的獎(jiǎng)勵(lì),在VizDoom和DeepMind Lab中智能體能夠快速學(xué)會(huì)導(dǎo)航能力.
情景記憶同樣也可以提高深度強(qiáng)化學(xué)習(xí)的樣本效率.為了提高DQN的采樣效率,Lin等人[55]提出了情景記憶深度Q網(wǎng)絡(luò)(Episodic Memory Deep Q-Networks,EMDQN),在EMDQN的訓(xùn)練過(guò)程中,不斷把歷史最優(yōu)的交互軌跡數(shù)據(jù)存儲(chǔ)在情景記憶中,同時(shí)不斷取出訓(xùn)練;EMDQN學(xué)會(huì)Atari游戲僅需DQN的五分之一的交互次數(shù).另外,傳統(tǒng)的基于情景記憶的強(qiáng)化學(xué)習(xí)使用類似表格的記憶體,將經(jīng)驗(yàn)數(shù)據(jù)作為不相關(guān)項(xiàng)進(jìn)行存儲(chǔ),樣本效率有待進(jìn)一步優(yōu)化.聯(lián)想記憶(Associative Memory)能夠通過(guò)經(jīng)驗(yàn)之間的聯(lián)系來(lái)聯(lián)想出過(guò)去的經(jīng)驗(yàn),Zhu等人[56]借助聯(lián)想記憶的優(yōu)勢(shì),提出了基于聯(lián)想記憶的情景強(qiáng)化學(xué)習(xí)(Episodic Reinforcement Learning with Associative Memory,ER-LAM);ER-LAM將相關(guān)的經(jīng)驗(yàn)軌跡關(guān)聯(lián)起來(lái),使智能體推理更有效的策略,在導(dǎo)航實(shí)驗(yàn)和Atari游戲中,ER-LAM在樣本效率方面得到明顯優(yōu)化.受人類聯(lián)系記憶的啟發(fā),Banino等人[57]提出了一種情景記憶靈活組合的深度網(wǎng)絡(luò),在配對(duì)聯(lián)想推理任務(wù)中智能體可以進(jìn)行更長(zhǎng)距離的推理,具有高效的樣本效率.Cornia等人[58]通過(guò)情景記憶向量和編碼與解碼模塊之間的網(wǎng)狀連接來(lái)利用先驗(yàn)知識(shí),將情景記憶結(jié)構(gòu)應(yīng)用于圖像字幕生成.
研究者也利用情景記憶解決智能體在部分可觀測(cè)環(huán)境中學(xué)習(xí)問(wèn)題,實(shí)質(zhì)上也是提升智能體在部分可觀測(cè)環(huán)境中的樣本使用效率.Wayne等人[59]引入集合記憶(Memory)、強(qiáng)化學(xué)習(xí)(Reinforcement Learning)和推理網(wǎng)絡(luò)(Inference Network)的模型MERLIN,該模型通過(guò)一個(gè)預(yù)測(cè)性建模過(guò)程來(lái)引導(dǎo)記憶的形成,MERLIN能夠成功地解決來(lái)自心理學(xué)和神經(jīng)科學(xué)行為研究的標(biāo)準(zhǔn)任務(wù).
情景記憶也被用于近似值函數(shù).Xiao等人[60]將情景記憶和蒙特卡洛樹搜索結(jié)合應(yīng)用于圍棋游戲,情景記憶結(jié)構(gòu)中的每個(gè)存儲(chǔ)位置都可以包含某個(gè)特定狀態(tài)的信息,通過(guò)綜合類似的狀態(tài)的估計(jì)結(jié)果,情景記憶可以生成每個(gè)狀態(tài)的估計(jì)值;相較于原始的蒙特卡洛搜索算法,基于記憶的蒙特卡洛搜索在圍棋中的表現(xiàn)更好.
基于可微分計(jì)算機(jī)的深度強(qiáng)化學(xué)習(xí)廣泛用于智能體導(dǎo)航,目的在于利用DNC提升深度強(qiáng)化學(xué)習(xí)智能體在動(dòng)態(tài)復(fù)雜環(huán)境或部分可觀測(cè)環(huán)境下的決策能力.Khan等人[61]為了解決在部分可觀測(cè)空間下路徑規(guī)劃問(wèn)題,基于值迭代網(wǎng)絡(luò)(Value Iteration Network,VIN)基礎(chǔ)上加入外部記憶DNC,提出了記憶增強(qiáng)型控制網(wǎng)絡(luò)(Memory Augmented Control Networks,MACN).MACN將網(wǎng)絡(luò)分為2部分,帶有VIN的底層網(wǎng)絡(luò)學(xué)習(xí)環(huán)境狀態(tài)特征和值函數(shù)圖(Value Map),帶有DNC的高層網(wǎng)絡(luò)學(xué)習(xí)路徑規(guī)劃策略.Zhang等人[62]使用外部存儲(chǔ)器DNC讓智能體學(xué)習(xí)探索環(huán)境,通過(guò)軟注意機(jī)制將SLAM的定位、運(yùn)動(dòng)預(yù)測(cè)與測(cè)量更新部分嵌入到深度強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)中.基于外部存儲(chǔ)器結(jié)構(gòu)DNC的尋址使用外部存儲(chǔ)器作為智能體環(huán)境感知后的內(nèi)在表征,增強(qiáng)了傳統(tǒng)SLAM方法的魯棒性與適應(yīng)性.除了將豐富的環(huán)境特征存入DNC以提高智能體導(dǎo)航?jīng)Q策能力,研究者也嘗試直接將環(huán)境的地圖信息直接存入記憶體.Parisotto等人[63]基于DNC提出了神經(jīng)地圖(Neural Map),將環(huán)境的地圖信息映射到DNC記憶體,并設(shè)計(jì)一種適應(yīng)性強(qiáng)的讀寫操作,讓網(wǎng)絡(luò)的計(jì)算量不隨地圖的變大而增大.神經(jīng)地圖的外部記憶體存儲(chǔ)了環(huán)境地圖的歷史信息,使得智能體的導(dǎo)航能力可以泛化到未見過(guò)的VizDoom環(huán)境.
與其他記憶增強(qiáng)型神經(jīng)網(wǎng)絡(luò)類似,DNC同樣可以提高樣本效率.Shi等人[64]將DNC的初始版本NTM用于概念學(xué)習(xí),通過(guò)綜合隱藏嵌入和標(biāo)記向量的相似性,同時(shí)對(duì)記憶槽內(nèi)的歷史樣本取平均來(lái)更新記憶信息,使得智能體在幾個(gè)少樣本數(shù)據(jù)集上表現(xiàn)很好.Beck等人[65]將遞歸網(wǎng)絡(luò)與順序無(wú)關(guān)并基于DNC的匯總記憶相整合,從最近的觀測(cè)序列中推斷出狀態(tài)的隱藏特征,使智能體可以回憶起過(guò)去任何時(shí)間曾經(jīng)觀察到的信息,極大提高了智能體在Minecraft游戲中的表現(xiàn).La等人[66]利用DNC的數(shù)據(jù)存儲(chǔ)和推理能力,對(duì)序列數(shù)據(jù)進(jìn)行解釋;通過(guò)跟蹤預(yù)測(cè)時(shí)的記憶訪問(wèn),以及網(wǎng)絡(luò)在輸入序列的每一步存儲(chǔ)信息,每次與預(yù)測(cè)最相關(guān)的記憶信息可以被檢索到;在迷宮和故事完形填空的任務(wù)中,基于DNC的深度強(qiáng)化學(xué)習(xí)具有很強(qiáng)的推理能力.
深度強(qiáng)化學(xué)習(xí)常用的訓(xùn)練環(huán)境包括[67]:Gym、Gazebo、ViZDoom、DeepMind Lab、Minecraft、TORCS和 PySC2.表1為各訓(xùn)練環(huán)境的簡(jiǎn)介和網(wǎng)址鏈接.
表1 深度強(qiáng)化學(xué)習(xí)訓(xùn)練環(huán)境Table 1 Training environments for DRL
Gym由OpenAI推出,不僅包括Cart-Pole、Mountain-Car等簡(jiǎn)單游戲,同時(shí)還集成了復(fù)雜機(jī)器人交互控制環(huán)境,如Mujoco、Roboschool等.Gazebo集成于機(jī)器人操作系統(tǒng)(Robot operating system,ROS)中,能夠在復(fù)雜的室內(nèi)和室外環(huán)境中準(zhǔn)確有效地模擬機(jī)器人群,提供了高保真的物理模型.VizDoom是一種基于“毀滅戰(zhàn)士”游戲(第一人稱射擊類游戲)的強(qiáng)化學(xué)習(xí)實(shí)驗(yàn)平臺(tái),支持多智能體和競(jìng)爭(zhēng)環(huán)境下測(cè)試智能體.DeepMind Lab是DeepMind提出的一個(gè)第一人稱3D游戲迷宮,包括收集水果、走迷宮、穿越危險(xiǎn)區(qū)域、以及快速學(xué)習(xí)并記住隨機(jī)生成的環(huán)境.Malmo是基于游戲“我的世界”Minecraft設(shè)計(jì)的虛擬訓(xùn)練環(huán)境,研究者可以通過(guò)該游戲訓(xùn)練智能體自主地應(yīng)對(duì)復(fù)雜環(huán)境.TORCS是一個(gè)跨平臺(tái)的賽車游戲模擬器,可作為強(qiáng)化學(xué)習(xí)的研究平臺(tái).PySC2是DeepMind開源的StarCraft II的研究平臺(tái),允許研究者使用該游戲來(lái)訓(xùn)練自己的智能體.
沒(méi)有記憶就沒(méi)有真正的智能,記憶增強(qiáng)型深度強(qiáng)化學(xué)習(xí)受到越來(lái)越多研究者的關(guān)注,并取得了一些重要發(fā)展.同時(shí),它也面臨著一些不足與挑戰(zhàn),主要體現(xiàn)以下幾個(gè)方面:
1)記憶的可解釋性
目前,記憶增強(qiáng)型神經(jīng)網(wǎng)絡(luò)主要存儲(chǔ)了一些反映狀態(tài)信息的數(shù)值,其物理意義尚不明確.對(duì)記憶體可解釋性的研究對(duì)提升其使用效率具有重要的意義.
2)不同記憶增強(qiáng)型神經(jīng)網(wǎng)絡(luò)的融合
不同的記憶增強(qiáng)型神經(jīng)網(wǎng)絡(luò)具有不同的記憶優(yōu)勢(shì),如何發(fā)揮各自的優(yōu)勢(shì),設(shè)計(jì)一個(gè)通用且高效的記憶體具有重要的研究?jī)r(jià)值.
3)記憶信息的有效編碼與存儲(chǔ)
記憶增強(qiáng)型神經(jīng)網(wǎng)絡(luò)通過(guò)高維特征向量存儲(chǔ)記憶信息,但記憶信息的不斷增加會(huì)導(dǎo)致存儲(chǔ)空間的不斷增大.如何有效地對(duì)記憶信息進(jìn)行編碼,利用盡量少的存儲(chǔ)空間保存記憶信息成為了解決這一難題的關(guān)鍵.
4)記憶信息的泛化性
記憶信息有助于提高深度強(qiáng)化學(xué)習(xí)算法性能,然而記憶信息往往保存著某一特定場(chǎng)景的結(jié)構(gòu)性信息.如何增強(qiáng)記憶信息的泛化性能,使記憶信息表征環(huán)境的通用信息,利用通用的記憶信息提高深度強(qiáng)化學(xué)習(xí)的泛化性能,實(shí)現(xiàn)深度強(qiáng)化學(xué)習(xí)的實(shí)際應(yīng)用值得進(jìn)一步研究.
5)實(shí)時(shí)性與高效性
目前,基于記憶增強(qiáng)型的深度強(qiáng)化學(xué)習(xí)計(jì)算量較大,研究如何設(shè)計(jì)或通過(guò)神經(jīng)架構(gòu)搜索等方法獲得輕量級(jí)網(wǎng)絡(luò)來(lái)降低模型的參數(shù)量和計(jì)算量,是其投入實(shí)際應(yīng)用面臨的重要問(wèn)題.
本文對(duì)記憶增強(qiáng)型深度強(qiáng)化學(xué)習(xí)進(jìn)行了分類介紹與討論,介紹了典型的深度強(qiáng)化學(xué)習(xí)算法和記憶增強(qiáng)型神經(jīng)網(wǎng)絡(luò),并分別對(duì)基于經(jīng)驗(yàn)回放的深度強(qiáng)化學(xué)習(xí)、基于記憶網(wǎng)絡(luò)的深度強(qiáng)化學(xué)習(xí)算法、基于情景記憶的深度強(qiáng)化學(xué)習(xí)算法、基于可微分計(jì)算機(jī)的深度強(qiáng)化學(xué)習(xí)算法進(jìn)行了綜述.同時(shí),介紹了深度強(qiáng)化學(xué)習(xí)常用的訓(xùn)練環(huán)境.最后對(duì)記憶增強(qiáng)型神經(jīng)網(wǎng)絡(luò)存在的挑戰(zhàn)與未來(lái)研究方向進(jìn)行了討論.