摘 要: "針對多變環(huán)境條件下的交通堵塞問題,將強化學習、神經(jīng)網(wǎng)絡、多智能體和交通仿真技術結合起來,提出了用于優(yōu)化多路口條件下交通狀況的trajectory reward light(TR-Light)模型。該方法具有幾個顯著特點:基于紅綠燈擬定交通組織方案;將多智能體強化學習用于紅綠燈控制;通過紅綠燈的協(xié)同達到區(qū)域級的交通組織優(yōu)化;在智能體每次行為執(zhí)行結束后實施軌跡重構,在OD對不改變的情況下改變車輛行駛路徑,根據(jù)方案和重構軌跡來計算智能體的最終回報。最后,通過SUMO進行交通仿真實驗和交通指標對比,驗證了該模型在多交叉口中提高了路網(wǎng)暢通率,改善了交通狀態(tài)。實驗表明該模型可行,可有效緩解交通擁堵。
關鍵詞: "多智能體; 強化學習; SUMO; 紅綠燈
中圖分類號: "TP399 """文獻標志碼: A
文章編號: "1001-3695(2022)02-027-0001-00
doi:10.19734/j.issn.1001-3695.2021.06.0283
Tr-light:traffic organization plan optimization algorithm based on
multiple traffic signal lights reinforcement learning
Wu Haosheng, Zheng Jiaoling, Wang Maofan
(Software College, Chengdu University of Information Technology, Chengdu 610225, China)
Abstract: "Focusing on the problem with traffic congestion under changing environmental conditions,the paper proposed a trajectory reward light(TR-Light) model by combining reinforcement learning,neural network,multi-agent and traffic simulation technology to optimize the traffic at multi-intersections.This method had considerable merits in the following aspects.The traffic organization plan was formulated based on traffic lights;Multi-agent reinforcement learning was used on traffic light control; Regional traffic organization was optimized through the coordination of traffic lights.The agent implemented trajectory reconstruction after the execution of each behavior so as to change the vehicle travel path without changing the OD pair,and to calculate the final reward of the agent according to the plan and reconstructed trajectory.Finally,it conducted a traffic simulation experiment through SUMO,and the comparison of traffic indicators verified that the proposed model improved the smoothness of the road network and the traffic state at the multi-intersections.Experiments show that the model is feasible and effectively mitigates the traffic congestion.
Key words: "multi-agent; reinforcement learning; SUMO; traffic lights
0 引言
在科技信息化的時代,人類的生活越來越豐富,現(xiàn)在大多數(shù)家庭都擁有私家車,這就出現(xiàn)了在城市里各種各樣的交通問題比如等待時間過長、車道占有率過高等。隨著人工智能的發(fā)展出現(xiàn)了許多交通智能化技術,開始有效地控制交通行為。多智能體強化學習是當下人工智能發(fā)展的技術之一。多智能體通過自主學習、分步協(xié)調和組織的能力,根據(jù)自身當前的狀態(tài)與其他智能體進行學習,在這一過程中有效地配合其他智能體完成自己的學習并改變自身的狀態(tài)完成最終自己高效的目標。相比較單智能體而言多智能體更加注重群體學習,多智能體的學習效率往往都是高于單智能體,能夠在短時間內有效地完成目標效益最大化。
在交通方面交叉路口的交通運動最關鍵的一種行為,大部分的城市擁堵現(xiàn)象都與交叉口相關,所以有效地控制交叉路口往往能夠提高路網(wǎng)的運行效率,在現(xiàn)在的技術中可以控制交通信號燈來協(xié)調交叉路口,也可以通過交通組織方案進行封路來優(yōu)化路網(wǎng)的暢通率。最近,許多人嘗試著使用強化學習技術來優(yōu)化交通狀況。通過多項研究表明,多智能體強化學習技術要遠遠優(yōu)于其他傳統(tǒng)交通方式。最大優(yōu)勢在于智能體能夠通過觀察當下自己的交通狀態(tài)根據(jù)當時環(huán)境的反饋來學習采取下一步的相關操作,強化學習顯著兩大特征就是試錯和延遲匯報。agent接受環(huán)境狀態(tài),根據(jù)內部推理機制,agent選擇相應行為動作作用于環(huán)境,環(huán)境接受該動作后轉移到新的狀態(tài),同時產生一個獎勵反饋給agent,agent再根據(jù)獎勵和當前環(huán)境狀態(tài)再選擇下一個動作,選擇原則是使受到正獎賞值的動作概率增大[1]。
本文通過強化學習的兩大要素獎勵和狀態(tài)以及多智能體之間的集中式學習分散式執(zhí)行以及軌跡重構的思想提出trajectory reward light(TR-Light)的算法來提高路網(wǎng)的暢通率。
雖然在2013年就有人提出了關于多智能體之間行動的方式來改善交通狀況,但在交通的實際應用中卻發(fā)揮的不是很理想并且難以實施。本文算法就是在當下復雜動態(tài)的交通環(huán)境下能夠快速給出最好的交通方案來改善交通狀況,這是一項非常有意義并且極具挑戰(zhàn)性的課題研究,主要存在以下兩個難點:
如何讓智能體在交通環(huán)境中能夠高效地學習這一直是近幾年以來強化學習中的挑戰(zhàn)。在傳統(tǒng)的強化學習中訓練智能體的方法都是不斷地迭代策略進行重復訓練,但是如此長此以往的訓練只適用于單智能體上,對于多智能體來說并不合適[2]。
考慮到對城市中的交通進行智能管理的問題,當智能體開始因策略執(zhí)行行為時,如何在眾多策略中選出一個優(yōu)秀的策略并執(zhí)行,成為近幾年來的一個難點。
為了能夠解決該上述的問題,本文提出TR-light網(wǎng)絡交通模型,將交通信號燈的控制作為動作的選擇,將路口中的車輛等待時間和車輛與道路的占有率作為環(huán)境的觀察值,通過集中式學習分布式執(zhí)行的方法,將多路口的智能體進行訓練學習,有效提高了路網(wǎng)的暢通率,同時在進行管控后對行駛該路段的車輛進行軌跡重構,將重構后的軌跡與強化學習相結合達到最佳效果。
通過設置交通信號燈中的program來改變道路的狀態(tài),實現(xiàn)某種意義上的短暫封路,來進行交通管控如圖1所示。
如圖1所示,對圖中的某一出車口進行行為設定,在交叉口道路中會針對所有道路的進車口進行這四種方案的交通管控。
1 相關工作
1.1 交通組織方案優(yōu)化
交通組織方案參考以往的研究成果來看,與國外發(fā)達國家相比較,我國的交通行業(yè)發(fā)展相對而言比較晚,不管是在技術層面還是在管理層面有著一定的差距。相對于國外發(fā)達國家中交通組織系統(tǒng)中對于交通組織的管理和運行都有比較大的提高。同時近幾年隨著交通行業(yè)和計算機行業(yè)的發(fā)展,再加上國內外相關學者的研究,將計算機和交通相結合的技術發(fā)展,使得交通組織方案技術不斷地得到優(yōu)化。我國現(xiàn)階段以及未來都將會長時間處于交通組織的研究領域。在我國實施的交通管控方案中,大部分都是依靠以往的經(jīng)驗來進行決策,并沒有成為相對科學的管理體系,對于以后的發(fā)展是充滿著隱患的。為了能夠最大程度上保障道路的暢通,國內大量高校對交通組織方案進行研究和規(guī)劃,將多種人工智能技術和交通領域相互結合形成較為完善的體系,并隨著社會的發(fā)展狀況交通組織方案的優(yōu)化也不斷進行著調整,要通過現(xiàn)有的技術來構造適合我國交通發(fā)展體系的研究。
1.2 單路口交通信號優(yōu)化
自從2015年日期強化學習以來,Q-learning,Sarsa和TD lambda等算法成為強化學習的主流。與蒙特卡羅方法改變時間差分法TD會進行極大似然估計,從而估計的結果更符合未來數(shù)據(jù)的趨勢[3]。在交通領域中,諸多研究對單個路口使用交通信號燈控制進行了廣泛的研究,它們設定好了車輛以特定的方式到達目的地,研究大多數(shù)試圖從車輛的行駛時間和路口的排隊長度這兩個方面進行優(yōu)化。近幾年來許多基于強化學習的方法試圖從數(shù)據(jù)中通過學習來解決這個問題,例如通過建立Q表使用Q-learning的早期實驗,但是Q學習的學習適合處理離散的狀態(tài),并且使用Q學習部署到現(xiàn)在的交通環(huán)境中,面對單路口環(huán)境下,路口的情況有成千上萬種,Q表的容量有限的,無法統(tǒng)計數(shù)以萬計的狀態(tài),并不適合交通環(huán)境。隨后深度強化學習技術得以推廣(deep reinforcement learning,DRL),該技術將具有感知的深度學習和具有決策的強化學習互相結合,解決了諸多問題[3]。DQN算法就是根據(jù)Q-learning算法進行改進出來的,該方法解決Q-learning“緯度災難”的問題[4]。Hasselt等人[5]在DQN的基礎上提出double DQN算法。2019年Hernandez等人[6]將LSTM和DQN相結合構造出來單路口環(huán)境下紅綠燈的優(yōu)化,融入了神經(jīng)網(wǎng)絡技術快速提高了實驗的收斂性。
1.3 基于多路口強化學習交通信號優(yōu)化
在常規(guī)的多路口路網(wǎng)中,可以通過路口中的紅綠燈進行時間間隔的設置來實現(xiàn)協(xié)調,但實際上調節(jié)紅綠燈并不是一件容易的事情,紅綠燈之間的相位變換通常是復雜多變的,因為無法同時促進相反方向的交通。為了解決這個問題,開發(fā)了一些優(yōu)化的方法,以最大程度地減少車輛行駛時間或多個交叉路口的站點數(shù)量例如文獻[7,8]。在常規(guī)的多路口環(huán)境中可以實現(xiàn)協(xié)調通過設置路網(wǎng)的所有交叉點之間的綠燈開始之間的時間間隔[9]。還有些優(yōu)化的方法例如文獻[10,11]以最小化車輛的行駛時間和/或多個交叉路口的站點數(shù)量,代替優(yōu)化偏移量或最大壓力;文獻[12]旨在最大化網(wǎng)絡的吞吐量,從而最小化行程時間。但是很多這樣的方法依舊是根據(jù)靜態(tài)環(huán)境或者假設來構建的簡化交通狀況,并不保證實際的運營會有所改善。
最早解決交通管理的問題是Miller等人[13]通過固定時間的控制,使用預定義的紅綠燈周期進行規(guī)劃?,F(xiàn)有研究文獻[14~16]傾向于從相鄰的交叉路口選擇交通條件,并將其與目標交叉路口的交通條件直接連接起來,而忽略了交通在時間和空間上都在變化的事實。Zhang等人[17]在2018年使用了固定的通信協(xié)議進行智能體間的交互。文獻[18]使用了持續(xù)交流以及一些離散交互的方法使得智能體之間進行通信。在控制多個交叉路口的策略中,有一種方法是通過集中式訓練智能體的學習進行聯(lián)合建模并集體進行執(zhí)行行為,但是這種方法有兩個相關的常見問題:a)隨著智能體數(shù)量的增長,集中式訓練的計算工作量太大;b)在測試期間,每個智能體都是獨立行動的,在動態(tài)的環(huán)境下智能體的變動需要結合周圍其他智能體進行上下協(xié)調。
所以上述的集中式訓練并不是最佳的選擇,另一種方法是使用分散式的強化學習智能體來控制多路口進行交互,該方法就是將每個智能體基于自身周圍相鄰路口的信息進行交互作出自己的決策。分散式的通信更加的實用,并不需要集中決策具有良好的伸縮性,但在模型的收斂和速度上往往是很不穩(wěn)定的。Jang等人[19]在離散通信的基礎上加入了注意力機制來對傳入的通信信息進行優(yōu)先級排序,在訓練過程中會有更好的質量梯度。
多智能體和深度強化學習的結合近期一直是熱門的研究方向,Mao等人[20]結合AC算法和 DL提出了ACCNET算法,通過多智能體之間的交互來提高環(huán)境的穩(wěn)定性從而提高最后的結果精準度。Littman[21]提出了馬爾可夫決策過程作為MARL的環(huán)境框架,解決了大多數(shù)強化學習的問題提供了一種簡單明了的數(shù)學框架。Lowe等人[22]把強化學習中的DDPG算法和多智能體結合到一起,在不需要完整的環(huán)境模型下,能在即時獎勵和延遲獎勵之間作出選擇,每次做決策的時候,智能體會觀察當前狀態(tài),選擇一個動作并轉移到下一個狀態(tài)。文獻[23]讓智能體在環(huán)境中學習通信協(xié)議,互相共享信息、交流信息來完成當前任務,提高共享效用。
2 算法框架
2.1 actor-critic算法概述
actor-critic網(wǎng)絡分為actor和critic網(wǎng)絡兩個部分。其中:actor網(wǎng)絡根據(jù)策略函數(shù),負責完成動作并和周圍的環(huán)境完成交互;critic網(wǎng)絡使用了價值函數(shù),負責評估actor進行動作完成后的表現(xiàn),并且指導下一步行動的完成。actor網(wǎng)絡使用了策略函數(shù),該函數(shù)的近似公式如下:
π θ(s,a)=P(a|s,θ)≈π(a|s) ""(1)
critic網(wǎng)絡使用的價值函數(shù)的近似,對于狀態(tài)價值和動作價值函數(shù)分別是
(s,w)≈v π(s) ""(2)
(s,a,w)≈q π(s,a) ""(3)
在critic網(wǎng)絡中還需要計算選出動作和后的TD-error值所用公式為
TD=r+Vπ(S′)-Vπ(S) ""(4)
對于AC算法中更新策略的參數(shù)使用的公式為
θ=θ+α ""θ log π θ(s,a)v ""(5)
2.2 交通評價指標
在使用該模型方法中,需要一定的交通指標來鑒定該模型是否能夠充分的得到有效提高,將使用以下指標來評定交通狀況。
1)路網(wǎng)暢通率
路網(wǎng)暢通率定義為路網(wǎng)在某一時間段 T 內,交通狀態(tài)較好的路段里程與路網(wǎng)中所有路段里程的比值,描述了路網(wǎng)總體暢通程度,是路網(wǎng)交通總體運行質量的一個度量,可以用于評價交通管理效果。
RNCR(t) = "∑ n i,j=1 k il ij ∑ n i,j=1 l ij """(6)
其中: RNCR(t)表示T時間段內的路網(wǎng)暢通率(T 可取5 min或者3 min); N 為路網(wǎng)中所包含路段數(shù); l ij為第i條路段的長度;k i 為二值函數(shù)。當路段 i 的交通狀態(tài)等級屬于可接受交通狀態(tài)時, k i =1,否則 k i =0。路段平均速度 meanspeed ≥20 km/h時,為可接受交通狀態(tài)。 meanspeed <20 km/h時,為不可接受狀態(tài)。 RNCR(t) 的取值范圍為[0,1],值越大,表示路網(wǎng)狀態(tài)越好,反之,路網(wǎng)狀態(tài)越差。
2)出行時間指數(shù)
出行時間指數(shù)定義實際出行時間與期望出行時間的比值,使用 meanTimeLoss 表示,在一段時間內的平均時間損失。故出行時間指數(shù)可表示為
TTI= T T-meanTimeLoss """(7)
其中: TTI 表示出行時間指數(shù),其值越大,交通狀態(tài)越差; T 表示所取時間間隔。
3 基于TR-light網(wǎng)絡的模型設定
3.1 紅綠燈智能體狀態(tài)設定
AC算法在交通中的實質運用就是先將狀態(tài)空間集與動作空間集設定好,同時在AC算法的過程中將多智能體進行集中式的交互學習,智能體將自己執(zhí)行的行為方式同一回饋到一個critic網(wǎng)絡中,由同一個critic網(wǎng)絡進行對其他智能體中的actor網(wǎng)絡進行反向傳遞,這樣的學習方式使得智能體之間能夠更加穩(wěn)定快速的收斂。
agent通過觀察路口的環(huán)境獲得實時交通狀態(tài),將這些狀態(tài)傳遞給本文設定actor網(wǎng)絡進行后續(xù)的執(zhí)行。當前道路的狀態(tài)將使用路口處的車輛等待時間和車道占有率進行表示,如圖2所示。
將道路的進口車道離散化為10段,道路離散化的目的是為了模型在訓練時更加容易,每一段都含有每個車的車道占有率,把每一段設成一個place,整條道路的狀態(tài)就是10個place組成的一個向量,每個place中會有相應的車輛含在各個路段中,將車輛和路段的比值作為車道占有率加入到觀察值中,不同路口有不同的車道數(shù)量,將道路離散化后,該狀態(tài)就含有11種信息作為輸入(包含1種路口車輛等待時間),同理在不同的路段中,每條路段含有的車道數(shù)量也不同,在傳入觀察狀態(tài)時需要將所有車道的每段車道占有率進行匯總傳人到狀態(tài)矩陣中。如圖3所示,對于車輛的出行道路中,在智能體的狀態(tài)中設定 S={s 1,s 2,……,s 10,s 11},其中s 1,……,s 11代表著車道占有率rate,s 11 代表著車輛排隊的總時間:
rate= VehLength i RoadLength "i ""(8)
分別取每段的路中的車輛長度和該段路段中的長度取值比對算出車道占有率,最后一位的觀察值為當前路段的所有車輛等待時間,圖4中該道路的傳入的觀察值 O (0.67,…,12 s),傳入觀察值中對于回合制更新將對觀察值傳入的車道占有率取均值作為傳入,上述 O 中傳入的車道占有率的觀察值均為該回合內傳入的均值。
3.2 紅綠燈智能體動作設定
控制路口最有效的方法就是使用紅綠燈來控制,通常情況下控制信號燈的方法有延長綠燈時長,減少綠燈時長,增加信號燈周期和減少信號燈周期等。本文從實際出發(fā)將動作設定為將左轉信號燈設置紅燈(禁左)、將右轉信號燈設置紅燈(禁右)、將直行信號燈設置紅燈(禁直)和禁止掉頭的四種方案。當車流量需要涌入另一個交通流量較大的路段時,可通過禁左、禁右、禁直和禁止掉頭進行調整。在動作設定中,先設置動作空間,將設定好的行為方案依次傳入動作空間中,因為動作的設定是通過信號燈來設計,如動作集 A={program 1,program 2,…,program n},其中n代表能進行選擇行為的總數(shù),將圖1中的案例代入動作集當中,其中program 1就代表著禁止左轉的行為例A={禁左,禁右,禁直,禁掉頭,…,program n} ,圖一中因為一共有四條路可進行設定的program,所以共有4×4=16種可行行為方案進行設定。
3.3 基于軌跡重構的智能體獎勵設定(trajectory reward)
當紅綠燈進行行為的選擇后會對地圖上的某些道路進行封禁,就會導致地圖上某些車輛無法通過該路段形成車輛死鎖,這就需要對車輛進行軌跡重構,將封禁路段從車輛的軌跡中刪除進行重新的路徑規(guī)劃。
軌跡重構的構想在對道路實施封禁后,需要對車輛進行軌跡重構。其主要思想是將補全好的路徑文件按照起點,終點搭配起來的OD對進行歸類。并將存在封禁路段的路線剔除。然后將OD對設為Q表的state,該OD對的相關路線設為Q表的action來進行馬爾可夫決策訓練找到最好的路線搭配方式來運行同時也實現(xiàn)了路段封禁的效果,軌跡重構的設計思想不是本文智能體交互的重點,重構的目的僅僅只是將在不改變起點和終點的情況下,將封禁的路段改變路線,能夠使得車輛正常行駛,避免出現(xiàn)道路車輛死鎖現(xiàn)象。
根據(jù)上述來指定智能體所獲取的reward,針對每回合下對車輛重構軌跡來計算整個路網(wǎng)的車輛總等待時間。
reward=-(wt-selfwt) ""(9)
在模型中設定原環(huán)境下道路中車輛的總等待時間為 selfwt,通過強化學習每回合學習后車輛進行軌跡重構后的總等待時間為wt,在模型中wt 初始化為0,通過重構后軌跡行駛車輛的排隊時間與原有的排隊時間進行比對來做為該回合內的獎勵。
3.4 智能體協(xié)作
智能體通過采用集中培訓和分散執(zhí)行的框架來實現(xiàn)目標,使用集中的critic網(wǎng)絡的優(yōu)勢在于,在交通環(huán)境下多智能體之間需要通過相互配合達到路網(wǎng)暢通率最大,各個智能體是需要相互配合的,所有智能體都是要使得共同回報最大化,并且是critic網(wǎng)絡可以收集到環(huán)境中的全局結果,使得最后計算出的聯(lián)合行動的Q值更加準確,同時actor網(wǎng)絡只針對各自的Agent負責而不是全部或者多個智能體,這樣會使得智能體在學習過程中的行動延遲降低。因為智能體擁有相同的目標并且是同質的 ,所以為了加快訓練速度,通過參數(shù)共享的方式來加快訓練速度,智能體的actor網(wǎng)絡參數(shù)是相同的并不代表著這些智能體會采取相同的行為,每個智能體根據(jù)自身周圍觀察環(huán)境不同來采取不同的行為。并且,當策略在執(zhí)行的過程中允許使用額外的信息來簡化訓練,在智能體協(xié)作的過程中,提出一個簡易的actor-critic算法,讓critic網(wǎng)絡在學習的過程中加入其他智能體的信息進行學習,所以根據(jù)參數(shù)共享的結果,可以每個智能體得到的TD遵循為
g= ""θπ log π(a i|o i)(r+Vπ(S t+1)-V(S t)) ""(10)
3.5 SubNet網(wǎng)絡構造
同時通信對于智能體之間的協(xié)作也是非常重要的,critic是匯集了整個環(huán)境中的所有信息,通常在多智能體的環(huán)境下會有大量高維度的信息匯總,所以可以在actor網(wǎng)絡在傳送到critic網(wǎng)絡之前加入一個SubNet網(wǎng)絡,該神經(jīng)網(wǎng)絡獲取了智能體傳入的高緯度信息,經(jīng)過該網(wǎng)絡處理后將每個高緯度信息壓縮成低緯度信息進行傳入到critic網(wǎng)絡。因為在所處的實驗環(huán)驗環(huán)境下,智能體是同質的所以該神經(jīng)網(wǎng)絡也是和actor網(wǎng)絡一樣是共享參數(shù)的。由圖4所示,網(wǎng)絡輸入的是三個路口的狀態(tài)( I,I 1,I 2 ),可以看到圖中采用卷積網(wǎng)絡的第一層采用的是16個4×4的濾波器,步長為2,并且使用ReLU作為激活函數(shù),第二層有32個2×2的濾波器,步長為1,繼續(xù)使用了ReLU作為激活函數(shù)。
3.6 基于TR-Light控制信號燈的模型設計
對于傳入SubNet的網(wǎng)絡中觀察值為一個矩陣,該矩陣中插入了之前規(guī)劃的狀態(tài)設定也就是之前將道路離散化后的車道占有率以及路口等待時間。因為將道路離散化后分為10段,將每段的數(shù)據(jù)以及兩端路中每段路的車輛等待時間傳入到SubNet當中,同時還傳入了其他智能體的相關信息,SubNet網(wǎng)絡由神經(jīng)網(wǎng)絡構成,在傳入高維數(shù)據(jù)后通過神經(jīng)網(wǎng)絡將這些數(shù)據(jù)進行壓縮降維產生出新的信息,通過SubNet網(wǎng)絡傳入到critic網(wǎng)絡中進行學習,能夠提升critic的學習效率TR-light模型是基于actor-critic基本算法框架,在多智能體環(huán)境下加入了CTDE的方法進行構建的。基于軌跡重構模型(trajectory)和信號燈program的控制交通組織方案優(yōu)化算法TR-light,算法詳情如算法1所示。
算法1 TR-light:Trajectory Reward-Light
構造SubNet網(wǎng)絡
輸入: s 。
輸出: s 。
a) 傳入輸入觀察矩陣 o "i ,其中 o "i∈(o 1,…,o n),n為聯(lián)動智能體的個數(shù)(agent i(sepsiode t 1,…,sepsiode t 11),agent i+1(sepsiode t 1,…,sepsiode t 11 )根據(jù)聯(lián)動智能體來設定)。
b)神經(jīng)網(wǎng)絡第一層,構造二維卷積定義維度空間并且定義卷積沿寬度和高度方向的步長。
c)定義激活函數(shù)ReLU。
d)神經(jīng)網(wǎng)絡第二層,構造二維卷積定義維度空間并且定義卷積沿寬度和高度方向的步長。
e)定義激活函數(shù) ReLU。
f)定義第三層全連接網(wǎng)絡。
g)輸出新構造的狀態(tài)一維數(shù)組。
在構造SubNet網(wǎng)絡中完成智能體之間的交互,首先步驟a)將目標智能體和交互智能體進行獲取,通過步驟b)~f)搭建起神經(jīng)網(wǎng)絡,并將目標智能體獲取的觀察值以及跟目標智能體進行交互智能體的觀察值作為輸入,通過卷積進行特征提取,通過全連接層卷積輸出的特征轉換成一維的一個向量,該向量為目標智能體與鄰居智能體交互產生最終的觀察值結果。
構造actor網(wǎng)絡(對于多個agent需要構造多個actor網(wǎng)絡)
輸入: s(SubNet output),a,td_error 。
輸出: act_prob,train_op 。
a)構造狀態(tài)空間 N_S(N_S 的大小取決于鄰居路口的數(shù)量)和動作空間 N_A(N_A 的大小取決于智能體的行為,如圖5所示對應的狀態(tài)空間應為16)。
b)構造 s,a,td_error 變量。
c)建立actor網(wǎng)絡
d)輸出為 act_prob進行轉換log_prob=log(act_prob) 。
e) exp_v =reduce_mean( log_prob*td_error) 計算利益導向損失。
f)計算預計最大化價值 train_op使用minimize(-exp_v )。
g)agent進行l(wèi)earn的訓練(傳入 s,a,td_error) 。
h)執(zhí)行choose_action(傳入 s),輸出為act_prob 。
構建actor網(wǎng)絡,構造出網(wǎng)絡中需要獲取的狀態(tài)空間和動作空間,計算每個行為后的偏轉概率。
構造critic網(wǎng)絡
輸入: s,a,s_ 。
輸出: td_error 。
a)構造 s,r,s_變量 。
b)構構造critic網(wǎng)絡。
c)critic進行學習inputs( s,r,s_)計算出當前價值v和下一個狀態(tài)的價值v_。
d)計算 td_error 的并進行反向傳遞修改。
構造critic網(wǎng)絡,構造上述所需變量,將變量進行傳遞計算出選取行為后的 td_error,計算完畢后將td_error 進行反向傳遞給actor網(wǎng)絡。
模型設計
輸入: s,a 。
輸出: :r,td_error 。
a)構建衰敗值GAMMA。
b)構造actor網(wǎng)絡。
c)構造critic網(wǎng)絡。
d)構造SubNet網(wǎng)絡。
e)構造狀態(tài)空間 N_S 。
f)構造動作空間 N_A 。
g)在動作空間中隨機選出一種行為。
h)forench "epsiode "in range(1000000):
i)初始化 s 為當前第一狀態(tài),并得到該狀態(tài)的觀察值 o ,并構造出SubNet網(wǎng)絡,進行傳入得到新的觀察值。
j)在actor網(wǎng)絡中將觀察值作為輸入,輸出行為 a,基于該行為會得到新的狀態(tài)s_,反饋R 。
k)在critic網(wǎng)絡中輸入當前 s,s_,r,得到計算出當前價值Q和下一狀態(tài)價值Q_ 。
l)計算 td_error的誤差:td_error=r+GAMMA*v-v_
m)更新AC網(wǎng)絡中的網(wǎng)絡參數(shù):
θ ""θ+α θQ(s,a) ""θ log π θ(a|s)
n)print(當前輸出策略 td,r) 。
o)對車輛進行軌跡重構。
p)end for
q)return最終輸出的策略, e,td
步驟a)~f)構造出所需要的變量,在模型開始運作時,首先隨機選取一組行為進行實驗,將目標智能體和交互智能體獲得的觀察值傳入到SubNet網(wǎng)絡中,生成出新的一維觀察值,將新的觀察值傳入到actor網(wǎng)絡獲取到該智能體的行為偏轉概率。如果在多智能體的環(huán)境下,需要建立起多個智能體的actor網(wǎng)絡,算出每個智能體的行為偏轉概率,將多個actor的計算結果傳入到集中式critic網(wǎng)絡,因為時集中式訓練分布式執(zhí)行的思想,critic網(wǎng)絡會和其他actor網(wǎng)絡公用同一個參數(shù)進行反向傳遞。
4 實驗
本實驗分別針對單路口和多路口進行基于TR-light交通信號控制模型的實驗評估,本實驗采用的仿真平臺為SUMO,SUMO是一種開源的道路模擬器,可以滿足模擬實驗中所需要相關數(shù)據(jù)的收集還有交通行為的模擬以及需要的路網(wǎng)建設,關鍵的是還能收集到交通信號燈的配時數(shù)據(jù)。編寫代碼的開發(fā)IDE工具使用的是PyCharm,在完成相關的強化學習和神經(jīng)網(wǎng)絡的構建使用的是TensorFlow-GUP-1.4.0版本和NumPY,需要完善上述擴展,其次最重要的是要實施SUMO Traci的交通控制接口,Traci可以幫助擴展在動態(tài)時控制交通信號燈,可以調用SUMO仿真工具、獲取單個的車輛信息以及獲取每條道路的詳細數(shù)據(jù)和實時路況。
為了實驗的真實性,本文所設置的實驗環(huán)境選取為四川省綿陽市內兩個交通高峰地區(qū)進行交通信號燈的方案實施。實驗(實驗1)環(huán)境為2020年9月份綿陽市科博會區(qū)域的道路管控,在該仿真系統(tǒng)中的數(shù)據(jù)選取為當日早上07:00~10:00時間內共有101 226輛汽車部署到該環(huán)境中,模式初始設置為67輛汽車,隨機種子參數(shù)設為4, 在該環(huán)境中車輛的OD對共有276種,在原始環(huán)境下在該區(qū)域內的車輛總等待時長493 161 s,同時在實驗開始之初, 將對實施管控的路口進行建立線圈處理,線圈是SUMO仿真系統(tǒng)種特有獲取道路實施狀態(tài)的方法,該實驗環(huán)境效果如圖5所示。
如圖6所示,該區(qū)域為科博會的重要路段,其中交叉口E與D為區(qū)域內的主要交叉口,通過SUMO中線圈功能每10 min獲取各個汽車信息得知,該路口的每小時通車量在該時間段內分別為845次和642次,將這兩個路口與其相鄰路口進行協(xié)調來達到該區(qū)域內的優(yōu)化,在引入強化學習方法后對部分路口作出封禁措施如圖7所示。
因為D和E是該區(qū)內的主要交叉口,通過強化學習進行訓練,給出的優(yōu)化方案方法中,最合理的結果如圖7所示,在C路口涌入D路口的直行路段實施道路封禁,同時對G路口涌入C路口的直行路段實施封禁,E路口向I路口禁止左轉,I路口向E路口禁止直行,圖7為宏觀展示,具體封禁方法如圖8微觀展示。
從微觀的角度可以更加詳細地看出每條道路實施的封禁,道路實施封禁后車輛無法從該路駛出需要對車輛進行軌跡重構,其中模型進行迭代訓練后分別與其他強化學習算法的實驗對比結果如圖9所示。
根據(jù)上述算法比對在上述環(huán)境中共有九個信號燈加入到算法其中,可以明顯的看出TR-Light的算法能夠比傳統(tǒng)的強化學習算法更加穩(wěn)定快速的收斂,同時根據(jù)方案實施封禁后對車輛的軌跡進行重構后通過線圈獲得的實時數(shù)據(jù)E和D兩路口的每小時通車量為1 291次和967次,有效地減少了兩路口的通車量數(shù)量。
本文的第二個對比實驗(實驗2)將綿陽園藝山區(qū)域的地圖使用SUMO軟件進行仿真出來,如圖10~13所示。
在SUMO種構建好仿真區(qū)域,并將紅綠燈的原始配時時間設定好,在紅綠燈的設置中,選取了幾個交通流量比較大的路口,并設置好紅綠燈。針對該路網(wǎng)車輛總等待時間進行對比實驗,在此環(huán)境中加入了真實的車輛數(shù)據(jù),在晚高峰17:00~19:00時間內,該區(qū)域一共有51 320輛汽車,同時該路網(wǎng)中車輛的OD共有137對,模型初始車輛46輛,將上述的重要路口進行線圈安裝,與實驗1相同每10 min獲取各個路段和路口的車輛信息,在歷史軌跡數(shù)據(jù)中晚高峰時間段,A、B兩個路口的車流量最大,由此A、B兩路口為該區(qū)域內的主要路口,該路口的每小時通車量在在該時間段內分別為467次和322次,該環(huán)境下共有7個紅綠燈加入到該模型的訓練中。在不使用任何強化學習方法的情況下,按交通信燈的原配時間內,該環(huán)境中的車輛總等待時長338 798 s,使用強化學習方法模型后迭代最終方案的結果如圖12~13所示,同時不同算法對該環(huán)境的總體優(yōu)化結果如圖14所示。
根據(jù)圖14反映的結果來看在迭代的前50回合內DQN和TR-light算法的效果翻譯差別還不是特別的明顯,在迭代的次數(shù)變多后,TR-light模型中的critic網(wǎng)絡開始逐漸地發(fā)生作用TD-error開始自我學習更新,逐漸地往較好的行為模式去行動,開始更改自己的相應策略,來保持策略的最新模式,由于Q-learing的強化學習方法并不含有神經(jīng)網(wǎng)絡,無法根據(jù)狀態(tài)進行預測,只是每次逐步地去選擇最優(yōu)的方式,所以優(yōu)化效果并不明顯,最后結果也無法得到收斂,TR-light模型的收斂速度隨著迭代的增加開始提速,是最優(yōu)先達到收斂結果的。在迭代訓練結束后,通過線圈獲得A、B兩個路口的每小時通車量為711次和532次,有效地提高了路網(wǎng)的暢通率。
針對上述兩個實驗,分別將本文中制定的交通指標進行統(tǒng)計,針對最終結果方案數(shù)據(jù)的對比結果如圖15~18所示。
首先根據(jù)實驗一綿陽科博會展示各項數(shù)據(jù)對比如圖15~16所示。實驗2園藝山展示各項交通指標數(shù)據(jù)對比如圖17、18所示。
5 結束語
在多交叉口環(huán)境下,通過控制交通信號燈設計一種TR-light的模型,借助了actor-critic的算法框架,同時使用了智能體之間集中式學習分散式執(zhí)行的方法,結合了集中式學習和分散式學習的優(yōu)點,使得算法在收斂速度上得到了較大的提升。通過多路口實驗數(shù)據(jù)的比對,傳統(tǒng)算法上的Q-learning算法在處理交通環(huán)境種中由于智能體的狀態(tài)是百變多樣的,Q學習沒有神經(jīng)網(wǎng)絡無法對狀態(tài)進行預測所以導致了該算法的難以得到收斂。對于DQN算法來講雖然有了神經(jīng)網(wǎng)絡的輔助但在多智能體的交互方法上沒有得到實施,TR-light模型的設計使得交通狀態(tài)得到改善,為后期多智能體強化學習的交通信號控制的應用奠定了基礎。
參考文獻:
[1] "曹潔,張玲.自適應遺傳算法的multi-agent交通信號優(yōu)化控制[J].計算機工程與應用,2016, 52 (13):265-270. (Cao Jie,Zhang Ling.Optimal control of multi-agent traffic signal based on adaptive genetic algorithm[J]. Computer Engineering and Applications ,2016, 52 (13):265-270.)
[2] Wei Hua,Chen Chacha,Zheng Guanjie, et al. "PressLight:learning max pressure control to coordinate traffic signals in arterial network[C]//Proc of the 25th ACM SIGKDD International Conference on Knowledge Discovery amp; Data Mining.New York:ACM Press,2019:1290-1298.
[3] 鄒長杰,鄭皎凌,張中雷.基于GAED-MADDPG多智能體強化學習的協(xié)作策略研究[J].計算機應用研究,2020, 37 (12):3656-3661. (Zou Changjie,Zheng Jiaoling,Zhang Zhonglei.Research on cooperative strategy based on GAED-MADDPG multi-agent reinforcement learning[J]. Application Research of Computers ,2020, 37 (12):3656-3661.)
[4] Mnih V,Kavukcuoglu K,Silver D,et al.Playing atari with deep reinforcement learning[EB/OL].(2013-12-19).https://arxiv.org/abs/ 1312.5602.
[5] Van Hasselt H,Guez A,Silver D.Deep reinforcement learning with double q-learning[EB/OL].(2015-12-08).https://arxiv.org/abs/ 1509.06461.
[6] Hernandez-Leal P,Kartal B,Taylor M E.A survey and critique of multiagent deep reinforcement learning[J]. Autonomous Agents and Multi-Agent Systems ,2019, 33 (6):750-797.
[7] Schulman J,Wolski F,Dhariwal P,et al.Proximal policy optimization algorithms[EB/OL].(2017-08-28).https://arxiv.org/abs/1707.06347.
[8] Wei Hua,Xu Nan,Zhang Huichu, et al. "CoLight:learning network-level cooperation for traffic signal control[C]//Proc of the 28th ACM International Conference on Information and Knowledge Management.2019:1913-1922.
[9] Urbanik T,Tanaka A,Lozner B, et al. "Signal timing manual[M].Washington,DC:Transportation Research Board,2015.
[10] Little John D C,Kelson Mark D,Gartner,Nathan H.MAXBAND :a versatile program for setting signals on arteries and triangular networks,1185-81[R].[S.l.]:Sloan School of Management,Massachusetts Institute of Technology,1981.
[11] Robertson D I.TRANSYT:a traffic network study tool[EB/OL].(1969).https://trid.trb.org/view/115048.
[12] Varaiya P.Max pressure control of a network of signalized intersections[J]. Transportation Research Part C:Emerging Technologies ,2013, 36 (11):177-195.
[13] Miller A J.Settings for fixed-cycle traffic signals[J]. Journal of the Operational Research Society ,1963, 14 (4):373-386.
[14] Arel I,Liu C,Urbanik T, et al. "Reinforcement learning-based multi-agent system for network traffic signal control[J]. IET Intelligent Transport Systems ,2010, 4 (2):128-135.
[15] Dresner K,Stone P.Multiagent traffic management:opportunities for multiagent learning[C]//Proc of International Workshop on Learning and Adaption in Multi-Agent Systems.Berlin,Heidelberg:Springer,2005:129-138.
[16] El-Tantawy S,Abdulhai B,Abdelgawad H.Multiagent reinforcement learning for integrated network of adaptive traffic signal controllers(MARLIN-ATSC):methodology and large-scale application on downtown Toronto[J]. IEEE Transactions on Intelligent Transportation Systems ,2013, 14 (3):1140-1150.
[17] Zhang Kaiqing,Yang Zhuoran,BaAr T.Decentralized multi-agent reinforcement learning with networked agents:recent advances[J]. Frontiers of Information Technology amp; Electronic Engineering ,2021, 22 (6):802-814.
[18] Sukhbaatar S,Szlam A,F(xiàn)ergus R.Learning multiagent communication with backpropagation[EB/OL].(2016-10-31).https://arxiv.org/abs/ 1605.07736.
[19] Jang E,Gu Shixiang,Poole B.Categorical reparameterization with gumbel-softmax[EB/OL].(2017-08-05).https://arxiv.org/abs/1611.01144.
[20] Mao Hangyu,Gong Zhibo,Ni Yan, et al. ACCNet:actor-coordinator-critic net for \"learning-to-communicate\" with deep multi-agent reinforcement learning[EB/OL].(2017-10-29).https://arxiv.org/abs/ 1706.03235.
[21] Littman M L.Markov games as a framework for multi-agent reinforcement learning[M]//Cohen W W,Hirsh H.Machine learning proceedings 1994.[S.l.]:Morgan Kaufmann,1994:157-163.
[22] Lowe R,Wu Yi Tamar A, et al. Multi-agent actor-critic for mixed cooperative-competitive environments[EB/OL].(2017-07-07).https://arxiv.org/abs/1706.02275.
[23] Gupta S,Hazra R,Dukkipati A.Networked multi-agent reinforcement learning with emergent communication[EB/OL].(2020-04-09).https://arxiv.org/abs/2004.02780.