祖立鵬,王文學(xué)
1(中國科學(xué)院 沈陽自動化研究所機(jī)器人學(xué)國家重點(diǎn)實(shí)驗(yàn)室,沈陽 110016) 2(中國科學(xué)院 沈陽自動化研究所,沈陽 110016) 3(中國科學(xué)院大學(xué),北京 100049) 4(中國科學(xué)院 機(jī)器人與智能制造創(chuàng)新研究院,沈陽 110169)
強(qiáng)化學(xué)習(xí)在許多虛擬任務(wù)中都展示出令人印象深刻的學(xué)習(xí)結(jié)果,例如電子游戲[1,2]、棋盤游戲[3]以及學(xué)習(xí)復(fù)雜的運(yùn)動行為[4].然而,這些成功的強(qiáng)化學(xué)習(xí)算法在實(shí)際的機(jī)器人控制中卻并未取得和虛擬世界一樣的學(xué)習(xí)效果,主要是由于難以建立相同的機(jī)器人學(xué)習(xí)環(huán)境.同時,在真實(shí)的機(jī)器人與外界交互過程中,強(qiáng)化學(xué)習(xí)面臨的一個巨大的挑戰(zhàn)就是很難準(zhǔn)確地定義和描述合適的獎勵函數(shù),而在游戲等虛擬任務(wù)環(huán)境中[5],獎勵函數(shù)通常是明確定義的,并可以直接優(yōu)化.對于實(shí)際機(jī)器人控制,通常希望通過行為來實(shí)現(xiàn)某種二進(jìn)制獎勵的目標(biāo)任務(wù)(例如,只有將一個對象移動到所需的位置或?qū)崿F(xiàn)系統(tǒng)的某個狀態(tài),才給予機(jī)器人獎勵),這種任務(wù)的稀疏獎勵函數(shù)容易設(shè)置,這自然會產(chǎn)生稀疏的回報(bào)[6].不幸的是,機(jī)器人在獎勵稀疏的環(huán)境中進(jìn)行探索與學(xué)習(xí)是非常困難的,因?yàn)樵陔S機(jī)探索中,智能體很少獲得正向的獎勵信號[7].
自監(jiān)督學(xué)習(xí)(SSL)是用來解決上述問題的有效方法之一[8],該算法學(xué)習(xí)如何根據(jù)需要達(dá)到任何預(yù)先觀察的狀態(tài)[9],其主要的方式就是通過自己監(jiān)督自己.這個問題可以表述為訓(xùn)練一個目標(biāo)制約策略,目標(biāo)制約策略旨在獲得觀察結(jié)果與目標(biāo)完全匹配的指標(biāo)回報(bào).但實(shí)際上,這種獎勵難以被觀察到,因?yàn)樵谙駲C(jī)器人這樣的連續(xù)空間中,觀察到兩次完全相同的傳感器響應(yīng)是非常少見的[10].在當(dāng)前研究中,使用off-policy的RL算法,可以通過在該軌跡中實(shí)際到達(dá)的最終狀態(tài)替換其目標(biāo)狀態(tài)來“重新標(biāo)記”收集的軌跡,借助這樣的方式可以重新獲取多個狀態(tài)的指標(biāo)獎勵,這種方法被介紹為事后經(jīng)驗(yàn)回放(HER)[11].雖然它使用了特殊的重置,但獎勵實(shí)際上是圍繞目標(biāo)的獎勵[12].
從演示中學(xué)習(xí),或者叫模仿學(xué)習(xí)(IL),是機(jī)器人學(xué)中一個研究得很好的領(lǐng)域[13,14].在許多情況下,從專家示范樣本那里獲得一些演示比提供一個描述任務(wù)的好的獎勵更容易.以前大多數(shù)關(guān)于IL的工作都是圍繞著軌跡跟蹤,或者做一個單一的任務(wù)[15].此外,還受到演示性能的限制,或者依賴于設(shè)計(jì)獎勵函數(shù)來改進(jìn)它們.在近期工作中,將IL與HER相結(jié)合,可用于多任務(wù)連續(xù)空間機(jī)器人的控制任務(wù),并研究一個更強(qiáng)大的“重新標(biāo)記”策略,從專家示范樣本軌跡中提取額外的信息[16,17].這些研究中,已經(jīng)證明這類算法組合方式能夠在稀疏獎勵中,使機(jī)器人經(jīng)過訓(xùn)練完成指定的任務(wù)目標(biāo).
在此基礎(chǔ)上,本文提出了一種新的算法,基于任務(wù)空間網(wǎng)格分割的強(qiáng)化學(xué)習(xí)算法,并表明它具有更快的收斂速度,并達(dá)到更高的控制成功率.該算法的設(shè)計(jì)思想是,當(dāng)前由人工生成的專家示范樣本在一定程度上并不是最優(yōu)的,并受到具象不匹配與視角差異的影響[18],而利用正在訓(xùn)練的智能體策略網(wǎng)絡(luò)來生成更優(yōu)樣本有望成為解決這一問題的有效途徑.本文主要對算法的兩個方面進(jìn)行研究,一方面是針對行為克隆損失函數(shù)梯度系數(shù)的取值進(jìn)行研究,另一方面是針對空間網(wǎng)格分割以及該策略下的優(yōu)質(zhì)樣本篩選標(biāo)準(zhǔn)進(jìn)行研究,最后通過仿真實(shí)驗(yàn)驗(yàn)證本文提出的算法.本文提出的任務(wù)空間網(wǎng)格分割策略擴(kuò)展了它在實(shí)際機(jī)器人學(xué)中的應(yīng)用,能夠在訓(xùn)練過程中收集更優(yōu)的樣本軌跡,從而提升訓(xùn)練過程的成功率.
模仿學(xué)習(xí)是獎勵函數(shù)工程的一種有效替代方法[19],可以通過專家示范來訓(xùn)練想要的行為.利用專家演示的方法有很多,從直接最大化行為策略梯度下專家行為獎勵的行為克隆方法[20],到從這些演示中提取獎勵函數(shù),然后訓(xùn)練策略使其最大化的逆強(qiáng)化學(xué)習(xí)[21,22].另一個接近后者的算法是生成對抗性模仿學(xué)習(xí)[23].行為克隆的工作都在一定程度上依賴于專家的示范樣本,同時用這些方法處理的大多數(shù)任務(wù)包括跟蹤專家狀態(tài)軌跡,但這類算法在訓(xùn)練后期將會受到的協(xié)變量漂移與復(fù)合誤差的影響[24,25].
在這項(xiàng)工作中,主要研究目標(biāo)為機(jī)器人在連續(xù)空間內(nèi)對目標(biāo)物體的持續(xù)操作,目標(biāo)是在多個任務(wù)需求下達(dá)到一定控制精度.這種多任務(wù)學(xué)習(xí)在機(jī)器人中是普遍存在的[26],但如果沒有合適的獎勵函數(shù)設(shè)計(jì),在訓(xùn)練過程中將會遇到挑戰(zhàn)性和嚴(yán)重的數(shù)據(jù)缺乏.即使在使用稀疏獎勵的算法HER中,算法的固有專家樣本初始性質(zhì)可能仍然會產(chǎn)生效率低下的強(qiáng)化學(xué)習(xí)策略.在前期的工作中,算法BC+HER將行為克隆損失與Q-Filter一起使用,通過這種方式允許智能體的訓(xùn)練經(jīng)驗(yàn)樣本優(yōu)于示范樣本.但這種方式針對行為克隆損失的學(xué)習(xí)率卻沒有被更多的探索.最后,本文針對示范樣本庫的優(yōu)化問題提出了一種新的算法,能夠與當(dāng)前采用模仿學(xué)習(xí)的強(qiáng)化學(xué)習(xí)算法相兼容.
DQN是一種無模型的強(qiáng)化學(xué)習(xí)算法用于離散的動作空間[27],這是強(qiáng)化學(xué)習(xí)算法中最重要的算法之一.在DQN中使用一個神經(jīng)網(wǎng)絡(luò)Q來逼近最優(yōu)價值函數(shù)Q*,同時通過貪心的方法執(zhí)行動作:πQ(s)=argmaxa∈AQ(s,a).又考慮到探索的重要性,使用一個小的概率,從所有動作中以相同概率選擇一個動作.
DQN使用的第1個關(guān)鍵技術(shù)為經(jīng)驗(yàn)的回放緩存(Replay Buffer),該技術(shù)受到生物學(xué)啟發(fā)[28],在每個時間步t中,先將獲得的經(jīng)驗(yàn)(st,at,rt,st+1)存入經(jīng)驗(yàn)庫中,然后在訓(xùn)練過程中對這些經(jīng)驗(yàn)進(jìn)行小批量的均勻采樣.DQN的第2個關(guān)鍵技術(shù)為使用目標(biāo)網(wǎng)絡(luò),該網(wǎng)絡(luò)作為獨(dú)立存在的網(wǎng)絡(luò),能夠進(jìn)一步提高智能體訓(xùn)練的穩(wěn)定性.
DDPG是一種可用于連續(xù)空間的無模型強(qiáng)化學(xué)習(xí)算法[29],同時也是一種演員-評論家算法[30],有效的結(jié)合了策略梯度與RL的值估計(jì).簡單來說,DDPG通過最小化Bellman誤差來學(xué)習(xí)動作價值函數(shù)(critic網(wǎng)絡(luò)),并用來估計(jì)狀態(tài)-動作對的動作期望回報(bào),同時通過策略梯度來學(xué)習(xí)參數(shù)化的策略(actor網(wǎng)絡(luò)).在每一個訓(xùn)練過程中,DDPG從經(jīng)驗(yàn)回放庫E中選擇N組(st,at,rt,st+1)經(jīng)驗(yàn)樣本,來更新DDPG的網(wǎng)絡(luò)參數(shù).其中,critic的online網(wǎng)絡(luò)θQ的損失函數(shù)定義為:
yi=ri+γQtarget(si+1,πtarget(si+1))
(1)
(2)
actor的online網(wǎng)絡(luò)θπ使用策略梯度更新參數(shù):
(3)
使用專家示范樣本能夠加快智能體的學(xué)習(xí)速度.這里將會建立第2個經(jīng)驗(yàn)庫ED存放專家示范樣本的經(jīng)驗(yàn),在對經(jīng)驗(yàn)庫ED采樣后,先使用評論家網(wǎng)絡(luò)(critic)判斷當(dāng)前狀態(tài)-動作價值是否優(yōu)于智能體的策略產(chǎn)生動作價值,即Q-Filter,隨后將優(yōu)于智能體動作價值的經(jīng)驗(yàn)以行為克隆損失函數(shù)的形式,見公式(4),添加到確定性策略梯度,見公式(5),來更新actor網(wǎng)絡(luò)θπ的參數(shù),如公式(6)所示:
(4)
Q(si,ai|ED)>Q(si,π(si))
(5)
λ1?θπJ-λ2?θπLBC
(6)
本文的實(shí)驗(yàn)環(huán)境使用MuJoCo搭建[31].在所有的實(shí)驗(yàn)中,智能體由一個仿真的7自由度的機(jī)器人機(jī)械手臂與一組平行的夾持器組成,智能體的任務(wù)為對一個目標(biāo)物體進(jìn)行操作.該目標(biāo)物體位于機(jī)器人前面的桌子上,并需要智能體通過訓(xùn)練完成抓取目標(biāo)物體并移至指定目標(biāo)位置.智能體的控制輸出是連續(xù)的并包含4個控制量:其中前3個控制量指定所需的機(jī)械臂末端執(zhí)行器位置與指定目標(biāo)位置之需要移動的距離,最后一個控制量為平行夾持器的相對位置,即手指間的距離.智能體在仿真條件下的控制頻率為50Hz.
本研究使用腳本程序與MuJoCo環(huán)境進(jìn)行交互生成示范樣本.通過這種生成方式,所得到的示范樣本并不是最優(yōu)的,此外示范軌跡的作為經(jīng)驗(yàn)樣本也需經(jīng)過智能體的critic網(wǎng)絡(luò)的判斷.腳本程序設(shè)置最終目標(biāo)物體與目標(biāo)位置之間的誤差精度為2mm,經(jīng)驗(yàn)證僅有18.84%的示范軌跡能達(dá)到這一精度,5mm誤差精度為60.24%,而10mm誤差精度可以達(dá)到71.56%.另一方面,在生成專家示范樣本過程中添加了更多人為主觀因素,這些因素對于實(shí)際機(jī)器人任務(wù)而言是不利的,同時,智能體經(jīng)過一定時間訓(xùn)練后,在相同初始條件所獲得的軌跡回報(bào)總是能優(yōu)于專家示范樣本軌跡的回報(bào).
本研究針對公式(6)中的行為克隆損失函數(shù)梯度的系數(shù)λ2的取值范圍進(jìn)行深度探索,能夠使智能體的訓(xùn)練過程快速收斂.該部分主要分為兩個階段,第1階段使用固定大小的λ2,第2階段本文創(chuàng)新性的提出使用改進(jìn)的sigmoid函數(shù)來調(diào)整固定大小的λ2,見公式(7).具體實(shí)驗(yàn)結(jié)果見下一節(jié)實(shí)驗(yàn)結(jié)果部分,λsigmoid函數(shù)介紹如下:
λ1?θπJ-λsigmoidλ2?θπLBC
(7)
(8)
在公式(8)中,λsigmoid取值范圍為[0.1,1],其中參數(shù)a控制函數(shù)的形狀,a越大函數(shù)越接近階躍函數(shù),a越小函數(shù)則接近于標(biāo)準(zhǔn)sigmoid函數(shù);參數(shù)xmetric1和b1為訓(xùn)練過程中的一個指標(biāo)以及在該指標(biāo)上某個選定的值作為函數(shù)參數(shù),該指標(biāo)可指定為與訓(xùn)練過程相關(guān)的參數(shù)指標(biāo),例如訓(xùn)練軌跡的成功率、測試軌跡的成功率以及訓(xùn)練的均方誤差,等等.
智能體抓取的目標(biāo)物體為邊長5cm的正方體.在初始條件中,機(jī)械臂末端手指的中心位置(xg,yg,zg),桌面高度為H,目標(biāo)物體將隨機(jī)出現(xiàn)在桌面上邊長為Lobject的正方形區(qū)域Ωobject內(nèi)位置為(xo,yo,zo).目標(biāo)位置(xt,yt,zt)在初始化后會依據(jù)一定概率出現(xiàn)兩種情況:第1種為空中目標(biāo),智能體抓取目標(biāo)物體后移至空中的指定位置,這是一個三維目標(biāo)空間Ωair,在水平維度上目標(biāo)位置將出現(xiàn)在邊長為Ltarget的正方形區(qū)域內(nèi),在垂直維度上目標(biāo)位置將出現(xiàn)在桌面上方高度HT范圍內(nèi);第2種為平移目標(biāo),即將目標(biāo)物體平移至桌面指定位置,這是一個二維目標(biāo)空間Ωtable,目標(biāo)位置將出現(xiàn)在邊長為Ltarget的正方形區(qū)域內(nèi).
圖1 實(shí)驗(yàn)環(huán)境與任務(wù)空間網(wǎng)格分割示意圖Fig.1 Simulation environment and schematic diagram of the mesh division of the task space
D=N×(Mair+Mtable)
(9)
專家示范樣本軌跡的生成方式通常由程序腳本生成或人工采集記錄,這些生成的示范樣本軌跡原則上并不是最優(yōu)的,因?yàn)橛扇斯か@得的樣本軌跡的回報(bào)往往非常小,而智能體經(jīng)過一定時間步長的訓(xùn)練后能夠獲得更優(yōu)的回報(bào)值.因此本研究期望能夠在訓(xùn)練過程中,基于正在訓(xùn)練的智能體策略網(wǎng)絡(luò),生成并收集一定數(shù)量的優(yōu)質(zhì)軌跡樣本,來補(bǔ)充到專家示范樣本庫ED中.因此需要建立一系列規(guī)則來判斷更優(yōu)的軌跡.
上一節(jié)定義的空間網(wǎng)格分割的方式來生成示范樣本,機(jī)器人機(jī)械臂末端在單位時間步長內(nèi)的每個方向上最大位移為dmax.根據(jù)稀疏獎勵函數(shù)的定義:
(10)
閾值δ為智能體的操作目標(biāo)物體需要達(dá)到的訓(xùn)練精度,在每條任務(wù)軌跡生過程中,最終回報(bào)主要由三部分組成:機(jī)械手移至目標(biāo)物體附近R1、抓取目標(biāo)物體R2以及將目標(biāo)物體移至目標(biāo)位置R3.
(11)
(12)
如果將目標(biāo)物體出現(xiàn)空間Ωobject以及目標(biāo)位置出現(xiàn)空間Ωair和Ωtable分割為網(wǎng)格邊長為dmax的單元,本文定義為最小化分網(wǎng)格,則可以精確比較初始化為相同網(wǎng)格區(qū)域內(nèi)軌跡的優(yōu)劣程度,本研究以較大的網(wǎng)格邊長分割方式生成示范樣本,并記錄樣本軌跡回報(bào)RD={rew1,rew2,…,rewD},隨后進(jìn)一步將任務(wù)空間分割為網(wǎng)格邊長為dmax的最小單元并記錄初始化位置所在最小化分網(wǎng)格空間的位置坐標(biāo)為LD={loc1,loc2,…,locD},其中l(wèi)oc=(locobj,loctar).
在最小分割網(wǎng)格中,選擇更優(yōu)軌跡的標(biāo)準(zhǔn)為所獲得的回報(bào)值與示范軌跡相比應(yīng)相同或更高.同時,更優(yōu)的軌跡應(yīng)滿足另一重要條件,即軌跡最終達(dá)到的控制精度在δg范圍內(nèi):δg<δ.本研究在上述兩條要求同時滿足時,則將該生成的軌跡作為優(yōu)質(zhì)樣本補(bǔ)充到示范樣本庫ED中,并更新該軌跡所處網(wǎng)格分割空間坐標(biāo)的回報(bào)值,這一點(diǎn)保證了在后續(xù)選擇的軌跡樣本的回報(bào)會不斷接近最大回報(bào).在這里,本文使用第2個xmetric2來啟用樣本篩選過程,目的是使智能體已經(jīng)能夠較好的完成任務(wù)的基礎(chǔ)上,再由其生成優(yōu)質(zhì)軌跡樣本.
初始條件:
強(qiáng)化學(xué)習(xí)算法:HER,future strategy
示范樣本軌跡參數(shù):RD,LD
初始化:HER,經(jīng)驗(yàn)回放庫E,λsigmoid
whilenot donedo
初始化仿真環(huán)境獲得目標(biāo)g,智能體初始狀態(tài)s0
fort=0,T-1do
使用DDPG算法的行為網(wǎng)絡(luò)生成動作at
智能體在執(zhí)行動作at后,獲得新狀態(tài)st+1
endfor
E←E∪(s0,a0,s1,…)添加軌跡到經(jīng)驗(yàn)庫在EDandE中使用future strategy采集訓(xùn)練集 batchB
θQ+=λ3?θQL,更新critic網(wǎng)絡(luò)參數(shù)
θπ+=λ1?θπJ-λsigmoidλ2?θπLBC,更新actor網(wǎng)絡(luò)參數(shù)
xmetric1←xmetric1,更新訓(xùn)練指標(biāo)xmetric1
λsigmoid←λsigmoid,更新系數(shù)λsigmoid
xmetric2←xmetric2,更新訓(xùn)練指標(biāo)xmetric2
ifxmetric2>b2do
fori=0,Nexpolredo
初始化仿真環(huán)境,目標(biāo)g,狀態(tài)s0,坐標(biāo)標(biāo)簽loc
iflocinLDdo
從RD中返回該位置標(biāo)簽下的回報(bào)值Rlabel
軌跡回報(bào)Rexplore=0
fort=0,T-1do
使用DDPG算法的行為網(wǎng)絡(luò)生成動作at
智能體在執(zhí)行動作at后,獲得新狀態(tài)st+1,獎勵r
Rexpolre+=r
endfor
軌跡最終執(zhí)行精度為δexplore
ifδexplore≤δg&Rexplore≥Rlabel+1do
ED←ED∪(s0,a0,s1,…),添加軌跡到示范樣本庫
RD(loc)←Rexplore,更新位置坐標(biāo)處的回報(bào)值
endif
endif
endfor
endif
endwhile
本研究基于Github上的開源項(xiàng)目庫OpenAI Baselines(https://github.com/openai/baselines).智能體的actor網(wǎng)絡(luò)和critic網(wǎng)絡(luò)結(jié)構(gòu)均為4層的MLP網(wǎng)絡(luò),隱含層包含256個節(jié)點(diǎn),使用ReLU作為激活函數(shù)以及L2正則化,網(wǎng)絡(luò)優(yōu)化器為Adam.每次訓(xùn)練batchB包含256個經(jīng)驗(yàn)樣本,其中32個來自示范樣本庫ED,λ1=λ3=0.001,獎勵折扣因子γ=0.98.初始化時,空間網(wǎng)格化分生成的示例樣本庫ED軌跡參數(shù),n=2,mtable=mair=3,生成的樣本軌跡總數(shù)量N=144.設(shè)置Lobject=Ltarget=30cm,HT=45cm.本研究探索的智能體控制精度分別為δ=10mm和δ=5mm.
本研究在計(jì)算機(jī)配置為CPU:i7 11700KF,GPU:3080ti的個人主機(jī)上運(yùn)行,并使用多線程并行編程技術(shù),每次運(yùn)行使用5個MPI進(jìn)程并行.
通常情況下,深度網(wǎng)絡(luò)的學(xué)習(xí)率是一個非常重要的參數(shù),可以認(rèn)為學(xué)習(xí)率的定義就是每次網(wǎng)絡(luò)參數(shù)移動的幅值,本研究使用HER算法并結(jié)合模仿學(xué)習(xí)行為克隆的方式進(jìn)行訓(xùn)練,有3個需要定義的學(xué)習(xí)率分別對應(yīng)λ1、λ2、λ3,其中λ1、λ2為actor網(wǎng)絡(luò)學(xué)習(xí)率,公式(6)以及critic網(wǎng)絡(luò)學(xué)習(xí)率λ3.本研究對行為克隆損失函數(shù)梯度的學(xué)習(xí)率λ2進(jìn)行探索,在先前的研究算法(BC+HER)中[17],并將該系數(shù)賦值為λ2=1/ND=3.125e-2,但這一取值未被過多的討論.本研究首先使用固定大小的λ2=3.125e-6;3.125e-5;3.125e-2.示范樣本庫ED包含100條隨機(jī)生成的軌跡樣本,智能體的訓(xùn)練目標(biāo)誤差范圍δ=5mm,如圖2所示.
圖2 設(shè)置不同λ2大小的訓(xùn)練曲線Fig. 2 Training processing using the fixed λ2
圖2所示的結(jié)果為20次訓(xùn)練結(jié)果平均后的擬合曲線,擬合函數(shù)以及上升曲線的時間常數(shù)為:
func=a×exp(-b×x)+c(τ=1/b)
(13)
由圖2所示的結(jié)果表明,當(dāng)λ2=3.125e-2時智能體訓(xùn)練的收斂速度十分緩慢.同時,λ2越小智能體訓(xùn)練的收斂速度越快,但一味的減小λ2并不能獲得更高的訓(xùn)練成功率,當(dāng)λ2=3.125e-6有較快的收斂速度,λ2=3.125e-5智能體能夠達(dá)到較高的成功率,需要指出的是取該值時,其大小與λ1的存在關(guān)系為λ2=λ1/ND.本研究基于上述發(fā)現(xiàn),使用一種在訓(xùn)練過程中調(diào)節(jié)學(xué)習(xí)率的方式,提出使用λsigmoid函數(shù)來調(diào)整固定大小的λ2,如公式(8)所示,本研究使用3組λsigmoid函數(shù)的參數(shù)進(jìn)行對比mode1:a=20,b1=0.5;mode2:a=20,b1=0.65;mode3:a=10000,b1=0.8,選擇測試軌跡的成功率作為xmetric1指標(biāo),其中mode1和mode3的λsigmoid曲線如圖3所示.
圖3 mode1(左)和 mode3(右)的λsigmoid函數(shù)曲線Fig. 3 λsigmoid curves of mode1 (left) and mode3 (right)
由圖3可知,mode1參數(shù)設(shè)置下能夠讓學(xué)習(xí)率平穩(wěn)過渡,而mode3參數(shù)設(shè)置的曲線則更接近階躍響應(yīng)函數(shù),在b1處直接跳變.通過設(shè)置λ2= 3.125e-5,則λBC=λsigmoidλ2.通過使用這種可動態(tài)調(diào)節(jié)學(xué)習(xí)率參數(shù)的方式,可以在智能體訓(xùn)練起始階段時使用較小的學(xué)習(xí)率(λBC=3.125e-6),而在訓(xùn)練后期時調(diào)整為較大的學(xué)習(xí)率(λBC=3.125e-5),既能保證訓(xùn)練過程的快速收斂,又能得到較好的訓(xùn)練成功率.使用上述方式將20次訓(xùn)練的平均擬合曲線如圖4所示.
圖4 使用λsigmoid調(diào)節(jié)λ2大小的訓(xùn)練曲線Fig. 4 Using λsigmoid to adjust the value of λ2
從圖4中可以看出,3組λsigmoid的收斂速度相近,但最后一組mode3的成功率更高.進(jìn)一步對比分析mode1、mode3、3.125e-6、3.125e-5以及3.125e-2的訓(xùn)練情況,結(jié)果如表1所示.從表中數(shù)據(jù)可以看出,采用mode3的方式能夠達(dá)到85.70%的訓(xùn)練成功率,同時,收斂速度接近固定大小的λ2=3.125e-6組.在相同訓(xùn)練步長Timestep=500000,Epoch=200情況下,與算法BC+HER相比,本文提出的學(xué)習(xí)率調(diào)節(jié)方式具有相當(dāng)明顯的優(yōu)勢,大幅提升了訓(xùn)練速度與任務(wù)的成功率,與預(yù)期結(jié)果一致.
表1 4組不同學(xué)習(xí)率方式對比Table 1 Comparison of four learning rate methods
基于上一小節(jié)結(jié)論,本節(jié)將直接使用mode3設(shè)置的參數(shù)進(jìn)行訓(xùn)練.使用空間網(wǎng)格分割的方式生成144條樣本軌跡經(jīng)驗(yàn)存于示范樣本庫ED中,其中n=2,mtable=mair=3.設(shè)置dmax=5cm,則在最小化分網(wǎng)格中,n=6,mtable=6,mair=9,根據(jù)公式(9),任務(wù)空間的組合數(shù)將達(dá)到12960,顯然,144條軌跡在這樣的空間分割下仍然十分稀疏.初始化機(jī)械臂的仿真環(huán)境后,zg-zo=0.115cm,機(jī)械臂末端手指的水平位置為目標(biāo)物體出現(xiàn)區(qū)域的中心:max(|xg-xo|)=max(|xg-xo|)=0.15cm,由公式(11)可知,max(R1)=-3,最優(yōu)的獎勵大小為固定值,而另一方面需考慮R3大小,使用最小網(wǎng)格分割的方式,判斷更優(yōu)樣本的方式將使用公式(14),這種判斷方式確保了收集到的軌跡樣本只能是更優(yōu)的.
Rexplore≥Rlabel+1
(14)
本節(jié)主要研究的智能體控制精度分別為δ=10mm和δ=5mm,同時將選擇訓(xùn)練輪數(shù)epoch作為xmetric2指標(biāo),控制精度為δ=10mm時,設(shè)置b2=20,Timestep=125000,Nexpolre=500;控制精度為δ=5mm時,b2=35,Timestep=200000,Nexpolre=500.本研究將隨機(jī)生成示范樣本的算法BC+HER與本文提出的算法(BC+HERmode3+mesh)進(jìn)行對比分析,在兩種控制精度要求下的結(jié)果分別如圖5(左)和圖5(右)所示.從訓(xùn)練曲線中可以看出,本文提出的任務(wù)空間網(wǎng)格分割算法與‘+mode3’相結(jié)合能夠?qū)⑷蝿?wù)的成功率明顯提升.另一方面,δ=10mm時,訓(xùn)練結(jié)束后新加入示范樣本庫ED的經(jīng)驗(yàn)軌跡數(shù)增加了約70條.δ=5mm時,新加入示范樣本庫ED的經(jīng)驗(yàn)軌跡數(shù)增加了約120條.
圖5 在10mm (左)和5mm (右)控制精度下的訓(xùn)練曲線Fig. 5 Training curves at 10mm (left) and 5mm (right) error
本文使用相同的訓(xùn)練時間步長Timestep作進(jìn)一步的對比分析,如表2所示.與先前的算法(BC+HER)、本文提出的mode3設(shè)置方式(+mode3)以及本文提出的任務(wù)空間網(wǎng)格分割策略(+mode3+mesh)的訓(xùn)練結(jié)果對比.由訓(xùn)練數(shù)據(jù)可知,本文提出的方法在訓(xùn)練過程中能夠大幅優(yōu)于BC+HER算法的表現(xiàn).相比較于BC+HER+mode3,在δ=10mm控制精度要求下,任務(wù)空間網(wǎng)格分割的方式能夠提升約1.8%的成功率,而在δ=5mm控制精度下,能夠提升約4.7%的成功率,達(dá)到了90.45%.
表2 不同控制精度要求下的成功率對比Table 2 Comparison of different control accuracies
本文提出一種基于任務(wù)空間網(wǎng)格分割的強(qiáng)化學(xué)習(xí)算法,能夠在稀疏獎勵函數(shù)下,以較高的訓(xùn)練速度下實(shí)現(xiàn)更高精度的機(jī)器人控制的任務(wù)成功率.本文主要針對兩方面進(jìn)行研究,一方面,針對LBC梯度的系數(shù)λ2的取值進(jìn)行優(yōu)化,經(jīng)實(shí)驗(yàn)發(fā)現(xiàn)該值滿足λ2=λ1/ND時能夠取得最好的控制成功率,同時智能體訓(xùn)練的收斂速度也隨著該值的減小而加快.基于這兩個規(guī)律,本研究創(chuàng)新地使用函數(shù)變量λsigmoid來調(diào)控λ2的大小,選擇訓(xùn)練過程指標(biāo)xmetric1和b1作為函數(shù)參數(shù),需要指出的是該指標(biāo)可指定為任何與訓(xùn)練過程相關(guān)的參數(shù)指標(biāo).經(jīng)實(shí)驗(yàn)論證,本文中選擇的mode3參數(shù)方式能夠以較快的訓(xùn)練的收斂速度達(dá)到更高的成功率.
另一方面,本文介紹了空間網(wǎng)格分割算法的空間分割方式以及優(yōu)質(zhì)樣本選擇標(biāo)準(zhǔn),該方式能夠在最小分割網(wǎng)格策略下,對處于相同位置坐標(biāo)軌跡樣本的優(yōu)劣程度進(jìn)行直接比較,從而選擇更優(yōu)樣本補(bǔ)充到示范樣本庫ED中.使用該算法能夠有效提高智能體在控制目標(biāo)物體任務(wù)中的成功率.任務(wù)空間網(wǎng)格分割的方式雖然對完整的任務(wù)空間進(jìn)行映射,但這樣的方式也默許了機(jī)器人所要執(zhí)行的任務(wù)是均勻的.因此,算法的篩選優(yōu)質(zhì)軌跡部分,本文并沒有直接初始化為對應(yīng)示范樣本空間的位置,而是選擇了隨機(jī)初始化的環(huán)境,這是因?yàn)橹悄荏w在執(zhí)行真實(shí)任務(wù)時具有一定傾向性,這一點(diǎn)能夠保證優(yōu)質(zhì)樣本軌跡是智能體所需要的.
本文提出的算法具有較強(qiáng)的結(jié)合能力與適用性,能夠與目前任何使用專家示范方法的強(qiáng)化學(xué)習(xí)算法結(jié)合.在算法參數(shù)設(shè)置方面,訓(xùn)練指標(biāo)xmetric1和xmetric2能夠使用與訓(xùn)練過程相關(guān)聯(lián)的任何指標(biāo),比如訓(xùn)練輪數(shù)、測試樣本的成功率又或者訓(xùn)練過程的均方誤差,等等.同時在更優(yōu)樣本的判斷標(biāo)準(zhǔn)上也可選擇更為嚴(yán)格的擇優(yōu)標(biāo)準(zhǔn),來獲得更高的訓(xùn)練成功率.