周維慶,王飛,趙德京
(1.青島大學(xué) 自動化學(xué)院,青島 266071;2.山東省工業(yè)控制技術(shù)重點(diǎn)實(shí)驗(yàn)室,青島 266071;3.山東濰坊煙草有限公司,濰坊 262400)
伴隨著人工智能的興起,強(qiáng)化學(xué)習(xí)在近些年得到了廣泛的發(fā)展,但是強(qiáng)化學(xué)習(xí)的面向?qū)ο蟠蠖嗍翘摂M環(huán)境,很難真正的應(yīng)用到現(xiàn)實(shí)生活中,這是由于強(qiáng)化學(xué)習(xí)的訓(xùn)練需要智能體不斷與環(huán)境交互,不僅成本高,安全性也得不到保障。為了解決上述問題,近幾年在廣大學(xué)者的不斷探索中,離線強(qiáng)化學(xué)習(xí)算法應(yīng)運(yùn)而生,其不需要智能體與環(huán)境進(jìn)行交互,直接通過給定的歷史數(shù)據(jù)集即可訓(xùn)練出令人滿意的效果,這種特性使得人工智能可以更好地應(yīng)用到現(xiàn)實(shí)生活中。但是離線強(qiáng)化學(xué)習(xí)的缺點(diǎn)也顯而易見,由于數(shù)據(jù)集是固定大小的,不可能包含環(huán)境中所有的狀態(tài)-動作,當(dāng)面臨OOD 動作時(shí),很有可能對動作的價(jià)值高估,造成外推誤差,隨著算法的迭代更新,誤差值將越來越大,最終影響算法的性能。
為了緩解外推誤差等問題,先前的方法通常是約束學(xué)習(xí)策略,使學(xué)習(xí)策略盡可能的接近行為策略[1],這種方法的本質(zhì)類似于模仿學(xué)習(xí),一定程度上緩解了外推誤差帶來的影響,又或者是根據(jù)值函數(shù)約束的方式,盡可能的降低數(shù)據(jù)分布外動作的估計(jì)值,鼓勵(lì)策略選擇數(shù)據(jù)分布內(nèi)的動作,達(dá)到緩解了外推誤差的影響[2]。上述算法本質(zhì)思想都是盡可能少的去評估OOD 動作,這樣的做法好處是提高算法穩(wěn)定性,但缺點(diǎn)也顯而易見,就是過于保守,局限性很大,太依賴于數(shù)據(jù)集的好壞,通過訓(xùn)練可能僅僅學(xué)習(xí)到次優(yōu)策略。
為此,不同于以上介紹的方法,本文重新改變對OOD 動作的看法,鼓勵(lì)算法對OOD 動作進(jìn)行一定的探索,在數(shù)據(jù)集較差的情況下也可以取得不錯(cuò)的結(jié)果。因此,本文提出了基于雙重限制Q 學(xué)習(xí)的離線強(qiáng)化學(xué)習(xí)算法DIQL。
本小節(jié)主要介紹目前比較流行的離線強(qiáng)化學(xué)習(xí)算法。BCQ[3]算法通過限制學(xué)習(xí)策略接近行為策略分布來抑制外推誤差;TD3+BC[4]算法在TD3 算法的基礎(chǔ)上,添加了約束學(xué)習(xí)策略與行為策略距離的正則項(xiàng);BRAC[5]提出了值函數(shù)懲罰vp(value penalty)方法;AWR[6]算法將限制學(xué)習(xí)策略盡可能的接近行為策略作為約束項(xiàng),把優(yōu)勢函數(shù)作為權(quán)重進(jìn)行策略提升;AWAC[7]算法引入優(yōu)勢函數(shù)先進(jìn)行離線預(yù)訓(xùn)練;CQL[8]算法通過學(xué)習(xí)一個(gè)保守的函數(shù)來抑制外推誤差;IQL[9]算法引入值函數(shù)正則項(xiàng),僅使用數(shù)據(jù)集內(nèi)的數(shù)據(jù)訓(xùn)練策略。
以上提到的大部分算法都有一個(gè)共同的局限,就是太依賴于數(shù)據(jù)集的好壞,泛化能力較差,為了應(yīng)對外推誤差和過于保守的問題,本文提出了DIQL 算法。主要?jiǎng)?chuàng)新點(diǎn)包括:
(1)提出了一種數(shù)據(jù)增強(qiáng)的方法。對數(shù)據(jù)集內(nèi)的狀態(tài)進(jìn)行數(shù)據(jù)增強(qiáng),并使用貝爾曼誤差方程單獨(dú)訓(xùn)練V 值網(wǎng)絡(luò),提高算法的泛化能力。
(2)提出了一種雙重限制Q 學(xué)習(xí)的方法。將經(jīng)過數(shù)據(jù)增強(qiáng)的v 值網(wǎng)絡(luò)作為目標(biāo)網(wǎng)絡(luò)來訓(xùn)練Q 值網(wǎng)絡(luò),限制算法對OOD 動作的估值在合理范圍內(nèi),并在策略網(wǎng)絡(luò)的更新過程中限制策略產(chǎn)生的動作不應(yīng)遠(yuǎn)離數(shù)據(jù)集分布。
(3)對雙重限制Q 學(xué)習(xí)方法進(jìn)行了理論分析,證明了Q 值函數(shù)的可收斂性,并在雙足六自由度機(jī)器人步態(tài)控制環(huán)境halfcheetah[10]的不同數(shù)據(jù)集下對算法的有效性進(jìn)行了驗(yàn)證。
在這一小節(jié),主要介紹DIQL 算法的框架,并從v 值網(wǎng)絡(luò)、Q 值網(wǎng)絡(luò)和策略網(wǎng)絡(luò)[11]3 個(gè)部分逐步分析DIQL 算法是如何緩解外推誤差和提高探索度的。
由于v 值網(wǎng)絡(luò)不需要對動作進(jìn)行價(jià)值估計(jì),將v 值網(wǎng)絡(luò)作為Q 值網(wǎng)絡(luò)的目標(biāo)網(wǎng)絡(luò)可以有效限制對OOD 動作價(jià)值高估的現(xiàn)象。為了設(shè)計(jì)一個(gè)可收斂的v 值網(wǎng)絡(luò),本文的主要思路是通過多層感知機(jī)[12]來搭建v 值網(wǎng)絡(luò),并以貝爾曼誤差方程更新v 值網(wǎng)絡(luò)的超參數(shù)ψ。考慮到離線強(qiáng)化學(xué)習(xí)的數(shù)據(jù)集是固定的,在算法訓(xùn)練時(shí)很容易出現(xiàn)過擬合現(xiàn)象,對狀態(tài)s進(jìn)行數(shù)據(jù)增強(qiáng),可以提高算法的穩(wěn)定性和泛化能力,數(shù)據(jù)增強(qiáng)示意圖如圖1 所示。
v 值網(wǎng)絡(luò)的貝爾曼誤差方程如公式(1)所示:
式中:s 表示此時(shí)此刻的狀態(tài);a 表示執(zhí)行的聯(lián)合動作;s′表示在狀態(tài)s 下執(zhí)行動作a 轉(zhuǎn)移到的下一狀態(tài);r 表示在狀態(tài)s 下執(zhí)行動作a 得到的立即回報(bào);γ為折扣因子;ψ 為v 值網(wǎng)絡(luò)的參數(shù);εi∈N(0,σI),σ為一實(shí)參。
為了得到一個(gè)既可準(zhǔn)確評估數(shù)據(jù)集內(nèi)動作Q值,又可以緩解OOD 動作Q 值高估的Q 值網(wǎng)絡(luò),本文將Q 值更新函數(shù)劃分為2 部分。第1 部分主要通過數(shù)據(jù)集內(nèi)的動作,使用貝爾曼誤差方程訓(xùn)練Q 值網(wǎng)絡(luò);第2 部分將經(jīng)數(shù)據(jù)增強(qiáng)后的v 值網(wǎng)絡(luò)視為目標(biāo)網(wǎng)絡(luò),使用策略πφ采樣得到的OOD 動作來訓(xùn)練Q 值網(wǎng)絡(luò),Q 值函數(shù)更新方式如公式(3)所示:
由公式(3)可以看出,Q 值更新函數(shù)的第1 部分目的是提升Q 值網(wǎng)絡(luò)對數(shù)據(jù)集內(nèi)動作價(jià)值估計(jì)的準(zhǔn)確度,第2 部分目的是緩解OOD 動作Q 值高估的問題。與以往的離線強(qiáng)化學(xué)習(xí)算法思路不同,DIQL算法的工作重心不再是如何避免評估OOD 動作,而是鼓勵(lì)算法對OOD 動作進(jìn)行評估。同時(shí),為了緩解外推誤差的現(xiàn)象,在公式(3)的第2 部分使用經(jīng)過數(shù)據(jù)增強(qiáng)的v 值網(wǎng)絡(luò)作為目標(biāo)網(wǎng)絡(luò)來訓(xùn)練Q 值網(wǎng)絡(luò),這樣的做法并不代表把所有OOD 動作的Q 估計(jì)值都限制到一個(gè)很小的范圍,策略仍有很大機(jī)會去選擇OOD 動作,這意味著算法在面對數(shù)據(jù)集質(zhì)量較差的情況下更有機(jī)會取得令人滿意的效果。
根據(jù)2.2 小節(jié),得到了一個(gè)即可以準(zhǔn)確估計(jì)數(shù)據(jù)集內(nèi)動作的價(jià)值,又可以合理估計(jì)OOD 動作的Q值網(wǎng)絡(luò),但是為了保證Q 值網(wǎng)絡(luò)對OOD 動作的估值更具可靠性,應(yīng)當(dāng)限制策略產(chǎn)生的動作不應(yīng)離數(shù)據(jù)集分布較遠(yuǎn),這就是本文提到的第二重限制,策略網(wǎng)絡(luò)的更新方式如公式(4)所示:
式中:L 為MSE 函數(shù);Qmin(s,a′)代表雙Q 值網(wǎng)絡(luò)中Q 值估計(jì)較小的價(jià)值函數(shù);ζ 為一超參數(shù),通過ζ將策略產(chǎn)生的動作控制在數(shù)據(jù)集外的一定范圍內(nèi)。DIQL 算法偽代碼如表1 所示,DIQL 算法框架圖如圖2 所示。

