徐恩炷 朱海龍 劉靖宇 石曄瓊 尹啟天



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