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