祁文凱,桑國明
(大連海事大學(xué) 信息科學(xué)與技術(shù)學(xué)院,遼寧 大連116026)E-mail:sangguoming@dlmu.edu.cn
強(qiáng)化學(xué)習(xí)作為一種重要的機(jī)器學(xué)習(xí)方法,成為了繼深度學(xué)習(xí)之后,學(xué)術(shù)界和工業(yè)界追捧的熱點(diǎn)[1].從目前的形勢來看,強(qiáng)化學(xué)習(xí)發(fā)展前途一片光明,并在不同的領(lǐng)域取得了令人驚艷的成果,如視頻游戲,機(jī)器人控制,人機(jī)對話,無人駕駛等[2].強(qiáng)化學(xué)習(xí)的核心思想是解決序貫決策問題,在智能體和環(huán)境的交互過程中,需要連續(xù)不斷地做出決策[3],并從環(huán)境中獲得累計的獎勵值,最大化該獎勵值從而使整個任務(wù)序列達(dá)到最優(yōu).
近年來,強(qiáng)化學(xué)習(xí)領(lǐng)域的研究大多數(shù)集中于深度強(qiáng)化學(xué)習(xí)方面,Xuesong Wang等人通過最小化單步Bellman殘差來減少價值函數(shù)更新的累積誤差,提出了基于近似策略的加速算法(APA)[4],APA使用先前的值函數(shù)估計值來輔助更新當(dāng)前值函數(shù),減小了單步誤差對算法精度的影響,提高了智能體在復(fù)雜任務(wù)中的學(xué)習(xí)效率,最終獲得更準(zhǔn)確的Q值估計,通過將APA與DQN,Double DQN和DDPG結(jié)合,形成了三種改進(jìn)的算法:APA-DQN,APA-Double DQN和APADDPG.Xuesong Wang等人通過將神經(jīng)網(wǎng)絡(luò)參數(shù)從某個單一值轉(zhuǎn)換為函數(shù)分布來增強(qiáng)智能體的探索能力,設(shè)置兩組參數(shù)來加速參數(shù)分配優(yōu)化,提出了近端參數(shù)分布優(yōu)化算法(PPDO)[5].PPDO限制了兩個連續(xù)的參數(shù)更新,避免隨機(jī)噪聲對優(yōu)化穩(wěn)定性的影響,減小了值函數(shù)逼近產(chǎn)生的方差和偏差,加快參數(shù)分布優(yōu)化的過程并提高參數(shù)分布優(yōu)化的穩(wěn)定性.
在強(qiáng)化學(xué)習(xí)發(fā)展的道路上,谷歌的人工智能團(tuán)隊Deepmind創(chuàng)造性地將深度網(wǎng)絡(luò)與強(qiáng)化學(xué)習(xí)算法結(jié)合形成深度強(qiáng)化學(xué)習(xí),成為了人工智能研究領(lǐng)域的里程碑,并由此衍生出許多強(qiáng)化學(xué)習(xí)的經(jīng)典算法.如將強(qiáng)化學(xué)習(xí)中的Q-Learning方法和卷積神經(jīng)網(wǎng)絡(luò)(CNN)[6,7]結(jié)合而形成的深度Q網(wǎng)絡(luò)學(xué)習(xí)方法(DQN)[8];Hasselt等人將動作的選擇和動作的評估分別用不同的值函數(shù)來表示,提出了深度雙Q網(wǎng)絡(luò)(Double DQN)[9];Narasimhan等人將長短時間記憶單元(LSTM)引入 DQN 中,提出了帶有 LSTM 單元的深度循環(huán) Q 網(wǎng)絡(luò)(DRQN)[10];Wang等人將DQN的網(wǎng)絡(luò)結(jié)構(gòu)分解為優(yōu)勢函數(shù)和與動作無關(guān)的狀態(tài)值函數(shù),用這兩個分解后的函數(shù)來生成狀態(tài)動作值函數(shù),提出了深度競爭的Q網(wǎng)絡(luò)(Dueling DQN)[11].
但上述的求解最優(yōu)策略的強(qiáng)化學(xué)習(xí)算法都是基于值函數(shù)進(jìn)行求解的,即求解arg maxaQ(s,a),當(dāng)要解決的問題動作空間很大或者動作為連續(xù)集時[12],該式無法有效求解.因此相關(guān)領(lǐng)域的學(xué)者們研究出基于策略梯度的強(qiáng)化學(xué)習(xí)方法[13],該算法直接計算策略可能更新的方向[14].在真實(shí)的環(huán)境交互中,由于需要控制訓(xùn)練智能體的成本,往往會造成與環(huán)境不充分的交互數(shù)據(jù),從而導(dǎo)致智能體從環(huán)境中得到的獎勵回報產(chǎn)生較大的方差[15].為了使方差降低,學(xué)者們進(jìn)一步提出了演員評論家(actor-critic)算法[16,17],該算法利用一個獨(dú)立的模型估計交互軌跡的長期回報,而不再使用交互軌跡的真實(shí)回報,并在多數(shù)Atari 2600游戲中取得了較高的獎勵回報分?jǐn)?shù)[18].
傳統(tǒng)的強(qiáng)化學(xué)習(xí)算法在值函數(shù)的更新公式中都有最大化操作,這會導(dǎo)致估計的值函數(shù)比真實(shí)值函數(shù)大,從而產(chǎn)生過估計問題[19].在高維復(fù)雜的環(huán)境中,智能體與環(huán)境交互所得的樣本復(fù)雜度也會變得非常高,并且其獎勵回報值將變得難以收斂,表現(xiàn)出明顯的不穩(wěn)定性[20,21].本文提出的基于延遲策略的最大熵優(yōu)勢演員評論家(DAAC)算法,使用了兩個評論家網(wǎng)絡(luò),分別計算狀態(tài)值函數(shù)和動作的優(yōu)勢估計值函數(shù),使智能體可以選擇更好的策略來獲得更高的獎勵回報;使用延遲策略更新的技巧來提高策略獎勵回報的收斂性;使用最大熵框架,使策略的期望獎勵回報和期望熵都達(dá)到最大,從而使智能體在有限的環(huán)境交互中,進(jìn)行更廣泛的探索.該算法在OpenAI Gym的物理仿真模擬器MuJoCo上進(jìn)行實(shí)驗(yàn),并與傳統(tǒng)的強(qiáng)化學(xué)習(xí)算法作對比,DAAC算法取得了更高的環(huán)境獎勵回報值,更快速的學(xué)習(xí)到了最優(yōu)策略,并且表現(xiàn)出更好的收斂性和穩(wěn)定性.
強(qiáng)化學(xué)習(xí)的基本內(nèi)容是智能體在完成某項任務(wù)時,首先通過動作與環(huán)境進(jìn)行交互,產(chǎn)生新的狀態(tài)并會獲得環(huán)境反饋給智能體的獎勵回報值,隨著交互次數(shù)的增加,智能體利用與環(huán)境交互產(chǎn)生的數(shù)據(jù)不斷改進(jìn)動作選擇策略來獲得更高的獎勵值[22],經(jīng)過多次迭代,智能體最終可以探索出完成相應(yīng)任務(wù)的最優(yōu)策略[23].
強(qiáng)化學(xué)習(xí)的目標(biāo)是給定一個馬爾科夫決策過程,尋找最優(yōu)策略,該決策過程由元組(S,A,P,R,γ)表示,其中S為有限的狀態(tài)集,A為有限的動作集,P為狀態(tài)轉(zhuǎn)移概率,R為環(huán)境獎勵回報值,γ為用于計算累計獎勵值的折扣系數(shù)[24].強(qiáng)化學(xué)習(xí)使用狀態(tài)動作值函數(shù)Qπ(s,a)來評估策略,該函數(shù)被定義為智能體在當(dāng)前狀態(tài)s,根據(jù)策略π,執(zhí)行動作a所獲取的獎勵值的期望:
(1)
智能體的目標(biāo)是探索出最優(yōu)的狀態(tài)動作值函數(shù),即:
Q*(s,a)=maxQπ(s,a)
(2)
該最優(yōu)函數(shù)遵循貝爾曼最優(yōu)方程:
(3)
然后通過反復(fù)迭代該貝爾曼方程求解狀態(tài)動作值函數(shù)Q,最終該函數(shù)會收斂到最優(yōu)解[7,9],也就得出了智能體的最優(yōu)策略π*=argmaxaQ*(s,a).但在實(shí)際的環(huán)境交互過程中,通過迭代貝爾曼方程來求解最優(yōu)策略會產(chǎn)生諸多問題.高維復(fù)雜的環(huán)境會使原有的計算量過大,并且迭代獲得的獎勵值會隨著時間的變化變得較難收斂甚至發(fā)散[15,20].在強(qiáng)化學(xué)習(xí)算法中,可以使用深度神經(jīng)網(wǎng)絡(luò)等非線性函數(shù)去近似表示值函數(shù)或策略[4],但這種方式帶來的問題是,訓(xùn)練樣本的復(fù)雜度會隨著迭代交互的次數(shù)而增加,訓(xùn)練過程也存在著不穩(wěn)定性[13].因此可以采取直接計算策略可能更新方向的方法,即策略梯度算法.該算法能夠提高計算效率,使智能體獲得更高的環(huán)境獎勵回報值以及更好的算法穩(wěn)定性[7,16].
在傳統(tǒng)的強(qiáng)化學(xué)習(xí)算法中,智能體通過迭代計算狀態(tài)動作值函數(shù)的貝爾曼方程[1,10],來探索可以獲得最大獎勵回報值的策略.而在基于策略梯度的強(qiáng)化學(xué)習(xí)算法中,通過直接迭代更新策略的參數(shù)值,來獲得最大獎勵回報值的期望,這個參數(shù)值所對應(yīng)的就是最優(yōu)策略.與傳統(tǒng)算法中對值函數(shù)進(jìn)行參數(shù)化表示相比,策略梯度算法對策略π進(jìn)行參數(shù)化表示[15],使得算法參數(shù)化更簡單且有較好的收斂性,當(dāng)智能體交互環(huán)境的動作為連續(xù)集或者動作空間域很大,策略梯度算法可以有效地進(jìn)行求解.策略梯度算法公式見式(4):
θlogπθ(ai,t|si,t)
(4)
其中J(θ)表示目標(biāo)函數(shù),對目標(biāo)函數(shù)進(jìn)行求導(dǎo)運(yùn)算,并做積分變換,最后再使用蒙特卡洛近似方法對上式中的期望進(jìn)行替換:
(5)
但該計算策略梯度的公式中也存在一些缺陷:無論智能體在與環(huán)境的交互過程中處于什么時間段,策略的梯度總是乘以所有時刻的回報值總和,不符合實(shí)際需求,所以可以使用兩個不同的時間變量t,t′來表示t時刻之前和t時刻之后的獎勵值:
θlogπθ(ai,t|si,t)
(6)
存在某種情況,環(huán)境對智能體的獎勵值始終為正,會導(dǎo)致策略梯度求解問題存在一定的波動性,為了使智能體能夠讓最大化獎勵值策略的“權(quán)重”為正且盡可能大,讓不能最大化獎勵值策略的“權(quán)重”為負(fù)且盡可能小,這里引入一個偏移量bi,t′表示為:
(7)
策略梯度求解公式就可以表示為:
θlogπθ(ai,t|si,t)
(8)
這種方法不僅降低了算法的波動性,而且也不會影響最終智能體獲得的環(huán)境獎勵值.許多基于策略梯度的強(qiáng)化學(xué)習(xí)算法也普遍使用該方法.
在真實(shí)的智能體與環(huán)境的交互過程中,為了限制交互次數(shù),會導(dǎo)致估計得到的獎勵值序列與真實(shí)值之間存在較大差異,導(dǎo)致獎勵回報值的方差較大,并且常規(guī)的策略梯度算法也表現(xiàn)出較慢的收斂速度,因此解決這些問題的一種方法是Actor-Critic,即演員評論家算法.
演員評論家算法包括兩個模型網(wǎng)絡(luò),Actor 表示策略模型網(wǎng)絡(luò),Critic表示價值模型網(wǎng)絡(luò).Actor使用策略函數(shù)πθ(ai|si)并根據(jù)當(dāng)前環(huán)境狀態(tài)來選擇下一步的動作,它將狀態(tài)的表現(xiàn)映射到動作選擇概率,并且可以在不需要對值函數(shù)進(jìn)行優(yōu)化的情況下做出決策策略.Critic負(fù)責(zé)評估Actor的決策策略,并引導(dǎo)Actor改進(jìn)策略.它通過構(gòu)造狀態(tài)動作值函數(shù)Qπ(s,a),使用TD偏差估計由Actor計算的策略πθ所能獲得的預(yù)期獎勵值,以此來加速智能體的學(xué)習(xí)進(jìn)程并有效減小方差.狀態(tài)動作值函數(shù)由式(9)表示:
Qπ(s,a)=R(st,at)+V(st+1)-V(st)
(9)
圖1表示演員評論家算法的基本結(jié)構(gòu),其中智能體根據(jù)Actor網(wǎng)絡(luò)的策略πθ(ai|si)來選擇下一動作,并與環(huán)境交互獲得獎勵值和智能體的下一個狀態(tài),將這兩個變量傳入Critic網(wǎng)絡(luò),Critic網(wǎng)絡(luò)通過狀態(tài)動作值函數(shù)Qπ(s,a)計算出TD偏差,并將TD偏差傳入Actor網(wǎng)絡(luò),由此來評估當(dāng)前策略,便于Actor網(wǎng)絡(luò)對策略進(jìn)行改進(jìn)以獲得更高的獎勵值和更穩(wěn)定的學(xué)習(xí)過程.
圖1 演員評論家算法結(jié)構(gòu)圖
Actor-Critic算法通常從策略迭代開始,迭代在策略評估和策略改進(jìn)之間交替進(jìn)行,在環(huán)境較復(fù)雜的強(qiáng)化學(xué)習(xí)問題中,將這兩個步驟運(yùn)行到收斂通常都是不現(xiàn)實(shí)的,因此本文提出了最大熵優(yōu)勢模型,將值函數(shù)和策略聯(lián)合優(yōu)化.傳統(tǒng)的強(qiáng)化學(xué)習(xí)算法的目標(biāo)是最大化獎勵回報值的期望,即:
(10)
而在最大熵優(yōu)勢模型中,將算法的目標(biāo)設(shè)置為策略的預(yù)期熵,并最大化這個預(yù)期熵.由于在智能體探索環(huán)境的過程中,環(huán)境的條件以及下一時刻的狀態(tài)是未知的,因此智能體根據(jù)已探索過的環(huán)境得出的策略,不作任何對未知環(huán)境狀態(tài)的假設(shè),策略把未知的狀態(tài)動作進(jìn)行等概率處理,從而使?fàn)顟B(tài)動作值函數(shù)的概率分布變得最均勻,因此熵也是最大的.基于該模型的隨機(jī)策略公式如式(11):
(11)
其中平衡系數(shù)ω表示在策略π中,獎勵值與熵的相對重要性,通過調(diào)整ω的大小變化,可以控制策略的隨機(jī)性.在本文的實(shí)驗(yàn)中,使用該系數(shù)的倒數(shù)ω-1來表示.策略的熵用Η(π(at,st+1))表示.
在傳統(tǒng)的Actor-Critic算法中,Critic網(wǎng)絡(luò)通過使用Q-learning和單一的輸出序列來計算狀態(tài)動作值函數(shù)Qπ(s,a),并建立環(huán)境狀態(tài)和智能體動作之間的聯(lián)系.但在高維復(fù)雜的環(huán)境中,部分狀態(tài)不單單只取決于智能體選擇的動作,二者具有一定的獨(dú)立性.因此,本文提出的算法模型中設(shè)計了兩個評論家網(wǎng)絡(luò),分別計算狀態(tài)值函數(shù)V(st)和動作優(yōu)勢函數(shù)A(st,at).其結(jié)構(gòu)模型如圖2所示.
圖2 演員優(yōu)勢評論家算法結(jié)構(gòu)圖
動作優(yōu)勢值是一個相對值,它衡量智能體在某種狀態(tài)下可能發(fā)生的動作的相對優(yōu)劣,并且它獨(dú)立于環(huán)境狀態(tài)和環(huán)境噪聲,因此它可以提高Q函數(shù)的準(zhǔn)確性和運(yùn)算效率.演員網(wǎng)絡(luò)基于策略梯度法選擇智能體的動作,兩個評論家網(wǎng)絡(luò)共同為演員網(wǎng)絡(luò)提供Q函數(shù),以此來調(diào)整并選擇最優(yōu)策略.該狀態(tài)動作值函數(shù)Q可形式化表示為式(12):
Qπ(st,at)=V(st)+A(st,at)
(12)
由于狀態(tài)值函數(shù)V(st)和動作優(yōu)勢函數(shù)A(st,at)存在很多種潛在的可能組合,會增加算法的波動性,因此對動作優(yōu)勢函數(shù)A(st,at)附加一定的約束條件,讓每一個A(st,at)函數(shù)減去當(dāng)前狀態(tài)下所有A(st,at)函數(shù)的平均值,因?yàn)閮?yōu)勢值只需要以同樣的速度變化,以此來提高算法的穩(wěn)定性:
(13)
將上述算法結(jié)構(gòu)中的狀態(tài)值函數(shù)V(st)和狀態(tài)動作值函數(shù)Qπ(s,a)分別進(jìn)行參數(shù)化表示,即Vα(st)和Qβ(st,at).通過更新參數(shù)α,β來分別優(yōu)化值函數(shù),其中狀態(tài)動作值函數(shù)Qβ(st,at)不使用經(jīng)驗(yàn)重放緩沖區(qū)中的數(shù)據(jù),而是根據(jù)當(dāng)前Actor網(wǎng)絡(luò)的策略對可能采取的動作進(jìn)行采樣,訓(xùn)練參數(shù)β使Qβ(st,at)的平方差最小:
(14)
其中,策略π是基于最大熵的隨機(jī)策略,使用隨機(jī)梯度下降法對JQ(β)進(jìn)行更新:
(15)
其中Q′(st,at)可表示為:
(16)
該Q′(st,at)是由兩個評論家網(wǎng)絡(luò)共同計算得出的狀態(tài)動作值函數(shù),并包括了當(dāng)前狀態(tài)的獎勵值以及累積的狀態(tài)值函數(shù)的期望.
同理訓(xùn)練參數(shù)α使Vα(st)的平方差最?。?/p>
(17)
其中D是從經(jīng)驗(yàn)重放緩沖區(qū)采集的狀態(tài)和動作的樣本,同理使用隨機(jī)梯度下降法對JV(α)進(jìn)行更新:
(18)
最大熵優(yōu)勢模型保證了智能體可以對環(huán)境進(jìn)行更廣泛的探索,在已知的狀態(tài)下,對未知的狀態(tài)和動作進(jìn)行等概率處理,有效地縮小了計算方差,采用兩個評論家網(wǎng)絡(luò),計算動作的相對優(yōu)勢值來評估并改進(jìn)演員網(wǎng)絡(luò)的當(dāng)前策略.通過在高維復(fù)雜的環(huán)境實(shí)驗(yàn)中,證明該模型框架可以使智能體獲得更高的獎勵回報值和更穩(wěn)定的交互訓(xùn)練過程.
在傳統(tǒng)的強(qiáng)化學(xué)習(xí)問題中,智能體通過當(dāng)前時刻的回報和下一時刻的價值估計進(jìn)行更新,由于從經(jīng)驗(yàn)回放緩沖區(qū)采樣的數(shù)據(jù)之間存在差異,導(dǎo)致更新存在較大波動性,并且會使值函數(shù)的估計迅速發(fā)散.因此為了解決波動性和發(fā)散的問題,學(xué)者們提出采用目標(biāo)網(wǎng)絡(luò)更新,這也被應(yīng)用在了大多數(shù)經(jīng)典的強(qiáng)化學(xué)習(xí)算法中.
目標(biāo)網(wǎng)絡(luò)是實(shí)現(xiàn)深度強(qiáng)化學(xué)習(xí)穩(wěn)定性的重要工具,它設(shè)置一個不會大幅更新的模型,將智能體計算的目標(biāo)值函數(shù)在一段時間內(nèi)固定,這在一定程度上可以減少波動,并降低了發(fā)散的可能性,令計算過程更穩(wěn)定.
傳統(tǒng)的演員評論家算法是一種異策略(off-policy)的強(qiáng)化學(xué)習(xí)算法,使用貪婪策略π=arg maxaQ(st,at),并以θ為參數(shù)建立貝爾曼均方差的損失函數(shù)如式(19):
L(θ)=Eπ(st,at)[(Q(st,at|θ)-Yt)2]
(19)
其中目標(biāo)值函數(shù)Yt表示為式(20):
Yt=R(st+at)+γQ(st+1,at+1|θ)
(20)
由于狀態(tài)動作值函數(shù)Q(st,at|θ)和目標(biāo)值函數(shù)Yt使用相同的更新參數(shù)θ,最小化該貝爾曼均方差損失函數(shù)會變得不穩(wěn)定,函數(shù)逼近誤差會不斷積累.
本文提出延遲評論家網(wǎng)絡(luò)的策略更新,通過延緩評論家網(wǎng)絡(luò)的更新速率,設(shè)置一個固定的閾值系數(shù)τ,該系數(shù)緩慢跟蹤智能體正在學(xué)習(xí)的策略,并調(diào)節(jié)目標(biāo)網(wǎng)絡(luò)在更新中的比重,以此來更新目標(biāo)網(wǎng)絡(luò):
θtarget=τθ+(1-τ)θtarget
(21)
該方法限制了目標(biāo)值的變化速率,降低了值函數(shù)估計與策略之間的耦合性,也降低了最小化貝爾曼均方差損失函數(shù)的不穩(wěn)定性,把函數(shù)逼近的累積誤差對策略的影響降到最低,通過實(shí)驗(yàn)證明該方法有效提高了算法的穩(wěn)定性和收斂性.
在3.2節(jié)中的最大熵演員評論家算法框架中,根據(jù)式(14),狀態(tài)動作值函數(shù)Qβ(st,at)的訓(xùn)練參數(shù)β使用到演員網(wǎng)絡(luò)的當(dāng)前策略π,同理根據(jù)式(17),狀態(tài)值函數(shù)Vα(st)的訓(xùn)練參數(shù)α也使用到策略π,因此使用閾值系數(shù)τ分別延遲更新基于參數(shù)α的狀態(tài)值函數(shù)Vα(st)和基于參數(shù)β的狀態(tài)動作值函數(shù)Qβ(st,at):
αtarget=τα+(1-τ)αtarget
(22)
βtarget=τβ+(1-τ)βtarget
(23)
其中,αtarget,βtarget表示使用延遲更新之后的參數(shù).評論家網(wǎng)絡(luò)使用該參數(shù)進(jìn)行后續(xù)的隨機(jī)梯度下降更新值函數(shù)估計.
3.4.1 算法描述
本文提出的基于延遲策略的最大熵優(yōu)勢演員評論家強(qiáng)化學(xué)習(xí)算法(DAAC)的算法流程描述如算法1所示:
算法 1.基于延遲策略的最大熵優(yōu)勢演員評論家強(qiáng)化學(xué)習(xí)算法(DAAC)
1.初始化:演員網(wǎng)絡(luò)策略函數(shù)的參數(shù)θ,評論家網(wǎng)絡(luò)狀態(tài)值函數(shù)的參數(shù)α,評論家網(wǎng)絡(luò)狀態(tài)動作值函數(shù)的參數(shù)β
2.清空經(jīng)驗(yàn)重放緩沖區(qū)D
3.Repeat:(對每一個實(shí)驗(yàn)回合):
4.根據(jù)智能體所處的當(dāng)前狀態(tài)s和演員網(wǎng)絡(luò)的策略π選擇動作a~πθ(st,at);
5.智能體執(zhí)行動作a與環(huán)境進(jìn)行交互;
6.智能體獲得下一狀態(tài)s′,環(huán)境獎勵回報值r,并設(shè)置變量d指示智能體狀態(tài)s是否是探索環(huán)境的終止點(diǎn);
7.將(s,a,r,s′,d)作為一次交互探索產(chǎn)生的樣本存入經(jīng)驗(yàn)重放緩沖區(qū)D中;
8.If演員網(wǎng)絡(luò)的策略需要優(yōu)化更新then:
Forj在每一個時間步驟中do:
9.隨機(jī)從經(jīng)驗(yàn)重放緩沖區(qū)中采集一個小
批量的樣本X,X=(s,a,r,s′,d)
10.在評論家1網(wǎng)絡(luò)中計算動作優(yōu)勢值函數(shù)
11.訓(xùn)練基于最大熵的隨機(jī)策略π
12.根據(jù)策略π訓(xùn)練狀態(tài)值函數(shù)的參數(shù)α
13.根據(jù)π訓(xùn)練狀態(tài)動作值函數(shù)的參數(shù)β
14.使用隨機(jī)梯度下降法更新參數(shù)α
15.使用隨機(jī)梯度下降法更新參數(shù)β
16.設(shè)置閾值變量τ延遲更新參數(shù)α
αtarget=τα+(1-τ)αtarget
17.設(shè)置閾值變量τ延遲更新參數(shù)β
βtarget=τβ+(1-τ)βtarget
18. End for
19. End if
20.Until智能體到達(dá)訓(xùn)練的終止點(diǎn)
3.4.2 算法分析
DAAC是一種基于異策略(off-policy)的演員評論家算法,并在最大熵優(yōu)勢框架中迭代,交替進(jìn)行策略評估和策略改進(jìn).為證明該算法的收斂性和穩(wěn)定性,需要構(gòu)建策略π的值函數(shù),因此引入一個Bellman運(yùn)算符Γ,并將其擴(kuò)展到狀態(tài)值函數(shù)V(st)和狀態(tài)動作值函數(shù)Q(st,at)的估計中,當(dāng)需要精確表示狀態(tài)動作值函數(shù)Q時,該運(yùn)算符可以增大值函數(shù)估計與策略之間的不相關(guān)性.對于所有的狀態(tài)動作值函數(shù)Q(st,at),狀態(tài)值st∈S,動作值at∈A,并設(shè)Γπ為最優(yōu)Bellman運(yùn)算符,且滿足不等式(24),式(25):
ΓπQ(st,at)≤ΓQ(st,at)
(24)
ΓπQ(st,at)≥ΓQ(st,at)-λ[V(st)-Q(st,at)]
(25)
其中λ∈[0,1),當(dāng)不等式(24)、式(25)同時成立,Γπ最終會產(chǎn)生最優(yōu)策略.在算法策略迭代過程中,根據(jù)式(11)中的最大熵目標(biāo)來計算策略π的值函數(shù),并重復(fù)應(yīng)用Bellman最優(yōu)運(yùn)算符Γπ:
ΓπQ(st,at)=R(st,at)+γE(st+1)~ρ[V(st+1)]
(26)
其中ρ為狀態(tài)轉(zhuǎn)移概率,對于確定的策略π,從ρ:S×A→R開始,狀態(tài)動作值函數(shù)Q按照式(26)進(jìn)行迭代計算.
在策略改進(jìn)計算中,定義分區(qū)函數(shù)Zπold(st)對策略分布進(jìn)行歸一化,并根據(jù)Kullback-Leibler散度的定義將改進(jìn)的策略π?投影到策略集合Π中,從而計算更新后的策略如式(27):
(27)
將更新后的策略πnew作為狀態(tài)動作值函數(shù)Q的指數(shù).
定理.對于所有的智能體探索環(huán)境的狀態(tài)動作值集(st,at),令(st,at)∈S×A,|A|<,S×A→R,不等式Qπnew(st,at)≥Qπold(st,at)成立,并且定義狀態(tài)動作值函數(shù)序列Qk,滿足Qk+1=ΓπQk,序列Qk將收斂到π.
證明:根據(jù)式(11),定義最大熵獎勵值函數(shù)為:
Rπ(st,at)=R(st,at)+Ε(st+1)~ρ[Η(π(at+1|st+1))]
(28)
其中最大熵獎勵值函數(shù)Rπ(st,at)是有界的,將該值函數(shù)應(yīng)用于狀態(tài)動作值函數(shù)Q(st,at)的更新中:
Q(st,at)=Rπ(st,at)+γE(st+1)~ρ,(at+1)~π[Q(st+1,at+1)]
(29)
在策略集合Π中,定義πold∈Π,則根據(jù)式(27),更新后的策略πnew重新定義為:
(30)
因?yàn)闊o論是更新之前的策略πold還是更新之后的策略πnew,它們都包含于策略集合Π,所以不等式(31)成立:
Jπold(πnew(at|st))≤Jπold(πold(at|st))
(31)
接著分別求出新策略和舊策略的期望:
Eat~πnew[logπnew(at|st)-Qπold(st,at)+logZπold(st)]
Eat~πold[logπold(at|st)-Qπold(st,at)+logZπold(st)](32)
根據(jù)式(31)、式(32)可得出:Eat~πnew≤Eat~πold,因?yàn)榉謪^(qū)函數(shù)Zπold(st)只和當(dāng)前智能體所處環(huán)境狀態(tài)相關(guān),所以不等關(guān)系為:
Eat~πnew[Qπold(st,at)-logπnew(at|st)]≥Vπold(st)
(33)
根據(jù)式(26)和定義條件Qk+1=ΓπQk將狀態(tài)動作值函數(shù)Q寫成Bellman方程的展開形式:
Qπold(st,at)=R(st,at)+γE(st+1)~ρ[Vπold(st+1)]≤R(st,at)+γE(st+1)~ρ[E(at+1)~πnew[Qπold(st+1,at+1)-logπnew(at+1|st+1)]]≤Qπnew(st,at)
(34)
由不等式(33)、式(34)可得出更新后的狀態(tài)動作值函數(shù)滿足Qπnew(st,at)≥Qπold(st,at)成立,因此值函數(shù)可以穩(wěn)定地收斂到策略π.證畢.
綜上所述,DAAC算法具有較好的穩(wěn)定性和收斂性.
本節(jié)中,首先介紹實(shí)驗(yàn)所用的平臺模擬器以及實(shí)驗(yàn)算法的參數(shù)設(shè)置.
本文實(shí)驗(yàn)所使用的是基于Linux Ubuntu 16.04操作系統(tǒng)的MuJoCo Pro 150物理模擬器.MuJoCo是一個通用的物理仿真模擬器,其主要功能有以下幾方面:分析可逆的摩擦接觸動力學(xué)、模擬仿真機(jī)器人三維幾何的關(guān)節(jié)運(yùn)動、驅(qū)動一般的物理模擬器并重新配置其計算流水線、分離模型和數(shù)據(jù)并提供交互式的模擬和用戶可視化、提供強(qiáng)大而直觀的建模語言并可自動生成復(fù)合柔性對象.
本文采用了4個經(jīng)典的基于MuJoCo的高維復(fù)雜物理模擬器環(huán)境如圖3所示,分別是Ant-v2,HalfCheetah-v2,Walker-v2,Swimmer-v2.使用的計算機(jī)為Intel i7-4712MQ,主頻為2.30GHz,內(nèi)存為8GB,和NVIDIA GTX-1080 Ti圖形處理器輔助運(yùn)算.
圖3 本文實(shí)驗(yàn)所用模擬機(jī)器人結(jié)構(gòu)圖
本文提出的基于延遲策略的最大熵優(yōu)勢演員評論家強(qiáng)化學(xué)習(xí)算法(DAAC)與深層Q-learning算法(DQN),置信區(qū)域策略優(yōu)化算法(TRPO),深層確定性策略梯度算法(DDPG)進(jìn)行了對比實(shí)驗(yàn).實(shí)驗(yàn)參數(shù)設(shè)置如表1所示,其中通用的超參數(shù)設(shè)置包括了每個實(shí)驗(yàn)使用了0,10,20,30,40這5個種子作為隨機(jī)數(shù)的生成器,神經(jīng)網(wǎng)絡(luò)設(shè)置2個隱藏層,當(dāng)每個隱藏層分別有64,128個節(jié)點(diǎn)時,實(shí)驗(yàn)效果較為穩(wěn)定且訓(xùn)練速度在可接受范圍內(nèi).演員評論家框架結(jié)構(gòu)采用卷積神經(jīng)網(wǎng)絡(luò),并使用ReLU作為其激活函數(shù),在對策略更新使用隨機(jī)梯度下降法時,該激活函數(shù)不會出現(xiàn)明顯的梯度消失,并且相較于其它激活函數(shù)有較小的計算時間代價.在最大熵框架中,如3.2節(jié)所述,平衡系數(shù)ω表示獎勵值與熵的相對重要性,在實(shí)驗(yàn)中使用其倒數(shù)ω-1來表示,不同環(huán)境的的ω-1值不相同,其中Ant-v2和Swimmer-v2的為ω-10.2,HalfCheetah-v2和Walker-v2為0.1.這是由于上述環(huán)境所模擬的三維動態(tài)機(jī)器人的坐標(biāo)控制機(jī)制和復(fù)雜度不同,所以需要調(diào)整該平衡系數(shù)以獲得更優(yōu)的結(jié)果.所有實(shí)驗(yàn)設(shè)置智能體與環(huán)境交互回合數(shù)epochs為200,每一回合的步數(shù)為5000,即實(shí)驗(yàn)總的交互時間步數(shù)Time Steps為100萬個.經(jīng)驗(yàn)重放緩沖區(qū)的容量replay_size設(shè)置為最多存儲105個交互樣本.延遲參數(shù)更新閾值τ設(shè)置為0.015,獎勵折扣系數(shù)γ設(shè)置為0.99,因?yàn)榫嚯x當(dāng)前狀態(tài)越近,其影響因素也就越大.學(xué)習(xí)率lrate設(shè)為10-3,每一次計算策略時從經(jīng)驗(yàn)重放緩沖區(qū)采集的批量大小batch_size為100個樣本進(jìn)行訓(xùn)練.
表1 參數(shù)設(shè)置實(shí)驗(yàn)數(shù)據(jù)表
4.3.1 DAAC算法對比實(shí)驗(yàn)
本文選擇3個基線算法作對比,分別為DQN,TRPO,DDPG.其中DQN利用卷積神經(jīng)網(wǎng)絡(luò)逼近值函數(shù),使用了經(jīng)驗(yàn)回放緩沖區(qū)訓(xùn)練強(qiáng)化學(xué)習(xí)的智能體學(xué)習(xí)過程[2,16],并獨(dú)立設(shè)置了目標(biāo)網(wǎng)絡(luò)來單獨(dú)處理時間差分算法中的 TD 偏差.TRPO利用重要性采樣處理動作分布,并優(yōu)化目標(biāo)函數(shù),保證了新的策略可以使環(huán)境獎勵回報值單調(diào)不減[14].DDPG利用深度神經(jīng)網(wǎng)絡(luò)逼近值函數(shù)和確定性策略,建立目標(biāo)函數(shù)使其不依賴于任何策略,采用異策略的學(xué)習(xí)方法并使用了經(jīng)典的演員評論家算法框架[12,13].在解決高維復(fù)雜的強(qiáng)化學(xué)習(xí)環(huán)境中,本文提出的DAAC算法性能優(yōu)于上述三個算法.
圖4是基于MuJoCo的Ant-v2環(huán)境,該環(huán)境模擬一個四足爬行機(jī)器人,其具有29個狀態(tài)維度和8個制動控制器.該機(jī)器人通過與環(huán)境交互,訓(xùn)練其四足上的8個控制器學(xué)習(xí)如何能夠平穩(wěn)行走,完成平穩(wěn)行走后,訓(xùn)練該機(jī)器人如何快速行走甚至奔跑,實(shí)驗(yàn)中設(shè)置機(jī)器人平穩(wěn)行走的獎勵值為1000,當(dāng)訓(xùn)練行走和奔跑的速度越快,環(huán)境給予智能體的獎勵值也就越大.從圖中可以得出,TRPO和DQN的訓(xùn)練效果很差,因?yàn)樵摍C(jī)器人智能體是多維的,與環(huán)境交互產(chǎn)生的樣本復(fù)雜度很高,這兩個算法在處理復(fù)雜的樣本和動作分布時,無法學(xué)習(xí)到優(yōu)良的策略,因此獎勵值很低.DDPG獲得了較好的訓(xùn)練過程,在大約0.2*106時間步處,獎勵值達(dá)到了1000,四足機(jī)器人學(xué)會了平穩(wěn)行走,并開始加速移動,最終得到來自環(huán)境的獎勵回報值約為3000.而在DAAC算法訓(xùn)練中,四足機(jī)器人大約在0.18*106時間步處學(xué)會了平穩(wěn)行走,與DDPG相比沒有明顯的改觀,但在之后的時間步中,DAAC訓(xùn)練的機(jī)器人擁有更快的奔跑速度,因此獲得更高的獎勵值,最高獎勵值達(dá)到了約5300,雖然在0.8*106處出現(xiàn)了下降,原因是機(jī)器人在奔跑過程中由于速度過快而出現(xiàn)不平衡現(xiàn)象.
圖4 Ant-v2環(huán)境下算法對比實(shí)驗(yàn)圖
圖5是基于MuJoCo的HalfCheetah-v2環(huán)境,該環(huán)境模擬一個雙腿爬行運(yùn)動類似獵豹的機(jī)器人,其具有27個狀態(tài)維度和7個制動控制器.實(shí)驗(yàn)設(shè)置該獵豹機(jī)器人在初始狀態(tài)就可以進(jìn)行奔跑,不需要先學(xué)習(xí)行走,但是由于該機(jī)器人的前足有2個關(guān)節(jié)控制器,而后足有3個關(guān)節(jié)控制器,因此需要保持其頭部偏移度不能過大,否則環(huán)境會減少獎勵值,當(dāng)獵豹機(jī)器人奔跑速度越快所獲得的獎勵值越高.從圖中可以得出,TRPO和DQN算法的訓(xùn)練效果依然不理想,DDPG算法獲得了最終獎勵值約為4300,在大約0.2*106時間步處,機(jī)器人獲得最高獎勵值,并在之后的很長時間的探索過程中獎勵值沒有獲得大幅度的增長,并且在0.4*106時間步處出現(xiàn)了獎勵值銳減的情況,說明機(jī)器人當(dāng)前所學(xué)習(xí)的策略還不夠穩(wěn)定.在DAAC算法訓(xùn)練曲線中,在大約0.5*105時間步處獎勵值就達(dá)到了4000,接近于DDPG的最終結(jié)果,在之后的訓(xùn)練時間中,獎勵值不斷增長達(dá)到了11000,并且訓(xùn)練過程中沒有出現(xiàn)大幅度的獎勵值銳減情況,說明智能體不僅可以快速學(xué)習(xí)到更好的策略,并且該策略可以在保證訓(xùn)練穩(wěn)定的同時不斷提升機(jī)器人獲得的獎勵回報值,這得益于最大熵優(yōu)勢框架,雖然DDPG算法同樣使用了演員評論家框架,但無法訓(xùn)練智能體進(jìn)行穩(wěn)定和更廣泛的探索,無法獲得更好的策略.
圖5 HalfCheetah-v2環(huán)境下算法對比實(shí)驗(yàn)圖
圖6是基于MuJoCo的Swimmer-v2環(huán)境,該環(huán)境模擬一個在粘性流體中的三關(guān)節(jié)游動機(jī)器人,其具有19個狀態(tài)維度和3個控制制動器.機(jī)器人的目標(biāo)是通過調(diào)節(jié)前端關(guān)節(jié)和后端關(guān)節(jié)向前游動,游動的距離越遠(yuǎn)其獎勵回報值越高.從圖中可以得出DQN的訓(xùn)練效果較差,TRPO的訓(xùn)練效果稍強(qiáng)于DQN.DDPG最終獲得了約90的獎勵回報值,但訓(xùn)練過程的波動性較大.而DAAC在大約0.4*106時間步處獎勵值就達(dá)到了100,并且由于其學(xué)習(xí)到的策略更優(yōu),所以機(jī)器人在有限的時間步數(shù)內(nèi)可以繼續(xù)向更遠(yuǎn)的地方游動,并最終獲得了接近于140的獎勵值.該實(shí)驗(yàn)的粘性流體等價于給智能體探索環(huán)境的過程施加較大的噪聲干擾,通過實(shí)驗(yàn)結(jié)果表明了DAAC即使在有噪聲干擾的情況下,依然可以學(xué)習(xí)到有效的策略.
圖6 Swimmer-v2環(huán)境下算法對比實(shí)驗(yàn)圖
圖7是基于MuJoCo的Walker-v2環(huán)境,該環(huán)境模擬一個三關(guān)節(jié)雙足機(jī)器人,具有23個狀態(tài)維度和5個控制制動器.機(jī)器人的目標(biāo)是學(xué)會行走并跳躍跨過環(huán)境設(shè)置的障礙物,當(dāng)機(jī)器人行走速度越快,成功跨越障礙物并且沒有失去平衡,獎勵回報值越高.從圖中可以得出DQN和TRPO訓(xùn)練效果不佳,DDPG訓(xùn)練曲線在0.3*106時間步處,獎勵值開始有提高,說明機(jī)器人學(xué)會了緩慢行走,但是整個訓(xùn)練過程的起伏較大,說明該機(jī)器人學(xué)習(xí)到的策略在環(huán)境中不能很好地跨越障礙物,每當(dāng)其失去平衡時,相應(yīng)的獎勵值會減少,導(dǎo)致了實(shí)驗(yàn)結(jié)果出現(xiàn)較大的不穩(wěn)定性.為了減少不穩(wěn)定性并提高算法收斂性,DAAC采用了延遲策略更新的技巧,實(shí)驗(yàn)結(jié)果在0.18*106時間步處獎勵值開始提升,并在0.4*106時間步處訓(xùn)練趨于穩(wěn)定并表現(xiàn)出良好的收斂性最終的獎勵值達(dá)到約4300,通過對比,DAAC學(xué)習(xí)到的策略更優(yōu),所獲得的獎勵回報值也更高.
圖7 Walker-v2環(huán)境下算法對比實(shí)驗(yàn)圖
如表2所示,具體展示了各個算法在上述4個物理模擬機(jī)器人環(huán)境中,在各個時間步數(shù)范圍內(nèi),智能體所獲得的平均獎勵回報值.(表中取值均保留到整數(shù)位)
表2 算法在不同實(shí)驗(yàn)環(huán)境中各時間段平均獎勵回報值實(shí)驗(yàn)數(shù)據(jù)表
4.3.2 閾值系數(shù)取值對比實(shí)驗(yàn)
如圖8所示,在Ant-v2的環(huán)境下,延遲網(wǎng)絡(luò)策略更新的閾值系數(shù)τ取不同的值對實(shí)驗(yàn)性能的影響,根據(jù)式(21)得出τ可以調(diào)節(jié)目標(biāo)網(wǎng)絡(luò)在策略每次更新時所占的比重,τ的取值范圍為(0,1),因此當(dāng)τ趨近于1時,目標(biāo)網(wǎng)絡(luò)所占比重較小,對策略更新的影響因素很小,策略更新頻率加快會導(dǎo)致智能體無法學(xué)習(xí)到獎勵回報值高的策略,容易陷入局部最優(yōu)解,最終導(dǎo)致對環(huán)境的極其有限的探索和學(xué)習(xí)到獎勵值很低的策略,圖8實(shí)驗(yàn)中所示,當(dāng)τ=0.9,智能體獲得的獎勵值為負(fù)數(shù),始終無法學(xué)習(xí)到一個較好的策略.當(dāng)τ=0.5的時候,智能體探索環(huán)境的獎勵值維持在0左右,依然無法學(xué)習(xí)獲得一個良好的策略,當(dāng)τ分別取到0.1和0.01時,智能體探索環(huán)境獲得了較良好的策略,獎勵值最終分別達(dá)到了1780和2800,明顯優(yōu)于τ取0.9和0.5.說明當(dāng)τ趨近于0的時候目標(biāo)網(wǎng)絡(luò)所占比重較大,對策略更新的影響因素變大,也因此延遲了策略更新的速度,使智能體能夠更加充分地探索環(huán)境,學(xué)習(xí)到可以獲得更高獎勵值的最優(yōu)策略,但是當(dāng)τ=0.005時,智能體所獲得的獎勵值反而降低了,因?yàn)榭刂撇呗愿碌拈撝迪禂?shù)過小,導(dǎo)致了策略更新速度過于緩慢,在有限的時間步數(shù)范圍內(nèi),智能體無法學(xué)習(xí)到獲得獎勵值更高的最優(yōu)策略.
圖8 Ant-v2環(huán)境下閾值系數(shù)τ取值對比實(shí)驗(yàn)圖
通過在不同的物理仿真模擬器實(shí)驗(yàn)環(huán)境下,對閾值τ進(jìn)行調(diào)整,如表3所示,對比τ取不同值時,智能體所獲得的平均獎勵回報值的大小,得出最終當(dāng)τ取0.015時,智能體所獲得的獎勵回報值較高,能夠?qū)W習(xí)到更良好的策略.(表中取值均保留到整數(shù)位)
表3 不同實(shí)驗(yàn)環(huán)境下閾值系數(shù)τ取不同值平均獎勵回報實(shí)驗(yàn)數(shù)據(jù)表
本文提出的DAAC基于延遲策略的最大熵優(yōu)勢演員評論家強(qiáng)化學(xué)習(xí)算法,在傳統(tǒng)的基于策略梯度的演員評論家框架上,通過使用兩個評論家網(wǎng)絡(luò)來計算策略的狀態(tài)動作值函數(shù),并最大化策略的預(yù)期熵,同時還使用延遲更新評論家網(wǎng)絡(luò)的策略參數(shù)的技巧.在高維物理仿真模擬器環(huán)境中的實(shí)驗(yàn)結(jié)果表明,該DAAC方法在算法收斂性,穩(wěn)定性以及智能體最終獲得的獎勵回報值等方面都明顯優(yōu)于傳統(tǒng)的強(qiáng)化學(xué)習(xí)算法.但該DAAC算法也存在一定的局限性,在更復(fù)雜的環(huán)境如Humanoid中,智能體很難在有效的時間內(nèi)學(xué)習(xí)到最優(yōu)策略,說明DAAC算法在更高維的環(huán)境中還有進(jìn)一步需要改進(jìn)完善的地方.