郭瑝清 ,陳 鋒 ,2
(1.中國科學技術大學 信息科學技術學院,安徽 合肥230027;2.安徽中科龍安科技股份有限公司,安徽 合肥230088)
隨著城市人口的增多與經濟的快速發展,我國汽車保有量不斷增長,城市交通擁堵問題日益嚴峻。而城市交通干線是城市交通的動脈,實現干線各交叉口間交通信號的動態協調,有效地疏導干線車輛,對于緩解城市交通擁堵具有重要意義。
目前,城市主干道多交叉口的協調控制,主要采用Maxband 和Multiband 法以及圖解法、數解法等綠波方法。LITTLE J D C 等人[1]最早提出最大綠波帶寬Maxband 模 型;GARTNER N H 等 人[2]在Maxband 模型的基礎上,提出復合綠波帶寬Multiband 模型;陳昕等人[3]對圖解法進行了優化,基于綠波帶的中心線交點,設計了一種新的雙向綠波圖解法;盧凱等人[4]在綠燈中心點型雙向綠波協調設計數解法的基礎上,建立了一種綠燈終點型的雙向綠波數解法,從而減少了干線車隊的延誤時間;曲大義等人[5]在綠波協調中考慮了公交車輛的影響,并通過增加綠信比與對公交車輛適當的提速,進一步提升了交叉口的通行效率。
現有的綠波方法難以準確地描述復雜的城市干線交通流狀態,且采用靜態的控制模式,無法有效地協調時變的干線交通流。 隨著人工智能的不斷發展,采用深度強化學習實現城市交通信號優化控制已成為研究的熱點。 HA-LI P 等人[6]為提高交叉口通行能力,提出了一種基于深度強化學習算法的單交叉口信號優化控制方法;GAO J 等人[7]提出一種深度強化學習算法,從實時的交通流數據中自動提取有用特征,實現單交叉口交通流的自適應控制, 并采用經驗回放和目標網絡技術[8],提高了算法的穩定性;LI C C等人[9]為提高城市路網通行能力,提出了一種用于區域交叉口交通信號控制的深度強化學習算法, 通過多智能體學習最佳的交通信號控制策略;VAN DER POL E[10]采用Max-plus 算法和基于深度強化學習的多智能體方法,實現城市交通區域協調控制。
在深度強化學習領域,目前對于城市交通信號控制的研究,多以單交叉口為研究對象,而對于多交叉口的協調處理,普遍采用多智能體的協調控制。本文結合了雙重深度Q 網絡(Double Deep Q Network,Double DQN)[11]與基于競爭架構深度Q 網絡(Dueling Deep Q Network,Dueling DQN)[12],設計了基于DDDQN(Dueling Double Deep Q Network,DDDQN)的干線動態協調控制算法。 通過將干線多交叉口的交通信號作為一個整體進行處理,相比于采用多智能體協調控制,減輕了智能體間通信協調的負擔,且智能體通過獲取多交叉口的實時狀態,掌握干線全局信息,并使用Dueling DQN 網絡結構模型,能更充分地發揮網絡提取干線交通流特征的能力,挖掘出多交叉口間協調控制的相關性。 實驗結果表明,本文方法相比于現有綠波方法、經典的深度Q 網絡(Deep Q Network,DQN)[13]、以及Double DQN 與Dueling DQN,能夠更有效地降低城市主干道的車均延誤和車輛的停車次數等重要的交通評價指標。
Q 學習算法是由WATKINS C J C H 等人[14]提出的一種無模型強化學習算法。 在Q 學習中,智能體通過與環境交互獲得獎勵來進行學習,以使得自身能根據當前的狀態選擇最優的動作。 具體過程描述如下:在與環境交互過程中,t 時刻智能體觀測到的狀態為st, 當執行了某一動作at后, 環境轉移到下一狀態st+1,此時智能體會獲得一個相應獎勵rt。 智能 體 根 據 所 有 記 錄 (st,at,rt,st+1), 更 新 狀 態 動 作的Q 值,即Q(st,at)。
Q 學習通過表格的形式來存儲Q 值,而對于城市干線復雜的交通流,其狀態空間巨大,表格形式的存儲顯然無法滿足需求。 結合深度學習方法,采用DQN 算法,通過深度神經網絡來擬合Q 值函數。
DQN 算法引入經驗回放和目標網絡兩大技術[8]。 智能體在與環境交互中,通過經驗緩沖區存儲(st,at,rt,st+1)形式的樣本,在學習的過程中,再從經驗緩沖區中抽取樣本,經過深度神經網絡的訓練學習,調整網絡參數,以此達到擬合Q 值函數,實現最優策略的選取。 當t 時刻輸入狀態st時,輸出的目標Q 值為:

式中γ∈(0,1)表示折扣因子,θ′表示目標網絡參數。
DQN 算法的目標Q 值是通過貪婪法得到的,雖然這樣可以讓Q 值逼近可能的優化目標,但是容易導致過估計。 為了解決這一問題,Double DQN 算法被提出[11],該算法通過解耦目標Q 值動作的選擇與目標Q 值的計算,達到消除過估計問題。 Double DQN的目標Q 值計算如式(2)所示:

而WANG Z Y 等人[12]針對DQN 的網絡結構模型進行優化,提出了Dueling DQN。 該算法將深度神經網絡分成兩部分,一部分表示價值函數,這部分僅僅與狀態st有關,與具體采用的at無關;而另外一部分稱為優勢函數, 同時與狀態st和動作at相關。 所以最終的Q 值函數可以表示為:

式中V(st,ω,μ)表示價值函數,A(st,at,ω,β)表示優勢函數,ω 為公共部分的網絡參數,μ 為價值函數獨有部分的網絡參數,β 為優勢函數獨有部分的網絡參數。
本文結合Double DQN 與Dueling DQN 算法,對DQN 存在的過估計問題和深度神經網絡結構同時優化,并根據干線交通流特性,設計了基于DDDQN的干線動態協調控制算法。 基于DDDQN 算法設計的目標Q 值計算如式(4)所示:

式中,ω、μ、β 為當前網絡的網絡參數,ω′、μ′、β′為目標網絡的網絡參數。 DDDQN 算法深度神經網絡定義的損失函數如式(5)所示:

網絡訓練時,還對優勢函數部分做了中心化處理,得到如下公式:

式中A 表示優勢函數輸出的動作空間價值。
本節將針對城市交通干線的動態協調控制,定義DDDQN 算法的狀態空間、動作空間、獎勵函數,以及對深度神經網絡結構進行設計。
如圖1 所示,以經典的三個交叉口組成的城市交通干線為例。 將干線上各交叉口所有入口道車輛的位置信息、速度分布情況以及各交叉口當前相位作為深度神經網絡的輸入。 考慮第一個交叉口入口道a,距離停車線長度為L 的路段,將每個車道等分為長度為c 的多個小路段,每段記為Cell。 假設車輛占用了長度為c′的Cell 空間,則該Cell 的值為c′/c,所有的Cell 值構成了入口道a 的位置矩陣,而在速度矩陣中,取每個Cell 內所有車輛速度的平均值。干線的位置矩陣和速度矩陣由干線上所有入口道的位置矩陣和速度矩陣組成。
入口道a 的車道劃分如圖2 所示,對應的位置矩陣、速度矩陣分別如圖3、圖4 所示。

圖1 城市交通干線示意圖

圖2 入口道a 車道劃分示意圖

圖3 入口道a 位置矩陣圖

圖4 入口道a 速度矩陣圖
同時將干線上各個交叉口當前相位形成的相位矩陣作為深度神經網絡的輸入。 假設干線上3 個交叉口的相位均為典型的4 相位,其相位空間如圖5所示,定義相位空間 p={EW,EWL,SN,SNL},分別表示東西直行、東西左轉、南北直行、南北左轉4 個相位。 且假設當前干線上3 個交叉口的交通信號狀態均為東西直行,則相位矩陣表示為[EW,EW,EW],并在輸入深度神經網絡前,轉換為該相位在相位空間的位置序號,EW 在相位空間位于第一個,即相位矩陣為[1,1,1]。

圖5 相位空間
智能體根據干線當前的交通狀態,選擇相應動作對各個交叉口交通信號進行控制,以達到動態協調干線交通流的目的。 本文將干線作為整體進行處理。每個交叉口的動作空間如圖6 所示,定義ai={0,1}。當ai=0 時,第i 交叉口保持當前相位1 s;當ai=1 時,切換至下一個相位,相位切換按照相位空間順序循環切換。 為更適用現實情況,達到更好的控制效果,對待執行動作做如下限制: 當前相位持續保持時間不小于交叉口的最小綠燈時間,才允許切換至下一相位,否則繼續保持當前相位;若當前相位持續保持時間大于交叉口的最大綠燈時間,則強制切換至下一相位。 為進一步確保各個交叉口的交通安全性,在相位切換前,通過設置黃燈進行過渡,即當ai=1 時,先執行一個黃燈狀態,黃燈保持時間為3 s。
每個交叉口用一位二進制對其動作編碼表示,所以對于n 個交叉口的交通干線,需要n 位二進制,動作空間的動作總數為2n。

