顏文勝,呂紅兵
(1.臺州職業技術學院 信息技術工程學院,浙江 臺州 318000;2.浙江大學 計算機科學與技術學院,杭州 310027)
現有的道路交叉口管理都是通過紅綠指示燈來實現的。固定時間、基于周期的道路指示燈控制模式效率低下,導致車流滯留時間長、能源浪費大、空氣質量惡化等問題。在某些情況下,它還可能導致交通事故[1-2]?,F有的道路指示燈控制要么以固定的程序,要么沒能考慮實時交通[3],這在應對各種實際情況時,特別是在早晚高峰車流量徒增的情況中將面臨交通臨時癱瘓的現象。
為進一步改善這一現狀,不少學者進行了深入研究。例如文獻[4]為提高智能交通信號在實際應用中的效率,提出一種改進的控制方法,將交通信號圖像輸入卷積神經網絡的輸入層,通過卷積層與采樣層的卷積計算、殘差計算以及梯度計算識別交通信號,將識別交通信號結果選取自適應跳躍式信號控制方法實現了智能交通信號控制。文獻[5]針對城市單交叉口的交通信號控制問題,基于四相位定相序對單交叉口交通燈進行控制,運用模糊控制系統輸入為車輛排隊數和車輛到達率,輸出為當前綠燈相位的綠燈延長時間,提出一種交通燈信號的模糊控制方法,從而能有效減少車輛的平均延誤時間,提高交叉口的通行能力。文獻[6]針對城市交通子區內部與邊界交叉口協調控制問題,提出基于分層多粒度與宏觀基本圖交通信號控制模型(HDMF),從而能夠有效疏導子區域內部與邊界交通,實現整體路網的車流量最大化。文獻[7]在城市交通環境下,通過分析控制方法靈活性與穩定性的關系,將穩定狀態引入信號控制決策模塊,建立穩定規則庫,提出了一種考慮網絡穩定性的多智能體強化學習控制方法,從而提高了算法的運行效率,同時保證了控制效果,將適用于復雜交通網絡。
隨著計算機、通信和交通檢測技術的變革式發展,城市道路指示控制系統的技術環境正從數據貧乏向數據豐富的時代演化發展[8-10]。本文發揮Deep Q Networks無需固定控制規則、無需同時獲取大量數據,而通過不斷地從環境中獲取狀態和獎勵進行更新的特性,提出了一種基于Deep Q Networks的交通指示燈控制方法。
在道路交通信號控制場景中,信號燈被用來管理道路十字路口的交通流[11]。道路十字路口的信號燈設有3個狀態信號:紅、黃、綠。通常,道路十字路口會有來自多個方向的車輛涌入,存在有的方向車流量大、有的方向車流量小的情況。當前,信號燈所采用的固定規則模式,難以應對十字路口車流不均的情況,導致十字路口有的方向嚴重擁堵現象。這一問題在北京、上海等大城市中非常嚴重,目前采用的是高峰時間段由人工控制的方式進行緩解。
為了能夠讓車流交替通過十字路口的同時,使得各路口等待車輛數達到均衡,需要調整路口信號燈的持續時間,以應對道路十字路口的不同交通情況。為此,需要解決的問題是如何通過借鑒歷史經驗,通過動態改變道路指示燈的每個狀態的持續時間,以緩解道路十字路口車輛擁堵問題。面對這一問題,通常的想法是延長擁堵方向上綠燈的時間,讓該道路上更多的車輛通行。但是,根據當前復雜交通狀況,給出一種適用的控制規則是困難的,更難以適應每天狀態各異的道路交通。
一種常用的解決方式是韋伯斯特(Webster)法[12]。該方法是一種自適應韋氏交通信號控制算法,通過收集各時段的數據,然后利用韋氏方法計算下一時段的周期和信號燈持續時間。這種自適應Webster方法本質上使用最近的時間區間來收集數據,并假設下一區間的流量需求大致相同。其時間區間的選擇至關重要,并體現了各種各樣的權衡,較小的區間允許更頻繁地適應變化的交通需求,而較大的區間不太頻繁地適應,但有利于增加穩定性。
(1)
式中,Cm是完成一次車輛通行的時間區間;yi是第i個相位上交通量最大的車道的車流比;L是一個信號周期的總損失時間。
(2)
式中,l是車輛啟動的損失時間;I是信號燈為綠的時間間隔;A是信號燈為黃的時間間隔。
令表示路口車流延誤最低的最佳周期時長:
(3)
Deep Q Networks,則是一種機器學習范式,在這種范式中,個體通過與環境的反復交互,尋求通過制定一種狀態-行動政策來最大化累積回報。Deep Q Networks通過制定最優狀態-行動政策來實現獎勵的最優控制。Deep Q Networks是嘗試解決道路指示控制問題的一種合適技術,能夠通過強化學習三要素對問題進行很好地描述:agent(道路指示控制器)、environment(交通狀態)以及actions(交通信號)。
基于Deep Q Networks的交通指示燈控制如圖 1所示,其中左圖是道路指示燈控制示意圖。圖中信號燈首先通過車載網絡[13]采集道路交通信息。信號燈對數據進行處理,得到道路交通的狀態和獎勵[14]。信號燈使用右圖顯示的深度學習網絡選擇下一步動作。信號燈整個這一“強化學習+深度學習”的自動控制過程,構成了道路交通信號燈控制的Deep Q Networks模型。