表1 DIQL 算法Tab.1 DIQL algorithm

圖2 DIQL 算法框架圖Fig.2 Framework diagram of the DIQL algorithm
為了探討使用公式(3)更新Q 值函數(shù)的合理性和可靠性,特對Q 值函數(shù)的收斂性進(jìn)行了理論分析及證明。
本文使用的實(shí)驗(yàn)環(huán)境是halfcheetah,如圖3 所示。halfcheetah 環(huán)境的主要任務(wù)是通過施加連續(xù)的關(guān)節(jié)扭矩來驅(qū)動雙足六自由度機(jī)器人的運(yùn)動。halfcheetah 的回報(bào)函數(shù)通常根據(jù)機(jī)器人的前進(jìn)速度來計(jì)算,即當(dāng)機(jī)器人以較高的速度移動時(shí)會獲得更高的獎(jiǎng)勵(lì)。

圖3 Halfcheetah 環(huán)境示意圖Fig.3 Schematic diagram of the halfcheetah environment
由于離線強(qiáng)化學(xué)習(xí)算法的訓(xùn)練不需要與環(huán)境進(jìn)行交互,并且數(shù)據(jù)集由D4RL 提供,不再對halfcheetah環(huán)境的基礎(chǔ)情況進(jìn)行過多的介紹,關(guān)注的是在相同環(huán)境的不同數(shù)據(jù)集下算法是否均有優(yōu)異的表現(xiàn)。halfcheetah 的數(shù)據(jù)類型包括:medium、medium-replay和medium-expert。medium 代表數(shù)據(jù)集由次優(yōu)策略生成,medium-replay 代表使用在線強(qiáng)化學(xué)習(xí)將策略訓(xùn)練至“中等”性能水平時(shí)采樣得到的數(shù)據(jù)集,medium-expert 代表數(shù)據(jù)集由等量的最優(yōu)策略和次優(yōu)策略混合生成。本文實(shí)驗(yàn)主要包括2 個(gè)部分,第1 個(gè)部分主要是在halfcheetah-medium 環(huán)境中對算法的超參數(shù)進(jìn)行對比實(shí)驗(yàn)。第2 部分主要將所提算法與近期流行的離線強(qiáng)化學(xué)習(xí)算法在halfcheetah 實(shí)驗(yàn)環(huán)境中進(jìn)行比較。
對于超參數(shù)ξ 的選取,在面對數(shù)據(jù)集質(zhì)量不高的情況下,不同的ξ 對算法性能有較大影響,ξ 選取過大會導(dǎo)致算法的約束力降低,Q 值網(wǎng)絡(luò)雖然對數(shù)據(jù)集內(nèi)的動作可以準(zhǔn)確估值,但面對OOD 動作仍會面臨外推誤差的問題,選取過小會導(dǎo)致Q 值網(wǎng)絡(luò)對數(shù)據(jù)集內(nèi)動作估值的精確度降低。將選取[0.1,0.3,0.4,0.9]作為ξ 的取值進(jìn)行對比試驗(yàn),實(shí)驗(yàn)結(jié)果如圖4 所示。可以看出,當(dāng)ξ=0.4 的時(shí)候,算法效果最佳。

