鄭 曄,郭仁忠,馬 丁,趙志剛,李曉明
1. 深圳大學(xué)建筑與城市規(guī)劃學(xué)院智慧城市研究院,廣東 深圳 518060; 2. 深圳市空間信息智能感知與服務(wù)重點實驗室,廣東 深圳 518060
隨著我國小汽車持有量的不斷增加,交通擁堵逐漸成為城市管理最為棘手的問題之一。城市路網(wǎng)承擔了整個城市的大部分交通運輸,通過對路網(wǎng)中的關(guān)鍵路口信號燈配時和相位協(xié)調(diào)能有效提高交通運行效率,是面向智慧城市建設(shè)的關(guān)鍵研究內(nèi)容[1]。傳統(tǒng)路口交通信號配時方法通常有兩種實現(xiàn)方式:①將道路空間信息作圖后通過測量幾何信息實現(xiàn);②建立數(shù)學(xué)模型尋找目標函數(shù)最優(yōu)解實現(xiàn)。以綠波協(xié)調(diào)為例,傳統(tǒng)方法利用干道上信號燈之間的距離及汽車的行駛的綠波速度構(gòu)建混合整型線性規(guī)劃方程,求使綠波帶寬最大的方程解[2-5]。上述方法具有以下局限性:①所有車輛都必須以相同速度進行行駛(即綠波速度),一旦有少數(shù)車輛與綠波速度差距較大,將破壞整個隊列導(dǎo)致綠波效果差;②傳統(tǒng)方法需要發(fā)車規(guī)律維持相對穩(wěn)定的速度,如果車流變化大會使計算綠波效果降低。
計算機技術(shù)的發(fā)展促進諸如模糊邏輯控制[6]、遺傳算法[7]、專家系統(tǒng)[8]等機器學(xué)習(xí)算法引入智能交通領(lǐng)域。在眾多機器學(xué)習(xí)算法中,深度強化學(xué)習(xí)(deep reinforcement learning,DRL)基于馬爾可夫決策理論令智能體在環(huán)境中不斷做出相應(yīng)的決策,并對其行為決策進行回報反饋,使智能體在環(huán)境中尋找回報值最高的序列決策[9]。智慧交通信號控制系統(tǒng)通過對交通場景中行為向量、狀態(tài)向量和回報函數(shù)的定義,實現(xiàn)交通信號燈的智能化控制[10-12]。隨著5G、云計算技術(shù)發(fā)展,DRL技術(shù)在交通管理中有了新的突破。文獻[13]提出一種在車聯(lián)網(wǎng)和5G的環(huán)境下,利用DRL構(gòu)建一個支持能夠在云端和邊緣端動態(tài)調(diào)度的交通控制系統(tǒng)。文獻[14]提出一種基于邊緣計算的DRL流量采集方法,并將此方法應(yīng)用于緩解交通堵塞問題。文獻[15]從智慧城市建設(shè)角度設(shè)計一套DRL信號控制系統(tǒng),協(xié)同多個路口提高總體交通吞吐量。文獻[16]完善了基于DRL信號控制算法的細節(jié),在此算法中智能體的狀態(tài)向量是劃分成網(wǎng)格后的交通流量數(shù)據(jù),決策行為函數(shù)是交通燈的持續(xù)時間變化,回報函數(shù)是兩個周期之間的累計等待時間差。文獻[17]提出的DDPG-BAND算法,通過DRL對城市干道進行綠波協(xié)調(diào),實現(xiàn)城市干道多路口協(xié)同控制。
總體而言,DRL技術(shù)已經(jīng)較成功地應(yīng)用于交通信號控制中,但是當前研究一般局限于單路口或者城市干道,基于地理路網(wǎng)多智能體的交通信號協(xié)同控制較少。本文結(jié)合城市地理路網(wǎng)特征和強化學(xué)習(xí)特點,提出一種基于強化學(xué)習(xí)的雙層信號協(xié)同控制訓(xùn)練方法,并將此方法應(yīng)用于寧波市某中學(xué)片區(qū)路網(wǎng)。通過與傳統(tǒng)配時方法在仿真器中的旅行時間、吞吐量和停車次數(shù)上的比較,證明了本文方法的可行性和有效性。
強化學(xué)習(xí)主要研究智能體不斷地在動態(tài)環(huán)境中進行試錯和反饋訓(xùn)練,從而智能體能在變化環(huán)境中獲得最大累積回報的序列決策[18]。強化學(xué)習(xí)理論基礎(chǔ)是馬爾可夫決策過程(Markov decision process,MDP),包含3個基本單元狀態(tài)向量(也稱觀察向量)S,決策向量A和回報函數(shù)R[19]。智能體在執(zhí)行決策行為后與環(huán)境交互,其狀態(tài)由S1轉(zhuǎn)移至S2,狀態(tài)轉(zhuǎn)移矩陣記為P。在執(zhí)行序列決策過程中,當前決策比歷史決策影響更大,假設(shè)決策的衰退率為Y(γ∈[0,1]),則上述MDP用式(1)表示
MDP=〈S,A,R,P,Y〉
(1)
在MDP問題中,智能體不同狀態(tài)下做出決策行為不一樣,策略函數(shù)表示在當前狀態(tài)下智能體執(zhí)行多個候選決策的可能,其輸入?yún)?shù)為當前狀態(tài)s(s∈S)和決策向量a(a∈A),其輸出結(jié)果為每一候選決策的可能。令π表示策略函數(shù),則π(s,a)表示在智能體在狀態(tài)s條件下,執(zhí)行策略a的概率。如果智能體按照策略函數(shù)π進行MDP,在第t次執(zhí)行決策的回報值為Rt,其狀態(tài)從st轉(zhuǎn)移至st+1并獲得回報值rt的過程表示為
rt=P(si,π(si))
(2)
MDP的回報總和表示為
(3)
由上述公式得出,不同策略函數(shù)會導(dǎo)致智能體執(zhí)行不同行為策略的概率不一樣,而不同行為策略所產(chǎn)生的回報值也不一樣,強化學(xué)習(xí)的策略函數(shù)滿足整個序列決策的總回報值最大。優(yōu)秀的策略函數(shù)不僅僅滿足當前決策能夠取得最大回報值,更能保證整個序列決策過程的總體回報總和最大化。由于智能體策略函數(shù)π(s,a)是狀態(tài)的概率轉(zhuǎn)移過程,狀態(tài)動作值函數(shù)Qπ(s,a)表示智能體在狀態(tài)的s初始條件下,按照按策略函數(shù)π序列決策所得回報的數(shù)學(xué)期望,即表達為
(4)
因此,MDP問題本質(zhì)是尋找最優(yōu)的策略函數(shù)π,使得智能體從任意狀態(tài)S′開始的決策行為能滿足狀態(tài)動作價值函數(shù)Qπ(s,a)取得最大值。根據(jù)貝爾曼方程[20],第t次決策的狀態(tài)動作價值函數(shù)的僅于第t-1次決策的狀態(tài)動作價值函數(shù)有關(guān),因此狀態(tài)動作價值函數(shù)可簡化為
Ymax(Qπ(st-1,at-1)))
(5)
在深度強化學(xué)習(xí)中[21],智能體將狀態(tài)動作值存入以s和a為索引的深度神經(jīng)網(wǎng)絡(luò)中,通過從不斷的與環(huán)境交互并得到回報函數(shù)反饋更新神經(jīng)網(wǎng)絡(luò),最終能使神經(jīng)網(wǎng)絡(luò)中存儲的狀態(tài)動作值能正確指導(dǎo)智能體在環(huán)境中執(zhí)行回報值最高的序列決策。
本文通過智能體改變信號燈各相位的綠燈時長來達到交通協(xié)調(diào)目的,場景設(shè)定如下:
(1) 信號燈綠燈配時、相位差由智能體智能決策決定。
(2) 智能體不改變信號燈的相序。
(3) 信號燈的黃燈時長為固定2 s。
基于上述預(yù)設(shè)條件,本文方法分為兩層(圖1):第1層為工作智能體,其職責(zé)對單個路口進行優(yōu)化,保證每一路口智能體能夠調(diào)節(jié)各自路口的綠燈時長,使其不造成交通堵塞。第2層為管理智能體,其職責(zé)是協(xié)調(diào)各個工作智能體,提高地理路網(wǎng)整體交通效率。
圖1 雙層協(xié)同優(yōu)化策略Fig.1 Two-tier collaborative optimization strategy
通過將地理路網(wǎng)中地理路網(wǎng)交通場景各個變量特征提取后代入貝爾曼方程,經(jīng)過訓(xùn)練后可以實現(xiàn)智能體對交通信號燈的自動調(diào)控。在下文中將著重描述如何在上述兩層智能體中定義MDP中的狀態(tài)向量、決策向量和回報函數(shù)。
1.3.1 工作智能體的狀態(tài)向量S
地理路網(wǎng)交通場景中,工作智能體的狀態(tài)向量必須能夠反映當前路口的交通阻塞狀態(tài)。如圖2所示,排隊長度表示交通路口中等待紅燈變綠車輛的總數(shù)。在單路口中,車輛排隊長度反應(yīng)路口各個方向的車流量,是決定對應(yīng)相位綠燈時長的關(guān)鍵因素。除了排隊長度外,由于車輛重量和長度直接決定了車輛的啟動速度和車輛在轉(zhuǎn)彎過程中耗費時間。因此,本文區(qū)分兩種類型的交通車輛作為狀態(tài)向量的加權(quán)值,一類為重量超過15 t或長度大于12 m的大型車(如泥頭車或公交車),另一類是普通的小客車。
通過上述加權(quán)后排隊長度,定義兩種粒度狀態(tài)向量:①粗粒度的狀態(tài)向量只計算每一方向道路上的加權(quán)排隊長度總和,以圖2為例,粗粒度的狀態(tài)向量的維度為4,每個維度的值為每一方向的車輛加權(quán)后總和;②細粒度的狀態(tài)向量維度則為8,每一維度為每一車道的車輛加權(quán)后總和。
注:長方形表示行駛車輛,車輛尾部的顏色代表不同的車輛行駛狀態(tài),綠色代表車輛正常行駛,黃色代表車輛正在減速,紅色代表車輛正在停止等待紅燈。圖2 道路交叉口[17]Fig.2 Traffic crossroads[17]
1.3.2 工作智能體的決策向量A
由MDP理論可得,策略函數(shù)π根據(jù)狀態(tài)向量S和決策向A計算智能體下一步?jīng)Q策,因此需要定義工作智能體在地理路網(wǎng)下的決策向量A。智能體改變信號燈各相位的放行時間來達到交通協(xié)調(diào)目的,工作智能體的決策向量為保存信號燈每一相位的綠燈時長的高維數(shù)組。本文中,單路口工作智能體的決策向量A應(yīng)滿足以下條件:
(1) 決策向量每一維度的數(shù)值是正整數(shù)(一般信號燈綠燈時長沒有小數(shù))。
(2) 決策向量每一維度的數(shù)值必須大于某一固定最小值(信號周期表示信號燈從綠變紅,再變綠的整個時間長度,為了確保行人能以正常速度通過,其必須大于某一與路口寬度有關(guān)的固定值)。
(3) 決策向量所有維度數(shù)值之和必須小于某一固定最大值(信號燈周期表示不能超過一般人能忍受的范圍,比如5 min)。
智能體對信號燈相位進行綠燈配時后,交通仿真器運行一定周期后通過回報函數(shù)對智能體的決策進行評價,因此如何正確定義回報函數(shù)是本算法的關(guān)鍵。
1.3.3 工作智能體的回報函數(shù)R
回報函數(shù)R的定義決定智能體策略函數(shù)π的優(yōu)化目標,工作智能體的優(yōu)化訓(xùn)練后的優(yōu)化目標為保證每一單個交叉路口不會交通堵塞,因此首先必須對交通阻塞進行量化的定義。如圖2所示,車道阻塞線位于道路末端衡量車流是否阻塞的基準線。如果車輛排隊長度超過車道阻塞線,則認為該路口已經(jīng)發(fā)生交通擁堵。在一般的場景中,車輛阻塞線與道路末端距離不小于道路長度的20%,即當車輛排隊長度不超過車道總長的80%路口該車道方向交通暢通。交通阻塞數(shù)表示在一定時間內(nèi),所有車道排隊長度超過交通阻塞線的次數(shù)總和,是工作智能體交通調(diào)控優(yōu)劣的依據(jù)?;谏鲜龆x,回報函數(shù)設(shè)置如下:
(1) 如果調(diào)控交通前阻塞數(shù)為0,調(diào)控后交通阻塞數(shù)大于0,表明調(diào)控后使交通狀況從不堵塞狀態(tài)轉(zhuǎn)變?yōu)樽枞麪顟B(tài),返回回報值-1。
(2) 如果調(diào)控交通前阻塞數(shù)大于0,調(diào)控后交通阻塞數(shù)為0,表明調(diào)控后使交通狀況從堵塞狀態(tài)轉(zhuǎn)變?yōu)椴蛔枞麪顟B(tài),返回回報值1。
(3) 如果調(diào)控前比調(diào)控后交通阻塞數(shù)減少或增加量超過20%,表明調(diào)控效果較為明顯,分別返回回報值1和-1。
(4) 其他情況下表明調(diào)控效果不明顯,不足以判斷優(yōu)劣,返回回報值0。
工作智能體可以保證各自交叉路口不會交通堵塞,即每一工作智能體的交通阻塞數(shù)為0。管理智能體在此基礎(chǔ)上進一步對上述工作智能體進行協(xié)同控制,保證整個地理路網(wǎng)的交通運行效率最優(yōu)。管理智能體的狀態(tài)向量和決策向量與工作智能體類似,其維度是所有工作智能體維度之和,分別代表所有路口排隊長度和綠燈配時。因此,本節(jié)主要定義管理智能體的回報函數(shù)。
管理智能體優(yōu)化目標的定義必須隨著不同場景改變。例如,高峰時期應(yīng)通過信號協(xié)調(diào)達到單位時間內(nèi)路網(wǎng)整體能夠通行更多車輛,因此早高峰的優(yōu)化目標定義為路網(wǎng)整體吞吐量;而低峰期應(yīng)更多考慮通過信號協(xié)調(diào)減少路網(wǎng)內(nèi)車輛平均等待紅燈時間。交通效率系數(shù)表示指定場景下工作智能體的優(yōu)化目標(例如,早高峰時交通效率表示單位時間里場景內(nèi)路口吞吐量總和),則管理智能體的回報函數(shù)定義如下:
(1) 如果調(diào)控后使任意路口的交通阻塞數(shù)大于0,直接返回回報值-1。
(2) 如果交通效率系數(shù)調(diào)控前比調(diào)控后增加10%,則調(diào)控效果優(yōu),則返回回報值1。
(3) 如果交通效率系數(shù)調(diào)控前比調(diào)控后減少10%,則調(diào)控效果差,則返回回報值-1。
(4) 其他情況調(diào)控效果不明顯,返回回報值0。
如圖3所示,寧波某中學(xué)片區(qū)位于寧波市鄞州區(qū),是寧波市城區(qū)內(nèi)車流較為密集的地區(qū)之一。該路段東起福明路西至桑田路,南起驚駕路北至民安路,由12條地理路網(wǎng)構(gòu)成的4個信號燈組成。
圖3 試驗區(qū)的交通路網(wǎng)Fig.3 Illustration of traffic roads in the experimental area
試驗車流數(shù)據(jù)來源于試驗區(qū)2020年12月6日7:00AM至9:30AM時間段的路口攝像頭,應(yīng)用目標跟蹤算法后取平均得到(表1)。試驗數(shù)據(jù)包括每個路口東、南、西、北4個駛?cè)敕轿缓妥蟆⒅?、?個駛出方向,并區(qū)分了大型客車和小型汽車。
表1 交叉口車流信息Tab.1 The rate of traffic flow in the intersection (輛/s)
本文試驗算法部署于24核CPU和 32 GB內(nèi)存的高性能計算機上,操作系統(tǒng)采用CentOS 7。算法實現(xiàn)于Python 3.7.3,神經(jīng)網(wǎng)絡(luò)搭建采用Tensorflow1.14,交通環(huán)境運行于仿真軟件SUMO 1.3.1[22](由德國航空航天中心運輸系統(tǒng)研究所開發(fā)的開源軟件)。
2.2.1 工作智能體訓(xùn)練結(jié)果
本節(jié)探究粗細兩種狀態(tài)向量下,單路口的工作智能體訓(xùn)練過程。試驗中,智能體每間隔兩信號周期觀察交叉路口中排隊長度,并以此產(chǎn)生輸入向量更新狀態(tài)動作值神經(jīng)網(wǎng)絡(luò),模擬時長7200 s為一次迭代。圖4表示每一路口工作智能體的交通系數(shù)隨著迭代次數(shù)的,其中縱坐標表示在一次迭代中交通阻塞數(shù)的累積總和,橫坐標表示迭代次數(shù)。試驗結(jié)果表明,隨著迭代次數(shù)的增長,4個路口的交通阻塞系數(shù)都呈降低趨勢;當?shù)螖?shù)大約至100次時,交通阻塞系數(shù)達到收斂。除此之外,粗粒度狀態(tài)向量下訓(xùn)練的交通阻塞系數(shù)穩(wěn)定性和效果更為優(yōu)異。這是由于粗粒度狀態(tài)向量是以邊為單位計算排隊長度。當每條邊上的車輛通行需要通過信號燈多個相位進行控制時,粗粒度狀態(tài)向量會使無法準確區(qū)分究竟哪一相位需要更多綠燈時長,因此其訓(xùn)練也相對難以收斂。
圖4 單路口工作智能體訓(xùn)練試驗結(jié)果Fig.4 Training results of working agent on single intersection
2.2.2 管理智能體訓(xùn)練結(jié)果
將2.2.1節(jié)訓(xùn)練所得到的工作智能體放入地理路網(wǎng)中,在管理智能體協(xié)調(diào)下實現(xiàn)地理區(qū)域的協(xié)同優(yōu)化訓(xùn)練。本文試驗智能體每3個信號周期更新狀態(tài)動作值神經(jīng)網(wǎng)絡(luò),模擬時長10 800 s為一次迭代。本文試驗選取地理路網(wǎng)中車輛平均旅行時間、平均停車次數(shù)和吞吐量3個指標作為優(yōu)化交通效率系數(shù)。如圖5所示,3項驗證指標經(jīng)過訓(xùn)練后的效率都有所提高(平均旅行時間和停車次數(shù)減少,吞吐量增加),并且當?shù)竭_一定次數(shù)后收斂,說明本方法具有效性。通過計算,最后30次迭代比最初始30次迭代,平均旅行時間減少19.12%,平均吞吐量增加21.47%,平均停車次數(shù)減少了3%。
圖5 地理路網(wǎng)管理智能體訓(xùn)練試驗結(jié)果Fig.5 Training results of management agent on geographic road network
2.2.3 交通效率系數(shù)對比
為了驗證本方法的有效性,本文方法、原始作圖方法和經(jīng)典韋伯斯特方法[23]實現(xiàn)的配時方案在地理路網(wǎng)中的交通效率進行比較。在試驗中加入10組隨機種子,隨機種子能夠在指定車流量條件下產(chǎn)生不同發(fā)車規(guī)律,通過這10組隨機種子下的平均路網(wǎng)交通效率能保證試驗的公正性。如圖6所示,試驗以270 s為一輪統(tǒng)計周期,比較3種方法各交通效率系數(shù)。結(jié)果表明,本文方法平均旅行時間比原始作圖方法減少7.03%,比經(jīng)典韋伯斯特方法減少2.87%;本文方法停車次數(shù)比原始作圖方法減少12.56%,比經(jīng)典韋伯斯特方法減少10.49%;吞吐率比原始作圖方法提高8.3%,比經(jīng)典韋伯斯特方法提高6.4%??傮w來說,本文方法在車輛平均旅行時間、停車次數(shù)和吞吐率上都有較為優(yōu)異表現(xiàn)。特別在停車次數(shù)上,其他兩種方法隨著周期明顯效率開始下降。這是由于傳統(tǒng)方法通過數(shù)學(xué)計算得到固定配時方案,本文算法的智能體能通過每個方向的排隊長度實時改變配時,因此具有更好的自適應(yīng)性。
圖6 3種交通效率系數(shù)對比Fig.6 Comparison of three traffic evaluation indexes
本文結(jié)合馬爾可夫序列決策特點,提出一種基于強化學(xué)習(xí)的雙層智能體協(xié)同控制訓(xùn)練方法。在第1層針對單個路口實現(xiàn)粗調(diào)訓(xùn)練,智能體通過觀察路口每一車道的排隊長度調(diào)控信號配時,實現(xiàn)單個路口不堵塞;第2層將多個粗調(diào)訓(xùn)練后的智能體模型放入地理網(wǎng)絡(luò)中,實現(xiàn)多路口的協(xié)同微調(diào)訓(xùn)練。試驗結(jié)果表明,與傳統(tǒng)算法相比本文方法在旅行時間縮短7.03%,停車次數(shù)減少12.56%,吞吐量提高8.3%。另外,基于強化學(xué)習(xí)實現(xiàn)的交通信號協(xié)調(diào)控制能夠根據(jù)路口車道排隊長度實時改變配時方案,能夠更好地適配于復(fù)雜多變的交通環(huán)境。