徐恩炷 朱海龍 劉靖宇 石曄瓊 尹啟天
摘要:本文針對城市智能交通信號控制領(lǐng)域存在的控制效果差,算法收斂速度慢等問題,提出了一種基于異步優(yōu)勢行動者一評論者算法的深度強化學(xué)習(xí)的城市智能交通控制算法。首先抽象出交通路口的特征,輸入到由神經(jīng)網(wǎng)絡(luò)構(gòu)成的智能體,通過多個智能體異步學(xué)習(xí),解決了傳統(tǒng)方法控制效果不理想、訓(xùn)練耗時過長的問題。通過在開源交通模擬軟件sumo上進行仿真,對比固定時間和傳統(tǒng)方法控制的交通路口信號燈,不同的交通流量情況下的交通路口通行效率都有所提高。實驗證明本文提出的方法可以有效解決城市交通路口信號燈控制問題。
關(guān)鍵詞:智能交通:深度學(xué)習(xí);異步強化學(xué)習(xí)
0 引言
隨著經(jīng)濟的發(fā)展及科技的進步,城市中的機動車越來越多,交通擁堵問題逐漸開始顯現(xiàn)。導(dǎo)致城市交通擁堵的一個重要原因是城市道路交叉口的交通信號燈調(diào)度不合理,因此需要合理的交通信號燈調(diào)度來地緩解城市交通路口的擁堵。城市交通控制系統(tǒng)目的在于更好地控制城市交通路口交通信號燈,利用現(xiàn)有交通網(wǎng)絡(luò)道路的基礎(chǔ)設(shè)施,在沒有增加大量成本的情況下有效緩解城市交通路口的交通擁堵。但是,設(shè)計適合的城市交通控制系統(tǒng)仍然是當(dāng)前智能交通領(lǐng)域的熱點和難點。
本文提出的方法主要優(yōu)點在于:
(1)使用異步多線程技術(shù),有效利用計算機資源。
(2)所有實驗都在國際主流的開源交通模擬軟件sumo上進行了仿真實驗,方法的可信性和可靠性得到了充分驗證。
(3)通過多次實驗選擇了合適的超參數(shù),使得控制的穩(wěn)定性得到了提高,程序執(zhí)行的時間減少。
1 研究現(xiàn)狀和存在的問題
城市交通控制系統(tǒng)的研究大致經(jīng)歷了以下幾個階段。早期的城市交通控制系統(tǒng)主要建立在一些簡化的交通流模型上,并假設(shè)短期內(nèi)交通路口的流量不變。這種人工設(shè)置固定時間的時序方法存在一些不足:這種方法嚴(yán)重依賴于交通路口調(diào)度人員的經(jīng)驗:固定時序的交通信號燈在面對交通突發(fā)狀況時無法做出有效地應(yīng)對。隨著人工智能理論和智能控制技術(shù)的快速發(fā)展,出現(xiàn)了基于強化學(xué)習(xí)的城市交通控制方法。已成功用于除交通控制以外的許多應(yīng)用。對于交通控制問題,基于強化學(xué)習(xí)的方法通常將交通路口周圍的交通流狀態(tài)視為可觀察狀態(tài),將信號時序計劃的變化視為動作,并將交通控制的效果視為反饋。在經(jīng)過特征提取之后,交通控制問題可以被視為傳統(tǒng)強化學(xué)習(xí)問題并通過使用一些傳統(tǒng)強化學(xué)習(xí)算法來解決?;诨緩娀瘜W(xué)習(xí)的方法考慮了孤立交通路口的信號時序。其中大多數(shù)都是使用Q-Learning和SARSA等經(jīng)典算法,用于控制單個交通路口的交通信號燈。但是傳統(tǒng)的基于強化學(xué)習(xí)的方法使用表格來記錄和描述狀態(tài)和動作之間的關(guān)系。因此,很難將其用于具有多個交通路口的城市交通控制問題,因為狀態(tài)一動作空間的維度太大而無法學(xué)習(xí)。
深度學(xué)習(xí)作為人工智能研究的最新和成功的突破之一,已被引入并與強化學(xué)習(xí)方法相結(jié)合。深度強化學(xué)習(xí)的好處在于其能夠通過使用比表格更有效的數(shù)據(jù)結(jié)構(gòu)(深度神經(jīng)網(wǎng)絡(luò))來快速學(xué)習(xí)和捕獲狀態(tài)和動作之間的關(guān)系。深度學(xué)習(xí)和強化學(xué)習(xí)的整合,就是廣為人知的深度強化學(xué)習(xí),已經(jīng)成功解決如視頻游戲、圍棋游戲以及許多其它問題。L1等人最早提出了使用深度強化學(xué)習(xí)方法解決交通控制問題。在文章中,研究人員將這種方法應(yīng)用于不同的情景,通過新的流量狀態(tài)編碼方法或使用不同的模型(如深度確定性策略梯度),這些方法也得到了改進。但是,現(xiàn)有的基于深度強化學(xué)習(xí)的城市交通控制方法在具有多個交通路口的場景中并不具有很好的控制效果。第一,一些深度神經(jīng)網(wǎng)絡(luò)(例如深度O網(wǎng)絡(luò))用于模型狀態(tài)和動作之間的關(guān)系不適合包含多個交通路口的交通控制問題。第二,當(dāng)交通路口之間的相關(guān)性變高時,一些簡單的獎勵函數(shù)就無法很好地描述交通系統(tǒng)的狀態(tài)。第三,一些用于訓(xùn)練基于深度強化學(xué)習(xí)的城市交通控制模型的算法,無法在解決方案空間探索和最優(yōu)解決方案之間保持適當(dāng)?shù)钠胶猓@些算法收斂太慢而無法成為大規(guī)模城市交通信號控制問題的成功方案。
2 強化學(xué)習(xí)算法
2.1 異步多智能體強化學(xué)習(xí)算法
為了解決上述問題。本文提出一種利用異步優(yōu)勢行動者一評論者深度強化學(xué)習(xí)算法的城市智能交通控制系統(tǒng)。使用新的強化學(xué)習(xí)的獎勵函數(shù),對城市交通路口的信號燈進行自適應(yīng)控制。本文提出的城市交通控制方法,不僅解決了多個交通路口之間的協(xié)作問題及強化學(xué)習(xí)狀態(tài)空間的表達,并且有效控制方案的時間得到了降低,有效地提高了城市交通路網(wǎng)的路口通行效率。
2.2 異步優(yōu)勢行動者一評論者算法
本文提出的基于異步優(yōu)勢行動者一評論者(asynchronous advantage actor-critic,A3C)方法的深度強化學(xué)習(xí),較好地解決了系統(tǒng)的深度強化學(xué)習(xí)的收斂速度慢、學(xué)習(xí)效果差等問題。在異步深度強化學(xué)習(xí)方法中。A3C在各類動作空間的任務(wù)控制上表現(xiàn)最佳。其合并了以值函數(shù)為基礎(chǔ)(Olearning)和以動作概率為基礎(chǔ)(Policy Gradients)兩類強化學(xué)習(xí)算法。A3C具有基于獎勵值的優(yōu)化模式和對高維數(shù)據(jù)的快速優(yōu)化決策能力。算法原理如圖1所示。
2.3場景介紹
交通路網(wǎng)的示意如圖2所示。交通網(wǎng)絡(luò)由2條南北方向的道路和2條東西方向的道路組成。每條道路長500m,這4條道路構(gòu)成了4個交通路口。每條道路都是雙向四車道。將交通路網(wǎng)的4個路口的等待車輛數(shù)量作為一個一維數(shù)組,輸入神經(jīng)網(wǎng)絡(luò)。
動作集合:每個交通路口的車輛有4種狀態(tài),南北直行、東西直行、南北左轉(zhuǎn)、東西左轉(zhuǎn)。右轉(zhuǎn)總是被允許。場景如圖3、圖4所示。
2.4 算法設(shè)計
控制交通信號的智能體是由一個深度神經(jīng)網(wǎng)絡(luò)構(gòu)成。這個神經(jīng)網(wǎng)絡(luò)是一個全連接神經(jīng)網(wǎng)絡(luò),結(jié)構(gòu)為4*10*20*10*4,。輸出層有4個神經(jīng)元,每一個神經(jīng)元對應(yīng)著一個交通路口,每個神經(jīng)元有4種狀態(tài),對應(yīng)著交通路口的4種狀態(tài)。
學(xué)習(xí)算法:使用異步優(yōu)勢行動者一評論者算法將異步方法引入到深度強化學(xué)習(xí)中,代替經(jīng)驗重放機制:利用多線程技術(shù)使多個模型同時訓(xùn)練打破數(shù)據(jù)間的相關(guān)性,提升算法的學(xué)習(xí)效果、學(xué)習(xí)速度和學(xué)習(xí)穩(wěn)定性。
算法過程如下:
設(shè)公共部分的A3C神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),對應(yīng)參數(shù)θ,w,本線程的A3C神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),對應(yīng)參數(shù)。θ,w,全局共享的迭代輪數(shù)T,全局最大迭代次數(shù)Tmax,線程內(nèi)單次迭代時間序列最大長度Tlocal,狀態(tài)特征維度n,動作集A,步長α,β,熵系數(shù)c,衰減因子γ,探索率ε。
輸入:公共部分的A3C神經(jīng)網(wǎng)絡(luò)參數(shù),θ,w
(1)更新時間序列t=1;
(2)重置Actor和Critic的梯度更新量:dθ←0,dw←0:
(3)從公共部分的A3C神經(jīng)網(wǎng)絡(luò)同步參數(shù)到本線程的神經(jīng)網(wǎng)絡(luò):θ=θ,w=w:
(4)tatart=t,初始化狀態(tài)st;
(5)基于策略π(at|st;θ)選擇出動作at;
(6)執(zhí)行動作at得到獎勵r和新狀態(tài)st+1;
(7)t←t+1,T←T+1,
(8)如果St是終止?fàn)顟B(tài),或t-tatart==tlocal,則進入步驟(9),否則回到步驟(5);
(9)計算最后一個時間序列位置st的Q(s,t):Q(s,t)=
(11)更新全局神經(jīng)網(wǎng)絡(luò)的模型參數(shù):
θ=θ-αdθ,w=w-βdw。
(12)如果T>Tmax,則算法結(jié)束,輸出公共部分的A3C神經(jīng)網(wǎng)絡(luò)參數(shù)θ,w,否則進入步驟(3)。
3 實驗結(jié)果與總結(jié)
實驗結(jié)果見表1,使用異步優(yōu)勢行動者一評論者學(xué)習(xí)算法的城市智能交通信號燈,比傳統(tǒng)的強化學(xué)習(xí)和固定時間的交通信號燈的控制效果有了明顯的提升。而且本文提出的算法具有很好的適應(yīng)能力,在不同的通行量的情況下,算法的執(zhí)行效果都很好。表明算法具有很好的魯棒性。
4 結(jié)束語
本文通過分析傳統(tǒng)方法,提出了一種基于異步深度強化學(xué)習(xí)算法的城市智能交通控制方法,該方法在具有多個交通路口的城市交通路網(wǎng)控制方面不僅控制效果得到了提高,同時充分利用了計算機資源,使得算法在控制效果提升的同時算法收斂所用的時間相比于傳統(tǒng)的方法也有了減少。但是該方法還存在一些可以改進的空間。比如在更為復(fù)雜的大規(guī)模城市交通路網(wǎng)、具有行人的交通場景等,是下一步的研究目標(biāo)。