吳思凡 杜煜 徐世杰 楊碩 杜晨
(1.北京聯(lián)合大學(xué),北京 100101;2.北京市信息服務(wù)工程重點(diǎn)實(shí)驗(yàn)室,北京 100101)
主題詞:智能車 匯入車流 異步優(yōu)勢(shì)動(dòng)作評(píng)判算法 長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò) 時(shí)間復(fù)雜度收斂速度
匯入車流是交通流研究的典型場(chǎng)景[1]。目前,智能車輛決策系統(tǒng)的決策行為與機(jī)動(dòng)車駕駛員的決策行為還存在較大差異,導(dǎo)致智能車輛在匯入行為中極易發(fā)生事故。匯入車流的方法主要分為兩大類:傳統(tǒng)方法和基于機(jī)器學(xué)習(xí)的方法。
傳統(tǒng)匯入車流方法主要包括合作式方法[2]、博弈式方法[3]以及探索式方法[4]。Marinescu[5]等人采用一種車-車合作式匯入車流的算法,利用高速公路車輛之間以及高速公路和入口匝道車輛之間的協(xié)作實(shí)現(xiàn)高效匯入;Kita[6]等人提出一種基于博弈論的車輛匯入模型,匯入車輛和主路上直行的車輛均獨(dú)立行駛并預(yù)測(cè)對(duì)方的行為,該模型可以用來(lái)解釋入口合并端的交通行為;Horst[7]等人提出一種基于碰撞時(shí)間(Time-to-Collision)模型的經(jīng)典探索式匯入車流算法,該模型及其變種算法已經(jīng)在美國(guó)城市挑戰(zhàn)賽中得到應(yīng)用,在交叉口、匝道等匯入場(chǎng)景中有良好表現(xiàn)[8-9],雖然該方法可靠性和安全性高,但仍然是基于規(guī)則的算法,其假定車速恒定,不能有效地預(yù)測(cè)車輛的意圖,且車輛的行為過(guò)于謹(jǐn)慎。
伴隨智能車輛鄰域機(jī)器學(xué)習(xí)的不斷發(fā)展,應(yīng)用機(jī)器學(xué)習(xí)解決匯入車流的技術(shù)也趨于成熟。蘇銻[10]等人提出一種基于分類回歸樹(shù)的智能車輛匯流決策方法,采用遺傳算法搜索以獲取通行量最大的決策方案,以尋優(yōu)獲得的大量匯流決策序列為樣本,訓(xùn)練分類回歸樹(shù),選取車輛自身信息及與周圍車輛的關(guān)系以描述環(huán)境特征,運(yùn)用分類回歸樹(shù)描述環(huán)境特征與決策結(jié)果的映射關(guān)系,獲得一種通行量最優(yōu)的匯流決策方法。王爾根[11]等人采用貝葉斯網(wǎng)絡(luò)預(yù)測(cè)匯入行為,將歷史匯入行為影響因素考慮到匯入模型中,分別采用雙層圖法和期望最大化(Expectation Maximization,EM)算法建立結(jié)構(gòu)學(xué)習(xí)和參數(shù)學(xué)習(xí),針對(duì)特定場(chǎng)景能獲得較高的匯入成功率。
大多數(shù)傳統(tǒng)方法還處于規(guī)則化模型階段,沒(méi)有結(jié)合車輛歷史決策行為且不具備探索能力;而機(jī)器學(xué)習(xí)需要大規(guī)模先驗(yàn)數(shù)據(jù),無(wú)法對(duì)突發(fā)情況做出合理的決策行為,同時(shí)訓(xùn)練模型時(shí)間過(guò)長(zhǎng)。因此,本文提出基于長(zhǎng)短期記憶-異步優(yōu)勢(shì)動(dòng)作評(píng)判(Long Short-Term Memory-Asynchronous Advantage Actor-Critic,LSTM-A3C)算法的匯入車流模型,該模型能有效預(yù)測(cè)周圍環(huán)境并與之交互。通過(guò)與深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)匯入車流模型[12]及A3C匯入車流模型對(duì)比,驗(yàn)證本文匯入模型的高效性和合理性。
LSTM-A3C 算法在A3C[13]算法中加入LSTM[14]神經(jīng)網(wǎng)絡(luò),在動(dòng)作-評(píng)判(Actor-Critic,AC)[15]的評(píng)判網(wǎng)絡(luò)(Critic Network)中加入LSTM 神經(jīng)網(wǎng)絡(luò),使其在連續(xù)的時(shí)間段內(nèi)預(yù)測(cè)連續(xù)的時(shí)間序列。
圖1 描述了強(qiáng)化學(xué)習(xí)模型中智能車輛與環(huán)境交互的過(guò)程。智能車輛在每個(gè)時(shí)刻t觀測(cè)環(huán)境狀態(tài)st,采取對(duì)應(yīng)的動(dòng)作at,環(huán)境根據(jù)智能車輛采取的動(dòng)作返回獎(jiǎng)勵(lì)rt,并進(jìn)入下一個(gè)狀態(tài)(t+1),通過(guò)多次交互迭代,智能車輛根據(jù)總獎(jiǎng)勵(lì)R獲得最優(yōu)的匯入策略。
圖1 智能車輛與環(huán)境交互過(guò)程
LSTM-A3C 算法摒棄深度強(qiáng)化學(xué)習(xí)經(jīng)驗(yàn)池回放(Experience Replay)[16]的方法,平行運(yùn)行多個(gè)CPU 核心[17],異步地對(duì)每個(gè)局部網(wǎng)絡(luò)(Local Net)代理環(huán)境進(jìn)行更新。
在LSTM-A3C 中,總網(wǎng)絡(luò)(Global Net)策略π(at|st;θ)和值函數(shù)V(st;θv)的參數(shù)分別用θ和θv表示,每個(gè)代理網(wǎng)絡(luò)策略π(at|st;θ′)和值函數(shù)的參數(shù)分別用θ′和θ′v表示。當(dāng)?shù)竭_(dá)設(shè)定的步數(shù)tmax或者完成1 個(gè)回合后,π(at|st;θ)和V(st;θv)被更新一次。
在動(dòng)作網(wǎng)絡(luò)(Actor Network)中,采用梯度下降(Gradient Descent)[18]計(jì)算動(dòng)作網(wǎng)絡(luò)損失函數(shù)aloss:
其 中,A(st,at,θ,θ V)為優(yōu)勢(shì)函數(shù)(Advantage Function)[19]:
式中,γ∈(0,1]為折扣因子;k≤tmax,本模型設(shè)k=20。
將策略π的熵加入到目標(biāo)函數(shù)中[20],擴(kuò)大算法搜索范圍:
式中,β為超參數(shù);H為策略π的熵。
在評(píng)判網(wǎng)絡(luò)中,采用時(shí)間差分誤差(TD-error)[21]計(jì)算網(wǎng)絡(luò)損失函數(shù)closs,第i個(gè)時(shí)間步損失函數(shù)被定義為:
同時(shí),在評(píng)判網(wǎng)絡(luò)中,加入單層LSTM 神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)連續(xù)時(shí)間序列下的策略問(wèn)題。LSTM神經(jīng)網(wǎng)絡(luò)框架如圖2所示。
圖2 LSTM神經(jīng)網(wǎng)絡(luò)
在LSTM 神經(jīng)網(wǎng)絡(luò)中,通過(guò)輸入門(mén)(Input Gate)、遺忘門(mén)(Forget Gate)、輸出門(mén)(Output Gate)控制之前狀態(tài)和當(dāng)前狀態(tài)的記憶和遺忘程度,使神經(jīng)網(wǎng)絡(luò)具有長(zhǎng)期記憶功能。
在算法優(yōu)化方面,LSTM-A3C采用RMSProp[22]方法,每個(gè)局部網(wǎng)絡(luò)單獨(dú)維護(hù)梯度用于更新參數(shù):
匯入模型訓(xùn)練中,LSTM-A3C算法同時(shí)為多個(gè)局部網(wǎng)絡(luò)分配任務(wù),當(dāng)?shù)竭_(dá)設(shè)定的步tmax或者完成一個(gè)回合,每個(gè)局部網(wǎng)絡(luò)更新參數(shù)到全局網(wǎng)絡(luò),待下一個(gè)步驟開(kāi)始時(shí),全局網(wǎng)絡(luò)通過(guò)AC網(wǎng)絡(luò)更新參數(shù)到每個(gè)局部網(wǎng)絡(luò),結(jié)合本文的匯入車流模型,算法框架如圖3所示。
圖3 A3C網(wǎng)絡(luò)框架
網(wǎng)絡(luò)參數(shù)如表1 所示,參數(shù)設(shè)定引用文獻(xiàn)[13]的參數(shù)值。
表1 LSTM-A3C網(wǎng)絡(luò)參數(shù)設(shè)定
本文將仿真道路的主路分為3 個(gè)車道,匝道分為2 個(gè)車道,主路最高限速為80 km/h,匝道最高限速為60 km/h,仿真道路長(zhǎng)度約為300 m,起點(diǎn)在距匝道入口約為70 m 處,如圖4 所示,其他環(huán)境參數(shù)如表2 所示。
圖4 道路仿真環(huán)境搭建
表2 環(huán)境參數(shù)設(shè)定
本文采用的仿真智能車輛長(zhǎng)為4.11 m,車寬1.75 m,車高約為1.6 m。仿真車輛車頂裝有64 線激光雷達(dá)和GPS接收機(jī),前保險(xiǎn)杠面罩中心裝有4線激光雷達(dá)和毫米波雷達(dá),行李箱裝有慣性導(dǎo)航系統(tǒng)。本文假設(shè)雷達(dá)探測(cè)范圍位前、后各120 m,左、右各10 m,探測(cè)精度為0.1 m,雷達(dá)運(yùn)行時(shí)可準(zhǔn)確估計(jì)出障礙物的位置和車輛運(yùn)動(dòng)時(shí)的相對(duì)速度且控制不會(huì)延遲。雷達(dá)數(shù)據(jù)以代理車為中心,按照給定的搜索范圍進(jìn)行搜索,直接輸出代理車和環(huán)境車的數(shù)據(jù),其他數(shù)據(jù)由仿真環(huán)境直接獲得。
圖5 所示為車輛匯入匝道場(chǎng)景,其中,車道1~3 為主路,車道4~5為匝道,代理車從起始位置開(kāi)始,根據(jù)周圍環(huán)境車速度的變化,可能做出的決策行為有加速匯入或減速匯入。選擇適當(dāng)?shù)膮R入動(dòng)作和時(shí)機(jī)匯入車流,達(dá)到終止位置。
圖5 車輛匯入匝道場(chǎng)景
根據(jù)對(duì)匯入行為的研究,本文采用文獻(xiàn)[23]由代理車速度、環(huán)境車速度、車輛間橫向距離、車輛間縱向距離構(gòu)成的狀態(tài)集S進(jìn)行描述。S采用四元組,交互過(guò)程為觀測(cè)當(dāng)前環(huán)境下?tīng)顟B(tài)sp,代理車采取動(dòng)作ap,p為當(dāng)前狀態(tài)匯入步數(shù),經(jīng)過(guò)時(shí)間0.1 s(環(huán)境刷新周期)后,進(jìn)入下一個(gè)狀態(tài)(p+1),并獲得獎(jiǎng)勵(lì)rp,如此迭代,直到一個(gè)回合結(jié)束,得到狀態(tài){sp,sp+1,sp+2,…}、動(dòng)作{ap,ap+1,ap+2,…}。其中{sp,sp+1,sp+2,…}屬于狀態(tài)集S,動(dòng)作{ap,ap+1,ap+2}屬于動(dòng)作空間A,動(dòng)作空間A用代理車瞬時(shí)加速度描述,采用一元組,動(dòng)作空間的范圍為-4~2.5 m/s2。將每個(gè)時(shí)刻加速度的變化轉(zhuǎn)化為該時(shí)刻速度的變化,同時(shí)考慮到代理車和環(huán)境車的安全性與舒適性,本文將代理車和環(huán)境車的加速度范圍均設(shè)為-4~2.5 m/s2。
獎(jiǎng)勵(lì)函數(shù)分為懲罰設(shè)置和獎(jiǎng)勵(lì)設(shè)置,為使代理車盡快達(dá)到終止位置,設(shè)置每步懲罰rp1=-0.1。同時(shí),為使代理車學(xué)習(xí)到合理的匯入策略,設(shè)置獎(jiǎng)勵(lì)函數(shù):
當(dāng)匯入步數(shù)p>10 時(shí),代理車處于環(huán)境車前方,此時(shí),如果代理車速度高于環(huán)境車速度,設(shè)置每步獎(jiǎng)勵(lì):
當(dāng)匯入步數(shù)p>10 時(shí),代理車處于環(huán)境車后方,此時(shí),如果代理車速度小于環(huán)境車速度,設(shè)置獎(jiǎng)勵(lì):
當(dāng)車輛橫向距離小于2.2 m,縱向距離處于安全范圍內(nèi)時(shí),車輛發(fā)生碰撞,懲罰為rend=-20;當(dāng)車輛成功達(dá)到終點(diǎn)位置時(shí),rend=10。安全范圍Sf計(jì)算公式為:
式中,vhost、vtar分別為代理車速度和環(huán)境車速度,由激光雷達(dá)測(cè)得;D為最小反應(yīng)距離,取D=1 m。
總獎(jiǎng)勵(lì)函數(shù)為:
式中,T為本回合匯入總步數(shù)。
本文采用Python 語(yǔ)言搭建仿真環(huán)境,在Tensorflow中搭建神經(jīng)網(wǎng)絡(luò)框架,計(jì)算機(jī)配置為:Windows 10系統(tǒng),i5-6300 HQ 處理器(主頻為2.3 GHz),16 GB 運(yùn)行內(nèi)存。最大訓(xùn)練回合為20 000回合,在每個(gè)回合中,環(huán)境車的初速度定為14~22 m/s 內(nèi)的隨機(jī)數(shù)值,加速度設(shè)置為-4~2.5 m/s2內(nèi)的隨機(jī)數(shù)值,代理車的初速度設(shè)為16 m/s。設(shè)置每回合最大限定步數(shù)為30步,超過(guò)最大限定步數(shù)則視為發(fā)生碰撞,模型訓(xùn)練和模型測(cè)試均在Python搭建的仿真環(huán)境中運(yùn)行。
本文主要驗(yàn)證在匯入匝道的場(chǎng)景中,根據(jù)環(huán)境變化,代理車采取的應(yīng)對(duì)策略和訓(xùn)練時(shí)間的變化,通過(guò)記錄成功匯入車流的次數(shù)和訓(xùn)練模型的時(shí)間來(lái)描述模型學(xué)習(xí)的結(jié)果,如圖6、圖7所示。
圖6 LSTM-A3C模型匯入成功率
圖7 LSTM-A3C模型訓(xùn)練時(shí)間
由圖6 可知,在開(kāi)始階段,模型匯入成功率持續(xù)增加,伴隨訓(xùn)練次數(shù)的增加,模型成功率在2 000回合時(shí)達(dá)到穩(wěn)定,并且在訓(xùn)練結(jié)束時(shí),成功率達(dá)到90%。
由圖7 可知,模型訓(xùn)練次數(shù)與訓(xùn)練時(shí)間呈線性、正比關(guān)系,模型在單位回合內(nèi)的時(shí)間并不會(huì)增加,且在訓(xùn)練結(jié)束時(shí),訓(xùn)練時(shí)間約為480 s。
針對(duì)不同環(huán)境車的速度變化,采用模型測(cè)試了3個(gè)典型的主路車行駛狀態(tài),環(huán)境車速分別高于、低于和等于代理車車速(代理車初始速度為16 m/s),測(cè)試條件和結(jié)果如表3所示。
表3 不同環(huán)境車行駛狀態(tài)下測(cè)試條件和結(jié)果
測(cè)試過(guò)程中:當(dāng)環(huán)境車做勻減速運(yùn)動(dòng)時(shí),代理車采取減速運(yùn)動(dòng),但速度始終高于環(huán)境車的速度,在匯入匝道過(guò)程中,代理車始終保持在環(huán)境車的前方;當(dāng)環(huán)境車做勻加速運(yùn)動(dòng)時(shí),由于環(huán)境車的速度高于代理車的速度,環(huán)境車始終在代理車前方,代理車全程保持接近勻速狀態(tài)匯入主路;當(dāng)環(huán)境車做勻速運(yùn)動(dòng)時(shí),為避免危險(xiǎn),代理車選擇減速讓行。
采用DDPG 算法匯入匝道模型和A3C 匯入匝道模型與本文模型進(jìn)行對(duì)比驗(yàn)證。通過(guò)檢測(cè)匯入成功率、模型收斂速度和模型的時(shí)間復(fù)雜度評(píng)判模型的質(zhì)量。
DDPG算法[24]同樣采用AC網(wǎng)絡(luò)結(jié)構(gòu),用連續(xù)動(dòng)作空間描述動(dòng)作的變化。同時(shí)采用經(jīng)驗(yàn)回放機(jī)制,將狀態(tài)集四元組存儲(chǔ)在記憶庫(kù)中,定期對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行更新。
3種算法采用相同的四元組狀態(tài)集描述每個(gè)時(shí)刻的觀測(cè)狀態(tài),加速度變化范圍為-4~2.5 m/s2,網(wǎng)絡(luò)參數(shù)與獎(jiǎng)勵(lì)函數(shù)保持一致。對(duì)比結(jié)果如圖8、圖9和表4所示。
圖8 訓(xùn)練時(shí)間曲線對(duì)比
由圖8 和圖9 可知:DDPG 匯入模型相比于本文模型與A3C匯入模型花費(fèi)更多訓(xùn)練時(shí)間;伴隨訓(xùn)練次數(shù)的增加,A3C 和本文匯入模型沒(méi)有更多額外的時(shí)間消耗,而DDPG匯入模型由于采用了經(jīng)驗(yàn)回放機(jī)制,在智能體與環(huán)境的交互過(guò)程中,會(huì)造成不必要的內(nèi)存消耗和計(jì)算量消耗,同時(shí)單位回合運(yùn)行時(shí)間伴隨訓(xùn)練次數(shù)的增加而增加;在模型收斂速度方面,A3C 匯入模型和本文匯入模型在訓(xùn)練前期的第1 000~2 000 回合已達(dá)到收斂,而DDPG 匯入模型在10 000 回合時(shí)才達(dá)到基本收斂狀態(tài)。由此可見(jiàn),在訓(xùn)練模型消耗時(shí)間方面和收斂速度方面,A3C模型和本文模型相比于DDPG模型有著明顯的優(yōu)勢(shì),在匯入成功率方面,本文匯入模型又優(yōu)于A3C匯入模型,故本文模型有更好的實(shí)用性和適應(yīng)性。
圖9 成功率曲線對(duì)比
表4 模型對(duì)比結(jié)果
本文提出基于LSTM-A3C智能車輛匯入模型,并與DDPG 匯入模型、A3C匯入模型進(jìn)行了對(duì)比。仿真結(jié)果表明,LSTM-A3C模型在收斂速度和訓(xùn)練時(shí)間方面明顯優(yōu)于DDPG 模型,在匯入成功率方面也優(yōu)于A3C 和DDPG。在應(yīng)用過(guò)程中,模型可以根據(jù)不同環(huán)境車速度變化采取恰當(dāng)?shù)膮R入策略,提高了無(wú)人駕駛車輛在匝道匯入過(guò)程中的智能化水平。相比于其他強(qiáng)化學(xué)習(xí)匯入模型,LSTM-A3C 匯入模型更適合應(yīng)用于匝道匯入場(chǎng)景。但由于該模型目前只應(yīng)用于簡(jiǎn)單的環(huán)境場(chǎng)景中,如何將模型應(yīng)用于多車復(fù)雜環(huán)境進(jìn)行測(cè)試將會(huì)是下一步的研究重點(diǎn)。