圖1 基于Deep Q Networks的交通指示燈控制
根據道路十字路口車輛的位置和速度這兩個信息定義道路指示燈控制的狀態模型。通過車載網絡和定位系統,可以很容易地獲得當前道路車輛的位置和速度[13]。然后,道路十字路口的信號燈可以通過車輛信息位置矩陣得到當前路口的虛擬快照圖像。將當前路口的虛擬快照劃分為相同大小的小正方形網格。其中,網格長度c應確保只能容納一輛車。在每個網格中,狀態值由位置p跟速度v組成,即[p,v]。其中,位置p是一個二進制值,表示網格中是否有車輛。如果網格中有輛車,則該網格中的值為1;否則,則為0。速度v為整數值,表示車輛當前速度,單位為m/s。

圖2為道路十字路口虛擬快照示意圖,整個道路場景被分割為正方形網絡。相應的位置矩陣與網格大小相同,如圖 3所示。其中,一個網絡單元代表一個位置狀態,空白單元表示對應網格中沒有車輛,其值設為0。

圖3 交通路口車流位置矩陣
道路指示燈需要根據當前的交通狀態,選擇合適的行為引導路口車輛通行。通常,在道路指示燈控制系統中,通過選擇下一周期中紅綠燈每一階段的持續時間來確定行動空間。但是如果相鄰兩個周期內的持續時間變化很大,系統將可能會變得不穩定。
因此,為了應對道路指示的動態調度,將兩個相鄰周期之間的持續時間調度建模為一個高維馬爾可夫決策(MDP)。MDP是一個靈活的模型,它可以應用于交通燈較多、需要更多狀態的復雜交叉路口,甚至能夠滿足具有五、六條道路的不規則交叉路口。在MDP中,交通燈在一個小步驟中只改變一個階段的持續時間,本文將采用一個四元組[t1,t2,t3,t4]表示當前周期中4個階段的持續時間。下一個時間周期的行為如圖 4所示。圖中,一個圓表示在一個時間周期中4個階段的持續時間,并將當前周期到后續時間變化離散為5 s。將各階段的最大合法持續時間設置為60 s,最小合法持續時間設置為0 s。道路指示燈根據當前狀態選擇行為,信號燈的狀態按順序循環變化。

圖4 多指示燈下的MDP決策
為了保證安全,相鄰狀態之間需要有黃色信號,使行駛的車輛在信號變為紅色之前停止。將黃色信號持續時間Tyellow的定義為該道路上的最大速度vmax除以路口減速率adec:
(4)
獎勵是區別強化學習與其他學習算法的一個重要特征。獎勵的作用是就先前行為的表現向強化學習模型提供反饋。因此,明確獎勵方式以正確指導模型自主學習是很重要的,將有助于選擇最佳的行動策略。
在道路指示控制系統中,主要目標是要提高十字路口車輛通行效率。衡量車輛通行效率的一個主要指標是十字路口車輛的等待時間。因此,將強化學習的獎勵定義為相鄰兩個周期之間累積等待時間的變化,用it表示觀察的第i量車從第t個周期開始的時間,用Nt表示到第t個周期對應的車輛總數,將車輛i在第t周期的等待時間記為ωit,t(1≤it≤Nt),則第t周期的獎勵定義為:
rt=Wt-Wt+1
(5)
其中:
(6)
由式(5)可知,如果獎勵相較之前有所增加,則等待時間的增量將小于之前。這意味著獎勵時采取行動前和行動后累計等待時間的增量。
在交通指示燈控制問題描述的基礎上,基于所構建的道路指示燈控制Deep Q Networks模型,提出了基于Deep Q Networks的道路指示控制方法。
首先,令Q(s,a)表示在狀態s=(X;Y)當采取行動a時的行為價值函數,即最大可實現的預期折扣獎勵:


(7)



(8)
接著,在強化學習算法中,將狀態s同時作為目標網絡和評估網絡的輸入,依據式(8),構建神經網絡迭代i次后的訓練損失函數模型:
(9)
式中,r為當前步驟采取行為所獲得的獎勵值,s′和a′分別為下一步的狀態和行為。
根據式(9)在神經網絡中進行反向傳播并更新主神經網絡中的參數:
θi′ =αθi′ + (1-α)θi
(10)
式中,α為更新速率,它表示最新參數對目標網絡中各組件的影響程度。
最后,給出基于Deep Q Networks道路指示燈控制方法的訓練流程:
步驟1 初始化車流狀態s和控制行為a;
步驟2 對于訓練步長k=1,2,…,K:
步驟4: 給定行動,確定新狀態s′;
步驟5: 根據式(5)、式(6)計算獎勵值r;
步驟6: 將狀態、行動和獎勵以[s,a*,r,s′]形式在記憶庫M中存儲;
步驟7: 判斷:如果k>k0執行學習操作;
步驟8: 從記憶庫中取樣一小批量樣本;
步驟9: 根據式(10)更新目標網絡及參數θi′;
步驟10: 根據式(7)計算行為價值函數值Q(s,a);
步驟11: 運用梯度下降更新網絡,利用貪婪策略依式(9)計算損失函數。
為了更好地驗證本文方法的有效性以及對比優勢,在本節分別與固定時間控制模式、Webster控制模式進行了對比仿真實驗。本仿真基于Intel Core i5cpu硬件環境,運用微觀交通仿真平臺SUMO v0.32構造道路指示燈仿真場景,實現道路指示燈的自主控制。方法模型運用python語言開發,并通過Pycharm平臺編譯運行。如圖 5所示,以浙江省臺州市市府大道與東環大道交叉路口實測交通數據為測試樣本,構造了道路指示燈仿真環境。運用基于Deep Q Networks的道路指示燈控制方法進行仿真計算?;贒eep Q Networks的道路指示燈控制方法中的參數預設如表 1所示。

圖5 道路指示燈仿真場景

參數賦值訓練步長K7 000記憶庫M3 600目標網絡更新率α0.006折扣因子γ0.84
針對道路指示燈控制問題,運用基于Deep Q Networks的道路指示燈控制方法進行仿真計算,方法效果如圖 6所示。由結果可知,隨著訓練次數的增加,訓練誤差不斷減少,價值函數趨于穩定,方法收斂效果較好、穩定性較強,能夠適用于道路指示燈自主控制問題。

圖6 方法實驗效果
如圖 7所示,為運用本文方法與固定時間控制模式、Webster控制模式的仿真實驗結果對比圖。通過仿真結果對比可知,本文方法能夠獲得更好的道路指示燈控制策略,在交通路口車輛隊列長度、等待時間等方面優化效果更為明顯,有效地減少車輛停留時間、車輛延誤,從而有效緩解高峰時期的交通擁堵現象。

圖7 方法對比結果
針對當前城市道路擁堵、十字路口車輛通行效率低的問題,本文提出了基于Deep Q Networks的道路指示燈控制方法。首先,對道路指示燈控制問題進行描述,分析常用方法,聚焦十字路口道路指示控制的關鍵。然后,以狀態、行動和獎勵三要素為主構建了道路指示燈控制的強化學習模型,滿足道路指示燈控制特征,提升了Deep Q Networks的適用性。最后,提出了基于Deep Q Networks的道路指示控制模型和方法流程,實現了道路指示燈的自主控制?;诔鞘械缆窋祿姆抡嬗嬎悖⑴c固定控制模式、韋伯斯特控制模式仿真比對,驗證了論文方法對道路指示控制問題的適用性和優越性,為交通信號智能化控制提供了新的思路與途徑。