圖4 ξ 值對比實(shí)驗(yàn)結(jié)果Fig.4 ξ-value comparison experimental results
對于超參數(shù)ζ 的選取,當(dāng)ζ 選取過大會導(dǎo)致OOD動作偏離數(shù)據(jù)集,導(dǎo)致算法穩(wěn)定性變差,選取過小則導(dǎo)致算法的探索度降低。本文將選取[0.05,0.2,0.4]作為ζ 的取值進(jìn)行對比試驗(yàn),實(shí)驗(yàn)結(jié)果如圖5 所示。可以看出,當(dāng)ζ=0.2 的時(shí)候,算法效果最佳。

圖5 ζ 值對比實(shí)驗(yàn)結(jié)果Fig.5 ζ-value comparison experimental results
為了驗(yàn)證DIQL 算法提出的有效性,在halfcheetah 環(huán)境下3 種不同的離線數(shù)據(jù)集中進(jìn)行測試,使用當(dāng)今較為流行的離線強(qiáng)化學(xué)習(xí)算法作為對比算法,包括:BC、DT[14]、AWAC、Onestep RL[15]、TD3+BC、CQL 和IQL 算法,為了保證公平性和防止偶然性,學(xué)習(xí)率均設(shè)為0.005,在所有實(shí)驗(yàn)環(huán)境中均進(jìn)行了50 次實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)來自這50 次實(shí)驗(yàn)的均值。在不同數(shù)據(jù)集中的平均歸一化分?jǐn)?shù)對比結(jié)果如表2 所示,算法中超參數(shù)的具體設(shè)定值如表3 所示。

