邵明莉,曹 鶚,胡 銘,章 玥,陳聞杰,陳銘松
(上海市高可信計(jì)算重點(diǎn)實(shí)驗(yàn)室(華東師范大學(xué)),上海 200062)
隨著城市化建設(shè)的進(jìn)一步推進(jìn)和經(jīng)濟(jì)的飛速發(fā)展,汽車數(shù)量在不斷飆升.據(jù)上海交通出行網(wǎng)統(tǒng)計(jì),截至2018年底,上海市實(shí)有小客車規(guī)模突破500 萬(wàn)[1].與此同時(shí),城市的交通需求與道路設(shè)施之間的矛盾日益突出,交通擁堵也成為了城市發(fā)展過(guò)程中一個(gè)不可忽視的問(wèn)題.近年來(lái),隨著物聯(lián)網(wǎng)與人工智能技術(shù)的發(fā)展,智能交通系統(tǒng)成為了現(xiàn)代交通發(fā)展的方向[2,3],越來(lái)越多的人開(kāi)始嘗試從智能算法中尋求解決城市交通問(wèn)題的方案,利用物聯(lián)網(wǎng)技術(shù)獲取車輛狀態(tài)以及道路設(shè)備狀態(tài)信息,然后再使用各種智能算法對(duì)獲取到的信息進(jìn)行分析,給出緩解交通壓力的操作建議[4,5].
在城市交通中,位于道路交叉路口處的交通燈是指引車輛通行的關(guān)鍵設(shè)備,對(duì)出行效率起著至關(guān)重要的作用.合理的交通燈控制方案能夠有效地緩解路口交通壓力,提高通行效率.傳統(tǒng)的交通燈控制策略基本都是采用固定的時(shí)間間隔以及固定的相位序列來(lái)調(diào)整交通燈信號(hào)[6],這種方式雖然簡(jiǎn)單,但卻無(wú)法適應(yīng)不同的交通路況:比如,可能在某個(gè)十字路口只有一輛車或者只有一個(gè)方向上有車,但它卻不得不等待一輪紅綠燈之后才能通過(guò),或者是等到了綠燈,但綠燈時(shí)間不足以通過(guò)路口.因此,如何設(shè)計(jì)一套智能交通燈控制算法,使其能夠根據(jù)路況動(dòng)態(tài)改變交通燈相位,就是一個(gè)非常有意義的研究課題.
近年來(lái),車聯(lián)網(wǎng)技術(shù)的發(fā)展使得交通燈智能控制成為了可能:通過(guò)GPS、傳感器等設(shè)備,車輛可以完成自身環(huán)境和狀態(tài)信息的采集,這些信息將通過(guò)互聯(lián)網(wǎng)技術(shù)匯聚到中央處理器,經(jīng)過(guò)各種智能算法分析處理,進(jìn)而控制交通燈相位切換.強(qiáng)化學(xué)習(xí)完成的目標(biāo)就是讓智能體在與環(huán)境交互的過(guò)程中學(xué)習(xí)策略,以達(dá)成回報(bào)最大化或?qū)崿F(xiàn)某個(gè)特定目標(biāo)[7].它根據(jù)實(shí)時(shí)反饋來(lái)調(diào)整動(dòng)作的特征,使其尤為適合解決智能交通燈控制問(wèn)題.自從Thorpe 等人[8]于1997 年首次將強(qiáng)化學(xué)習(xí)方法應(yīng)用于交通信號(hào)最優(yōu)化控制以來(lái),各種基于強(qiáng)化學(xué)習(xí)的交通燈控制算法層出不窮[9?13].但對(duì)于大部分目前已有的工作而言,它們的目標(biāo)定位都是如何緩解道路交通壓力,即縮短車輛等待時(shí)間以及隊(duì)列長(zhǎng)度,或者是提高路口吞吐率等.但是在實(shí)際場(chǎng)景中,某些執(zhí)行任務(wù)的特殊車輛,比如警車、消防車或者救護(hù)車等,它們對(duì)通行效率的要求更高,相比于普通汽車,應(yīng)該具有更高的優(yōu)先級(jí)來(lái)通過(guò)路口[14].在車聯(lián)網(wǎng)場(chǎng)景下,傳統(tǒng)的控制特殊車輛優(yōu)先通行的方法大多是基于信號(hào)搶占策略,通過(guò)識(shí)別路網(wǎng)中特殊車輛的位置、速度與周圍車流信息,切換交通燈相位,使其能夠盡快通過(guò)路口.但這種方式往往會(huì)對(duì)路口的整體流量造成過(guò)大的干擾,可能會(huì)導(dǎo)致道路發(fā)生大范圍擁堵,進(jìn)而引起整個(gè)道路交通網(wǎng)崩潰.所以,如何在強(qiáng)化學(xué)習(xí)算法中引入優(yōu)先級(jí)策略,平衡特殊車輛與普通車輛的通行效率,是本文重點(diǎn)關(guān)注與解決的問(wèn)題.
基于以上現(xiàn)狀,為了適應(yīng)動(dòng)態(tài)交通流變化,并在控制特殊車輛優(yōu)先通行的同時(shí)減少對(duì)普通車輛的干擾,本文提出一種面向優(yōu)先車輛感知的交通燈優(yōu)化控制方法,使用強(qiáng)化學(xué)習(xí)方法學(xué)到能夠適應(yīng)動(dòng)態(tài)交通流變化的交通燈控制策略.為了實(shí)現(xiàn)優(yōu)先車輛感知,在設(shè)置狀態(tài)時(shí),用不同的值對(duì)特殊車輛與普通車輛進(jìn)行區(qū)分,并在計(jì)算獎(jiǎng)勵(lì)時(shí)賦予特殊車輛更大的權(quán)重,以實(shí)現(xiàn)對(duì)特殊車輛的優(yōu)先處理.此外,本文使用了Dueling DQN[15]結(jié)構(gòu)來(lái)提高模型的學(xué)習(xí)效果,并在訓(xùn)練過(guò)程中使用Double DQN[16]方法來(lái)避免過(guò)度估計(jì)問(wèn)題.為了驗(yàn)證本文方法的有效性,使用城市交通模擬器SUMO[17]分別在單路口場(chǎng)景與多路口場(chǎng)景中進(jìn)行實(shí)驗(yàn).結(jié)果表明,本方法能夠有效地提升路口通行效率,在優(yōu)先降低特殊車輛的等待時(shí)間的同時(shí),也能對(duì)普通車輛的等待時(shí)間有一定的優(yōu)化,并且能夠應(yīng)用于多路口場(chǎng)景中.
本文第1 節(jié)主要介紹目前已有的利用深度強(qiáng)化學(xué)習(xí)方法控制交通燈以及控制特殊車輛優(yōu)先通行的相關(guān)工作.第2 節(jié)從問(wèn)題定義和算法模型兩方面詳細(xì)闡述本文提出的面向優(yōu)先車輛感知的交通燈優(yōu)化控制方法,詳細(xì)闡述狀態(tài)、動(dòng)作、獎(jiǎng)勵(lì)函數(shù)設(shè)置,以及本文所使用的Q網(wǎng)絡(luò)結(jié)構(gòu)、模型架構(gòu)與算法.第3 節(jié)通過(guò)在城市交通模擬器SUMO 上進(jìn)行對(duì)比實(shí)驗(yàn),驗(yàn)證本文方法能夠在提高車輛通行效率的同時(shí),體現(xiàn)出對(duì)特殊車輛的優(yōu)先處理,并且能夠擴(kuò)展應(yīng)用于多路口場(chǎng)景.第4 節(jié)對(duì)本文工作做出總結(jié)并給出未來(lái)的工作展望.
智慧交通燈控制是構(gòu)造智慧城市、解決城市交通問(wèn)題的一個(gè)重要研究方向.在眾多研究方法中,深度強(qiáng)化學(xué)習(xí)以其根據(jù)實(shí)時(shí)反饋來(lái)調(diào)整動(dòng)作的特征得到了廣泛的應(yīng)用.這類方法通常把路口交通燈抽象成一個(gè)智能體,控制對(duì)象為道路交通網(wǎng)絡(luò)上的時(shí)變交通流,并且將智能體與控制對(duì)象的閉環(huán)交互過(guò)程抽象成馬爾可夫決策過(guò)程(Markov decision process,簡(jiǎn)稱MDP)[18]:智能體將目標(biāo)優(yōu)化過(guò)程按照時(shí)間進(jìn)程劃分為狀態(tài)相互聯(lián)系的多個(gè)階段,并在每個(gè)階段通過(guò)觀察交通環(huán)境的實(shí)時(shí)狀態(tài),提取交通燈控制所需的交通狀態(tài)信息和反饋獎(jiǎng)勵(lì)信息進(jìn)行最優(yōu)決策.Wei 等人[19]提出一種使用深度Q神經(jīng)網(wǎng)絡(luò)的交通信號(hào)控制方法,它綜合使用隊(duì)列長(zhǎng)度、車輛數(shù)量、車輛等待時(shí)間、路口圖像表示以及當(dāng)前相位作為狀態(tài)輸入,以是否切換相位作為輸出,其優(yōu)化目標(biāo)在于縮減車輛隊(duì)列長(zhǎng)度以及等待延遲,縮短旅行時(shí)間;Joo 等人[20]提出一種能夠處理多種路口結(jié)構(gòu)的基于Q表的強(qiáng)化學(xué)習(xí)方法,它將隊(duì)列長(zhǎng)度和路口吞吐量作為評(píng)價(jià)指標(biāo),其優(yōu)化目標(biāo)在于縮短車輛在路口的延遲;Zhang 等人[21]將基于值的元強(qiáng)化學(xué)習(xí)方法應(yīng)用于交通燈控制場(chǎng)景中,它利用從已有的場(chǎng)景中學(xué)來(lái)的知識(shí)來(lái)加快在新場(chǎng)景中的學(xué)習(xí)過(guò)程,提高了訓(xùn)練效率.以上方法的關(guān)注點(diǎn)都在通行效率上,Yan 等人[22]則認(rèn)為,效率和公平性都應(yīng)該被考慮到.因此,他們?cè)谠O(shè)計(jì)獎(jiǎng)勵(lì)函數(shù)時(shí)添加了公平性考量,以降低各輛車之間的旅行時(shí)間差異.但總體而言,以上這些方法都只針對(duì)于普通車輛通行的路口場(chǎng)景,它們將所有種類的車都一視同仁,沒(méi)有考慮到特殊車輛的優(yōu)先通行性.
現(xiàn)有的控制特殊車輛優(yōu)先通行的方法大多都是通過(guò)數(shù)學(xué)計(jì)算預(yù)測(cè)特殊車輛到達(dá)路口的時(shí)間,然后更改交通燈相位使其無(wú)需停車等待通過(guò)路口.比如Qin 等人[23]提出的控制策略,在傳感器檢測(cè)到特殊車輛到達(dá)時(shí),切換交通燈為緊急車輛搶占(emergency vehicle preemption,簡(jiǎn)稱EVP)模式,即打斷正常的交通燈相位,為特殊車輛提供綠燈指引,直至特殊車輛離開(kāi)路口才恢復(fù)到正常模式;Kang 等人[24]提出一種交通信號(hào)協(xié)調(diào)方法,通過(guò)修改路口之間的相位偏移量來(lái)為特殊車輛構(gòu)建綠波帶,保證了特殊車輛在一段區(qū)域內(nèi)的無(wú)障礙通行;Noori 等人[25]則提出一種基于連接車輛的控制策略,在特殊車輛到達(dá)路口之前就搶占交通燈相位,清除該方向的車流隊(duì)列,確保特殊車輛不被其前面的車阻塞;Mei 等人[26]則利用公交信號(hào)優(yōu)先與動(dòng)脈信號(hào)協(xié)調(diào)相結(jié)合的方法,適用于帶有公交專用道的道路場(chǎng)景;Younes 等人[27]使用一種動(dòng)態(tài)交通燈調(diào)度算法,能夠應(yīng)對(duì)多輛特殊車從不同方向駛?cè)肼房诘那闆r,選擇更擁堵的車流通過(guò)路口.然而這些方法在設(shè)計(jì)過(guò)程中都只著眼于滿足特殊車輛的通行需求,而不顧普通車輛的通行效率,所以很有可能引起普通車輛的大范圍阻塞,從而使得路網(wǎng)癱瘓.而這也會(huì)進(jìn)一步影響到特殊車輛的通行,降低了路口的總體通行量.此外,這些方法也只適用于特殊車輛偶爾出現(xiàn)的情況,若是對(duì)于諸如消防局、醫(yī)院、警局附近的路口,特殊車輛出現(xiàn)的頻率相對(duì)較高,這些方法就無(wú)能為力了.
基于以上情況,為了能夠賦予特殊車輛優(yōu)先通行權(quán),并且盡可能地減小對(duì)普通車流的影響,本文采用基于Q值的強(qiáng)化學(xué)習(xí)方法,在設(shè)置狀態(tài)和獎(jiǎng)勵(lì)函數(shù)時(shí)增加特殊車輛的權(quán)重,使其在與環(huán)境不斷交互的過(guò)程中學(xué)到一種能夠平衡特殊車輛與普通車輛通行效率的策略.
在基于強(qiáng)化學(xué)習(xí)的交通燈控制方法中,將交叉路口中結(jié)合了控制算法的交通燈抽象為智能體(agent),被控對(duì)象為道路交通網(wǎng)絡(luò)中的環(huán)境(environment).如圖1 所示,在任意時(shí)刻t,智能體從環(huán)境中獲取當(dāng)前環(huán)境的狀態(tài)st,并執(zhí)行一個(gè)動(dòng)作at,在下一時(shí)刻t+1,環(huán)境在動(dòng)作at的作用下會(huì)產(chǎn)生新的狀態(tài)st+1;同時(shí),智能體也會(huì)接收到一個(gè)回報(bào)rt+1.在這個(gè)不斷交互的閉環(huán)系統(tǒng)中,強(qiáng)化學(xué)習(xí)模型跟蹤評(píng)測(cè)智能體所選擇動(dòng)作的控制效果,并以累積獎(jiǎng)勵(lì)值最大化為目標(biāo)來(lái)優(yōu)化信號(hào)控制策略.將這一過(guò)程抽象為一個(gè)馬爾可夫決策過(guò)程,用一個(gè)五元組(S,A,P,R,γ)表示.其中,
?S:表示環(huán)境中的狀態(tài)集合.st∈S表示環(huán)境在t時(shí)刻的狀態(tài);
?A:表示智能體能夠執(zhí)行的動(dòng)作集合.at∈A表示智能體t時(shí)刻采取的動(dòng)作;
?P:表示狀態(tài)轉(zhuǎn)移概率.假設(shè)t時(shí)刻系統(tǒng)的狀態(tài)為st,智能體執(zhí)行的動(dòng)作為at,系統(tǒng)將根據(jù)狀態(tài)轉(zhuǎn)移概率P(st+1|st,at)到達(dá)下一個(gè)狀態(tài)st+1;
?R:表示獎(jiǎng)勵(lì).rt表示在執(zhí)行完動(dòng)作at之后得到的即時(shí)獎(jiǎng)勵(lì);
?γ:表示獎(jiǎng)勵(lì)衰減因子.γ∈[0,1)表明了未來(lái)的回報(bào)相對(duì)于當(dāng)前回報(bào)的重要程度.
Fig.1 Interaction process between agent and environment圖1 智能體與環(huán)境的交互過(guò)程
強(qiáng)化學(xué)習(xí)的目標(biāo)是給定一個(gè)馬爾可夫決策過(guò)程,尋找最優(yōu)策略.策略π即是一連串的狀態(tài)到動(dòng)作的映射,它是指給定狀態(tài)s時(shí),動(dòng)作集上的一個(gè)分布,如式(1)所示.
在策略π中,狀態(tài)-行為值函數(shù)(也被稱為Q函數(shù)),即累積獎(jiǎng)勵(lì)在狀態(tài)s及動(dòng)作a處的期望可用式(2)表示.
根據(jù)上式,如果智能體知道后續(xù)狀態(tài)的最優(yōu)Q值,即后續(xù)狀態(tài)選哪個(gè)動(dòng)作能夠使得Q函數(shù)輸出最大,那么最優(yōu)策略僅需要選擇能夠獲得最高累積獎(jiǎng)勵(lì)的動(dòng)作.用貝爾曼(Bellman)方程[28]表示如式(3)所示,最優(yōu)策略π*可以通過(guò)遞歸計(jì)算獲得.
在狀態(tài)空間有限的情況下,該公式可以通過(guò)動(dòng)態(tài)規(guī)劃求解.但在本文場(chǎng)景中,路口狀態(tài)空間復(fù)雜,因此采用神經(jīng)網(wǎng)絡(luò)擬合函數(shù)f(θ)來(lái)近似計(jì)算Q(s,a).具體過(guò)程是:定義一個(gè)深度神經(jīng)網(wǎng)絡(luò)——Q網(wǎng)絡(luò),輸入是狀態(tài)s,輸出是包含每一個(gè)動(dòng)作的Q值的向量.此時(shí),智能體根據(jù)Q值的輸出選擇某個(gè)動(dòng)作執(zhí)行,并從環(huán)境中得到當(dāng)前動(dòng)作獲得的獎(jiǎng)勵(lì).Q網(wǎng)絡(luò)根據(jù)獎(jiǎng)勵(lì)計(jì)算損失函數(shù)反向傳播對(duì)參數(shù)θ進(jìn)行訓(xùn)練,直至收斂.
綜上所述,狀態(tài)、動(dòng)作、獎(jiǎng)勵(lì)是Q網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn)過(guò)程中不可或缺的三要素.其中,狀態(tài)是從環(huán)境中獲取的信息,它作為Q網(wǎng)絡(luò)的輸入;動(dòng)作是智能體的行為表征,它決定了Q網(wǎng)絡(luò)的輸出維度;獎(jiǎng)勵(lì)是環(huán)境對(duì)于動(dòng)作的反饋,它用于輔助Q網(wǎng)絡(luò)的訓(xùn)練.下文將分別介紹本文場(chǎng)景中的狀態(tài)、動(dòng)作及獎(jiǎng)勵(lì)設(shè)置.
2.1.1 狀態(tài)設(shè)置
參考目前大多數(shù)的路口場(chǎng)景,本文所討論的道路交叉口如圖2 左圖所示,路口是四路交叉路口,分別是東、西、南、北這4 個(gè)方向.每個(gè)方向上的入向道路分為3 個(gè)車道,按圖中指向箭頭所示,最右邊車道允許直行和右轉(zhuǎn),中間車道僅允許直行,最左邊車道僅允許左轉(zhuǎn),即每個(gè)方向上的入向車道有4 種方向的車流.每個(gè)交通燈有紅、綠、黃這3 種狀態(tài),每個(gè)交通燈只能控制一個(gè)方向的車流,因此,控制圖2 所示的路口需要4×4=16 個(gè)交通燈.對(duì)各個(gè)入向道不同方向所顯示的不同燈色的組合構(gòu)成一個(gè)信號(hào)相位.在道路中行駛的汽車用圖中所示的不同形狀表示,其中,普通車輛由三角形表示,特殊車輛由矩形表示,它們都遵循統(tǒng)一的交通規(guī)則,即按照紅綠燈指示行駛.
本文根據(jù)車輛在路口的位置以及速度來(lái)定義狀態(tài)信息.通過(guò)車載網(wǎng)絡(luò)以及其他道路傳感器等設(shè)備,車輛的位置以及速度很容易就能獲得[29].把每條進(jìn)入路口方向的車道劃分成一個(gè)個(gè)小格子,格子的寬度即為車道寬度,格子的長(zhǎng)度即為每輛車的長(zhǎng)度加相鄰車輛之間的最短距離,這樣就可以保證每個(gè)格子上最多只能放下一輛車.對(duì)于每個(gè)格子,使用一個(gè)二元組(p,s)來(lái)表示該格子上的小車狀態(tài),其中,
?p表示該格子上是否存在小車以及存在哪種類型的小車,取值集合為{0,1,10}:如果格子上的車為普通車輛,那么p=1;如果格子上的車為特殊車輛,那么該格子上p=10;否則,如果格子上沒(méi)有車,那么p=0;
?s表示該格子中小車的速度,單位為m/s.當(dāng)p=0 時(shí),s也等于0,否則為該格子上小車的當(dāng)前速度.
根據(jù)以上定義,圖2 左圖的路口環(huán)境對(duì)應(yīng)的狀態(tài)如右圖所示.
Fig.2 Intersection scenario and state setting圖2 交叉口場(chǎng)景及狀態(tài)設(shè)置
2.1.2 動(dòng)作設(shè)置
動(dòng)作就是智能體所采取的行為.在本文的問(wèn)題定義中,交通燈作為智能體,它所執(zhí)行的動(dòng)作就是設(shè)置不同的信號(hào)燈相位.針對(duì)圖2 所示的路口場(chǎng)景,一共存在4 種不沖突的相位,如圖3 所示,分別是:(1) 南北方向直行及右轉(zhuǎn);(2) 南北方向左轉(zhuǎn);(3) 東西方向直行及右轉(zhuǎn);(4) 東西方向左轉(zhuǎn).因此,智能體的動(dòng)作空間為{0,1,2,3}.為了使紅綠燈狀態(tài)更穩(wěn)定,每隔10s 來(lái)計(jì)算一次動(dòng)作,當(dāng)新選擇的相位與當(dāng)前相位不同時(shí),會(huì)在4s 的黃燈時(shí)間后再切換到下一相位.此外,設(shè)置每個(gè)相位的持續(xù)時(shí)間不得超過(guò)60s,保證其他方向的車輛及行人的等待時(shí)間在可容忍的范圍內(nèi).
Fig.3 Action setting圖3 動(dòng)作設(shè)置
2.1.3 獎(jiǎng)勵(lì)設(shè)置
設(shè)置獎(jiǎng)勵(lì)的作用是向強(qiáng)化學(xué)習(xí)模型提供動(dòng)作執(zhí)行結(jié)果的反饋.恰當(dāng)?shù)莫?jiǎng)勵(lì)設(shè)置能夠正確地指導(dǎo)學(xué)習(xí)過(guò)程,以使智能體學(xué)習(xí)到最佳的行動(dòng)策略.衡量路口通行效率的指標(biāo)通常有隊(duì)列長(zhǎng)度、路口吞吐量、車輛通行時(shí)間和車輛等待時(shí)間.其中,隊(duì)列長(zhǎng)度是指某一時(shí)刻路口各個(gè)車道上等待的車隊(duì)長(zhǎng)度,路口吞吐量是指單位時(shí)間內(nèi)通過(guò)路口的車輛數(shù)目.這兩種指標(biāo)在計(jì)算過(guò)程中沒(méi)有對(duì)不同車輛進(jìn)行區(qū)分,更適合衡量路口整體效率,無(wú)法體現(xiàn)出特殊車輛與普通車輛的差異.車輛通行時(shí)間是指車輛從駛?cè)肼肪W(wǎng)到駛出路網(wǎng)所用的時(shí)間,它雖然可以針對(duì)特殊車輛與普通車輛分別計(jì)算,但它適用于在一輪訓(xùn)練結(jié)束后來(lái)計(jì)算,如果作為獎(jiǎng)勵(lì)函數(shù)指標(biāo)每步計(jì)算的話,會(huì)有許多車輛并沒(méi)有駛出路網(wǎng),此時(shí)計(jì)算結(jié)果就會(huì)有比較大的偏差.而車輛等待時(shí)間既可以對(duì)特殊車輛和普通車輛分別計(jì)算,并且它不需要車輛駛出路網(wǎng)后才能計(jì)算,可以在智能體每一次執(zhí)行動(dòng)作后更新,因此本文采用車輛等待時(shí)間作為獎(jiǎng)勵(lì)函數(shù)指標(biāo).同時(shí),為了消除普通車輛與特殊車輛在數(shù)量上的差異所帶來(lái)的影響,分別使用兩種車輛的平均等待時(shí)間作為優(yōu)化指標(biāo).
令Nt,normal表示在第t次動(dòng)作執(zhí)行結(jié)束后路口相連的入向道路上所有普通車輛的數(shù)量,Nt,special表示在第t次執(zhí)行結(jié)束后路口相連的入向道路上所有特殊車輛的數(shù)量,表示在第t次動(dòng)作執(zhí)行結(jié)束后觀測(cè)到的第i輛普通車輛在該車道的累積等待時(shí)間,表示在第t次動(dòng)作執(zhí)行結(jié)束后觀測(cè)到的第i輛特殊車輛在該車道的累積等待時(shí)間.普通車輛及特殊車輛的平均等待時(shí)間計(jì)算方式分別如式(4)、式(5)所示.
智能體在執(zhí)行完第t次動(dòng)作后得到的獎(jiǎng)勵(lì)就可以用式(6)計(jì)算得到,其中,α代表特殊車輛所占的權(quán)重,取值區(qū)間為(0,1).
根據(jù)公式可以看出,如果在執(zhí)行完一次動(dòng)作之后,發(fā)現(xiàn)車輛的平均等待時(shí)間比上一次要小,這就意味著有部分等待的車輛通過(guò)了路口,智能體將得到一個(gè)正值的reward.強(qiáng)化學(xué)習(xí)算法的目標(biāo)是使reward最大化,這就會(huì)使平均等待時(shí)間朝著更小的方向優(yōu)化.參數(shù)α可以用來(lái)調(diào)節(jié)特殊車輛與普通車輛在優(yōu)化過(guò)程中所占的權(quán)重.
2.2.1Q網(wǎng)絡(luò)結(jié)構(gòu)
根據(jù)第2.1.1 節(jié)的狀態(tài)設(shè)置,每一時(shí)刻隨著交通燈相位的改變及車輛的行駛,狀態(tài)都會(huì)發(fā)生變化,所以狀態(tài)空間是無(wú)限的.因此,本文采用深度神經(jīng)網(wǎng)絡(luò)即Q網(wǎng)絡(luò)來(lái)近似計(jì)算Q值,其結(jié)構(gòu)如圖4 所示.其中,n代表場(chǎng)景中的路口個(gè)數(shù).
Fig.4 Structure of our Q network圖4 Q 網(wǎng)絡(luò)結(jié)構(gòu)
模型的輸入是從環(huán)境中獲得的各個(gè)路口的狀態(tài),維度為(n,360,2),其中,360=12×30,12 代表12 條入向車道,30表示對(duì)每條車道,本文僅考慮距離路口最近的30 個(gè)格子;2 代表每個(gè)格子上的(p,s)二元組.輸出是當(dāng)前狀態(tài)下各個(gè)路口不同動(dòng)作對(duì)應(yīng)的Q值,維度為(n,4),其中,4 對(duì)應(yīng)第2.1.2 節(jié)定義的4 種動(dòng)作.
在設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)時(shí),本文采用了Dueling DQN[15]的思想,它與傳統(tǒng)DQN 的不同之處在于,它把Q值的計(jì)算分為兩部分:一部分是價(jià)值網(wǎng)絡(luò),它只與當(dāng)前狀態(tài)s有關(guān),而與具體要采取的動(dòng)作無(wú)關(guān),所以它的維度是(n,1),用V(s;ω,α)表示;另一部分是優(yōu)勢(shì)網(wǎng)絡(luò),它表示執(zhí)行每種動(dòng)作的優(yōu)勢(shì)值大小,因此它不僅與當(dāng)前狀態(tài)s有關(guān),也與具體要執(zhí)行的動(dòng)作a相關(guān),所以它的維度應(yīng)該與輸出層的維度相同,都是(n,4),用A(s,a;ω,β)表示.其中,ω表示公共部分的網(wǎng)絡(luò)參數(shù),α表示價(jià)值網(wǎng)絡(luò)獨(dú)有部分的參數(shù),β表示優(yōu)勢(shì)網(wǎng)絡(luò)獨(dú)有部分的參數(shù).
此時(shí)Q值的輸出由價(jià)值網(wǎng)絡(luò)的輸出和優(yōu)勢(shì)網(wǎng)絡(luò)的輸出線性組合得到,在狀態(tài)s下,每個(gè)動(dòng)作a的Q值等于狀態(tài)s的價(jià)值V與動(dòng)作a的優(yōu)勢(shì)值之和.此外,為了使結(jié)果更加穩(wěn)定,這里對(duì)優(yōu)勢(shì)值A(chǔ)做了一個(gè)中心化處理:對(duì)于每種動(dòng)作,都將它的A值減去所有動(dòng)作的平均A值.計(jì)算公式如式(7)所示.
其中,價(jià)值網(wǎng)絡(luò)V(s;ω,α)體現(xiàn)了當(dāng)前狀態(tài)對(duì)Q值的影響;優(yōu)勢(shì)網(wǎng)絡(luò)A(s,a;ω,β)體現(xiàn)了在當(dāng)前狀態(tài)下,不同的動(dòng)作對(duì)Q值的影響.綜合使用二者,能夠使Q值的計(jì)算結(jié)果更準(zhǔn)確.
2.2.2 模型架構(gòu)
本文提出的算法模型架構(gòu)如圖5 所示,其中最核心的兩個(gè)組件分別是預(yù)測(cè)網(wǎng)絡(luò)Q和目標(biāo)網(wǎng)絡(luò)Q′,二者都采用圖4 所示的Q網(wǎng)絡(luò)結(jié)構(gòu).其中,預(yù)測(cè)網(wǎng)絡(luò)是我們要訓(xùn)練的網(wǎng)絡(luò),它始終持有最新參數(shù),用來(lái)計(jì)算預(yù)測(cè)Q值Qeval.目標(biāo)網(wǎng)絡(luò)的作用是用來(lái)指引訓(xùn)練方向,每隔一定的訓(xùn)練輪數(shù),會(huì)將預(yù)測(cè)網(wǎng)絡(luò)的參數(shù)都賦值給目標(biāo)網(wǎng)絡(luò).
Fig.5 Model architecture圖5 模型架構(gòu)
在動(dòng)作選擇過(guò)程中,首先從環(huán)境中獲得當(dāng)前狀態(tài)st,并將其輸入到預(yù)測(cè)網(wǎng)絡(luò)Q中,計(jì)算得到當(dāng)前狀態(tài)下各個(gè)動(dòng)作的Q值,最后利用ε-greedy算法[30]選擇出要執(zhí)行的動(dòng)作at.ε-greedy算法是一種加入了隨機(jī)因子的貪心算法,目的是增加智能體的探索嘗試.智能體在選擇動(dòng)作時(shí),會(huì)以概率ε隨機(jī)在動(dòng)作空間中選擇一個(gè)動(dòng)作,以概率1?ε按照預(yù)測(cè)網(wǎng)絡(luò)預(yù)測(cè)的最優(yōu)Q值選擇動(dòng)作.在訓(xùn)練初始階段,由于Q網(wǎng)絡(luò)還不穩(wěn)定,此時(shí)給ε賦一個(gè)較大的值能夠幫助智能體做出更多的探索嘗試;隨著訓(xùn)練的進(jìn)行,Q值的預(yù)測(cè)結(jié)果會(huì)越來(lái)越準(zhǔn)確,ε的值也會(huì)隨之減小,讓智能體逐步相信預(yù)測(cè)Q網(wǎng)絡(luò)的判斷.
在模型訓(xùn)練過(guò)程中,本文采用了Double DQN[16]的思想,將目標(biāo)Q值動(dòng)作的選擇與目標(biāo)Q值的計(jì)算這兩步解耦開(kāi).傳統(tǒng)的DQN 在計(jì)算目標(biāo)Q值Qtarget時(shí),直接在目標(biāo)網(wǎng)絡(luò)輸出中找出各個(gè)動(dòng)作的最大Q值,這樣雖然可以快速讓Q值朝著可能的優(yōu)化目標(biāo)靠攏,但很容易導(dǎo)致過(guò)度估計(jì)問(wèn)題.而Double DQN 在計(jì)算目標(biāo)Q值時(shí),先在預(yù)測(cè)網(wǎng)絡(luò)Q中找到最大Q值對(duì)應(yīng)的動(dòng)作,然后再利用這個(gè)選擇出來(lái)的動(dòng)作在目標(biāo)網(wǎng)絡(luò)Q′中去計(jì)算Qtarget,降低動(dòng)作選擇與目標(biāo)Q值計(jì)算之間的相關(guān)性,能夠有效地避免過(guò)度估計(jì)問(wèn)題.在Double DQN 中,目標(biāo)Q值的計(jì)算方式如式(8)所示.
其中,st和at分別代表當(dāng)前的狀態(tài)和動(dòng)作,rt代表當(dāng)前這步行為獲得的即時(shí)獎(jiǎng)勵(lì),st+1和a′分別代表下一步的狀態(tài)和選擇的行為,γ代表獎(jiǎng)勵(lì)衰減因子.在計(jì)算目標(biāo)Q值時(shí),先在當(dāng)前網(wǎng)絡(luò)中獲得最大Q值對(duì)應(yīng)的動(dòng)作,再將該動(dòng)作放到目標(biāo)網(wǎng)絡(luò)中計(jì)算Q值,最后與衰減因子相乘后,加上當(dāng)前獎(jiǎng)勵(lì)作為目標(biāo)Q值.
在計(jì)算出Qtarget之后,本文算法的損失函數(shù)參照Huber 損失函數(shù)[31],定義如式(9)所示.
若目標(biāo)Q值與預(yù)測(cè)Q值差值不大于1,損失值等于目標(biāo)Q值與預(yù)測(cè)Q值差值平方的1/2;否則,損失值等于目標(biāo)Q值與預(yù)測(cè)Q值差值絕對(duì)值減去1/2.
在選擇樣本進(jìn)行訓(xùn)練時(shí),本文采用了經(jīng)驗(yàn)回放機(jī)制[32].之所以采用這一方法,是因?yàn)樵趯W(xué)習(xí)過(guò)程中得到的樣本前后之間是有依賴關(guān)系的,樣本之間關(guān)聯(lián)性過(guò)大.而深度神經(jīng)網(wǎng)絡(luò)作為有監(jiān)督學(xué)習(xí)模型,要求數(shù)據(jù)滿足獨(dú)立同分布,經(jīng)驗(yàn)回放機(jī)制通過(guò)“存儲(chǔ)-采樣”操作能夠很好地打破相鄰樣本之間的數(shù)據(jù)關(guān)聯(lián)性.具體做法是,從以前的經(jīng)驗(yàn)回放池中隨機(jī)采樣進(jìn)行訓(xùn)練.這樣不僅能夠提高樣本利用率,使一個(gè)樣本能夠被多次使用,也能減少參與訓(xùn)練的樣本之間的相關(guān)性.
2.2.3 算法描述
本文所使用的模型訓(xùn)練算法偽代碼如下所示.
在每一輪開(kāi)始,先從環(huán)境中獲得初始狀態(tài),再利用ε-greedy算法,以概率ε隨機(jī)在動(dòng)作空間中選擇一個(gè)動(dòng)作,以概率1?ε,按照預(yù)測(cè)網(wǎng)絡(luò)預(yù)測(cè)的最優(yōu)Q值選擇動(dòng)作.在智能體執(zhí)行完動(dòng)作a之后,會(huì)得到環(huán)境反饋的即時(shí)獎(jiǎng)勵(lì)r以及下一狀態(tài)s′.此時(shí),本文會(huì)采取基于“存儲(chǔ)-采樣”操作的經(jīng)驗(yàn)回放機(jī)制,將狀態(tài)轉(zhuǎn)移四元組(s,a,r,s′)存儲(chǔ)進(jìn)經(jīng)驗(yàn)回放池,再?gòu)某刂须S機(jī)獲取B個(gè)樣本.對(duì)于每個(gè)樣本,分別利用預(yù)測(cè)網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)計(jì)算出它的預(yù)測(cè)Q值Qeval以及目標(biāo)Q值Qtarget;最后,根據(jù)第2.2.2 節(jié)定義的損失函數(shù),使用Adam 優(yōu)化器[33]反向傳播更新預(yù)測(cè)網(wǎng)絡(luò)參數(shù)θ.預(yù)測(cè)網(wǎng)絡(luò)的參數(shù)每步都會(huì)更新,而目標(biāo)網(wǎng)絡(luò)的參數(shù)每隔F輪才更新.
為了驗(yàn)證本文方法的有效性及可用性.需要進(jìn)行實(shí)驗(yàn)回答以下幾個(gè)問(wèn)題.
?問(wèn)題1:本文方法是否能夠提高車輛的通行效率?即在同一車流場(chǎng)景下,使用本文方法控制的交通燈與使用傳統(tǒng)固定時(shí)長(zhǎng)控制的交通燈對(duì)比,對(duì)車輛的通行效率是否有明顯提升?
?問(wèn)題2:本文方法是否能夠體現(xiàn)出對(duì)特殊車輛的優(yōu)先性?即在區(qū)分車輛優(yōu)先級(jí)的情況下,特殊車輛的平均等待時(shí)間是否會(huì)比不區(qū)分車輛優(yōu)先級(jí)情況下的平均等待時(shí)間更短?
?問(wèn)題3:本文方法是否能應(yīng)用于不同的路口場(chǎng)景?即本文方法是否能夠有效地?cái)U(kuò)展到多路口場(chǎng)景中?
實(shí)驗(yàn)使用城市交通模擬器SUMO 來(lái)完成,它能夠協(xié)助我們?cè)O(shè)計(jì)和實(shí)現(xiàn)道路設(shè)施的自定義配置與功能,并能在仿真運(yùn)行期間提供關(guān)于車輛及交通燈的實(shí)時(shí)數(shù)據(jù).本文把訓(xùn)練過(guò)程分為多輪進(jìn)行,每輪3 600 步,每步代表現(xiàn)實(shí)場(chǎng)景中的1s,所以說(shuō),每輪相當(dāng)于現(xiàn)實(shí)場(chǎng)景中的1h.為了更好地模擬現(xiàn)實(shí)場(chǎng)景中的隨機(jī)車流,在實(shí)驗(yàn)中設(shè)置車流以固定比例及流量隨機(jī)插入網(wǎng)絡(luò),即特殊車輛與普通車輛的比例與流量固定,但車輛駛?cè)氲奈恢门c行駛路線由SUMO 隨機(jī)生成.
為了回答以上3 個(gè)問(wèn)題,本文進(jìn)行了如下的實(shí)驗(yàn)設(shè)計(jì).
?針對(duì)問(wèn)題1,需要進(jìn)行對(duì)比實(shí)驗(yàn)1.
在同一路口場(chǎng)景下,分別使用兩種紅綠燈控制方案:一個(gè)是本文方法訓(xùn)練的模型,另一個(gè)是使用固定時(shí)長(zhǎng)控制.對(duì)比兩種控制方式下,普通車輛與特殊車輛的平均等待時(shí)間差異.在實(shí)驗(yàn)中,路口環(huán)境使用圖2 所示的四路交叉路口結(jié)構(gòu),每個(gè)方向的入向道路有3 個(gè)車道,每條車道的長(zhǎng)度設(shè)為300m.車流由SUMO 隨機(jī)生成,為了更符合實(shí)際場(chǎng)景中特殊車輛的數(shù)目一般都遠(yuǎn)小于普通車輛的事實(shí),本實(shí)驗(yàn)設(shè)置特殊車輛與普通車輛的比例為1:200,設(shè)置普通車輛每秒駛?cè)雰奢v,特殊車輛每100s駛?cè)胍惠v.設(shè)置固定時(shí)長(zhǎng)交通燈每隔30s切換相位,切換順序?yàn)椤澳媳狈较蛑毙屑坝肄D(zhuǎn)→南北方向左轉(zhuǎn)→東西方向直行及右轉(zhuǎn)→東西方向左轉(zhuǎn)”循環(huán).
?針對(duì)問(wèn)題2,需要進(jìn)行對(duì)比實(shí)驗(yàn)2.
在同一路口場(chǎng)景下,使用同一種模型結(jié)構(gòu),對(duì)比區(qū)分車輛優(yōu)先級(jí)的模型與不區(qū)分車輛優(yōu)先級(jí)的模型對(duì)特殊車輛的等待時(shí)間的影響.本實(shí)驗(yàn)采用實(shí)驗(yàn)1 相同的路口設(shè)置與車流設(shè)置.區(qū)分車輛優(yōu)先級(jí)的模型使用的狀態(tài)和獎(jiǎng)勵(lì)設(shè)置參照前文第2.1.1 節(jié)及第2.1.3 節(jié)的定義.不區(qū)分車輛優(yōu)先級(jí)的模型在設(shè)置狀態(tài)時(shí),只要格子上有車,不區(qū)分該車的類別,均將該格子上的二元組(p,s)中的p值設(shè)為1.在定義獎(jiǎng)勵(lì)時(shí),統(tǒng)一計(jì)算特殊車輛與普通車輛的平均等待時(shí)間,修改獎(jiǎng)勵(lì)計(jì)算公式如式(10)所示.
?針對(duì)問(wèn)題3,需要進(jìn)行對(duì)比實(shí)驗(yàn)3.
在同一個(gè)多路口場(chǎng)景中,分別使用本文方法訓(xùn)練的模型與固定時(shí)長(zhǎng)方法控制交通燈,對(duì)比兩種控制方式下車輛的通行效率.在本實(shí)驗(yàn)中,使用3×3 一共9 個(gè)交通燈控制路口的環(huán)境設(shè)置,相鄰路口之間相互連通.每個(gè)路口的環(huán)境設(shè)置與對(duì)比實(shí)驗(yàn)1 相同.與實(shí)驗(yàn)1 類似,本實(shí)驗(yàn)的車流也由SUMO 隨機(jī)生成,但本實(shí)驗(yàn)的車流均從邊界駛?cè)肼肪W(wǎng),并且經(jīng)由邊界駛出路網(wǎng).設(shè)置特殊車輛與普通車輛的比例為1:500,令普通車輛每秒駛?cè)? 輛,特殊車輛每100s 駛?cè)胍惠v.固定時(shí)長(zhǎng)交通燈控制的設(shè)置與實(shí)驗(yàn)1 相同.
實(shí)驗(yàn)所使用的CPU 型號(hào)為Intel i7-8700k,使用的圖形處理器型號(hào)為GeForce GTX 1080Ti,操作系統(tǒng)為Ubuntu 18.04,Python 版本為3.7,機(jī)器學(xué)習(xí)平臺(tái)為Tensorflow v1.14.0 以及Keras v2.1.0.使用的城市交通模擬器為SUMO v1.6.0.實(shí)驗(yàn)參數(shù)設(shè)置如下:模型訓(xùn)練采用Adam 優(yōu)化器,學(xué)習(xí)率設(shè)為0.000 1.設(shè)置經(jīng)驗(yàn)回放池大小為2 000,訓(xùn)練批次大小batch_size為64.設(shè)置獎(jiǎng)勵(lì)衰減系數(shù)γ為0.8.設(shè)置初始最大動(dòng)作選擇系數(shù)εmax為1,動(dòng)作系數(shù)衰減率εdecay為0.95,最小動(dòng)作選擇系數(shù)εmin為0.01.
3.2.1 實(shí)驗(yàn)1:單路口場(chǎng)景中本文算法與固定時(shí)長(zhǎng)方法的結(jié)果對(duì)比
為了回答問(wèn)題1,我們?cè)趩温房谶M(jìn)行實(shí)驗(yàn),對(duì)比在同一種環(huán)境下,使用本文提出的方法控制交通燈與使用固定時(shí)長(zhǎng)邏輯控制交通燈對(duì)車輛通行效率的影響.在本實(shí)驗(yàn)中,設(shè)置獎(jiǎng)勵(lì)平衡系數(shù)α為0.6.本實(shí)驗(yàn)主要評(píng)價(jià)兩個(gè)通行效率指標(biāo).
?一是平均等待時(shí)間,以s 為單位,它的值等于在一輪訓(xùn)練過(guò)程中所有經(jīng)過(guò)路口的車在該路口的等待時(shí)間的總和除以車的數(shù)量.這里,為了區(qū)分對(duì)不同優(yōu)先級(jí)的車輛的效果,分別計(jì)算特殊車輛與普通車輛的平均等待時(shí)間.
?二是平均隊(duì)列長(zhǎng)度,以輛為單位,它是指在這一輪訓(xùn)練過(guò)程中,每一步各個(gè)入向車道排隊(duì)總長(zhǎng)度的平均值[34].
對(duì)比實(shí)驗(yàn)1 訓(xùn)練了150 輪,實(shí)驗(yàn)結(jié)果如圖6 所示.
Fig.6 Results comparison of our algorithm and fixted-time method in single intersection secnario圖6 單路口場(chǎng)景中,本文算法與固定時(shí)長(zhǎng)方法的結(jié)果對(duì)比
左圖表示特殊車輛與普通車輛的平均等待時(shí)間對(duì)比,可以看出,在使用固定時(shí)長(zhǎng)邏輯控制交通燈時(shí),特殊車輛的平均等待時(shí)間為170s 左右,普通車輛的平均等待時(shí)間為135s 左右.之所以出現(xiàn)特殊車輛的平均等待時(shí)間大于普通車輛的情況,原因有兩點(diǎn):一是排在前面的普通車輛影響了在其后面的特殊車輛的通行;二是特殊車輛總體數(shù)量較少,單個(gè)車輛對(duì)平均等待時(shí)間的影響較大.在使用本文方法訓(xùn)練的模型對(duì)交通燈進(jìn)行控制之后,特殊車輛的平均等待時(shí)間降到了65s 左右,普通車輛的平均等待時(shí)間降到了90s 左右.與固定時(shí)長(zhǎng)邏輯相比,特殊車輛的平均等待時(shí)間降低了105s 左右,普通車輛的平均等待時(shí)間降低了45s 左右.
右圖表示隨著訓(xùn)練輪數(shù)的增加,路口處平均隊(duì)列長(zhǎng)度的變化.在使用固定時(shí)長(zhǎng)邏輯時(shí),每一輪路口的平均隊(duì)列長(zhǎng)度為125 輛左右;但在使用經(jīng)本文方法訓(xùn)練的模型之后,可以將平均隊(duì)列長(zhǎng)度降低到100 輛左右.因此,圖5的實(shí)驗(yàn)結(jié)果可以證明,本文方法能夠顯著提高車輛的通行效率,并且對(duì)特殊車輛的優(yōu)化效果要好于普通車輛.
3.2.2 實(shí)驗(yàn)2:單路口場(chǎng)景中考慮優(yōu)先級(jí)與不考慮優(yōu)先級(jí)的結(jié)果對(duì)比
為了回答問(wèn)題2,我們對(duì)比不考慮優(yōu)先級(jí)與考慮優(yōu)先級(jí)的情況下,特殊車輛和普通車輛的平均等待時(shí)間的差距.本實(shí)驗(yàn)使用的路口環(huán)境與對(duì)比實(shí)驗(yàn)1 相同,在考慮優(yōu)先級(jí)的方法中,設(shè)置獎(jiǎng)勵(lì)平衡系數(shù)α為0.6.實(shí)驗(yàn)結(jié)果如圖7 所示,左右兩圖分別表示特殊車輛和普通車輛的平均等待時(shí)間在不考慮優(yōu)先級(jí)與考慮優(yōu)先級(jí)的情況下的結(jié)果對(duì)比,其中,黃色線條表示在采用不考慮優(yōu)先級(jí)的方法下的實(shí)驗(yàn)結(jié)果,綠色線條表示采用本文方法,即考慮車輛優(yōu)先級(jí)的方法控制下的實(shí)驗(yàn)結(jié)果.對(duì)比可以看出,在訓(xùn)練趨于穩(wěn)定之后,對(duì)于特殊車輛而言,本文設(shè)計(jì)的優(yōu)先級(jí)控制策略的確能夠降低其平均等待時(shí)間,對(duì)比數(shù)值降低幅度大概在35s 左右;對(duì)于普通車輛而言,使用本文設(shè)計(jì)的優(yōu)先級(jí)控制策略雖然使得其平均等待時(shí)間有小幅度上升,但其大概15s 左右的上升于特殊車輛35s 的下降而言是值得的,因?yàn)樵趯?shí)際場(chǎng)景中,特殊車輛對(duì)通行時(shí)間的要求更高,對(duì)等待時(shí)間的容忍力更低.此外,雖然普通車輛的平均等待時(shí)間相比于不考慮優(yōu)先級(jí)的方法有小幅度上升,但與實(shí)驗(yàn)1 中使用固定時(shí)長(zhǎng)控制方法對(duì)比還是有明顯下降的.因此,圖7 的實(shí)驗(yàn)結(jié)果表明,本文所設(shè)計(jì)的優(yōu)先級(jí)控制策略能夠體現(xiàn)出對(duì)特殊車輛的優(yōu)先性.
Fig.7 Results comparison of considering priority and not considering priority in single intersection secnario圖7 單路口場(chǎng)景中,考慮優(yōu)先級(jí)與不考慮優(yōu)先級(jí)的結(jié)果對(duì)比
3.2.3 實(shí)驗(yàn)3:多路口場(chǎng)景中本文算法的表現(xiàn)
為了回答問(wèn)題3,我們將本文方法擴(kuò)展到3×3 的聯(lián)通路口場(chǎng)景中,并進(jìn)行了與單路口場(chǎng)景下類似的對(duì)比實(shí)驗(yàn).通過(guò)對(duì)比使用固定時(shí)長(zhǎng)與使用本文方法的交通燈控制策略對(duì)特殊車輛和普通車輛的平均等待時(shí)間的影響,驗(yàn)證本文方法對(duì)多路口場(chǎng)景的有效性,該實(shí)驗(yàn)的結(jié)果如圖8 左圖所示;通過(guò)對(duì)比不考慮優(yōu)先級(jí)與考慮優(yōu)先級(jí)的方法對(duì)特殊車輛的平均等待時(shí)間的影響,驗(yàn)證本文的優(yōu)先級(jí)控制策略對(duì)多路口場(chǎng)景的有效性,該實(shí)驗(yàn)的結(jié)果如圖8 右圖所示.在本實(shí)驗(yàn)中,設(shè)置獎(jiǎng)勵(lì)平衡系數(shù)α為0.65.在本實(shí)驗(yàn)中,評(píng)價(jià)指標(biāo)平均等待時(shí)間是指在一輪訓(xùn)練過(guò)程中,各個(gè)路口的平均等待時(shí)間的平均值.
對(duì)比實(shí)驗(yàn)3 訓(xùn)練了200 輪,實(shí)驗(yàn)結(jié)果如圖8 所示.
?圖8 左圖顯示,在使用固定時(shí)長(zhǎng)邏輯的交通燈控制下,各路口特殊車輛與普通車輛的平均等待時(shí)間均為150s 左右;在使用本文方法訓(xùn)練之后,各路口普通車輛的平均等待時(shí)間降至125s 左右,特殊車輛的平均等待時(shí)間降至90s 左右.可以看出,在多路口場(chǎng)景中,本文方法也能顯著提高車輛的通行效率.
?此外,右圖結(jié)果也顯示,本文的優(yōu)先級(jí)設(shè)置策略在多路口場(chǎng)景下也能顯示出一定的有效性.
因此,圖8 的實(shí)驗(yàn)結(jié)果表明,本文方法能夠擴(kuò)展應(yīng)用到多路口場(chǎng)景中.
Fig.8 Results of our algorithm in multi-intersection scenario圖8 多路口場(chǎng)景中,本文算法的結(jié)果
3.2.4 實(shí)驗(yàn)分析與總結(jié)
由于本文算法根據(jù)實(shí)時(shí)的車輛位置、類型以及速度信息作為狀態(tài),以這些實(shí)時(shí)信息作為輸入的神經(jīng)網(wǎng)絡(luò)計(jì)算出的Q值是與當(dāng)前的環(huán)境狀態(tài)相關(guān)的,因此本文算法所做的決策能夠適應(yīng)動(dòng)態(tài)交通流變化,相較于傳統(tǒng)的固定時(shí)長(zhǎng)控制方法能夠顯著提高車輛的通行效率:分別使特殊車輛和普通車輛的平均等待時(shí)間降低68%和22%左右;與此同時(shí),也使路口隊(duì)列長(zhǎng)度降低了20%左右.本文所設(shè)計(jì)的優(yōu)先級(jí)機(jī)制主要體現(xiàn)在兩個(gè)方面.
?一是在設(shè)計(jì)狀態(tài)時(shí)將各個(gè)入向道路以固定長(zhǎng)度劃分為不重合的一個(gè)個(gè)小格子,并且給特殊車輛與普通車輛設(shè)置不同的值,使得Q網(wǎng)絡(luò)能夠根據(jù)狀態(tài)識(shí)別出車輛的位置以及類型;
?二是在獎(jiǎng)勵(lì)設(shè)置時(shí)分別計(jì)算特殊車輛與普通車輛的平均等待時(shí)間,并設(shè)置了獎(jiǎng)勵(lì)平衡系數(shù)α來(lái)平衡特殊車輛與普通車輛的權(quán)重,使得Q網(wǎng)絡(luò)在訓(xùn)練過(guò)程中朝著更大幅度地縮小特殊車輛的等待時(shí)間的方向收斂;同時(shí),為了使獎(jiǎng)勵(lì)最大化,也不會(huì)使普通車輛的等待時(shí)間過(guò)大.
因此,使用本文所設(shè)計(jì)的優(yōu)先級(jí)策略對(duì)比不使用優(yōu)先級(jí),在訓(xùn)練趨于穩(wěn)定之后,能夠使特殊車輛的平均等待時(shí)間降低35%左右.
多路口場(chǎng)景與單路口類似,將各個(gè)路口的實(shí)時(shí)狀態(tài)信息聚合起來(lái)統(tǒng)一輸入到Q網(wǎng)絡(luò)中,輸出針對(duì)各個(gè)路口上不同動(dòng)作的Q值.在訓(xùn)練過(guò)程中,各個(gè)路口利用自己的歷史狀態(tài)動(dòng)作轉(zhuǎn)移元組,能夠?qū)W到適用于自己場(chǎng)景的決策,因此,本文方法能夠擴(kuò)展應(yīng)用到多路口場(chǎng)景中:對(duì)比固定時(shí)長(zhǎng)控制方法,在訓(xùn)練趨于穩(wěn)定之后,分別使特殊車輛和普通車輛的平均等待時(shí)間降低40%和17%左右;同時(shí),對(duì)比不考慮優(yōu)先級(jí)的方法,特殊車輛的平均等待時(shí)間也降低了10%左右.
在城市交通網(wǎng)絡(luò)中,具有特殊任務(wù)的特殊車輛對(duì)于通行效率的要求更高.盡管傳統(tǒng)的信號(hào)搶占方法考慮到了特殊車輛的優(yōu)先性,但對(duì)于普通車輛的通行干擾過(guò)大.基于以上情況,本文提出了一種面向車輛優(yōu)先級(jí)感知的交通燈優(yōu)化控制方法,使用Dueling DQN結(jié)構(gòu)來(lái)提高模型的學(xué)習(xí)效果,并在訓(xùn)練過(guò)程中使用Double DQN方法來(lái)避免過(guò)度估計(jì)問(wèn)題.為了實(shí)現(xiàn)對(duì)特殊車輛的優(yōu)先控制,在設(shè)置狀態(tài)時(shí),用不同的值來(lái)區(qū)分特殊車輛與普通車輛,并在計(jì)算獎(jiǎng)勵(lì)時(shí)賦予特殊車輛更大的權(quán)重,使得本文方法能夠在不干擾普通車輛通行的同時(shí),大幅度降低特殊車輛在路口的等待時(shí)間,幫助其更快到達(dá)目的地.此外,本文方法也能接收多個(gè)路口的狀態(tài)輸入,并給出各個(gè)路口的動(dòng)作決策,能夠擴(kuò)展應(yīng)用于多路口場(chǎng)景中.但由于多路口場(chǎng)景各個(gè)路口都是聯(lián)通的,相鄰路口之間的車流有一定的相關(guān)性,而本文方法沒(méi)有考慮到相鄰路口之間的信息交互,在多路口場(chǎng)景中的表現(xiàn)不如單路口場(chǎng)景中好.因此在今后的工作中,我們會(huì)將多智能體協(xié)同控制強(qiáng)化學(xué)習(xí)方法應(yīng)用于多路口控制,以提升多路口場(chǎng)景下的優(yōu)化效果.此外,如何高效地為不同的路口交通流路口尋找獎(jiǎng)勵(lì)平衡系數(shù)α,也是未來(lái)亟需解決的問(wèn)題.