圖6 動作空間
智能體根據獲得的獎勵來調整所選取的最佳動作,使得長期累積獎勵最大。本文定義的獎勵為:

式中,Dt表示t 時刻各個支路延誤的集合,在所有支路中,當存在某一支路的延誤超過給定的閾值D時,給予智能體懲罰;否則考慮主干道是否有延誤產生,獎勵為主干道延誤dt的倒數,即延誤越低,獎勵越大;當主干道不存在延誤,即dt=0 時,給予智能體最大獎勵。
本文設計的深度神經網絡結構如圖7 所示。 將干線的車輛位置矩陣和速度矩陣以及各交叉口當前相位組成的相位矩陣作為深度神經網絡的輸入。位置矩陣和速度矩陣經兩層卷積層提取相應的特征,并將特征展開為一維,與相位矩陣經過一個全連接層后,兩者一起輸入全連接層,并將最后一層全連接層分成價值V 和優勢A 兩部分,并根據式(6)融合兩部分輸出,最終輸出Q 值。

圖7 深度神經網絡結構
訓練時,深度神經網絡采用Adam 優化器和ε 貪心策略進行網絡輸出動作的選取。 ε 值隨著訓練次數的增加而增加,并最終以0.999 的概率選擇深度神經網絡輸出最大價值的動作。
本文的仿真實驗平臺選擇中國科學技術大學微觀交通仿真平臺2.1(USTC Microscopic Traffic Simulator 2.1,USTC-MTS 2.1)。 算法模型通過Python 實現,并采用PyTorch 搭建深度神經網絡結構。
參數設置:折扣因子γ=0.9,經驗池大小M=2 000,神經網絡學習率為0.001,卷積核大小為5×5,批處理大小為32,訓練循環輪數為400,車道劃分取c=6 m。 干線上各交叉口間距如表1 所示。

表1 干線各交叉口間距
實際生活中,交通擁堵普遍發生在近飽和交通流量狀態下,并且在進行干線協調控制時,主干道上各個交叉口往往已存在車輛排隊。 為使實驗更貼近現實情況,本文研究在近飽和流量,且主干道形成初始排隊情況下的干線協調控制。 主干道各個入口道的平均初始排隊長度如表2 所示。

表2 主干道入口道平均初始排隊長度
在近飽和流量和主干道存在初始排隊的情況下,將本文方法與現有綠波方法(用GW 表示)、經典DQN 算 法、Double DQN 和Dueling DQN 進 行 比 較。指標參數選擇干線車均延誤和停車次數,實驗結果如圖8、圖9 所示。

圖8 車均延誤

圖9 停車次數
根據實驗結果,各類算法在主干道平均每輪的車均延誤與停車次數如表3 所示。

表3 算法性能比較
從表3 可見,采用DQN 算法及其相關改進算法Double DQN、Dueling DQN 以及本文的DDDQN 算法,相比于現有綠波方法,在城市干線的車均延誤與車輛停車次數等重要交通評價指標方面均有較大的改善。 說明基于DQN 設計的算法能根據實時的交通流狀態,對干線各個交叉口交通信號實現動態協調控制,相比于現有綠波方法,能夠更加有效地降低主干道的車均延誤與停車次數,進一步改善城市交通擁堵現象。 其中使用基于DDDQN 的干線動態協調控制算法,其干線的車均延誤與停車次數均為最小,算法性能最優。 且從圖8 的車均延誤曲線與圖9 的停車次數曲線可以看出,相比于采用經典DQN算法以及單獨使用Double DQN 與Dueling DQN,采用DDDQN 算法的車均延誤曲線與停車次數曲線波動程度最小,最為穩定,且收斂速度較快,對城市干線的動態協調效果最優。
本文將深度強化學習方法引入到城市交通干線的動態協調控制中,結合Double DQN 與Dueling DQN,給出了一種DDDQN 的干線動態協調算法。 通過解耦目標Q 值動作的選取與目標Q 值的計算,消除了DQN 的過估計問題,同時對深度神經網絡結構進行優化,將輸出分為狀態價值與動作優勢兩部分,并做了中心化處理,使得智能體能更好地進行干線交通信號決策控制。 并且本文將干線作為一個整體處理,通過將干線整體的交通狀態輸入深度神經網絡,能夠更充分發揮網絡挖掘干線各交叉口協調控制的相關性。 實驗結果表明,DDDQN 算法較現有綠波方法、經典的DQN、Double DQN 與Dueling DQN,有效地降低了城市干線的車均延誤與停車次數。 后續工作考慮將DDDQN 算法的應用擴展至城市路網,實現區域協調優化控制。