吳思凡,杜 煜,徐世杰,楊 碩,杜 晨
(北京聯(lián)合大學(xué) a.智慧城市學(xué)院; b.機(jī)器人學(xué)院; c.北京市信息服務(wù)工程重點(diǎn)實(shí)驗(yàn)室,北京 100101)
車流匯入是實(shí)際行駛中的常見(jiàn)情況,也是目前智能車研究中的熱點(diǎn)問(wèn)題。由于智能車的決策系統(tǒng)不能較好地應(yīng)對(duì)車流匯入的情況,因此多數(shù)解決方案是等待主路行駛車輛通過(guò)后再執(zhí)行下一步動(dòng)作,如何在適當(dāng)?shù)臅r(shí)機(jī)匯入始終是研究者關(guān)注的重點(diǎn)。
隨著機(jī)器學(xué)習(xí)在智能車領(lǐng)域的不斷發(fā)展,一些機(jī)器學(xué)習(xí)算法也逐漸被應(yīng)用于解決車流匯入問(wèn)題。文獻(xiàn)[1]建立了基于分類回歸樹(shù)的無(wú)人車匯流決策模型,但該模型需要數(shù)據(jù)標(biāo)注,并且只能根據(jù)瞬時(shí)數(shù)據(jù)進(jìn)行決策,不具備有效預(yù)測(cè)周圍環(huán)境的能力。文獻(xiàn)[2]建立了基于貝葉斯網(wǎng)絡(luò)的匯入行為預(yù)測(cè)模型,該模型屬于規(guī)則化模型,當(dāng)環(huán)境中出現(xiàn)特殊情況時(shí),匯入成功率較低。文獻(xiàn)[3]采用非參數(shù)支持向量機(jī)(Support Vector Machine,SVM)方法預(yù)測(cè)各種匯入行為,雖然此方法相比于其他機(jī)器學(xué)習(xí)模型匯入成功率更高,但仍然是監(jiān)督學(xué)習(xí),其學(xué)習(xí)過(guò)程是靜態(tài)過(guò)程,不能實(shí)現(xiàn)與環(huán)境的交互。
為彌補(bǔ)機(jī)器學(xué)習(xí)在智能車領(lǐng)域應(yīng)用中存在的不足,研究者提出強(qiáng)化學(xué)習(xí)的概念。目前該技術(shù)已被成功應(yīng)用于人工智能[4-5]、棋牌游戲[6]和分析預(yù)測(cè)[7]等方面,其中最為典型的代表為TD[8]、Q-learning[9]和SARSA[10],但這些算法都是針對(duì)離散狀態(tài)和行為空間的馬氏決策過(guò)程,即狀態(tài)的值函數(shù)或者行為的值函數(shù)采用表格的形式存儲(chǔ)和迭代計(jì)算[11]。如果狀態(tài)值太多,會(huì)出現(xiàn)占用內(nèi)存增大的情況,導(dǎo)致效率降低。為此,研究者進(jìn)一步提出解決方案。文獻(xiàn)[12-13]將卷積神經(jīng)網(wǎng)絡(luò)與Q學(xué)習(xí)[14]算法相結(jié)合,建立了深度Q網(wǎng)絡(luò)(Deep Q-Network,DQN)模型[15]。文獻(xiàn)[16]以DQN算法為框架搭建智能車匯入模型,獲得了較高的匯入成功率,但該算法仍然采用離散動(dòng)作空間,不能直接應(yīng)用于連續(xù)空間,無(wú)法應(yīng)對(duì)智能車實(shí)際速度控制變化。文獻(xiàn)[17]提出一種用于解決連續(xù)動(dòng)作預(yù)測(cè)的深度強(qiáng)化學(xué)習(xí)算法DDPG,該算法可以在連續(xù)動(dòng)作空間中運(yùn)行,解決動(dòng)作離散化會(huì)丟失動(dòng)作域結(jié)構(gòu)信息的問(wèn)題。
本文采用深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)算法建模,將智能車匯流問(wèn)題轉(zhuǎn)化為序列決策問(wèn)題進(jìn)行求解,并通過(guò)仿真實(shí)驗(yàn)與文獻(xiàn)[16]模型進(jìn)行對(duì)比,驗(yàn)證該模型在實(shí)際應(yīng)用中的可行性和高效性。
DDPG算法是研究者在Actor-Critic(AC)[18]算法框架的基礎(chǔ)上,使用DQN的經(jīng)驗(yàn)回放[19]方法和構(gòu)造雙網(wǎng)絡(luò)結(jié)構(gòu)的方法對(duì)確定性策略梯度(DPG)算法改進(jìn)的一種深度強(qiáng)化學(xué)習(xí)算法,其用于解決連續(xù)動(dòng)作空間下的馬氏序列決策問(wèn)題。
在DDPG算法中,確定性策略被描述為在狀態(tài)st下采取的確定動(dòng)作值at,動(dòng)作值函數(shù)被描述為在狀態(tài)st中采取at之后的預(yù)期回報(bào),分別使用參數(shù)為θμ和θQ的深度神經(jīng)網(wǎng)絡(luò)來(lái)表示確定性策略a=π(s|θμ)和動(dòng)作值函數(shù)Q(s,a|θQ)。
對(duì)Critic網(wǎng)絡(luò)而言,eval估值網(wǎng)絡(luò)通過(guò)θQ數(shù)化的函數(shù)逼近,使用最小化損失來(lái)更新參數(shù),如式(1)所示。
L(θQ)=Est~ρβ,at~β,rt~E[(Q(st,at|θQ)-yt)2]
(1)
其中:
yt=r(st,at)+γQ(st+1,π(st+1,θμ))|θQ′)
(2)
eval估值網(wǎng)絡(luò)采用TD-error(梯度下降)進(jìn)行更新:
(3)
對(duì)Actor網(wǎng)絡(luò)而言,eval估值網(wǎng)絡(luò)通過(guò)動(dòng)作值函數(shù)將狀態(tài)映射到指定動(dòng)作來(lái)更新當(dāng)前策略,狀態(tài)回報(bào)定義為未來(lái)折扣獎(jiǎng)勵(lì)總回報(bào):
(4)
本文通過(guò)Silver策略梯度的方法[20]對(duì)目標(biāo)函數(shù)進(jìn)行端對(duì)端的優(yōu)化,從而以獲得最大總回報(bào)為目的更新Actor網(wǎng)絡(luò)參數(shù),如式(5)所示。
(5)
DDPG算法采用經(jīng)驗(yàn)回放方法對(duì)Actor-Critic雙網(wǎng)絡(luò)結(jié)構(gòu)中的目標(biāo)網(wǎng)絡(luò)參數(shù)進(jìn)行更新,通過(guò)將四元組(st,at,rt,st+1)存儲(chǔ)在記憶庫(kù)中,指定時(shí)間間隔,調(diào)用記憶庫(kù)中的數(shù)據(jù)對(duì)目標(biāo)網(wǎng)絡(luò)參數(shù)進(jìn)行更新:
θQ′←τθ+(1-τ)θQ′
(6)
θμ′←τθ+(1-τ)θμ′
(7)
其中,τ代表更新參數(shù)。
結(jié)合本文的匯流模型,DDPG神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 DDPG網(wǎng)絡(luò)結(jié)構(gòu)
為探索匯入車流最優(yōu)動(dòng)作,篩選出更好的策略,本文通過(guò)在隨機(jī)采樣過(guò)程引入隨機(jī)噪聲N,從而獲得at,如式(8)所示。
at=π(st|θμ)+N
(8)
其中,at的范圍限制為[-5.5 m/s2,2.5 m/s2]。
網(wǎng)絡(luò)中其他參數(shù)設(shè)置如表1所示。
表1 DDPG網(wǎng)絡(luò)參數(shù)設(shè)置
本文以2017年“中國(guó)智能車未來(lái)挑戰(zhàn)賽”無(wú)人駕駛智能車真實(shí)綜合道路環(huán)境測(cè)試(城市道路)中一段匝道匯入口為對(duì)象,構(gòu)建匯流仿真環(huán)境。該路段行車方向由南向北,其中主路分為3個(gè)車道,匝道為一個(gè)車道。主路實(shí)際長(zhǎng)度約為700 m,每條車道實(shí)際寬度為3.75 m,主路限速為80 km/h,輔路限速為60 km/h。為簡(jiǎn)化仿真環(huán)境,消除一些無(wú)用信息,本文提取70 m主路道路作為仿真環(huán)境,如圖2所示,其中匯入路口距初始位置約30 m。其他道路環(huán)境參數(shù)如表2所示。
圖2 道路仿真環(huán)境
表2 匯流環(huán)境參數(shù)設(shè)定
Table 2 Traffic merging environment parameter setting
環(huán)境參數(shù)參數(shù)值主路長(zhǎng)度/m700.00主路限速/(km·h-1)80.00匝道限速/(km·h-1)60.00主路最低限速/(km·h-1)10.80車道寬度/m3.75匯入口寬度/m6.00環(huán)境刷新周期/s0.10
本文以北京聯(lián)合大學(xué)研發(fā)的“京龍六號(hào)”作為環(huán)境車(主路車)與代理車(匝道匯入車)進(jìn)行建模,如圖3所示?!熬埩?hào)”自改裝于北汽ex260轎車,車身長(zhǎng)度約為4.1 m,車身寬度約為1.8 m,車頂配置32線激光雷達(dá)和GPS天線,車頭安裝4線激光雷達(dá)和毫米波雷達(dá),后備箱裝有車載導(dǎo)航系統(tǒng)。
圖3 “京龍六號(hào)”實(shí)車
本文假設(shè)環(huán)境車輛只在車道3的主路行駛,車道1、車道2沒(méi)有車輛行駛,代理車通過(guò)匝道入口時(shí),匯入車道3,并且代理車的行駛軌跡按照制定的軌跡行駛,如圖4所示。
圖4 匝道環(huán)境示意圖
根據(jù)對(duì)匯流情況的研究,本文將匯入狀態(tài)分為加速和減速2種狀態(tài),采用與文獻(xiàn)[14]相同的狀態(tài)四元組空間進(jìn)行描述:s=(車輛橫向間距,車輛縱向間距,代理車車速,環(huán)境車車速),橫/縱距離=環(huán)境車輛重心到代理車輛重心的距離(假設(shè)車輛的密度是均勻的),其中車輛橫向距離、縱向距離由雷達(dá)數(shù)據(jù)所得,動(dòng)作空間a用來(lái)描述車輛在行駛過(guò)程中瞬時(shí)加速度。加速度采用“京龍六號(hào)”實(shí)車測(cè)量數(shù)據(jù),范圍為[-5.5 m/s2,2.5 m/s2]。為使車輛在保證安全的情況下盡快匯入主路,采取單步懲罰-0.1。車輛碰撞條件為當(dāng)車輛橫向距離小于2.2 m,縱向距離小于安全值,安全值計(jì)算公式為:
(9)
其中,v1為環(huán)境車車速,v2為代理車車速,D為最小反應(yīng)距離,D取值2.0 m。環(huán)境車車速和代理車車速由車輛傳感器數(shù)據(jù)測(cè)得。
本文將車輛匯入模型轉(zhuǎn)換為在代理車(匝道車)與環(huán)境車(主路車)狀態(tài)完全可觀察下通過(guò)DDPG算法采取適當(dāng)?shù)膮R入動(dòng)作問(wèn)題。在每步(時(shí)間間隔為0.1 s)代理車通過(guò)傳感器接收觀測(cè)值s(包括車輛橫向間距、車輛縱向間距、代理車車速、環(huán)境車車速),采取動(dòng)作a(加速匯入/減速匯入),并獲取獎(jiǎng)勵(lì)r,經(jīng)驗(yàn)池?cái)?shù)據(jù)為(s,a,r,s_),其中s_表示下一步狀態(tài)值。
模型建立后,本文根據(jù)現(xiàn)實(shí)過(guò)程中主路車輛行駛狀態(tài),即加速行駛、減速行駛、勻速行駛對(duì)模型進(jìn)行訓(xùn)練。根據(jù)主路車輛行為,代理車輛采取相應(yīng)的對(duì)策。實(shí)驗(yàn)環(huán)境采用python3.6進(jìn)行環(huán)境模型建立,使用Tensorflow搭建神經(jīng)網(wǎng)絡(luò)框架進(jìn)行回合訓(xùn)練,最大回合數(shù)為5 000回合。同時(shí),為加快訓(xùn)練速度,對(duì)于強(qiáng)化學(xué)習(xí)算法每個(gè)回合探索的最大步驟進(jìn)行限制,限制值為200步。
訓(xùn)練主要驗(yàn)證在車輛匯入時(shí)代理車輛是否學(xué)習(xí)到應(yīng)對(duì)環(huán)境車輛車速變化所采取的匯入對(duì)策。通過(guò)每100回合記錄在訓(xùn)練過(guò)程中匯入成功率描述該模型在應(yīng)對(duì)不同環(huán)境車速時(shí)采取策略是否可行。
應(yīng)對(duì)現(xiàn)實(shí)過(guò)程中主路車輛速度變化,本文將環(huán)境車速度變化分為勻速行駛、勻加速行駛和勻減速行駛3種主路車速度變化狀態(tài),環(huán)境車速度分為以下3種情況(車輛初始位置距匯入口30 m處)。
1)代理車輛初速度定為12 m/s(43.2 km/h)~15 m/s(54 km/h)內(nèi)某個(gè)隨機(jī)值,環(huán)境車初速度為12 m/s(43.2 km/h)~15 m/s(54 km/h)內(nèi)某個(gè)隨機(jī)值,訓(xùn)練結(jié)果如圖5所示。
圖5 環(huán)境車勻速行駛匯入成功率
Fig.5 Merging success rate of main-road vehicle at a constant speed
2)代理車輛初速度定為12 m/s(43.2 km/h)~15 m/s(54 km/h)內(nèi)某個(gè)隨機(jī)值,環(huán)境車初速度為12 m/s(43.2 km/h)~15 m/s(54 km/h)內(nèi)某個(gè)隨機(jī)值,且加速度選取(0,2.5 m/s2]內(nèi)某個(gè)隨機(jī)值,訓(xùn)練結(jié)果如圖6所示。
圖6 環(huán)境車勻加速行駛匯入成功率
Fig.6 Merging success rate of main-road vehicle with uniform acceleration
3)代理車輛初速度定為12 m/s(43.2 km/h)~15 m/s(54 km/h)內(nèi)某個(gè)隨機(jī)值,環(huán)境車初速度為12 m/s(43.2 km/h)~15 m/s(54 km/h)內(nèi)某個(gè)隨機(jī)值,且加速度選取[-5.5 m/s2,0)內(nèi)某個(gè)隨機(jī)值,訓(xùn)練結(jié)果如圖7所示。
圖7 環(huán)境車勻減速行駛匯入成功率
Fig.7 Merging success rate of main-road vehicle with uniform deceleration
在環(huán)境車勻速行駛狀態(tài)下,車輛碰撞在500回合以后不再發(fā)生,模型達(dá)到收斂,并最終在5 000回合時(shí)成功率達(dá)到95%。在環(huán)境車做勻加速行駛的狀態(tài)下,車輛匯入模型在前100回合時(shí)匯入效果已十分理想,并且最終成功率接近100%,在環(huán)境車做勻減速行駛的狀態(tài)下,在前500回合成功匯入成功率不足45%,經(jīng)過(guò)訓(xùn)練,在5 000回合時(shí),匯入成功率達(dá)到95%。
實(shí)驗(yàn)測(cè)試3種不同環(huán)境加速度(-1.8 m/s2、0、2 m/s2)下代理車決策行為,測(cè)試結(jié)果如表3所示。
表3 不同環(huán)境車速下的測(cè)試結(jié)果
Table 3 Test results of main-road vehicle with different speeds
環(huán)境車車速代理車決策行為勻速行駛先減速后加速匯入以2 m/s2勻加速行駛減速匯入以-1.8 m/s2勻減速行駛加速匯入
當(dāng)環(huán)境車輛勻減速行駛時(shí),代理車為盡快匯入,采取的策略是不等待環(huán)境車通過(guò)匯入口后再通過(guò),而是全程加速通過(guò)。當(dāng)環(huán)境車在主路勻速行駛時(shí),由于兩車的初始速度幾乎相同,在保證安全的情況下,此時(shí)代理車學(xué)習(xí)到的策略是先減速行駛,在保證一定安全距離后加速匯入。在環(huán)境車做勻加速行駛時(shí),此時(shí)代理車為了安全匯入,不發(fā)生車輛碰撞,學(xué)習(xí)到的策略是減速匯入,等到環(huán)境車通過(guò)匯入口后,再匯入車流。
文獻(xiàn)[16]利用DQN算法通過(guò)離散動(dòng)作空間描述動(dòng)作變化狀態(tài),使用單一目標(biāo)網(wǎng)絡(luò)儲(chǔ)存參數(shù)產(chǎn)生目標(biāo)Q值,并利用單估值網(wǎng)絡(luò)產(chǎn)生單估值Q值,根據(jù)兩者差異通過(guò)梯度下降更新網(wǎng)絡(luò)參數(shù)。
對(duì)本文模型與文獻(xiàn)[16]模型采用相同的四元組空間描述狀態(tài)、環(huán)境參數(shù)以及網(wǎng)絡(luò)訓(xùn)練參數(shù)。加速度變化范圍為[-5.5 m/s2,2.5 m/s2],分別對(duì)3種環(huán)境車速度變化(勻速、勻加速、勻減速)進(jìn)行對(duì)比,對(duì)比結(jié)果如圖8~圖10所示。
圖8 環(huán)境車勻速行駛時(shí)的匯入成功率對(duì)比
Fig.8 Merging success rate comparison of main-road vehicles at a constant speed
圖9 環(huán)境車勻加速行駛時(shí)的匯入成功率對(duì)比
Fig.9 Merging success rate comparison of main-road vehicles with uniform acceleration
圖10 環(huán)境車勻減速行駛時(shí)的匯入成功率對(duì)比
Fig.10 Merging success rate comparison of main-road vehicles with uniform deceleration
3種環(huán)境車速下最終完成訓(xùn)練時(shí)的匯入成功率如表4所示。從中可以看出,DDPG匯入車流模型在3種行駛情況下可以以較高的成功率匯入車流。訓(xùn)練完成時(shí),成功率都能達(dá)到95%以上,說(shuō)明該模型收斂速度快且穩(wěn)定。在環(huán)境車勻速行駛、加速行駛中匯入成功率分別為97.42%和99.64%,分別超出DQN匯入模型成功率15.5%和23.68%;在環(huán)境車減速行駛中匯入成功率為95.34%,超出DQN匯入模型成功率1.02%。
表4 完成訓(xùn)練時(shí)的匯入成功率對(duì)比
Table 4 Merging success rate comparison at the end of training%
模型環(huán)境車勻速行駛環(huán)境車勻加速行駛環(huán)境車勻減速行駛文獻(xiàn)[16]模型81.9275.9694.30本文模型97.4299.6495.34
本文構(gòu)建基于連續(xù)動(dòng)作空間DDPG算法的智能車匯流模型,并將其與基于離散空間DQN的模型進(jìn)行對(duì)比。仿真結(jié)果表明,該模型的匯入成功率較高。DDPG易于收斂,學(xué)習(xí)效果穩(wěn)定,能夠提高智能車在匯入過(guò)程中的智能化水平,相比于離散動(dòng)作空間的DQN算法更適合智能車匯入場(chǎng)景的應(yīng)用。下一步將優(yōu)化本文模型,使其具有較強(qiáng)的泛化能力并且適用于多車復(fù)雜環(huán)境。