范晶晶,陳建平,傅啟明1,,4+,陸 悠1,,4,吳宏杰1,,4
(1.蘇州科技大學(xué) 電子與信息工程學(xué)院,江蘇 蘇州 215009;2.蘇州科技大學(xué) 江蘇省建筑智慧節(jié)能重點實驗室,江蘇 蘇州 215009;3.蘇州科技大學(xué) 蘇州市移動網(wǎng)絡(luò)技術(shù)與應(yīng)用重點實驗室,江蘇 蘇州 215009;4.蘇州科技大學(xué) 蘇州市虛擬現(xiàn)實智能交互及應(yīng)用技術(shù)重點實驗室,江蘇 蘇州 215009;5.珠海米棗智能科技有限公司 科研部,廣東 珠海 519000)
近年來,強(qiáng)化學(xué)習(xí)(reinforcement learning,RL)在很多科學(xué)領(lǐng)域取得的成就較為顯著。通常的講,強(qiáng)化學(xué)習(xí)是一個智能體(Agent)與未知環(huán)境相交互,進(jìn)而學(xué)習(xí)得出一種最優(yōu)策略的方法[1]。強(qiáng)化學(xué)習(xí)可以分為3種方法,行動者方法、評論家方法、行動者-評論家方法。行動者方法通常利用策略梯度優(yōu)化。評論家方法的核心為值函數(shù)逼近。而行動者-評論家方法則結(jié)合了兩個方法的優(yōu)點,評論家結(jié)構(gòu)是值函數(shù)的近視函數(shù),以最大化累積獎賞為目標(biāo)指導(dǎo)行動者選取最優(yōu)動作[2]。
深度強(qiáng)化學(xué)習(xí)(deep reinforcement learning,DRL)采用大型神經(jīng)網(wǎng)絡(luò)策略,通過值函數(shù)取代了經(jīng)典的線性函數(shù)逼近器。并且深度強(qiáng)化學(xué)習(xí)在各類具有挑戰(zhàn)性的問題上都有了成功的結(jié)果,例如Atari游戲、圍棋問題和機(jī)器人控制任務(wù)等[3,4]。Minh等[5]提出深度Q網(wǎng)絡(luò)(deep Q-network,DON)算法,該算法主要是結(jié)合了卷積神經(jīng)網(wǎng)絡(luò)以及強(qiáng)化學(xué)習(xí),并引入經(jīng)驗回放技術(shù)解決了神經(jīng)網(wǎng)絡(luò)去擬合值函數(shù)導(dǎo)致訓(xùn)練結(jié)果不收斂的問題。然而DQN等算法僅在離散低維動作空間比較適用,而對于連續(xù)動作空間的問題很難適應(yīng)。策略梯度是用來解決連續(xù)狀態(tài)空間問題的基礎(chǔ),經(jīng)過反復(fù)計算跟策略參數(shù)的梯度相關(guān)的策略期望的總回報,進(jìn)而更新策略參數(shù),達(dá)到策略的收斂。Silver等提出確定性策略梯度(deterministic policy gradient,DPG)算法,隨機(jī)選擇動作的依據(jù)為概率分布,而DPG算法則是直接學(xué)習(xí)輸出動作,輸出動作增加了確定性。然而DPG的適用范圍不廣,策略優(yōu)化也有待提高,依據(jù)策略梯度的深度強(qiáng)化學(xué)習(xí)方法所優(yōu)化的效果更佳。Lillicrap等[6]提出DDPG(deep deterministic policy gradient,DDPG)算法,更好解決了連續(xù)動作空間的問題,取得最優(yōu)解的時間步也遠(yuǎn)少于DQN。陳建平等[7]針對DDPG算法需要大量數(shù)據(jù)樣本的問題,提出了一種增強(qiáng)型深度確定策略梯度算法,提高了DDPG算法的收斂性。何豐愷等[8]優(yōu)化DDPG算法并成功應(yīng)用于選擇順應(yīng)性裝配機(jī)器臂。此外,張浩昱等[9]改進(jìn)DDPG算法并應(yīng)用在車輛控制上,體現(xiàn)了DDPG算法很好的控制前景。
本文針對DDPG算法網(wǎng)絡(luò)結(jié)構(gòu)的不穩(wěn)定性以及單評論家評估不準(zhǔn)確的問題,提出基于多重指數(shù)移動平均評估的DDPG算法,介紹一種EMA-Q網(wǎng)絡(luò)和目標(biāo)Q網(wǎng)絡(luò)合作得出目標(biāo)更新值,并針對DDPG訓(xùn)練過程中行動者的學(xué)習(xí)過于依賴評論家,對多個評論家給出的Q值求平均,這樣多個獨立的評論家網(wǎng)絡(luò)可以充分在環(huán)境中進(jìn)行學(xué)習(xí),降低單個評論家的不準(zhǔn)確性。實驗結(jié)果表明,比傳統(tǒng)的DDPG算法相比,基于多重指數(shù)移動平均評估的DDPG算法準(zhǔn)確性更好,穩(wěn)定性更高。樣本池部分引入雙重經(jīng)驗回放方法,采用兩個樣本池分別存儲不同的經(jīng)驗,實驗結(jié)果表明,改進(jìn)后的算法求得最優(yōu)解需要的時間步更少,收斂速度也有明顯提升。
在強(qiáng)化學(xué)習(xí)中,一個智能體(Agent)在不同時間步與環(huán)境交互盡可能得到累積最大獎賞。強(qiáng)化學(xué)習(xí)問題可以以一個五元組的形式 建模成一個馬爾可夫決策過程(Markov decision process,MDP)。其中,S表示狀態(tài)空間,A表示動作空間,P:S×A×S→[0,1] 表示概率轉(zhuǎn)移函數(shù),R:S×R→r∈R獎賞函數(shù),γ∈(0,1) 是折扣因子。Agent的目標(biāo)是通過學(xué)習(xí)到一個最優(yōu)策略從而最大化累積折扣獎賞的期望值,通常用累積折扣獎賞來定義t時刻的狀態(tài)回報,即
(1)
其中,t為時間步,T為終止時間步,r(st,at) 為在狀態(tài)st采取動作at所得到的回報。
尋找出最優(yōu)策略是強(qiáng)化學(xué)習(xí)的關(guān)鍵,并在該策略基礎(chǔ)上進(jìn)行決策。在強(qiáng)化學(xué)習(xí)中,策略為π,π(s,a) 是指在狀態(tài)s下選擇動作a的概率。如果策略π是一個確定的策略,在任意狀態(tài)s∈S,π(s) 表示在狀態(tài)s下所選擇的動作a。
強(qiáng)化學(xué)習(xí)中用來評估策略π的好壞的是值函數(shù),由狀態(tài)值函數(shù)Vπ、 動作值函數(shù)Qπ組成,Vπ(s) 表示在狀態(tài)s下,根據(jù)策略π得到的期望回報,Qπ(s) 表示在狀態(tài)s下,選擇動作a并根據(jù)策略π得到的期望回報。通常用Qπ(s) 來評估策略π的好壞
(2)
式(2)為Bellman方程。
強(qiáng)化學(xué)習(xí)中π*表示最優(yōu)策略,該策略能最大化獎賞函數(shù),對應(yīng)的Q*(s,a) 可以表示為
(3)
式(3)為最優(yōu)Bellman方程。
無模型強(qiáng)化學(xué)習(xí)方法可以不需要一個完整、準(zhǔn)確的環(huán)境模型而直接學(xué)習(xí)得到最優(yōu)策略。DDPG算法屬于行動者-評論家方法的一種,是屬于無模型、離策略的強(qiáng)化學(xué)習(xí)方法。
Deepmind提出DDPG,聯(lián)合深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)以及DPG,由此得到的更優(yōu)的策略學(xué)習(xí)方法。在DPG的基礎(chǔ)上,它的優(yōu)點在于策略函數(shù)μ和Q函數(shù)分別用卷積神經(jīng)網(wǎng)絡(luò)去模擬,也就是策略網(wǎng)絡(luò)和Q網(wǎng)絡(luò),后續(xù)用深度學(xué)習(xí)對上述神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,Q函數(shù)用的是Alpha Go同樣的Q函數(shù)方法。
DDPG方法包含AC算法,經(jīng)驗回放,目標(biāo)網(wǎng)絡(luò)和確定性策略梯度理論,其主要貢獻(xiàn)是證明了確定性策略μw的存在:S→A, 通過給agent一個狀態(tài)得到一個確切的動作,而不是得到所有動作的概率分布。在DDPG中,性能目標(biāo)定義為
(4)
ρπ(s) 代表狀態(tài)分布,確定性策略的目標(biāo)是
(5)
θ和w分別是評論家網(wǎng)絡(luò)Q(st,at,θ) 和行動者網(wǎng)絡(luò)μ(st,w) 的參數(shù),在DDPG方法中分別用于逼近動作值函數(shù)和參與者函數(shù),用于訓(xùn)練的經(jīng)驗取自于經(jīng)驗回放。經(jīng)驗回放通常是一個用來存儲四元組 (st,at,rt,st+1) 的緩沖器,其中的一部分用于行動者和評論家網(wǎng)絡(luò)的更新。當(dāng)緩沖器容量滿時,較新的經(jīng)驗會代替舊的經(jīng)驗,因此只有一小部分舊經(jīng)驗得到保留。另外,通過給訓(xùn)練過程一個目標(biāo),利用目標(biāo)網(wǎng)絡(luò)來更新評論家網(wǎng)絡(luò),目標(biāo)網(wǎng)絡(luò)的參數(shù)通常與評論家網(wǎng)絡(luò)的參數(shù)一樣。目標(biāo)網(wǎng)絡(luò)定義為Qtar, 損失函數(shù)定義為
Ltar(θ)=(r(st,at)+γQtar(st+1,at+1,θ-)-Q(st,at,θ))2
(6)
其中,θ-是先前迭代的參數(shù),經(jīng)驗回放和目標(biāo)網(wǎng)絡(luò)對于穩(wěn)定DDPG方法的訓(xùn)練過程具有重要意義,并且有利于深度神經(jīng)網(wǎng)絡(luò)的建立。
基于多重指數(shù)移動平均評估的DDPG算法針對DDPG算法雙網(wǎng)絡(luò)結(jié)構(gòu)的不穩(wěn)定性以及單評論家評估不準(zhǔn)確的問題,介紹一種EMA-Q網(wǎng)絡(luò)和目標(biāo)Q網(wǎng)絡(luò)合作得出目標(biāo)更新值,并針對DDPG訓(xùn)練過程中行動者的學(xué)習(xí)過于依賴評論家,對多個評論家給出的Q值求平均,多個獨立的評論家網(wǎng)絡(luò)可以充分的在環(huán)境中進(jìn)行學(xué)習(xí),降低單個評論家的不準(zhǔn)確性,提高算法穩(wěn)定性。樣本池部分引入雙重經(jīng)驗回放方法,提高算法的收斂性能。
在DQN算法的基礎(chǔ)上,平均DQN算法又做了進(jìn)一步的改進(jìn)。在平均DQN的訓(xùn)練過程中,目標(biāo)Q網(wǎng)絡(luò)對以前學(xué)習(xí)的K個Q網(wǎng)絡(luò)求平均得到,而不是直接在一個固定長度的時間步后,直接從目標(biāo)Q網(wǎng)絡(luò)復(fù)制值。平均DQN通過降低目標(biāo)近似誤差(target approximation error,TAE)的方差來提高整個訓(xùn)練過程的穩(wěn)定性。
(7)
(8)
在平均DQN中
(9)
(10)
顯而易見,平均DQN的性能隨著值K的上升而提高,換句話說,要得到一個更好的策略需要更多的神經(jīng)網(wǎng)絡(luò)來存儲參數(shù),也意味著需要大量的內(nèi)存。
為了處理需要過多的神經(jīng)網(wǎng)絡(luò)的需求,采取了式(11)中的遞歸形式,而不像平均DQN那樣降低TAE的方差
(11)
并且與平均DQN的方差估計相比減小了一半[10]。
優(yōu)先經(jīng)驗回放的核心是頻繁選取TD誤差大的經(jīng)驗,以加快訓(xùn)練進(jìn)程。然而,這要求必須在整個訓(xùn)練過程中掌握采樣TD誤差的概率,本文提出一種雙重經(jīng)驗回放,使用兩個經(jīng)驗池B1和B2來存儲Agent的經(jīng)驗,其中B1和B2的工作方式相同,B2的大小為50,B1的大小為200,在雙重經(jīng)驗回放中,非常好或者非常差的經(jīng)驗被視為具有高TD誤差的經(jīng)驗,其中TD誤差的公式為
φi=r(si,ai)+γQ′(si+1,μ′(si+1|θμ′)|θQ′)-Q(si,ai|θQ)
(12)
TD誤差的閾值設(shè)置為0.4,當(dāng)TD誤差的值大于0.4時視為具有高TD誤差,存儲在B1和B2中,其它經(jīng)驗則存儲在B1中。當(dāng)進(jìn)行采樣時,從B1中采樣40個樣本,B2中10個樣本,約占20%。隨著訓(xùn)練過程的進(jìn)行,Agent的學(xué)習(xí)的表現(xiàn)效果會更好,甚至取得最好的分?jǐn)?shù),因此B2中的經(jīng)驗不再具有高TD誤差,對雙重經(jīng)驗回放的需求隨著訓(xùn)練過程的進(jìn)行應(yīng)該降低。
概率函數(shù)Pder用來表示從B2中采樣的概率,隨著時間的后移該概率隨之降低,具體公式見下式
(13)
該步驟對訓(xùn)練過程的收斂至關(guān)重要,一個好的訓(xùn)練模型總是根據(jù)以前的成功經(jīng)驗進(jìn)行更新,這可能會導(dǎo)致Agent在大部分狀態(tài)具有較差的魯棒性和靈活性??傊?,使用概率函數(shù)能在訓(xùn)練前期加快訓(xùn)練過程,并且在模型趨于收斂時降低自身的作用,進(jìn)一步加快收斂。
雖然DDPG在連續(xù)控制領(lǐng)域表現(xiàn)出了其優(yōu)異的性能,但是穩(wěn)定性方面仍然可以得到提高,在訓(xùn)練過程中,行動者的學(xué)習(xí)依賴于評論家,使得DDPG方法的訓(xùn)練對評論家學(xué)習(xí)的有效性過于敏感,為了進(jìn)一步提高評論家網(wǎng)絡(luò)的準(zhǔn)確性,提出采取K個評論家求平均得
(14)
其中,θi表示第i個評論家的參數(shù),該方法包含K個獨立的評價網(wǎng)絡(luò),因此,當(dāng)一個評論家為行動者提供指導(dǎo)時表現(xiàn)較差時(例如該評論家的估計值突然下降),多個評論家求平均會在一定程度上降低不良影響。并且,多個獨立的評論家網(wǎng)絡(luò)可以充分的在環(huán)境中進(jìn)行學(xué)習(xí)。
有兩種方法訓(xùn)練評論家網(wǎng)絡(luò),一種是利用評論家的平均值與目標(biāo)評論家的平均值之間的誤差(TD errors)
(15)
LMC(θi)=αLavg(θ)+βLtar(θi)+η(Qi(s,a,θi)-
Qavg(s,a,θ))2
(16)
其中,LMC(θi) 為平均評論家的損失函數(shù)平均值,α,β和η為權(quán)重,α,β和η都是0到1之間的浮點數(shù),α和β加起來等于1,Lavg(θ) 為評論家網(wǎng)絡(luò)的損失函數(shù)平均值,Ltar(θi) 為目標(biāo)評論家網(wǎng)絡(luò)的損失函數(shù)值。因為當(dāng)K為1時,LMC應(yīng)該等于Ltar, 即損失函數(shù)可以看作是3個兩兩相關(guān)部分的總和:兩組評論家之間的全局平均誤差、單個評論家和其對應(yīng)的目標(biāo)評論家之間的獨立TD誤差、用來減小評論家方差的單個評論家與K個評論家平均值的差值。
針對DDPG中的雙網(wǎng)絡(luò)結(jié)構(gòu)的不穩(wěn)定的問題,介紹一種EMA-Q網(wǎng)絡(luò)和目標(biāo)Q網(wǎng)絡(luò)合作得到目標(biāo)更新值,目標(biāo)網(wǎng)絡(luò)具體更新公式
θEMA←αθQavg+(1-α)θEMA
(17)
(18)
θμ′←βθμ+(1-β)θμ′
(19)
行動者網(wǎng)絡(luò)的參數(shù)更新
(20)
根據(jù)上述具體優(yōu)化過程,下面給出基于多重指數(shù)移動平均評估的DDPG算法的流程,如算法1所示。
算法1:基于多重指數(shù)移動平均評估的DDPG算法
(1)隨機(jī)初始化K個評論家網(wǎng)絡(luò)Qi(s,a|θQi), 行動者網(wǎng)絡(luò)μ(s|θμ) 及它們相對應(yīng)的權(quán)重分別為θQi和θμ,i=0,1…k-1, 初始化EMA網(wǎng)絡(luò)QEMA, 權(quán)重為θEMA←θQavg,K個目標(biāo)評論家網(wǎng)絡(luò)Q′i, 目標(biāo)行動者網(wǎng)絡(luò)μ′, 權(quán)重為θQ′i和θμ′,θQ′i←θQi,θμ′←θμ, 原始樣本池B1, 高誤差樣本池B2初始為空,B2內(nèi)存較小,時間步T
(2)while episode do
(3) 初始化一個隨機(jī)過程Nt用于探索動作
(4) 獲得初始觀察狀態(tài)s0
(5) while t=0,T do
(6) 根據(jù)當(dāng)前策略和高斯噪聲at=μ(st|θμ)+Nt選擇動作
(7) 執(zhí)行動作at, 得到rt,st+1
(8) 將 (st,at,rt,st+1) 存儲在兩個樣本池B1,B2中
(9) 從樣本池B1中隨機(jī)采樣一部分,B2隨機(jī)采樣一小部分,約占10%
(10) 通過最小化損失函數(shù)來更新每個評論家網(wǎng)絡(luò):LMC(θi)=αLavg(θ)+βLtar(θi)+η(Qi(s,a,θi)-Qavg(s,a,θ))2,Lavg(θ) 為評論家網(wǎng)絡(luò)的損失函數(shù)平均值,Ltar(θi) 為目標(biāo)評論家網(wǎng)絡(luò)的損失函數(shù)值,LMC(θi) 為平均評論家的損失函數(shù)平均值。
(12) 更新目標(biāo)網(wǎng)絡(luò)的參數(shù):
θEMA←mθQavg+(1-m)θEMAθQ′avg←nθQavg+(1-n)θQ′avg,θμ′←qθμ+(1-q)θμ′, 其中,θEMA,θQavg,θμ分別為EMA網(wǎng)絡(luò)、評論家網(wǎng)絡(luò)、策略網(wǎng)絡(luò)的權(quán)重,m,n,q都是(0,1)之間的浮點數(shù)。
(13) end
(14)end
為了驗證基于多重指數(shù)移動平均評估的DDPG算法的有效性,本文將原始DDPG算法和基于多重指數(shù)移動平均評估的DDPG算法分別實驗于經(jīng)典的Pendulum問題和MountainCar問題,實驗環(huán)境為OpenAI gym,為一個開源的仿真平臺。OpenAI Gym是開發(fā)和比較強(qiáng)化學(xué)習(xí)算法的工具包。OpenAI Gym由兩部分組成:①gym開源庫:gym開源庫為用于強(qiáng)化學(xué)習(xí)算法開發(fā)環(huán)境,環(huán)境有共享接口,用于設(shè)計通用的算法;②OpenAI Gym服務(wù):用于對訓(xùn)練的算法進(jìn)行性能比較。
3.1.1 MountainCar 問題
在MountainCar問題中,一輛小車沿著一維軌道行駛,停在了兩座小山之間,小車企圖到達(dá)較高的一座山上,然而由于其動力不足不能直接到達(dá)山頂,而是需要來回行駛獲取更多的動能,才能到達(dá)山頂。如果消耗的能量越少,則回報值越大。圖1給出了Mountain Car問題。
圖1 Mountain Car
狀態(tài)為2維狀態(tài),分別通過位置、速度來表示,可以表示為:s=(p,v), 其中p∈[-1.2,0.6],v∈[-0.07,0.07], 動作為1維動作,有3個能夠選擇的動作:向左加速,向右加速,不加速,分別用+1,-1,0表示,即動作a={-1,0,+1}。 一開始,會隨機(jī)地給小車一個位置以及速度,小車來回行使的過程中不斷學(xué)習(xí)。當(dāng)小車到山頂之后(“星”形標(biāo)記處),或者是當(dāng)時間步超1500時,情節(jié)會立即結(jié)束,重新開始另一個情節(jié)。
3.1.2 Pendulum問題
倒立擺是控制方面中的經(jīng)典問題,鐘擺從一個隨機(jī)的位置開始,通過施加一個力(作用力的范圍是[-2,2]),Agent的主要任務(wù)為學(xué)習(xí)到一個最優(yōu)的策略,使它先擺動起來,最終保持鐘擺直立。圖2給出了Pendulum問題。
圖2 Pendulum
狀態(tài)為3維狀態(tài),鐘擺的位置代表其中的2維,速度代表另一維。具體可以表示為:s=(cosθ,sinθ,v), 其中θ∈[-1,1],v∈[-8,8], 動作為1維動作,代表了對鐘擺所施加的力,具體可以表示為:a∈[-2,+2]
實驗運行硬件環(huán)境為Inter(R) Xeon(R) CPU E5-2660處理器、NVIDIA Geforce GTX 1060顯卡、16 GB內(nèi)存;軟件環(huán)境為Windows 10操作系統(tǒng)、python 3.5、TensorFlow_GPU-1.4.0。
對于每個實驗,一些實驗參數(shù)是固定的。使用Adam 優(yōu)化器對神經(jīng)網(wǎng)絡(luò)的參數(shù)進(jìn)行優(yōu)化,行動者網(wǎng)絡(luò)和評論家網(wǎng)絡(luò)的學(xué)習(xí)率分別為2×10-5、 2×10-4, 折扣率為0.99。目標(biāo)網(wǎng)絡(luò)的更新參數(shù)為0.01,在探索過程中,方差為0.2的零均值高斯噪聲被加進(jìn)行動中。對于每個訓(xùn)練過程包含300個情節(jié),每個情節(jié)有15次循環(huán),每個循環(huán)中有100個時間步。批處理固定值為64,經(jīng)驗回放緩沖器是長度為105的循環(huán)隊列。在DDPG中,行動者及評論家網(wǎng)絡(luò)均含有兩個隱藏層(128個單元),在基于多重指數(shù)移動平均評估的DDPG算法中,參數(shù)α,β,η分別設(shè)置為0.6、0.4、0.05,評論家的個數(shù)設(shè)置為5。
DDPG算法和指數(shù)移動平均的DDPG算法以及基于多重指數(shù)移動平均評估的DDPG算法在Mountain Car和Pendulum環(huán)境中實驗,實驗結(jié)果在本部分詳細(xì)說明,并進(jìn)一步客觀地分析實驗結(jié)果。
為了評估評論家的可靠性和穩(wěn)定性,采用平均回報值進(jìn)行評估。在DDPG方法、指數(shù)移動平均的DDPG方法及基于多重指數(shù)移動平均評估的DDPG方法中,agent與獨立環(huán)境交互,得到每7個周期的10條路徑的平均獎賞作為性能的評估,損失函數(shù)的值顯示了整個訓(xùn)練過程的收斂性。
DDPG算法、指數(shù)移動平均的DDPG算法以及基于多重指數(shù)移動平均評估的DDPG算法分別在Pendulum、Mountain Car環(huán)境中進(jìn)行實驗,對于圖中的實驗結(jié)果,在兩個實驗中,平均回報值增加然后收斂,損失函數(shù)隨著訓(xùn)練進(jìn)程的加快直至結(jié)束逐漸趨向于0,如圖3(a)、圖3(b)所示,由指數(shù)移動平均的DDPG算法獲得的平均回報值在大部分情節(jié)遠(yuǎn)大于原始DDPG算法所獲得的平均回報值,而加入多評論家的指數(shù)移動平均的DDPG算法獲得的平均回報值比指數(shù)移動平均的DDPG方法更大,此外,從圖3(a)、圖3(b)中兩幅圖可以很明顯看出,與原始DDPG算法和指數(shù)移動平均的DDPG算法相比,基于多重指數(shù)移動平均評估的DDPG算法的平均回報值變化范圍最小,因此,基于多重指數(shù)移動平均評估的DDPG算法的穩(wěn)定性和有效性得到了有效的驗證。此外,基于多重指數(shù)移動平均評估的DDPG算法中平均回報值突然下降較少且很快回歸正常。在Mountain Car環(huán)境中,盡管3種方法的獎賞很相似,但是可以看出在整個路徑中基于多重指數(shù)移動平均評估的DDPG算法大部分情節(jié)不存在獎賞的突然下降。圖4(a)、圖4(b)所示的平均損失函數(shù)也相當(dāng)不同,從實驗結(jié)果可以明顯看出,基于多重指數(shù)移動平均評估的DDPG算法的損失函數(shù)值相比指數(shù)移動平均的DDPG算法更小,且隨著訓(xùn)練進(jìn)程的加快更快的趨向于0,驗證了基于多重指數(shù)移動平均評估的DDPG算法的收斂性能更好。
圖3 3種算法的平均回報值實驗對比
圖4 3種算法的損失函數(shù)值實驗對比
對于雙重經(jīng)驗回放部分,我們將DDPG算法與加入雙重經(jīng)驗回放的DDPG算法在Pendulum實驗中測試了這部分改進(jìn)內(nèi)容。如圖5所示,黑色的虛線部分代表了收斂的近
圖5 Pendulum問題中DDPG算法是否引入雙重經(jīng)驗回放的實驗對比
似時間,由圖5(a)中,可以看出引入雙重經(jīng)驗回放的DDPG算法在160個情節(jié)處逐漸收斂,而原始DDPG算法的收斂時間大致在250個情節(jié),圖5(b)中可以看出引入雙重經(jīng)驗回放的DDPG算法大致在470個情節(jié)收斂,而未引入雙重經(jīng)驗回放的DDPG算法在630個情節(jié)收斂,因此由實驗結(jié)果可以明顯可見雙重經(jīng)驗回放確實加快了訓(xùn)練的過程。
本文針對DDPG算法雙網(wǎng)絡(luò)結(jié)構(gòu)的不穩(wěn)定性以及單評論家評估不準(zhǔn)確的問題,提出基于多重指數(shù)移動平均評估的DDPG算法,介紹一種EMA-Q網(wǎng)絡(luò)和目標(biāo)Q網(wǎng)絡(luò)合作得出目標(biāo)更新值,并針對DDPG訓(xùn)練過程中行動者的學(xué)習(xí)過于依賴評論家,對多個評論家給出的Q值求平均,多個獨立的評論家網(wǎng)絡(luò)可以充分的在環(huán)境中進(jìn)行學(xué)習(xí),降低單個評論家的不準(zhǔn)確性。樣本池部分引入雙重經(jīng)驗回放方法,提高算法的收斂性能,實驗結(jié)果表明,比傳統(tǒng)的DDPG算法相比,基于多重指數(shù)移動平均評估的DDPG算法的收斂性能更好,穩(wěn)定性更高。
本文主要針對Pendulum和Mountain Car兩個實驗驗證基于多重指數(shù)移動平均評估的DDPG算法的性能,從實驗結(jié)果可以看出,基于多重指數(shù)移動平均評估的DDPG算法的收斂性更好,穩(wěn)定性更高。但是算法中的超參數(shù)的設(shè)置均為人工設(shè)置,因此在未來的工作中將重在調(diào)整損失函數(shù)的參數(shù)為可訓(xùn)練的變量,使得算法收斂性更好,穩(wěn)定性也有所提升。