劉全,姜玉斌,胡智慧
(1. 蘇州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006;2. 蘇州大學(xué)江蘇省計(jì)算機(jī)信息處理技術(shù)重點(diǎn)實(shí)驗(yàn)室,江蘇 蘇州 215006;3. 吉林大學(xué)符號(hào)計(jì)算與知識(shí)工程教育部重點(diǎn)實(shí)驗(yàn)室,吉林 長(zhǎng)春 130012;4. 軟件新技術(shù)與產(chǎn)業(yè)化協(xié)同創(chuàng)新中心,江蘇 南京 210093)
強(qiáng)化學(xué)習(xí)(RL, reinforcement learning)[1]利用智能體(agent)與環(huán)境交互獲得的反饋信息進(jìn)行自學(xué)習(xí)以獲得最優(yōu)策略。根據(jù)狀態(tài)特征的表示方式,可以將強(qiáng)化學(xué)習(xí)分為3種:1)表格形式,將所有狀態(tài)特征存儲(chǔ)在表格中,每個(gè)狀態(tài)都可以被準(zhǔn)確地表達(dá)出來(lái),這種形式有利于理論分析,但是無(wú)法應(yīng)用到大規(guī)模狀態(tài)空間和連續(xù)狀態(tài)空間任務(wù)中;2)線性函數(shù)近似,通過(guò)人工標(biāo)注或構(gòu)造編碼函數(shù)[2]等人為的方式產(chǎn)生每個(gè)狀態(tài)的特征,狀態(tài)的特征值在學(xué)習(xí)中不會(huì)改變,使用線性函數(shù)近似將強(qiáng)化學(xué)習(xí)的應(yīng)用范圍擴(kuò)大,但是無(wú)法處理非線性任務(wù);3)非線性函數(shù)近似,利用多層神經(jīng)網(wǎng)(MLP, multilayer perceptron)[3]、卷積神經(jīng)網(wǎng)絡(luò)(CNN, convolutional neural network)[4]等深度網(wǎng)絡(luò)對(duì)狀態(tài)進(jìn)行特征提取,狀態(tài)的特征值在學(xué)習(xí)中不固定。深度網(wǎng)絡(luò)將強(qiáng)化學(xué)習(xí)從線性任務(wù)推廣到非線性任務(wù),但是深度網(wǎng)絡(luò)生成特征的不確定性會(huì)導(dǎo)致算法的穩(wěn)定性不足[5]。
深度強(qiáng)化學(xué)習(xí)(DRL, deep reinforcement learning)將強(qiáng)化學(xué)習(xí)與深度學(xué)習(xí)(DL, deep learning)[6]結(jié)合,在游戲、機(jī)器人控制、機(jī)器人運(yùn)動(dòng)等眾多領(lǐng)域中取得了引人矚目的成功。DeepMind公司的Mnih等[7]將強(qiáng)化學(xué)習(xí)中的Q學(xué)習(xí)算法與深度網(wǎng)絡(luò)結(jié)合,提出了深度 Q網(wǎng)絡(luò)(DQN, deep Q-network)模型。DQN將Atari 2600游戲的原始圖像作為輸入,通過(guò)卷積神經(jīng)網(wǎng)提取狀態(tài)特征并通過(guò)全連接構(gòu)造 Q值網(wǎng)絡(luò)。為了保證樣本的獨(dú)立同分布,DQN使用經(jīng)驗(yàn)重放機(jī)制打破樣本間的關(guān)聯(lián),提高了模型的穩(wěn)定性。DQN在許多游戲中都達(dá)到了人類(lèi)水平,但是經(jīng)驗(yàn)重放機(jī)制會(huì)導(dǎo)致模型樣本利用率低、收斂速度慢。Mnih等[8]提出了優(yōu)先級(jí)經(jīng)驗(yàn)重放機(jī)制,對(duì)樣本優(yōu)先級(jí)進(jìn)行排序,高優(yōu)先級(jí)的樣本更容易被采用,提高了樣本利用率。Van等[9]將雙 Q學(xué)習(xí)算法擴(kuò)展到 DQN,提出了雙層深度 Q網(wǎng)絡(luò)(DDQN, double deep Q-network)模型,解決了DQN最大化偏差問(wèn)題。Wang等[10]將Q值拆分成狀態(tài)值與動(dòng)作優(yōu)勢(shì)值,提出了競(jìng)爭(zhēng)深度 Q網(wǎng)絡(luò)(dueling deep Q-network),能夠大幅提升學(xué)習(xí)效果,加快算法的收斂。
但是上述深度強(qiáng)化學(xué)習(xí)算法并未解決信用分配的問(wèn)題[11]。信用分配是強(qiáng)化學(xué)習(xí)中的眾多挑戰(zhàn)之一,用于解決動(dòng)作與長(zhǎng)期回報(bào)延遲的問(wèn)題。在強(qiáng)化學(xué)習(xí)中,解決信用分配問(wèn)題最常用的方法就是資格跡(eligibility trace)[12]。資格跡的向前觀點(diǎn)λ回報(bào)最早由Watkins等[13]提出并給出性質(zhì),Sutton等[14]提出了向后觀點(diǎn)TD(λ)算法,從實(shí)踐角度簡(jiǎn)化了資格跡并使其可以進(jìn)行在線學(xué)習(xí),提高了計(jì)算效率。Van等[15]通過(guò)構(gòu)造截?cái)嗍溅嘶貓?bào),將資格跡的向前觀點(diǎn)與向后觀點(diǎn)統(tǒng)一,提出了真實(shí)在線 TD(λ)算法。在深度學(xué)習(xí)中,為了保證網(wǎng)絡(luò)參數(shù)的穩(wěn)定性,通常使用批量數(shù)據(jù)進(jìn)行訓(xùn)練。使用批量數(shù)據(jù)意味著無(wú)法進(jìn)行完全在線的訓(xùn)練,并且深度學(xué)習(xí)提取的特征會(huì)隨著訓(xùn)練而改變,這使資格跡無(wú)法應(yīng)用到深度強(qiáng)化學(xué)習(xí)中。為了解決深度強(qiáng)化學(xué)習(xí)的信用分配問(wèn)題,Ho等[16]利用λ回報(bào)的思想,構(gòu)造了通用優(yōu)勢(shì)估計(jì)器(GAE, generalized advantage estimator),提高了樣本利用率。Mnih等[17]提出了異步優(yōu)勢(shì)行動(dòng)者評(píng)論家(A3C, asynchronous advantage actor-critic)算法,將異步方法與 GAE結(jié)合,替代了經(jīng)驗(yàn)重放機(jī)制。在大量減少內(nèi)存使用與訓(xùn)練時(shí)間的情況下,A3C算法在Atari 2600游戲中的表現(xiàn)超越了DQN。Schulman等[18]提出了置信域策略優(yōu)化(TRPO, trust region policy optimization)算法,使用GAE作為策略函數(shù)的估計(jì)器,將GAE應(yīng)用到高維連續(xù)動(dòng)作中,并證明了該算法在隨機(jī)梯度更新下對(duì)策略的改進(jìn)是單調(diào)遞增的。TRPO為了保證單調(diào)性,每次更新都要計(jì)算新舊策略的交叉熵,計(jì)算量較大。為此,Schulman等[19]了改進(jìn)TRPO,提出了近端策略優(yōu)化(PPO, proximal policy optimization)算法,使用截?cái)嗟母虏介L(zhǎng)保證策略改進(jìn)的單調(diào)性。PPO算法在MuJoCo環(huán)境中表現(xiàn)優(yōu)異,但是使用高斯策略進(jìn)行動(dòng)作選擇會(huì)導(dǎo)致邊界動(dòng)作被選擇的概率陡然升高,影響值函數(shù)的準(zhǔn)確性,降低了訓(xùn)練的收斂速度。Fujita等[20]提出了截?cái)鄤?dòng)作策略梯度(CAPG,clipped action policy gradient)算法,通過(guò)改變邊界動(dòng)作的策略梯度減少了目標(biāo)函數(shù)的方差,提高了算法的穩(wěn)定性。
本文在 GAE的基礎(chǔ)上提出了重要性采樣優(yōu)勢(shì)估計(jì)器(ISAE, importance sampling advantage estimator)。針對(duì)高斯策略下截?cái)鄤?dòng)作引起的邊界動(dòng)作出現(xiàn)概率陡然升高的問(wèn)題,ISAE通過(guò)引入重要性采樣來(lái)解決邊界動(dòng)作行動(dòng)策略與目標(biāo)策略不一致的問(wèn)題,同時(shí)引入了L參數(shù)用于保證數(shù)據(jù)的上下界不會(huì)相差過(guò)大。將 ISAE運(yùn)用到 PPO中,并在MuJoCo平臺(tái)進(jìn)行對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,與GAE相比,ISAE能夠提高值函數(shù)的準(zhǔn)確性,且具有更快的收斂速度。
強(qiáng)化學(xué)習(xí)通常將問(wèn)題建模成一個(gè)馬爾可夫決策過(guò)程(MDP, Markov decision process)[21]。本文使用一個(gè)無(wú)限有折扣的MDP,該MDP可以表示為一個(gè)五元組M=<S,A,T,R,γ>,其中,S表示所有狀態(tài)的集合;A表示所有動(dòng)作的集合;T:S×A×S表示狀態(tài)轉(zhuǎn)移概率,表示在狀態(tài)做出動(dòng)作到達(dá)下一狀態(tài)的轉(zhuǎn)移概率;R表示獎(jiǎng)賞函數(shù),R(st)表示在狀態(tài)st獲得的立即獎(jiǎng)賞;γ∈(0,1)表示折扣因子,表示對(duì)未來(lái)獎(jiǎng)賞的重視程度,γ越大,說(shuō)明當(dāng)前的MDP越重視長(zhǎng)期回報(bào)。
在強(qiáng)化學(xué)習(xí)中,agent的當(dāng)前狀態(tài)根據(jù)策略π在狀態(tài)st選擇動(dòng)作at,與環(huán)境交互獲得獎(jiǎng)賞R(st)∈R并到達(dá)下一狀態(tài)st+1。agent到達(dá)st+1后重復(fù)上述步驟,則可獲得當(dāng)前軌跡的累計(jì)折扣獎(jiǎng)賞通過(guò)定義狀態(tài)動(dòng)作值函數(shù)來(lái)確定動(dòng)作的好壞,以更好地進(jìn)行策略改進(jìn)。
為了解決深度強(qiáng)化學(xué)習(xí)中的信用分配問(wèn)題,Ho等[16]提出了通用優(yōu)勢(shì)估計(jì)器,將TD(λ)的思想運(yùn)用到優(yōu)勢(shì)函數(shù)估計(jì)器中,優(yōu)勢(shì)函數(shù)定義為
優(yōu)勢(shì)函數(shù)能夠直觀地表示動(dòng)作的好壞,使用式(4)作為目標(biāo)函數(shù)能夠大幅提高算法的收斂速度。為了構(gòu)造GAE,定義n步優(yōu)勢(shì)目標(biāo)函數(shù)為
GAE通過(guò)加權(quán)平均的方式將一步優(yōu)勢(shì)目標(biāo)函數(shù)到n步優(yōu)勢(shì)目標(biāo)函數(shù)進(jìn)行融合,即
GAE解決了信用分配問(wèn)題,在實(shí)際使用中可以根據(jù)需求調(diào)整λ的大小,當(dāng)λ=0時(shí),相當(dāng)于把一步優(yōu)勢(shì)作為估計(jì)器,此時(shí)方差小但引入了誤差;當(dāng)λ= 1時(shí),意味著將累計(jì)優(yōu)勢(shì)作為估計(jì)器,此時(shí)沒(méi)有引入誤差但方差大[22]。人們可以通過(guò)調(diào)整GAE的λ參數(shù)使算法在方差與誤差之間進(jìn)行權(quán)衡,從而達(dá)到更好的效果。
近端策略優(yōu)化在置信域策略優(yōu)化的基礎(chǔ)上進(jìn)行了簡(jiǎn)化,并提出了新的損失函數(shù),如式(5)所示。
其中,T表示目標(biāo)損失函數(shù);θ表示深度網(wǎng)絡(luò)參數(shù);表示新舊策略動(dòng)作概率的比值;表示目標(biāo)優(yōu)勢(shì)函數(shù),在PPO中使用GAE作為;?表示超參數(shù),用于限制策略的更新幅度,一般取值為0.1或0.2;clip函數(shù)的作用是將rt限制在[1-? ,1+?]區(qū)間內(nèi)。PPO利用clip函數(shù)限制策略改進(jìn),實(shí)現(xiàn)了一種近似置信區(qū)間的方法,同時(shí)簡(jiǎn)化了算法,提高了算法的靈活性和計(jì)算效率。
PPO在連續(xù)動(dòng)作任務(wù)中的表現(xiàn)超過(guò)了TRPO,說(shuō)明簡(jiǎn)化后的算法不僅降低了計(jì)算復(fù)雜度,同時(shí)還提高了收斂速度。圖1展示了PPO在連續(xù)動(dòng)作任務(wù)中所使用的網(wǎng)絡(luò)結(jié)構(gòu)。
圖1 PPO網(wǎng)絡(luò)結(jié)構(gòu)
圖1的輸入為84×84×3的RGB三通道圖片,PPO網(wǎng)絡(luò)結(jié)構(gòu)分為兩部分:1) 值函數(shù),輸入與包含64個(gè)神經(jīng)元的隱藏層全連接,經(jīng)過(guò) tanh激活函數(shù)后再與 64個(gè)神經(jīng)元的隱藏層全連接,最后再經(jīng)過(guò)tanh激活函數(shù)后與單個(gè)神經(jīng)元全連接;2) 策略函數(shù),輸入與包含64個(gè)神經(jīng)元的隱藏層全連接,經(jīng)過(guò)tanh激活函數(shù)后再與64個(gè)神經(jīng)元的隱藏層全連接,最后再經(jīng)過(guò) tanh激活函數(shù)后與對(duì)應(yīng)可控制動(dòng)作數(shù)量的神經(jīng)元全連接。策略函數(shù)輸出值作為高斯策略的均值,高斯分布的標(biāo)準(zhǔn)差初始值為 1,作為單獨(dú)的參數(shù),不隨輸入的變化而變化,只與訓(xùn)練階段有關(guān)。
在連續(xù)動(dòng)作任務(wù)中,通常采用高斯分布作為動(dòng)作選擇的策略函數(shù),即
其中,A表示策略選擇動(dòng)作的分布,N表示高斯分布,μ表示高斯分布的均值,σ表示高斯分布的標(biāo)準(zhǔn)差。使用高斯策略的原因主要有兩點(diǎn):1)確定性策略函數(shù)由于沒(méi)有隨機(jī)的探索動(dòng)作,容易導(dǎo)致策略進(jìn)入局部最優(yōu),無(wú)法學(xué)習(xí)到最優(yōu)策略,使用隨機(jī)的高斯分布作為策略函數(shù)能夠保證動(dòng)作空間得到充分的探索;2)連續(xù)動(dòng)作任務(wù)無(wú)法像離散動(dòng)作任務(wù)那樣將所有動(dòng)作枚舉出來(lái),因此采用高斯分布的方式表示策略函數(shù)。圖2展示了均值為0、標(biāo)準(zhǔn)差為1的高斯策略函數(shù)的概率密度。
圖2 均值為0、標(biāo)準(zhǔn)差為1的高斯策略函數(shù)的概率密度
高斯策略函數(shù)能夠解決連續(xù)動(dòng)作任務(wù)中的動(dòng)作選擇問(wèn)題,但是在 MuJoCo環(huán)境中可能會(huì)因?yàn)榻財(cái)鄤?dòng)作導(dǎo)致性能下降,例如,在HalfCheetah任務(wù)中,動(dòng)作空間為[-1.0,1.0]6,這表示agent需要控制6個(gè)范圍在[-1.0,1.0]的連續(xù)動(dòng)作。為了保證算法的頑健性,當(dāng)策略函數(shù)給出超出邊界的動(dòng)作時(shí),這些動(dòng)作都會(huì)被約束到范圍的邊界,即大于1的動(dòng)作視為1,小于-1的動(dòng)作視為-1,這會(huì)導(dǎo)致邊界動(dòng)作選擇的概率大大增加。這種現(xiàn)象會(huì)引起2個(gè)問(wèn)題:1)值函數(shù)因?yàn)檫吔鐒?dòng)作出現(xiàn)概率的升高無(wú)法得到準(zhǔn)確的評(píng)估,使網(wǎng)絡(luò)的穩(wěn)定性受到影響,從而導(dǎo)致算法收斂速度變慢;2)策略函數(shù)網(wǎng)絡(luò)通常輸出高斯分布的均值,高斯分布的標(biāo)準(zhǔn)差會(huì)隨著訓(xùn)練的推進(jìn)逐漸減小,邊界動(dòng)作選擇概率的異常升高會(huì)導(dǎo)致均值的偏離,從而影響策略函數(shù)的改進(jìn),導(dǎo)致算法的性能下降。
為了解決截?cái)鄤?dòng)作帶來(lái)的問(wèn)題,本文引入了重要性采樣[23],重要性采樣率ρ為
其中,π(s,a)為目標(biāo)策略,b(s,a)為行動(dòng)策略。目標(biāo)策略是算法要評(píng)估并計(jì)算值函數(shù)的策略,行動(dòng)策略是實(shí)際進(jìn)行動(dòng)作選擇的策略。高斯策略的重要性采樣定義為
其中,PDF是概率密度函數(shù)(probability density function),PDF(st,at)表示狀態(tài)st選擇動(dòng)作at的概率;CDF是累計(jì)分布函數(shù)(cumulative distribution function),CDF(st,at)表示狀態(tài)st選擇動(dòng)作小于或等于at的累計(jì)概率;[a,b]表示動(dòng)作空間的范圍,當(dāng)動(dòng)作在區(qū)間或者區(qū)間邊界外時(shí),目標(biāo)策略與行動(dòng)策略不一致,需要計(jì)算相應(yīng)的重要性采樣率,例如當(dāng)動(dòng)作在(a,b)中時(shí),目標(biāo)策略與行動(dòng)策略一致,則重要性采樣率為1。
本文將式(8)運(yùn)用到GAE中,提出了重要性采樣優(yōu)勢(shì)估計(jì)器,并推導(dǎo)出簡(jiǎn)化后目標(biāo)函數(shù)的計(jì)算式為
相較于式(4),式(9)增加了重要性采樣的部分,可以計(jì)算目標(biāo)函數(shù)。在計(jì)算復(fù)雜度上,tρ的復(fù)雜為O(1)。由于使用批量更新,計(jì)算目標(biāo)函數(shù)時(shí)可以從后向前計(jì)算,這意味每個(gè)時(shí)間步不需要重復(fù)計(jì)算后續(xù)時(shí)間步的重要性采樣,每個(gè)時(shí)間步可以利用后一時(shí)間步計(jì)算好的數(shù)據(jù),因此每個(gè)時(shí)間步的計(jì)算復(fù)雜度與 GAE相同,為O(1)。在空間復(fù)雜度上,由于需要記錄每個(gè)時(shí)間步的重要性采樣率,因此需要增加O(N)的空間。
ISAE主要對(duì)目標(biāo)函數(shù)進(jìn)行改進(jìn),接下來(lái)分情況討論ISAE的作用。
1) 當(dāng)策略生成的動(dòng)作在動(dòng)作區(qū)間內(nèi)時(shí),目標(biāo)策略與行動(dòng)策略相同,ISAE中的重要性采樣為1,此時(shí)通過(guò)ISAE計(jì)算得到的目標(biāo)值與GAE相同。
2) 當(dāng)策略生成的動(dòng)作超出了動(dòng)作區(qū)間時(shí),將會(huì)被視為邊界動(dòng)作,若左邊界動(dòng)作a在目標(biāo)策略下的生成概率為PDF(s,a),那么邊界動(dòng)作的實(shí)際生成概率為CDF(s,a),即小于或等于左邊界a所有動(dòng)作生成概率之和,右邊界動(dòng)作同理。這會(huì)造成采樣生成的樣本中邊界動(dòng)作出現(xiàn)的概率異常升高,值函數(shù)將會(huì)因?yàn)檫吔鐒?dòng)作得到大量更新而產(chǎn)生偏移,而在策略梯度中,動(dòng)作截?cái)鄤t不會(huì)體現(xiàn)出來(lái),導(dǎo)致訓(xùn)練過(guò)程的值函數(shù)與策略不統(tǒng)一。并且值函數(shù)的偏移會(huì)導(dǎo)致對(duì)于動(dòng)作評(píng)估的不準(zhǔn)確,從而影響策略改進(jìn),使算法收斂變慢。此時(shí),ISAE使用重要性采樣,通過(guò)降低更新幅度的方式,解決邊界動(dòng)作值函數(shù)由于過(guò)度采樣導(dǎo)致的高估或低估問(wèn)題,緩解了值函數(shù)的偏移。通過(guò)這一改進(jìn),可以提高值函數(shù)的準(zhǔn)確性,降低評(píng)估誤差,使策略能夠正確改進(jìn)。
在實(shí)際任務(wù)中,通常會(huì)有多維的連續(xù)動(dòng)作空間,這意味著策略進(jìn)行動(dòng)作選擇時(shí)超出邊界的可能性大大提高,因此在動(dòng)作空間維數(shù)更多的任務(wù)中,ISAE的重要性采樣機(jī)制將會(huì)更頻繁地使用,算法收斂速度的提升將更加明顯。但是由于ISAE限制了邊界動(dòng)作的更新,導(dǎo)致策略向邊界動(dòng)作收斂更慢,因此在最優(yōu)策略在邊界動(dòng)作的任務(wù)中時(shí),算法的收斂速度會(huì)有所下降。
綜上所述,ISAE在GAE的基礎(chǔ)上,限制了對(duì)于邊界動(dòng)作的更新,解決了算法因?yàn)閯?dòng)作超出邊界導(dǎo)致的值函數(shù)與策略不統(tǒng)一的問(wèn)題,提高了算法的收斂速度和收斂精度。
引入重要性采樣在一定程度上解決了截?cái)鄤?dòng)作帶來(lái)的不穩(wěn)定問(wèn)題,但是過(guò)高或過(guò)低的重要性采樣率同樣會(huì)影響算法的穩(wěn)定性。一方面,由于使用批量更新可能產(chǎn)生過(guò)高的重要性采樣率(ρt>1),經(jīng)過(guò)多輪的累乘會(huì)使誤差變得十分巨大,這會(huì)導(dǎo)致值函數(shù)不穩(wěn)定,且過(guò)高的誤差會(huì)導(dǎo)致訓(xùn)練無(wú)法繼續(xù)進(jìn)行。另一方面,由于動(dòng)作選擇的隨機(jī)性以及計(jì)算誤差,重要性采樣率可能過(guò)低,影響后續(xù)時(shí)間步數(shù)據(jù)的計(jì)算,導(dǎo)致信用分配機(jī)制失效。
采用式(9)這種累積的方式計(jì)算目標(biāo)函數(shù),過(guò)高與過(guò)低的重要性采樣率同時(shí)出現(xiàn)會(huì)使批量更新中的數(shù)據(jù)上下限差距較大,從而導(dǎo)致網(wǎng)絡(luò)參數(shù)波動(dòng)較大,收斂速度變慢。因此在實(shí)際運(yùn)用中,設(shè)定重要性采樣上界為 1,下界則引入?yún)?shù)L,L根據(jù)具體任務(wù)決定。通過(guò)將重要性采樣率控制在[L,1]中來(lái)限制邊界動(dòng)作的更新幅度。
為了比較ISAE在具體任務(wù)中相較于GAE的差異,本文選取PPO算法作為策略梯度優(yōu)化算法。
本文使用MuJoCo平臺(tái)作為實(shí)驗(yàn)環(huán)境。MuJoCo是一個(gè)物理模擬器,可以用于機(jī)器人控制優(yōu)化等研究。本文選取MuJoCo平臺(tái)的8個(gè)任務(wù),即Ant、Hopper、HalfCheetah、InvertedDoublePendulum、InvertedPendulum、Reacher、Swimmer和Walker2d進(jìn)行對(duì)比實(shí)驗(yàn)。表1展示了不同任務(wù)輸入的狀態(tài)空間和輸出的動(dòng)作空間,其中,?表示實(shí)數(shù)。
表1 MuJoCo平臺(tái)8個(gè)任務(wù)的狀態(tài)空間和動(dòng)作空間
為了更好地對(duì)比ISAE與GAE的性能差異,本文的所有算法均使用相同的參數(shù)和Adam梯度下降方法。具體參數(shù)設(shè)置為梯度下降步長(zhǎng)PPO超參數(shù)?=0.2,MDP折扣因子γ=0.99,GAE與ISAE信用分配參數(shù)λ=0.95。網(wǎng)絡(luò)更新方式為每輪更新使用2 048個(gè)時(shí)間步的數(shù)據(jù),更新分為10個(gè)循環(huán),每個(gè)循環(huán)將2 048個(gè)時(shí)間步的數(shù)據(jù)隨機(jī)打散分成32個(gè)Mini-Batch,每個(gè)Mini-Batch用64個(gè)時(shí)間步的數(shù)據(jù)對(duì)網(wǎng)絡(luò)進(jìn)行更新。實(shí)驗(yàn)一共訓(xùn)練1 000 000個(gè)時(shí)間步。
在深度強(qiáng)化學(xué)習(xí)中,使用不同的隨機(jī)種子進(jìn)行訓(xùn)練會(huì)影響算法的收斂速度和收斂結(jié)果,不同環(huán)境下的表現(xiàn)體現(xiàn)了算法的穩(wěn)定性。為了體現(xiàn)不同估計(jì)器之間真實(shí)的性能差異,本文所有實(shí)驗(yàn)均在相同參數(shù)下使用20組隨機(jī)種子進(jìn)行訓(xùn)練,得到20組不同的數(shù)據(jù)。訓(xùn)練階段中將最近100個(gè)情節(jié)得到的獎(jiǎng)賞的平均值作為實(shí)驗(yàn)結(jié)果。
為了探究ISAE中L參數(shù)對(duì)估計(jì)器性能的影響,使用不同的L在Swimmer環(huán)境中進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖3所示。從圖3中可以看出,當(dāng)L=0.90和L=0.95時(shí)算法的收斂速度最快,當(dāng)L=0.80和L=0.99時(shí)性能下降。當(dāng)L=0時(shí),ISAE中的重要性采樣不會(huì)受到L參數(shù)的影響,最終的結(jié)果和3.3節(jié)中分析的一致,當(dāng)不限制重要性采樣的作用范圍時(shí),會(huì)使批量更新中的數(shù)據(jù)上下界懸殊過(guò)大,導(dǎo)致網(wǎng)絡(luò)參數(shù)產(chǎn)生較大波動(dòng),從而引起收斂速度的降低。由于L=0.90和L=0.95時(shí)兩者的性能與收斂速度相近,因此在4.3節(jié)的對(duì)比實(shí)驗(yàn)中使用這2個(gè)參數(shù)。
圖3 L參數(shù)對(duì)比實(shí)驗(yàn)
圖4 3種算法在Hopper、Walker2d、HalfCheetah、Ant任務(wù)中的對(duì)比實(shí)驗(yàn)結(jié)果
為了驗(yàn)證ISAE的有效性,本文使用PPO算法作為基礎(chǔ)的梯度優(yōu)化算法,并在8個(gè)基準(zhǔn)任務(wù)中對(duì)比ISAE、GAE和CAPG的性能。每個(gè)算法在每個(gè)基準(zhǔn)實(shí)驗(yàn)中都進(jìn)行 20次不同隨機(jī)的訓(xùn)練,最終結(jié)果由 20次的結(jié)果取平均得到。首先,在動(dòng)作空間維度較高的任務(wù)中進(jìn)行對(duì)比實(shí)驗(yàn),圖4展示了3種算法在Hopper、Walker2d、HalfCheetah、Ant任務(wù)中的訓(xùn)練曲線,橫坐標(biāo)為訓(xùn)練步長(zhǎng),縱坐標(biāo)為最近100個(gè)情節(jié)的平均獎(jiǎng)賞。
將圖 4中的動(dòng)作空間維數(shù)的數(shù)量從小到大排布,可以看出,2組 ISAE算法的收斂速度與平均獎(jiǎng)賞均優(yōu)于 GAE與 CAPG,并且當(dāng)動(dòng)作空間維度大于 2時(shí),ISAE對(duì)于算法性能的提升隨著動(dòng)作空間維度的增加而越發(fā)明顯。例如,在 Hopper任務(wù)中,動(dòng)作空間的維度為3,ISAE在200 000步之前與GAE和CAPG這2種算法并未有較大差距,直到400 000步之后才逐漸拉開(kāi)差距。但在動(dòng)作空間維度為6的Walker2d任務(wù)中,ISAE在訓(xùn)練截?cái)嗟淖铋_(kāi)始便與GAE和CAPG拉開(kāi)差距,而在動(dòng)作空間維數(shù)更多的Ant任務(wù)中,這種情況更加突出。產(chǎn)生這一現(xiàn)象的原因是動(dòng)作空間的維度越高,策略生成的動(dòng)作則越多,動(dòng)作超出邊界的可能性就越大。當(dāng)動(dòng)作超出邊界時(shí),ISAE會(huì)利用重要性采樣來(lái)限制值函數(shù)的更新,保證值函數(shù)不會(huì)偏離策略太遠(yuǎn),提高了策略評(píng)估的準(zhǔn)確性,并從側(cè)面驗(yàn)證了 ISAE的有效性。
接下來(lái),將3種算法在其他4個(gè)MuJoCo控制任務(wù)中進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果如圖5所示,橫坐標(biāo)為訓(xùn)練步長(zhǎng),縱坐標(biāo)為最近100個(gè)情節(jié)的平均獎(jiǎng)賞。
圖5 3種算法在其他4個(gè)MuJoCo任務(wù)中對(duì)比實(shí)驗(yàn)結(jié)果
結(jié)合圖4和圖5可以看出,在Ant、Hopper、HalfCheetah、Walker2d、InvertedDoublePendulum、InvertedPendulum這 6個(gè)任務(wù)中,ISAE無(wú)論是L=0.90還是L=0.95,收斂速度和平均獎(jiǎng)賞都要優(yōu)于GAE和CAPG。不同參數(shù)的ISAE在不同的任務(wù)中表現(xiàn)得各不相同,這是因?yàn)樵诓煌娜蝿?wù)中,最優(yōu)動(dòng)作的分布各不相同。某些任務(wù)中最優(yōu)動(dòng)作更傾向于邊界動(dòng)作,而ISAE則會(huì)在一定程度上阻礙策略向邊界動(dòng)作靠攏,這時(shí)L=0.95則會(huì)更具有優(yōu)勢(shì)。在動(dòng)作空間維度較小的任務(wù)中,相較于 GAE和CAPG,ISAE在收斂速度上的優(yōu)勢(shì)不夠明顯,這是因?yàn)楫?dāng)動(dòng)作空間維度較小時(shí),策略生成超出邊界的動(dòng)作概率較小,所以在性能表現(xiàn)上會(huì)趨向于GAE,并且會(huì)受到任務(wù)特殊性的影響。當(dāng)在某些最優(yōu)動(dòng)作傾向于非邊界動(dòng)作的任務(wù)中,如InvertedPendulum,該任務(wù)由2個(gè)部分組成,一個(gè)只能水平移動(dòng)的小車(chē)和一端固定在小車(chē)中部且可以自由轉(zhuǎn)動(dòng)的長(zhǎng)桿,該任務(wù)的目標(biāo)是控制小車(chē)在水平方向移動(dòng)(動(dòng)作空間為[-3.0,3.0]1),使長(zhǎng)桿盡可能地保持豎立,保持平衡的時(shí)間越長(zhǎng),agent得到的獎(jiǎng)賞就越大。任何幅度過(guò)大的動(dòng)作(邊界動(dòng)作)都會(huì)使長(zhǎng)桿的平衡被打破,所以在大部分狀態(tài)下的最優(yōu)動(dòng)作都不是邊界動(dòng)作。由圖5可知,ISAE的參數(shù)L=0.90性能表現(xiàn)最好,收斂速度最快。平均獎(jiǎng)賞在達(dá)到最高點(diǎn)后下降的原因是,當(dāng)策略收斂到最優(yōu)時(shí),訓(xùn)練不會(huì)立即停止,而后續(xù)訓(xùn)練中會(huì)因?yàn)殡S機(jī)動(dòng)作導(dǎo)致值函數(shù)變化,從而影響到策略。這種情況通常會(huì)出現(xiàn)在需要精細(xì)控制對(duì)隨機(jī)動(dòng)作敏感的任務(wù)(如InvertedDoublePendulum)中,而在對(duì)隨機(jī)動(dòng)作不敏感的任務(wù)(如 Reacher)中,agent控制手臂使末端到達(dá)隨機(jī)指定位置,到達(dá)的時(shí)間越短,獎(jiǎng)賞越高,任務(wù)簡(jiǎn)單且沒(méi)有干擾因素,雖然算法很快收斂,但是并沒(méi)有產(chǎn)生波動(dòng),3種算法的性能沒(méi)有較大差距。但是在最優(yōu)策略靠近邊界動(dòng)作的任務(wù)(如Swimmer)中,GAE與CAPG的收斂速度要稍快于 ISAE。產(chǎn)生這一現(xiàn)象的原因是在Swimmer任務(wù)中,agent通過(guò)控制2個(gè)關(guān)節(jié)讓3節(jié)機(jī)器人在平地上向前移動(dòng),規(guī)定時(shí)間內(nèi)向前移動(dòng)的距離越長(zhǎng),得到的獎(jiǎng)賞就越高。該任務(wù)的最優(yōu)策略可以參考蛇的行進(jìn)方式,2個(gè)關(guān)節(jié)向相反的方向發(fā)力,到達(dá)極限后調(diào)轉(zhuǎn)方向,如此循環(huán)往復(fù)。這意味著最優(yōu)策略傾向于選擇邊界動(dòng)作,而ISAE會(huì)阻礙策略向邊界動(dòng)作收斂,L越小,阻礙的力度越大,所以在圖4中L=0.95比L=0.90時(shí)收斂速度更快。
為了驗(yàn)證訓(xùn)練得到模型的有效性,將訓(xùn)練后的模型在對(duì)應(yīng)的任務(wù)中使用測(cè)試集進(jìn)行比較,平均獎(jiǎng)賞結(jié)果如表2所示。
本文實(shí)驗(yàn)中所使用的測(cè)試集都由 20個(gè)隨機(jī)種子下的100個(gè)情節(jié)(共2 000個(gè)情節(jié))組成,最終的結(jié)果則由所有情節(jié)的累計(jì)獎(jiǎng)賞取平均得到。這樣做一方面對(duì)應(yīng)之前訓(xùn)練的過(guò)程,另一方面保證了對(duì)比實(shí)驗(yàn)不受隨機(jī)種子的影響。從表2中可以看出,測(cè)試集上的結(jié)果與訓(xùn)練階段的結(jié)果基本一致,ISAE在大部分任務(wù)中的表現(xiàn)明顯優(yōu)于GAE和CAPG,2個(gè)不同參數(shù)的ISAE的表現(xiàn)相差不大,從總體上看L=0.90略優(yōu)于L= 0.95。
本文針對(duì)在高斯策略下截?cái)鄤?dòng)作帶來(lái)的收斂速度慢的問(wèn)題,提出了 ISAE。該估計(jì)器在 GAE的基礎(chǔ)上,引入了重要性采樣。利用邊界動(dòng)作的行動(dòng)策略和目標(biāo)策略不一致,計(jì)算相應(yīng)的重要性采樣率,并將計(jì)算好的重要性采樣率運(yùn)用到GAE中。同時(shí),為了保證網(wǎng)絡(luò)的穩(wěn)定性,引入了L參數(shù),通過(guò)調(diào)節(jié)L使算法適應(yīng)不同的任務(wù)。將ISAE應(yīng)用于 PPO算法,通過(guò)對(duì)比不同的參數(shù)確定了L=0.90和L=0.95,并在MuJoCo平臺(tái)的8個(gè)基準(zhǔn)任務(wù)上與GAE和CAPG進(jìn)行對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,ISAE相較于GAE具有更快的收斂速度和更優(yōu)的收斂結(jié)果。
ISAE在大部分任務(wù)中的表現(xiàn)都優(yōu)于GAE和CAPG,但是對(duì)于最優(yōu)策略傾向于邊界動(dòng)作的任務(wù),ISAE由于使用了重要性采樣會(huì)阻礙策略向邊界動(dòng)作收斂,導(dǎo)致ISAE的收斂速度略慢于GAE和CAPG。未來(lái)的工作就是完善ISAE,使其能夠適用于邊界動(dòng)作為最優(yōu)策略的任務(wù),使估計(jì)器具有更廣泛的通用性。