周嫻瑋,包明豪,葉 鑫,余松森
(華南師范大學(xué) 軟件學(xué)院,廣東 佛山 528000)
深度強(qiáng)化學(xué)習(xí)是一種解決決策性問(wèn)題的算法,在自動(dòng)駕駛[1]、機(jī)器人控制[2]、無(wú)人機(jī)[3]等領(lǐng)域應(yīng)用廣泛。深度強(qiáng)化學(xué)習(xí)以“試錯(cuò)”的方式與環(huán)境進(jìn)行交互,智能體通過(guò)學(xué)習(xí)這些交互過(guò)程產(chǎn)生的經(jīng)驗(yàn),以最大化環(huán)境中獲得的累積獎(jiǎng)勵(lì)為目標(biāo),不斷優(yōu)化自身策略[4]。
常規(guī)的深度強(qiáng)化學(xué)習(xí)模型訓(xùn)練方式由“零”開始訓(xùn)練,即智能體的起始策略為隨機(jī)初始化[5]。這種方式會(huì)導(dǎo)致智能體在與環(huán)境進(jìn)行交互的前期階段過(guò)程中,出現(xiàn)盲目性探索環(huán)境,樣本學(xué)習(xí)率低,并沒有良好、穩(wěn)定的表現(xiàn),這種現(xiàn)象也被有關(guān)學(xué)者定義為冷啟動(dòng)(Cold Start)[6]問(wèn)題。
為解決冷啟動(dòng)問(wèn)題,近些年來(lái),有學(xué)者提出兩階段深度強(qiáng)化學(xué)習(xí)訓(xùn)練方式[7]。具體而言,使用A-C(Actor-Critic)演員-評(píng)論家模式的深度強(qiáng)化學(xué)習(xí)模型,通過(guò)采集專家演示數(shù)據(jù)[8],利用模仿學(xué)習(xí)對(duì)智能體進(jìn)行預(yù)訓(xùn)練,而后采用深度強(qiáng)化學(xué)習(xí)進(jìn)行下一步的訓(xùn)練。通過(guò)策略預(yù)訓(xùn)練,減少智能體前期盲目探索次數(shù),提高學(xué)習(xí)效率,加快網(wǎng)絡(luò)收斂速度,從而緩解訓(xùn)練前期的冷啟動(dòng)問(wèn)題。
兩階段深度強(qiáng)化學(xué)習(xí)訓(xùn)練方式雖然能夠緩和智能體冷啟動(dòng)問(wèn)題,但是在智能體從模仿學(xué)習(xí)過(guò)渡至深度強(qiáng)化學(xué)習(xí)階段后,可能出現(xiàn)專家演示動(dòng)作被遺忘的問(wèn)題,具體表現(xiàn)為性能和回報(bào)出現(xiàn)突然性回落的現(xiàn)象[2-3,9]。
造成該現(xiàn)象的主要原因有以下兩個(gè):
(1)若智能體在模仿學(xué)習(xí)階段僅對(duì)Actor網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練,而Critic網(wǎng)絡(luò)選擇隨機(jī)初始化[2,9]。在深度強(qiáng)化學(xué)習(xí)前期訓(xùn)練階段,由于Critic網(wǎng)絡(luò)未經(jīng)過(guò)預(yù)訓(xùn)練,因此無(wú)法提供準(zhǔn)確的動(dòng)作估值,導(dǎo)致Actor網(wǎng)絡(luò)進(jìn)行策略梯度更新時(shí)做出錯(cuò)誤的選擇,將所學(xué)的演示動(dòng)作遺忘。
(2)即使Critic網(wǎng)絡(luò)經(jīng)過(guò)預(yù)訓(xùn)練,但是由于專家演示數(shù)據(jù)集中沒有提供所有動(dòng)作經(jīng)驗(yàn),預(yù)訓(xùn)練時(shí)演示數(shù)據(jù)集之外的動(dòng)作的估值可能被過(guò)高估計(jì),因此演示動(dòng)作不一定為最高估值動(dòng)作[10]。在深度強(qiáng)化學(xué)習(xí)階段進(jìn)行策略梯度更新時(shí),預(yù)訓(xùn)練后的Actor網(wǎng)絡(luò)追求估值最高的動(dòng)作,可能選擇演示數(shù)據(jù)集之外的動(dòng)作,進(jìn)而遺忘所學(xué)的演示動(dòng)作,嚴(yán)重時(shí)導(dǎo)致訓(xùn)練速度大大減緩。
綜上所述,該文針對(duì)上述兩個(gè)主要原因做出如下改進(jìn)工作:
(1)提出兩階段TD3(Twin Delayed Deep Deterministic Policy Gradient)[11]深度強(qiáng)化學(xué)習(xí)方法。首先,通過(guò)采集專家演示數(shù)據(jù)集采用模仿學(xué)習(xí)-行為克隆[12]方式對(duì)Actor網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練;其次,使用TD3模型Q網(wǎng)絡(luò)更新公式對(duì)Critic網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練,避免其隨機(jī)初始化。
(2)提出Q網(wǎng)絡(luò)過(guò)濾算法,通過(guò)所提出的過(guò)濾函數(shù)調(diào)整預(yù)訓(xùn)練Critic網(wǎng)絡(luò)參數(shù)權(quán)重,過(guò)濾掉網(wǎng)絡(luò)中過(guò)高估值的演示數(shù)據(jù)集之外的動(dòng)作估值,使演示動(dòng)作成為估值最高的動(dòng)作。目的是使預(yù)訓(xùn)練后的Actor網(wǎng)絡(luò)在深度強(qiáng)化學(xué)習(xí)階段進(jìn)行策略梯度更新時(shí),減少選擇演示數(shù)據(jù)集之外的動(dòng)作,盡量避免遺忘演示動(dòng)作。
模仿學(xué)習(xí)[13]是一種監(jiān)督學(xué)習(xí),可以在離線情況下根據(jù)數(shù)據(jù)集進(jìn)行快速有效地學(xué)習(xí),形成一個(gè)端到端的網(wǎng)絡(luò)模型。雖然模仿學(xué)習(xí)存在分布不匹配、魯棒性差等問(wèn)題[14],但是可以被運(yùn)用于智能體的預(yù)訓(xùn)練,而后采用深度強(qiáng)化學(xué)習(xí)進(jìn)行改進(jìn)訓(xùn)練,因此能夠加快深度強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)的收斂速度。例如,Peng等人[7]提出一個(gè)兩階段框架,稱為IPP-RL,通過(guò)模仿學(xué)習(xí)預(yù)訓(xùn)練模型共享權(quán)值來(lái)初始化DDPG(Deep Deterministic Policy Gradient)[15]模型的(Actor)行動(dòng)者網(wǎng)絡(luò),以加快深度強(qiáng)化學(xué)習(xí)的訓(xùn)練速度。Pfeiffer等人[2]提出增強(qiáng)模仿學(xué)習(xí)(R-IL)方法,結(jié)合基于專家演示的有監(jiān)督的IL,對(duì)后續(xù)的RL策略(Actor)網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練,比純RL更容易和更快的訓(xùn)練。雖然上述兩階段深度強(qiáng)化學(xué)習(xí)方法能夠緩解冷啟動(dòng)問(wèn)題,但Pfeiffer與Jing等人[2,9]的工作表明,由于隨機(jī)初始化的Critic網(wǎng)絡(luò)需要在深度強(qiáng)化學(xué)習(xí)的前期階段進(jìn)行訓(xùn)練工作,在此期間無(wú)法提供準(zhǔn)確的動(dòng)作估值,可能使預(yù)訓(xùn)練后的Actor網(wǎng)絡(luò)做出錯(cuò)誤的更新決定,導(dǎo)致智能體出現(xiàn)性能和回報(bào)突然性回落的情況,極大地影響了網(wǎng)絡(luò)訓(xùn)練速度。
為改善此情況,許多學(xué)者提出相應(yīng)的Critic網(wǎng)絡(luò)預(yù)訓(xùn)練方法。例如,Chen等人[16]提出將DDPG模型中的Actor網(wǎng)絡(luò)與Critic網(wǎng)絡(luò)采用相同的圖像提取特征CNN架構(gòu)。首先對(duì)Actor網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練,隨后將其卷積網(wǎng)絡(luò)權(quán)重賦值給Critic網(wǎng)絡(luò),使兩者均擁有初始能力。Ma等人[17]提出利用先前收集的專家演示數(shù)據(jù)集通過(guò)最小化一步TD誤差公式對(duì)Critic網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練;同時(shí)Actor網(wǎng)絡(luò)通過(guò)復(fù)合策略梯度更新公式及行為克隆損失函數(shù)進(jìn)行預(yù)訓(xùn)練工作。將預(yù)訓(xùn)練完畢后的網(wǎng)絡(luò)權(quán)重用以初始化DDPG模型進(jìn)行下一步的訓(xùn)練。Wang等人[3]使用ORCA(Optimal Reciprocal Collision Avoidance)作為引導(dǎo)策略生成演示數(shù)據(jù),設(shè)計(jì)出一個(gè)基于ORCA速度障礙的損失函數(shù)來(lái)預(yù)訓(xùn)練Actor網(wǎng)絡(luò);同時(shí)使用DDPG的Q網(wǎng)絡(luò)更新函數(shù)對(duì)Critic網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練。當(dāng)智能體達(dá)到ORCA能力值時(shí),采用深度強(qiáng)化學(xué)習(xí)進(jìn)行下一步的訓(xùn)練。
這些工作雖然提出了相應(yīng)的Critic網(wǎng)絡(luò)預(yù)訓(xùn)練方法來(lái)改善智能體性能和回報(bào)突然性回落的情況,但是并未關(guān)注到造成該情況出現(xiàn)的第二個(gè)原因,即忽略了預(yù)訓(xùn)練后Critic網(wǎng)絡(luò)中虛高的演示數(shù)據(jù)集之外的動(dòng)作估值對(duì)Actor網(wǎng)絡(luò)的更新影響。為此,借鑒前人經(jīng)驗(yàn),該文同時(shí)彌補(bǔ)其不足,提出相應(yīng)的改進(jìn)工作。
該文提出的方法分為以下兩大階段:(1)預(yù)訓(xùn)練階段(Actor、Critic網(wǎng)絡(luò)預(yù)訓(xùn)練)以及Q網(wǎng)絡(luò)過(guò)濾階段,這兩個(gè)小階段使用采集得到的專家演示數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)訓(xùn)練;(2)深度強(qiáng)化學(xué)習(xí)訓(xùn)練階段,將上一階段預(yù)訓(xùn)練得到的Actor網(wǎng)絡(luò)以及Q網(wǎng)絡(luò)過(guò)濾后的Critic網(wǎng)絡(luò)參數(shù)權(quán)重用以初始化TD3深度強(qiáng)化學(xué)習(xí)模型,使用深度強(qiáng)化學(xué)習(xí)進(jìn)一步訓(xùn)練網(wǎng)絡(luò)。
該文采用的TD3深度強(qiáng)化學(xué)習(xí)算法,是一種基于A-C模式面向連續(xù)動(dòng)作空間的確定性策略深度強(qiáng)化學(xué)習(xí)模型。其包含主策略網(wǎng)絡(luò)(Main Actor Network)πφ、目標(biāo)策略網(wǎng)絡(luò)(Target Actor Network)πφ';與DDPG模型相比:
(2)增加延遲更新機(jī)制,使Actor網(wǎng)絡(luò)更新頻率相對(duì)于Critic網(wǎng)絡(luò)更新頻率要小,從而使Actor網(wǎng)絡(luò)更加平穩(wěn)地進(jìn)行訓(xùn)練;
(3)添加了Smoothing Regularization機(jī)制,在計(jì)算目標(biāo)預(yù)估值時(shí)引入隨機(jī)噪聲ε,目的是使預(yù)測(cè)估值更加準(zhǔn)確(ε從正態(tài)分布中隨機(jī)抽取數(shù)值,為標(biāo)準(zhǔn)差;同時(shí)ε的取值上下限為[-c,c],c為智能體動(dòng)作空間數(shù)值上限)。
TD3模型的Critic網(wǎng)絡(luò)更新公式為:
(1)
(2)
(3)
TD3模型使用均值平方差公式作為Critic網(wǎng)絡(luò)的Loss損失函數(shù),由目標(biāo)值y與當(dāng)前值Qθi(s,a)之間的差值組成。其中N表示從經(jīng)驗(yàn)池中隨機(jī)抽取得到的經(jīng)驗(yàn)數(shù)量,這些經(jīng)驗(yàn)(s,a,r,s')包含了當(dāng)前狀態(tài)、動(dòng)作、獎(jiǎng)勵(lì)值、下一狀態(tài)。
在進(jìn)行Critic網(wǎng)絡(luò)更新時(shí),不斷地從經(jīng)驗(yàn)池中隨機(jī)采樣N條經(jīng)驗(yàn)代入公式(3)的損失函數(shù)L,使用隨機(jī)梯度下降法更新Critic網(wǎng)絡(luò)參數(shù)θi,以最小化目標(biāo)值與當(dāng)前值之間的差距。
在Critic網(wǎng)絡(luò)經(jīng)過(guò)d次更新后,同樣地,需要從經(jīng)驗(yàn)池中隨機(jī)采樣N條經(jīng)驗(yàn)數(shù)據(jù)(s)代入策略梯度更新公式(4)。根據(jù)Critic網(wǎng)絡(luò)中第一個(gè)Q網(wǎng)絡(luò)Qθ1的情況對(duì)Actor網(wǎng)絡(luò)πφ進(jìn)行訓(xùn)練,使用隨機(jī)梯度下降法進(jìn)行網(wǎng)絡(luò)參數(shù)φ的更新:
(4)
(5)
φ'←τφ+(1-τ)φ'
(6)
2.2.1 Actor網(wǎng)絡(luò)預(yù)訓(xùn)練
首先,從演示數(shù)據(jù)集D中隨機(jī)采樣N條數(shù)據(jù)(st,at)代入公式(7)中,該文使用均值平方差作為行為克隆的損失函數(shù)LBC,利用梯度下降法進(jìn)行Main Actor網(wǎng)絡(luò)參數(shù)φ的更新。不斷地隨機(jī)采樣N條演示數(shù)據(jù)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,直至網(wǎng)絡(luò)收斂后將主網(wǎng)絡(luò)參數(shù)權(quán)重φ復(fù)制給目標(biāo)網(wǎng)絡(luò)φ',完成該階段預(yù)訓(xùn)練工作。
(7)
φ'←φ
(8)
2.2.2 Critic網(wǎng)絡(luò)預(yù)訓(xùn)練
(9)
(10)
(11)
(12)
算法1 預(yù)訓(xùn)練階段算法
輸入:演示數(shù)據(jù)集D,樣本采樣數(shù)量N,獎(jiǎng)勵(lì)折扣因子γ,訓(xùn)練總步驟數(shù)T
2.For←0 toTdo
3.從演示數(shù)據(jù)集D中隨機(jī)采樣N條(st,at)數(shù)據(jù)
4.將(st,at)代入行為克隆損失函數(shù)式(7)中,更新Main Actor網(wǎng)絡(luò)參數(shù)φ
5.End For
6.將Main Actor網(wǎng)絡(luò)參數(shù)權(quán)重復(fù)制給目標(biāo)網(wǎng)絡(luò)φ'←φ
7.For←0 toTdo
11.End For
2.3.1 Q網(wǎng)絡(luò)過(guò)濾算法原理
由于預(yù)訓(xùn)練后的Critic網(wǎng)絡(luò)中存在過(guò)高估值的演示數(shù)據(jù)集之外的動(dòng)作估值,而這些估值會(huì)影響深度強(qiáng)化學(xué)習(xí)階段Actor網(wǎng)絡(luò)的更新,導(dǎo)致智能體出現(xiàn)性能和回報(bào)突然性回落的情況,大大影響網(wǎng)絡(luò)訓(xùn)練速度。為此,借鑒濾波算法原理,該文提出Q網(wǎng)絡(luò)過(guò)濾算法,對(duì)演示數(shù)據(jù)集之外的動(dòng)作過(guò)高估值進(jìn)行過(guò)濾操作。
Q網(wǎng)絡(luò)過(guò)濾算法在智能體進(jìn)入深度強(qiáng)化學(xué)習(xí)階段之前,使用過(guò)濾函數(shù)調(diào)整預(yù)訓(xùn)練后Critic網(wǎng)絡(luò)參數(shù)權(quán)重,降低網(wǎng)絡(luò)中演示數(shù)據(jù)集之外的動(dòng)作估值,使演示動(dòng)作at成為估值最高的動(dòng)作。
該算法原理如圖1所示,橫坐標(biāo)表示在某個(gè)演示數(shù)據(jù)集狀態(tài)st下的動(dòng)作空間(Action space),在圖中,將多維的動(dòng)作空間進(jìn)行一維化處理;縱坐標(biāo)表示該動(dòng)作的估值(Q-value)。
圖1 Q網(wǎng)絡(luò)過(guò)濾算法原理
圖1中的實(shí)線假設(shè)為預(yù)訓(xùn)練后Critic網(wǎng)絡(luò)中動(dòng)作估值情況,此時(shí)演示動(dòng)作at(Demo-action正三角標(biāo)記)并非為最高估值動(dòng)作。而在經(jīng)歷Q網(wǎng)絡(luò)過(guò)濾算法后,如圖1虛線所示,演示動(dòng)作at成為最高估值動(dòng)作。
這樣做的目的是使Actor網(wǎng)絡(luò)在過(guò)渡至深度強(qiáng)化學(xué)習(xí)階段后,若是在演示數(shù)據(jù)集狀態(tài)st情況下進(jìn)行策略梯度更新時(shí),所追求的最高估值動(dòng)作與演示動(dòng)作at重合,盡量避免誤選擇演示數(shù)據(jù)集之外的動(dòng)作,遺忘演示動(dòng)作。
2.3.2 Q網(wǎng)絡(luò)過(guò)濾算法步驟
步驟一 尋找估值最高動(dòng)作:由于演示數(shù)據(jù)集中并未提供所有動(dòng)作的經(jīng)驗(yàn),該文利用策略梯度更新公式尋找預(yù)訓(xùn)練Critic網(wǎng)絡(luò)中st狀態(tài)下估值最高的動(dòng)作。首先從演示數(shù)據(jù)D中隨機(jī)采樣N條數(shù)據(jù)(st,at),將st以及預(yù)訓(xùn)練后的Actor、Critic網(wǎng)絡(luò)參數(shù)權(quán)重φ、θi代入至策略梯度更新公式(4)中,對(duì)?φJ(rèn)(φ)進(jìn)行隨機(jī)梯度下降,更新Main Actor網(wǎng)絡(luò)參數(shù)φ。將更新后的網(wǎng)絡(luò)參數(shù)φ代入式(13),得到在狀態(tài)st下估值最高的動(dòng)作am。
am=πφ(st)
(13)
步驟二 降低演示數(shù)據(jù)集之外動(dòng)作估值:將估值最高的動(dòng)作am,即演示數(shù)據(jù)集之外動(dòng)作,與先前隨機(jī)采樣得到演示動(dòng)作at及狀態(tài)st代入該文提出的第一條Q網(wǎng)絡(luò)濾波函數(shù)F1中。
(14)
(15)
步驟四 網(wǎng)絡(luò)更新:將兩條過(guò)濾函數(shù)F1(θi)、F2(θi)進(jìn)行相加后,根據(jù)式(16)進(jìn)行隨機(jī)梯度下降,更新Main Critic網(wǎng)絡(luò)的參數(shù)θi。
?θiF(θi)=?θiF1(θi)+?θiF2(θi)
(16)
演示數(shù)據(jù)集D中存在多條數(shù)據(jù),因此需要多次循環(huán)過(guò)濾。經(jīng)過(guò)Q網(wǎng)絡(luò)過(guò)濾后,網(wǎng)絡(luò)中演示數(shù)據(jù)集之外動(dòng)作估值比專家動(dòng)作估值大、或者相等的情況會(huì)明顯減少,從而達(dá)到“過(guò)濾”目的。
步驟五 網(wǎng)絡(luò)復(fù)制:在Q網(wǎng)絡(luò)過(guò)濾階段,為了尋找最高估值動(dòng)作,預(yù)訓(xùn)練Main Actor網(wǎng)絡(luò)參數(shù)權(quán)重φ被策略梯度公式更新,為保持預(yù)訓(xùn)練階段所學(xué)習(xí)的專家知識(shí),將過(guò)濾階段未參與網(wǎng)絡(luò)更新操作的Target Actor網(wǎng)絡(luò)參數(shù)權(quán)重φ'復(fù)制給Main Actor網(wǎng)絡(luò)。
φ←φ'
(17)
與此同時(shí),由于Main Critic網(wǎng)絡(luò)參數(shù)θi在過(guò)濾階段經(jīng)過(guò)了網(wǎng)絡(luò)調(diào)整,其參數(shù)權(quán)重已經(jīng)發(fā)生變化,即完成了過(guò)濾操作,因此將過(guò)濾后的主網(wǎng)絡(luò)參數(shù)權(quán)重復(fù)制給目標(biāo)網(wǎng)絡(luò)。
(18)
算法2 Q網(wǎng)絡(luò)過(guò)濾算法
1.For←0 toTdo
2.從演示數(shù)據(jù)集D中隨機(jī)采樣N條(st,at)數(shù)據(jù)
3.將N個(gè)st數(shù)據(jù)及φ、θi代入式(4),更新Main Actor網(wǎng)絡(luò)參數(shù)φ
4.將更新后的參數(shù)φ代入式(13)得到估值最高動(dòng)作am
6.End For
8.將網(wǎng)絡(luò)參數(shù)權(quán)重φ'復(fù)制給φ
該文將預(yù)訓(xùn)練后的Actor網(wǎng)絡(luò)以及經(jīng)過(guò)Q網(wǎng)絡(luò)過(guò)濾后的Critic網(wǎng)絡(luò)參數(shù)權(quán)重用于初始化TD3深度強(qiáng)化學(xué)習(xí)模型,而后智能體將采用TD3更新公式進(jìn)行自主探索環(huán)境學(xué)習(xí)[16]。
將上述智能體訓(xùn)練階段繪制成總體算法流程,見圖2。圖中包括預(yù)訓(xùn)練階段(Actor網(wǎng)絡(luò)預(yù)訓(xùn)練,Critic網(wǎng)絡(luò)預(yù)訓(xùn)練)、Q網(wǎng)絡(luò)過(guò)濾階段以及TD3深度強(qiáng)化學(xué)習(xí)階段。
圖2 總體算法流程
該文采用Deep Mind提供的Mujoco[18]多關(guān)節(jié)仿生機(jī)器人環(huán)境進(jìn)行實(shí)驗(yàn),如圖3所示,使用3種不同關(guān)節(jié)類型的機(jī)器人Ant-v3(左下)、HalfCheetah-v3(左上)、Walker2d-v3(右)來(lái)驗(yàn)證所提出的Q網(wǎng)絡(luò)過(guò)濾算法。
圖3 三種不同關(guān)節(jié)結(jié)構(gòu)Mujoco機(jī)器人
仿真機(jī)器人獎(jiǎng)勵(lì)函數(shù)由三部分組成:前向速度、健康度、動(dòng)作消耗,不同的機(jī)器人中這三部分組成比例不相同;機(jī)器人所觀察的狀態(tài)s、動(dòng)作a均為多維向量,每種機(jī)器人維度不相同。
3.1.1 環(huán)境參數(shù)設(shè)置
表1 專家演示數(shù)據(jù)
在深度強(qiáng)化學(xué)習(xí)階段,每個(gè)機(jī)器人在一個(gè)隨機(jī)種子數(shù)環(huán)境訓(xùn)練106次,總共訓(xùn)練5個(gè)隨機(jī)種子數(shù),其中機(jī)器人單次訓(xùn)練回合最長(zhǎng)步數(shù)為1 000步;在回合中,若其健康度低至0,則會(huì)重置機(jī)器人,重新開始下一回合訓(xùn)練。實(shí)驗(yàn)中,機(jī)器人在與環(huán)境交互25 000步后,開始進(jìn)行網(wǎng)絡(luò)更新工作,此后每步都進(jìn)行網(wǎng)絡(luò)更新。每隔2 500步進(jìn)行一次測(cè)試,其中包括回報(bào)、差異度測(cè)試。將當(dāng)前環(huán)境所訓(xùn)練的TD3模型轉(zhuǎn)移至新的隨機(jī)種子數(shù)環(huán)境中測(cè)試10次,取得分結(jié)果平均值作為當(dāng)前階段的回報(bào)情況;與此同時(shí)進(jìn)行智能體Actor網(wǎng)絡(luò)輸出動(dòng)作與專家演示動(dòng)作之間的差異度測(cè)試,將差異值記錄。
3.1.2 超參數(shù)設(shè)置
該文所使用的TD3模型的Actor、Critic網(wǎng)絡(luò)采用三層全連接網(wǎng)絡(luò),其中隱藏層網(wǎng)絡(luò)寬度為256,輸入輸出維度根據(jù)機(jī)器人種類決定。折扣因子γ=0.99,Actor、Critic網(wǎng)絡(luò)學(xué)習(xí)率為3e-3,軟更新系數(shù)τ=0.01,網(wǎng)絡(luò)延遲更新系數(shù)d為2,探索噪聲系數(shù)ε=0.1,經(jīng)驗(yàn)池大小為106,每次采樣N=256條經(jīng)驗(yàn)。
本次實(shí)驗(yàn)采用以下算法進(jìn)行對(duì)比:
(1)TD3模型Baseline基準(zhǔn);
(2)經(jīng)歷Actor、Critic網(wǎng)絡(luò)預(yù)訓(xùn)練但未經(jīng)過(guò)Q網(wǎng)絡(luò)過(guò)濾TD3模型,即常規(guī)的兩階段TD3深度強(qiáng)化學(xué)習(xí)方法;
(3)經(jīng)歷Actor、Critic網(wǎng)絡(luò)預(yù)訓(xùn)練同時(shí)經(jīng)過(guò)Q網(wǎng)絡(luò)過(guò)濾TD3模型,即帶Q網(wǎng)絡(luò)過(guò)濾的兩階段TD3深度強(qiáng)化學(xué)習(xí)方法。
將這三種算法分別在Ant-v3、HalfCheetah-v3、Walker2d-v3仿真環(huán)境中進(jìn)行實(shí)驗(yàn),同時(shí)收集智能體產(chǎn)生的兩種數(shù)據(jù),分別為:
(1)深度強(qiáng)化學(xué)習(xí)訓(xùn)練階段智能體在演示集狀態(tài)st下Actor網(wǎng)絡(luò)輸出動(dòng)作與專家動(dòng)作at差異均值,用式(7)LBC作評(píng)價(jià),其結(jié)果如圖4所示。
(a)Ant-v3
(2)在訓(xùn)練過(guò)程中的測(cè)試回報(bào)情況如圖5所示,最終測(cè)試得分回報(bào)如表2所示。
表2 智能體最終回報(bào)
(a)Ant-v3
3.2.1 動(dòng)作差異分析
如圖4所示,圖中用圓實(shí)線(Our)表示經(jīng)過(guò)Q網(wǎng)絡(luò)過(guò)濾后的智能體數(shù)據(jù),正方形虛線(Without Q Filtration)表示未經(jīng)過(guò)Q網(wǎng)絡(luò)過(guò)濾的智能體。圖中陰影部分表示數(shù)據(jù)的95%置信區(qū)間。
從圖4的動(dòng)作差異圖中可以看出,在Actor網(wǎng)絡(luò)開始進(jìn)行策略梯度更新時(shí)(智能體與環(huán)境交互25 000步后),網(wǎng)絡(luò)輸出動(dòng)作與數(shù)據(jù)集中演示動(dòng)作的差異值急速上升。而經(jīng)歷了Q網(wǎng)絡(luò)過(guò)濾的智能體,其上升幅度小于未過(guò)濾的智能體。這表明經(jīng)過(guò)Q網(wǎng)絡(luò)過(guò)濾后的智能體遺忘專家演示動(dòng)作程度較小,保留了更多的專家演示動(dòng)作,其中Ant-v3、HalfCheetah-v3較為明顯。而在訓(xùn)練的后期,由于智能體探索環(huán)境,尋找到更優(yōu)或者替代的動(dòng)作,因此動(dòng)作差異程度比較大。
3.2.2 回報(bào)情況分析
在圖5的眾多曲線中,用圓實(shí)線(Our)表示經(jīng)過(guò)Q網(wǎng)絡(luò)過(guò)濾后的智能體回報(bào)均值;正方形虛線(Without Q Filtration)則表示未經(jīng)歷過(guò)濾的智能體回報(bào)均值;使用菱形實(shí)線表示TD3基準(zhǔn)回報(bào)均值。圖中陰影部分表示數(shù)據(jù)的95%置信區(qū)間。而在直線中,使用正三角形實(shí)線(Expert)表示專家演示回報(bào)(性能),倒三角虛線(Imitation Learning)表示模仿學(xué)習(xí)回報(bào)情況。
從圖5的回報(bào)結(jié)果中可以得知,由于智能體經(jīng)歷了預(yù)訓(xùn)練,其初始性能與模仿學(xué)習(xí)階段相同。在與環(huán)境交互25 000步后,網(wǎng)絡(luò)開始進(jìn)行更新時(shí)性能和回報(bào)迅速下降,低于模仿學(xué)習(xí)階段。但隨著訓(xùn)練的深入,智能體能夠從中恢復(fù)至模仿學(xué)習(xí)時(shí)期能力水平。而經(jīng)歷Q網(wǎng)絡(luò)過(guò)濾的智能體能夠更快恢復(fù),同時(shí)其得分回報(bào)下降程度相對(duì)于未經(jīng)歷過(guò)濾的智能體更小。從實(shí)驗(yàn)中可得知Q網(wǎng)絡(luò)過(guò)濾算法能夠改善性能和回報(bào)突然性回落情況。
與TD3基準(zhǔn)對(duì)比,該文提出的算法能夠從一個(gè)較為良好的策略開始進(jìn)行訓(xùn)練,緩解冷啟動(dòng)問(wèn)題,從而加快了網(wǎng)絡(luò)收斂速度,最終收斂結(jié)果如表2所示。
表2記錄了3個(gè)機(jī)器人在不同算法最終收斂時(shí)的回報(bào)均值情況。從表2中可以看出,經(jīng)過(guò)Q網(wǎng)絡(luò)過(guò)濾后的智能體最終回報(bào)要高于TD3及未經(jīng)過(guò)過(guò)濾的智能體回報(bào)。同時(shí)結(jié)合表2及表1的實(shí)驗(yàn)數(shù)據(jù)中得知,3個(gè)機(jī)器人的模仿學(xué)習(xí)平均回報(bào)均沒有超過(guò)專家演示,這是因?yàn)檠菔九c測(cè)試并不在同一個(gè)隨機(jī)種子數(shù)環(huán)境中,其次是專家演示數(shù)據(jù)D中只包含環(huán)境的一部分狀態(tài)-動(dòng)作分布區(qū)間,并沒有包括所有未知狀況,因此智能體并不能很好地處理未曾遇到過(guò)的狀態(tài)。
針對(duì)兩階段深度強(qiáng)化學(xué)習(xí)訓(xùn)練方式中存在的遺忘演示動(dòng)作問(wèn)題,即智能體性能和回報(bào)突然性回落問(wèn)題,提出一種帶Q網(wǎng)絡(luò)過(guò)濾的兩階段TD3深度強(qiáng)化學(xué)習(xí)方法。通過(guò)采集專家演示數(shù)據(jù)集對(duì)Actor及Critic網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練,同時(shí)使用Q網(wǎng)絡(luò)過(guò)濾算法過(guò)濾掉預(yù)訓(xùn)練后Critic網(wǎng)絡(luò)中過(guò)高估值的演示數(shù)據(jù)集之外的動(dòng)作估值,有效緩解演示動(dòng)作遺忘現(xiàn)象,改善了智能體性能和回報(bào)突然性回落情況。最終,通過(guò)Mujoco機(jī)器人仿真實(shí)驗(yàn)表明,該算法能夠改善智能體得分回報(bào)突然性回落情況。