表2 平均歸一化分?jǐn)?shù)對比Tab.2 Comparison of average normalized scores

表3 實(shí)驗(yàn)數(shù)據(jù)Tab.3 Experimental data
由表3 可以發(fā)現(xiàn),由于目前流行的離線強(qiáng)化學(xué)習(xí)算法對OOD 動作的限制,導(dǎo)致算法的大部分的訓(xùn)練數(shù)據(jù)均來自數(shù)據(jù)集中的元組,當(dāng)halfcheetah 數(shù)據(jù)集的質(zhì)量較差時(shí),如medium 或者medium-replay,算法無法學(xué)習(xí)到最優(yōu)策略,DIQL 算法打破這種固有思維,在雙重限制Q 學(xué)習(xí)的基礎(chǔ)上允許算法對OOD動作進(jìn)行一定的探索,往往可以探索到相比于僅在數(shù)據(jù)集內(nèi)更好的策略。
為了緩解離線強(qiáng)化學(xué)習(xí)算法的學(xué)習(xí)效果太依賴于數(shù)據(jù)集的質(zhì)量的問題,本文提出了基于雙重限制Q 學(xué)習(xí)的離線強(qiáng)化學(xué)習(xí)算法DIQL,引入了雙重限制Q 學(xué)習(xí)方法,限制算法對OOD 動作的估值在合理范圍內(nèi),鼓勵(lì)算法進(jìn)行一定的探索,并且使用數(shù)據(jù)增強(qiáng)的方法提高了算法的泛化能力。最后在雙足六自由度機(jī)器人halfcheetah 環(huán)境的數(shù)據(jù)集上對算法的有效性進(jìn)行了驗(yàn)證,實(shí)驗(yàn)結(jié)果表明,在面對數(shù)據(jù)集質(zhì)量較差的情況下,算法的學(xué)習(xí)效果有所提升。但是,在面對數(shù)據(jù)集質(zhì)量較好的情況下,算法如何自動調(diào)節(jié)探索度以提高性能,將在后續(xù)工作中進(jìn)行更加深入的研究。