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