向 卉,劉建明
(桂林電子科技大學(xué)計算機(jī)與信息安全學(xué)院,廣西 桂林 541000)
強(qiáng)化學(xué)習(xí)(RL)[1]是學(xué)習(xí)如何從動作空間中選擇與周圍環(huán)境相對應(yīng)的適當(dāng)動作,以獲得最大獎勵的過程。作為一種獎懲式的學(xué)習(xí)方法,強(qiáng)化學(xué)習(xí)使得智能體在避免低回報行為的同時,尋求能產(chǎn)生更大回報的行為。它被認(rèn)為是一種強(qiáng)大的工具,旨在為機(jī)器人在與環(huán)境的交互過程中自動找到合適的策略。近年來,強(qiáng)化學(xué)習(xí)已成為智能系統(tǒng)設(shè)計的核心技術(shù)之一,并已廣泛應(yīng)用于人工智能和機(jī)器人技術(shù)。隨著許多專家學(xué)者不斷深入研究強(qiáng)化學(xué)習(xí)算法并做出許多突出貢獻(xiàn),該方法已廣泛應(yīng)用于機(jī)器人領(lǐng)域并取得了快速發(fā)展。然而,在傳統(tǒng)連續(xù)控制域中,動作空間很大并且行為是實值,代理很難直接從原始像素中學(xué)習(xí)來完成復(fù)雜的任務(wù)。從強(qiáng)化學(xué)習(xí)的背景出發(fā)的深層強(qiáng)化學(xué)習(xí)方法結(jié)合了深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí),它可以在高維觀測環(huán)境中完成復(fù)雜的任務(wù),合理地解決這個問題。
最近,許多研究人員專注于深度確定性策略梯度(DDPG)算法的研究,該算法是[2]中提出的一種基于無模型、離線策略、actor-critic體系結(jié)構(gòu)的實用型強(qiáng)化學(xué)習(xí)算法。 DDPG已經(jīng)成功應(yīng)用并在各種高維連續(xù)控制任務(wù)中表現(xiàn)出出色的性能,包括移動機(jī)器人的自主導(dǎo)航[3,4]任務(wù)中的路徑規(guī)劃。 盡管DDPG具有可行性,但如果未能采用適當(dāng)?shù)姆椒▽︻A(yù)收集的原始樣本進(jìn)行預(yù)處理,則模型訓(xùn)練過程可能會變得耗時且效率降低。具體而言,對更關(guān)鍵的樣本的不充分訓(xùn)練,將使得智能體繼續(xù)重復(fù)相同的不盡人意的行為,因此導(dǎo)致效率較低且性能較不穩(wěn)定。
為了解決樣本預(yù)處理的問題,進(jìn)行了一系列的研究,其中經(jīng)驗重放[5]被認(rèn)為是一種比較受歡迎的應(yīng)對方法?;谄淅砟睿谟?xùn)練DDPG的critic網(wǎng)絡(luò)和actor網(wǎng)絡(luò)之前,將收集的樣本存儲在重放緩沖區(qū)[6]中。隨后,從重放緩沖區(qū)中隨機(jī)選擇固定的小批量樣本用于訓(xùn)練。但正如[7]中的作者所指出的那樣,只是使用先進(jìn)先出規(guī)則來刪除樣本,一旦重放緩沖區(qū)達(dá)到其最大容量,這將導(dǎo)致預(yù)期可用于多次訓(xùn)練的關(guān)鍵樣本的丟失。由于無意中丟棄了這些有價值的樣本,而智能體又傾向于堅持相似的策略,由此產(chǎn)生了令人不滿的表現(xiàn),這也是需要很長時間才能使訓(xùn)練收斂的主要原因。另外,這種模式削弱了智能體適應(yīng)不同狀態(tài)的能力,這也導(dǎo)致了學(xué)習(xí)過程的不穩(wěn)定性。
針對上述不足,提出了一種結(jié)合數(shù)據(jù)剪枝和優(yōu)先采樣[8]的新方法來改進(jìn)DDPG,有效去除相對不重要的樣本,并根據(jù)優(yōu)先級標(biāo)準(zhǔn)從重放緩沖區(qū)中選擇樣本進(jìn)行網(wǎng)絡(luò)訓(xùn)練。在一個名為Gym的仿真平臺上驗證了該方法的有效性。結(jié)果表明,該方法能夠保證訓(xùn)練收斂性的提高,并在連續(xù)的動作空間中產(chǎn)生更穩(wěn)定的性能。
在移動機(jī)器人的路徑規(guī)劃中,傳統(tǒng)的路徑規(guī)劃算法存在明顯的缺點(diǎn):算法計算量大,收斂速度慢。 機(jī)器人必須有能夠處理緊急情況并適應(yīng)環(huán)境的能力,以便在未知復(fù)雜的環(huán)境中成功完成指定任務(wù)。 為了使移動機(jī)器人通過自身的學(xué)習(xí)機(jī)制達(dá)到指定的目標(biāo)位置,提高自學(xué)能力,具有自學(xué)習(xí)和在線學(xué)習(xí)特點(diǎn)的強(qiáng)化學(xué)習(xí)方法,成為移動機(jī)器人在未知環(huán)境中進(jìn)行路徑規(guī)劃的有效方法之一。近來,強(qiáng)化學(xué)習(xí)方法在移動機(jī)器人路徑規(guī)劃中的應(yīng)用非常顯著。
在強(qiáng)化學(xué)習(xí)領(lǐng)域,深度Q網(wǎng)絡(luò)(DQN)算法由文獻(xiàn)[9]提出。DQN結(jié)合了卷積神經(jīng)網(wǎng)絡(luò)和Q-learning算法。雖然DQN解決了高維環(huán)境觀測的問題,但它只能處理離散和低維度行為空間。 Silver等人[10]引入了一種離線的actor-critic算法,并從探索行為策略中學(xué)習(xí)確定目標(biāo)策略。證明了確定性策略梯度(DPG)算法在高維操作空間中優(yōu)于隨機(jī)算法。
Lillicrap等[2]提出了一種無模型,離線的actor-critic算法,該算法使用深度函數(shù)近似器在高維連續(xù)動作空間中學(xué)習(xí)策略。采用兩個神經(jīng)網(wǎng)絡(luò)近似actor和critic,設(shè)計了深度確定性策略梯度(DDPG)算法來解決馬爾可夫決策過程(MDP)的連續(xù)控制問題。該方法的一個關(guān)鍵特征是它的簡潔性:它只需要一個簡單的actor-critic框架和自學(xué)習(xí)算法,幾乎沒有“移動部件”,這使得更容易完成并擴(kuò)展更難的問題和更大的網(wǎng)絡(luò)。參考文獻(xiàn)[9]利用actor-critic算法[2],使得確定性策略梯度算法學(xué)習(xí)每個環(huán)境狀態(tài)中的行為值。使用連續(xù)動作空間和深度actor-critic網(wǎng)絡(luò),通過一對灰度立體圖像執(zhí)行隱式深度估計,并且在3D環(huán)境中實現(xiàn)機(jī)器人路徑規(guī)劃的立體視覺技術(shù)。最后證明了基于DDPG的學(xué)習(xí)技術(shù)在學(xué)習(xí)步數(shù)和成功率方面遠(yuǎn)大于DQN算法。因此,與DQN算法相比,DDPG算法的最大優(yōu)點(diǎn)是它可以在連續(xù)動作空間中更有效地學(xué)習(xí)。在學(xué)者的探索和研究下,DDPG算法也得到了更多的擴(kuò)展,例如,Munk[11]提出的ML-DDPG體系結(jié)構(gòu),由三個DNN組成:模型網(wǎng)絡(luò),critic網(wǎng)絡(luò)和actor網(wǎng)絡(luò)模型,可以學(xué)習(xí)一系列不同的具有挑戰(zhàn)性的觀測結(jié)果的連續(xù)控制策略;Heess等人[12]進(jìn)一步擴(kuò)展文獻(xiàn)[2]到POMDP,通過使用兩個遞歸神經(jīng)網(wǎng)絡(luò)來近似actor和critic,并開發(fā)了一種稱為反復(fù)確定性政策梯度(RDPG)的算法。但是,不對這些擴(kuò)展做過多的考慮,僅僅基于原始DDPG算法來展開研究。
近年來,經(jīng)驗重放在DRL社區(qū)取得了巨大成功,并已成為許多深度RL算法的新規(guī)范[13]。 Mnih等人[14]將DQN算法的重播緩沖區(qū)大小設(shè)置為106,用于各種Atari游戲[15],Lillicrap等人[2]也將其DDPG算法的重播緩沖區(qū)設(shè)置為106,以處理各種Mujoco任務(wù)[16]。經(jīng)驗重放讓在線強(qiáng)化學(xué)習(xí)智能體記住并重新使用過去的經(jīng)驗。在之前的工作中,樣本是從重播緩沖區(qū)中隨機(jī)選擇的。但是,無論其重要性如何,該方法僅以相同的頻率重播樣本。在文獻(xiàn)[8]中開發(fā)了優(yōu)先經(jīng)驗重放的方法,并且使用TD-error作為衡量樣本優(yōu)先級的標(biāo)準(zhǔn),給重播緩沖區(qū)中的樣本都賦予優(yōu)先級,以便更頻繁地重放重要的樣本,從而更有效地學(xué)習(xí),并在DQN中使用優(yōu)先級經(jīng)驗重放。之后,文獻(xiàn)[17]基于DDPG算法,為了進(jìn)一步提高DDPG中經(jīng)驗回放機(jī)制的效率,從而加快訓(xùn)練過程,提出了一種基于優(yōu)先級的經(jīng)驗重播方法,減少了智能體學(xué)習(xí)時間,并提高學(xué)習(xí)過程的穩(wěn)定性。提出的方法類似于文獻(xiàn)[17],但是文獻(xiàn)[17]中只對重播緩沖區(qū)中樣本的優(yōu)先級進(jìn)行計算,而沒有注意到由于重播緩沖區(qū)中先進(jìn)先出的存儲機(jī)制,緩沖區(qū)中的樣本高度相關(guān),這使得一些稀缺的樣本被丟掉,從而導(dǎo)致智能體很難在突發(fā)情況下及時做出響應(yīng)。因此,文獻(xiàn)[7]基于DQN算法提出了一種數(shù)據(jù)剪枝方法,丟棄了重播緩沖區(qū)中高相關(guān)數(shù)據(jù),保存稀有獨(dú)特的數(shù)據(jù),提高了學(xué)習(xí)穩(wěn)定性和長期記憶。
在所提出的方法中,基于DDPG算法,選擇具有高TD-error值的經(jīng)驗用于采樣和重放,同時移除重播緩沖區(qū)中的高度相關(guān)或相似的樣本,并保留稀有數(shù)據(jù)。
在強(qiáng)化學(xué)習(xí)算法中,通常使用行為值函數(shù)Q來表示在環(huán)境狀態(tài)st下采取行為后的期望回報及其之后的策略π。Q函數(shù)被定義為
(1)
使用Bellman方程得到actor的優(yōu)化行為值,如下所示
Qμ(st,at)=E[r(st,at)+γQμ(st+1,μ(st+1))].
(2)
在深度確定性策略梯度算法中,actor和critic都用帶參數(shù)的DNN近似。Actor-value網(wǎng)絡(luò)(critic網(wǎng)絡(luò))Q(s,a|θQ)和actor網(wǎng)絡(luò)μ(s|θμ)中,θQ和θμ是網(wǎng)絡(luò)參數(shù)。Critic網(wǎng)絡(luò)的訓(xùn)練基于最小化損失函數(shù)L,如下所示
(3)
其中,yi是
yi=r(si,ai)+γQ′(si+1,μ′(si+1|θμ′)|θQ′)
(4)
策略梯度算法[2]用于更新actor網(wǎng)絡(luò)參數(shù)
(5)
基于DDPG方法的基本理論,目標(biāo)網(wǎng)絡(luò)方法和批量標(biāo)準(zhǔn)化有助于克服在深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練中的困難。然而,在傳統(tǒng)的經(jīng)驗重放機(jī)制中,隨機(jī)采樣方法使得傳送到網(wǎng)絡(luò)訓(xùn)練的經(jīng)驗與非常成功的嘗試和糟糕的表現(xiàn)無關(guān),這降低了網(wǎng)絡(luò)的訓(xùn)練效率。同時,隨著經(jīng)驗持續(xù)存儲在重放緩沖區(qū)中,緩沖器中的樣本高度相關(guān),這使得一些罕見的樣本丟失,并且智能體很難對緊急情況做出及時反應(yīng)。
為了解決上述提及的問題,需要在重放緩沖區(qū)中選擇有價值的樣本。 優(yōu)先級經(jīng)驗重放的核心思想是更頻繁地重放非常成功的嘗試或表現(xiàn)極其糟糕的相關(guān)樣本。
3.2.1 樣本價值定義標(biāo)準(zhǔn)
需要確定樣本價值的定義標(biāo)準(zhǔn)。大多數(shù)強(qiáng)化學(xué)習(xí)算法使用TD-error更新動作估計,行為值函數(shù)Q(s,a|θQ)。TD-error值可以隱式地反映智能體可以從經(jīng)驗中學(xué)習(xí)的程度。TD-error絕對值越大,校正期望行為值越積極。高TD-error值樣本具有更高的價值,并且對這些樣本進(jìn)行更頻繁地回放,將會幫助智能體逐漸意識到在相應(yīng)狀態(tài)中錯誤行為導(dǎo)致的真實結(jié)果,從而避免在這種情況下再次犯錯,由此提高整體性能。本文中,選擇樣本的TD-error的絕對值|δj|作為評估樣本價值的標(biāo)準(zhǔn)。樣本J的TD-error|δj|的計算如下所示:
δj=r(si,ai)+
γQ′(si+1,μ′(si+1|θμ′)|θQ′)-Q(si,ai|θQ)
(6)
在選擇高優(yōu)先級樣本時,為了提高學(xué)習(xí)穩(wěn)定性和長期記憶,通過丟棄高度相關(guān)數(shù)據(jù),保存稀有數(shù)據(jù)來控制重播緩沖區(qū)中的密度分布。降低緩沖區(qū)中樣本相關(guān)性,提高學(xué)習(xí)穩(wěn)定性并保存獨(dú)特樣本,提醒智能體在學(xué)習(xí)過程中經(jīng)歷的罕見情況并提高其長期記憶能力。
3.2.2 樣本相似度定義
為了獲得更好的方法去移除相似的樣本并保存獨(dú)特樣本,這允許智能體學(xué)習(xí)新的樣本使其不易過度擬合,獨(dú)特值vi作為決定是否保存或刪除特定樣本的標(biāo)準(zhǔn)。特定樣本ti和其它樣本tj的相似性定義如下
(7)
緩沖池中樣本總量為N,距離函數(shù)G.使用高斯核函數(shù)計算兩個任意樣本向量ti和tj的距離
(8)
高斯核函數(shù)可以精確地反映兩個樣本的相似度。當(dāng)緩沖區(qū)存儲空間較大時,將以批處理方式刪除樣本,最大限度地減少唯一值計算開銷。隨機(jī)丟棄了這些經(jīng)驗。概率P(reserveti)的計算獨(dú)特值做歸一化處理并取倒數(shù)
(9)
基于上述方法,從重播緩沖區(qū)中采樣高優(yōu)先級樣本,同時刪除緩沖區(qū)中冗余樣本,基于DDPG算法結(jié)合這些方法,并在Algorithm 1 中展示綜合的算法,如Algorithm 1:
本文所提出的方法使用TensorFlow[18]編程,并在OpenAI Gym[19]平臺上執(zhí)行Pendulum任務(wù)??紤]的因素分別是收斂性和性能穩(wěn)定性。任務(wù)如圖1,擺錘持續(xù)圍繞中心旋轉(zhuǎn),并將擺錘設(shè)置為對當(dāng)前的旋轉(zhuǎn)角度運(yùn)行狀態(tài)給以相應(yīng)的獎勵。當(dāng)擺錘垂直時,獲得的獎勵最大,并且在之后的嘗試中,擺錘試圖能夠盡量保持直立。通過上述任務(wù),將比較和評估DDPG算法、帶數(shù)據(jù)剪枝的DDPG算法(DP-DDPG)、綜合了優(yōu)先級數(shù)據(jù)剪枝的DDPG算法(PDP-DDPG)的性能。
圖1 擺錘圖示注:(a)擺錘由任意位置擺動, (b)(c)擺錘保持直立
在Pendulum實驗環(huán)境中,輸入到actor網(wǎng)絡(luò)的狀態(tài)包括擺錘的角度(如圖2所示)及其相應(yīng)的角速度。由actor網(wǎng)絡(luò)輸出的動作僅具有一個維度,其表示具有邊界限制的馬達(dá)的控制扭矩。
圖2 擺錘的角度(th)表示擺錘與目標(biāo)位置(垂直方向)的角度
獎勵函數(shù)定義為
rt=-(pAD+pAV+pIT)
(10)
其中PAD表示擺錘與目標(biāo)位置當(dāng)前角度差的懲罰;PAV表示角速度的懲罰。該懲罰針對的是擺錘已到達(dá)目標(biāo)位置(垂直狀態(tài))但仍保持較高的速度,使得鐘擺在之后越過垂直位置;PIT是輸入扭矩的懲罰,使用的扭矩越大,懲罰就越大。
所提出的方法考慮了重播緩沖區(qū)的要點(diǎn),并作了一些修改。重播緩沖區(qū)方法步驟描述如下:首先,根據(jù)樣本TD-error值的大小,將重播緩沖區(qū)中收集的樣本分為三部分,高值,中值,低值部分。隨后,方法主要采用緩沖區(qū)中前兩個等級的樣本訓(xùn)練神經(jīng)網(wǎng)絡(luò)。在所提出的方法框架中,通過相應(yīng)的TD-error值對經(jīng)驗池中樣本進(jìn)行優(yōu)先級排序。然后,從經(jīng)驗池中選擇K個TD-error值最大的小批量樣本并送入網(wǎng)絡(luò)訓(xùn)練。至于經(jīng)驗池的更新,采用數(shù)據(jù)剪枝方式保證經(jīng)驗池保持有限容量,并且選擇用于訓(xùn)練的樣本不斷變化。
Pendulum任務(wù)是一個典型的連續(xù)控制問題。實驗中,小批量樣本數(shù)量K設(shè)置為32,重播緩沖區(qū)的容量設(shè)置為104,將S設(shè)置為102。在200個時間片段中,觀察了在每個時間片段中每種方法的平均獎勵。首先,比較DDPG算法、DP-DDPG算法和PDP-DDPG算法的性能。如圖3所示,PDP-DDPG算法優(yōu)于DDPG和DP-DDPG算法,收斂得更快,且收斂后更加穩(wěn)定。比較了DP-DDPG算法和DDPG算法的性能,大約在第100個時間片段時,DP-DDPG算法在DDPG算法之前達(dá)到收斂。大約在第40個時間片段時,PDP-DDPG方法獲得了更高的獎勵。
圖3 DDPG, DP-DDPG和PDP-DDPG性能比較。
PDP-DDPG在更短的時間內(nèi)達(dá)到收斂(40 ~ 75 episode)。
之后,由于使用兩種方法消除樣本,因此出現(xiàn)了較大的波動。在每次訓(xùn)練中,樣本間存在較大差異。當(dāng)已經(jīng)接受了前一輪樣本訓(xùn)練的網(wǎng)絡(luò)接受新一輪的樣本繼續(xù)訓(xùn)練,會導(dǎo)致獎勵的波動。在一段訓(xùn)練后,網(wǎng)絡(luò)達(dá)到收斂并逐漸趨于穩(wěn)定。對比了PDP-DDPG算法和DDPG算法性能,清晰地表明了PDP-DDPG算法比DDPG算法更穩(wěn)定。定義平均獎勵閾值為-2,直到時間片段結(jié)束,計算第一次達(dá)到-2的方差,每個算法的方差如表1所示,其中PDP-DDPG方差最小。
表1 三種方法的方差和執(zhí)行時間
根據(jù)以上實驗所示,PDP-DDPG方法收斂得更快,更加穩(wěn)定,與PD-DDPG方法和DDPG方法相比,具有更高的訓(xùn)練效率。
本文提出了一種采樣重播緩沖區(qū)中高優(yōu)先級數(shù)據(jù)用于訓(xùn)練,同時刪除緩沖區(qū)中高度相關(guān)或者相似樣本,保存有價值的數(shù)據(jù),替換了傳統(tǒng)DDPG算法中先進(jìn)先出存儲方式和隨機(jī)采樣方式。本方法與原始DDPG算法相比,提高了學(xué)習(xí)效率,增強(qiáng)了長期記憶能力,縮短了訓(xùn)練時間,使得學(xué)習(xí)過程更加穩(wěn)定。在仿真環(huán)境中驗證該方法。與其它傳統(tǒng)方法相比,實驗表明在學(xué)習(xí)穩(wěn)定性和長期記憶力等性能上,本方法有顯著提升。此外,所提出的PDP-DDPG方法比起原始的DDPG方法具有更強(qiáng)的魯棒性。
在今后的工作中,試圖對樣本價值的評價標(biāo)準(zhǔn)進(jìn)行進(jìn)一步的研究。在今后的工作中,將把所提出的算法應(yīng)用到更困難的任務(wù)中,如Gym TORCS等。