劉利軍, 王 州 , 余 臻
(1.廈門大學(xué)航空航天學(xué)院, 廈門 361101; 2. 廈門大學(xué)深圳研究院, 深圳 518057)
隨著全球人口的快速增長(zhǎng),以及城市化進(jìn)程的發(fā)展,專家預(yù)計(jì)21世紀(jì)的城市人口將急劇增加.當(dāng)務(wù)之急是城市有效地管理其基礎(chǔ)設(shè)施以應(yīng)對(duì)這一問題.設(shè)計(jì)現(xiàn)代化城市時(shí),一個(gè)關(guān)鍵的考慮因素是開發(fā)智能交通管理系統(tǒng).交通管理系統(tǒng)的主要目標(biāo)是減少交通擁堵.高效的城市交通管理能夠節(jié)省時(shí)間和財(cái)務(wù),并減少二氧化碳等大氣污染物排放到大氣中[1].已經(jīng)有許多學(xué)者提出方案解決這個(gè)問題[2].主要道路的交叉路口一般是通過交通信號(hào)燈管理.低效率的交通信號(hào)燈控制會(huì)導(dǎo)致許多浪費(fèi),增加車輛發(fā)生事故的風(fēng)險(xiǎn)[3]. 現(xiàn)有的交通燈控制信號(hào)按照固定程序不考慮實(shí)時(shí)交通流量,效率低.因此,研究人員提出了許多改進(jìn)方案,這些方案可以分為三類:第一類是預(yù)定控制程序,參考?xì)v史數(shù)據(jù)制定交通信號(hào)切換時(shí)間; 第二類是利用傳感器檢測(cè)來往車輛,用以延長(zhǎng)或縮短信號(hào)切換時(shí)間; 第三類是自適應(yīng)信號(hào)控制,根據(jù)交叉路口的當(dāng)前狀態(tài)自動(dòng)切換[4].本論文對(duì)第三類控制方法展開研究,利用深度強(qiáng)化學(xué)習(xí)方法設(shè)計(jì)一種十字路口交通信號(hào)智能控制方法.
近年來,很多研究者結(jié)合深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)技術(shù)來處理復(fù)雜的優(yōu)化問題,例如Atari 2600游戲[5],圍棋[6]等.1997 年Thorpe[7]首次將強(qiáng)化學(xué)習(xí)的方法應(yīng)用到交通信號(hào)控制,大家開始意識(shí)到強(qiáng)化學(xué)習(xí)為解決非線性、不確定性的復(fù)雜路網(wǎng)問題提供了一種新的思路.隨著人工智能的快速發(fā)展,深度強(qiáng)化學(xué)習(xí)被應(yīng)用到交通控制中.2016年Li等人將深度強(qiáng)化學(xué)習(xí)應(yīng)用于交通信號(hào)控制中,降低了車輛14%的等待時(shí)間[8].2018年Liang等人[3]改進(jìn)Dueling DQN[9]和DoubleDQN[10],將車輛等待時(shí)間降低了25.7%. 本論文通過分析交通環(huán)境特點(diǎn), 設(shè)計(jì)了特征強(qiáng)化策略梯度算法(Feature Enhance DDPG,F(xiàn)EPG)算法并將其應(yīng)用于交通信號(hào)控制系統(tǒng)中.
強(qiáng)化學(xué)習(xí)的基本結(jié)構(gòu)由智能體Agent和外界環(huán)境組成. Agent通過執(zhí)行動(dòng)作,從環(huán)境獲得下一狀態(tài)和獎(jiǎng)勵(lì)值.不斷循環(huán)該過程,直到滿足一定條件為止.通常一個(gè)強(qiáng)化學(xué)習(xí)問題可以視為馬爾可夫決策過程(Markov Decision Process,MDP)[11]. MDP將強(qiáng)化學(xué)習(xí)任務(wù)定義為元組.其中,S是環(huán)境狀態(tài)的集合;A是Agent的動(dòng)作空間集合;P是狀態(tài)之間的轉(zhuǎn)移概率;R是獎(jiǎng)勵(lì)函數(shù);γ∈[0,1]是獎(jiǎng)勵(lì)值的折扣因子. Agent從狀態(tài)s采取動(dòng)作a達(dá)到狀態(tài)s′并獲得獎(jiǎng)勵(lì)r表示為(s,a,rt,s′).我們將Agent執(zhí)行動(dòng)作的方法稱之為策略π.強(qiáng)化學(xué)習(xí)的目標(biāo)是最大化累積獎(jiǎng)勵(lì). 式(1)定義了累積獎(jiǎng)勵(lì)Rt.下標(biāo)t表示Agent執(zhí)行策略π的第t步.
(1)
以累積獎(jiǎng)勵(lì)為出發(fā)點(diǎn),誕生了基于值的強(qiáng)化學(xué)習(xí)方法如Q-learning[12]等. 利用神經(jīng)網(wǎng)絡(luò)擬合Q函數(shù).在策略π下Q函數(shù)的定義為式(2).
Qπ(s,a)=E[Rt|st=s,at=a,π]
(2)
結(jié)合卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)[13],循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[14]強(qiáng)化學(xué)習(xí)的應(yīng)用場(chǎng)景變得更為豐富.谷歌DeepMind工作室[15]于2015年提出了結(jié)合基于值的和基于策略方法優(yōu)點(diǎn)的深度確定性策略梯度算法(Deep Deterministic Policy Gradient,DDPG).本論文將改進(jìn)DDPG網(wǎng)絡(luò)利用特征增強(qiáng)算法和樣本去重環(huán)節(jié)提升網(wǎng)絡(luò)性能,最后,將算法應(yīng)用于交通信號(hào)控制中.
十字交叉路口交通環(huán)境十分復(fù)雜, 且交通信號(hào)燈的控制十分重要.本文利用SUMO[16]仿真環(huán)境驗(yàn)證算法有效性.道路模型的參數(shù)如表1所示. 車輛的污染排放模型可參考文獻(xiàn)[17].
2.2.1狀態(tài)s描述 如圖1所示十字路口狀態(tài)模型.路口的4個(gè)車道被劃分為4個(gè)單元,每個(gè)單元的長(zhǎng)度為50 m. 單元格下方有白,灰色兩個(gè)方格.若某個(gè)單元內(nèi)有n輛車,白色方格內(nèi)數(shù)字則為n, 灰色方格代表該單元內(nèi)車輛的平均速度,若n為0則平均速度取0, 否則取n輛車速度的平均值如式(3).因此狀態(tài)維度為32,如表2所示.
表2 狀態(tài)向量表
圖1 狀態(tài)描述Fig.1 State description
(3)
2.2.2動(dòng)作a描述 如表3所示, 十字交叉路口的交通信號(hào)燈由6個(gè)信號(hào)相位組成.相位按順序從1號(hào)變化到6號(hào)不斷循環(huán).每個(gè)相位由4個(gè)字母組成.每個(gè)字母代表一個(gè)路口信號(hào)燈的狀態(tài). 其中:G為綠燈,允許通行;R為紅燈,禁止通行;Y為黃燈,注意通行.例如相位GRGR表示此時(shí)1、3路口綠燈,2、4路口紅燈. 將1和4相位時(shí)間作為動(dòng)作a.考慮到車輛行駛速度,其范圍為5~50 s.其余相位設(shè)為安全的固定值.
表3 交通信號(hào)相位
2.2.3獎(jiǎng)勵(lì)值r描述 獎(jiǎng)勵(lì)值在強(qiáng)化學(xué)習(xí)中的作用為提供網(wǎng)絡(luò)訓(xùn)練方向,本論文目的為提高車輛在十字路口的通行效率,減少車輛等待時(shí)間.每輛車的等待時(shí)間定義為其行駛速度為0時(shí)所持續(xù)的時(shí)間,記作d,所有路口等待的所有車輛的累計(jì)等待時(shí)間記作D. 在t時(shí)刻的累計(jì)等待時(shí)間為Dt.獎(jiǎng)勵(lì)值定義如式(4)所示.
(4)
其中,n,m為t,t+1時(shí)刻路口等待的車輛數(shù)目;k為常數(shù);r越大, 代表減少的等待時(shí)間越多, 反之越少.算法的目的為盡量增大獎(jiǎng)勵(lì)值r.
DDPG網(wǎng)絡(luò)由策略網(wǎng)絡(luò)A,價(jià)值評(píng)價(jià)網(wǎng)絡(luò)C組成.其中策略網(wǎng)絡(luò)A分為A-online和A-target兩個(gè)網(wǎng)絡(luò),其參數(shù)分別表示為θ,θ′.評(píng)價(jià)網(wǎng)絡(luò)分為C-online和C-target兩個(gè)網(wǎng)絡(luò),其參數(shù)分別表示為φ,φ′.本論文針對(duì)交叉路口環(huán)境的特點(diǎn)提出兩點(diǎn)改進(jìn): (1) 交叉路口的狀態(tài)維度為32, 其中可能存在對(duì)訓(xùn)練結(jié)果無貢獻(xiàn)維度. 利用基于信息增益的特征增強(qiáng)算法, 自動(dòng)優(yōu)化狀態(tài); (2) 在DDPG算法中,經(jīng)驗(yàn)池是樣本的唯一來源,保持經(jīng)驗(yàn)池樣本的多樣性有利于網(wǎng)絡(luò)收斂. 網(wǎng)絡(luò)訓(xùn)練時(shí)按照余弦相似度算法隨機(jī)丟棄樣本.本論文中將改進(jìn)的DDPG網(wǎng)絡(luò)框架簡(jiǎn)稱為FEPG(Feature Enhance DDPG)網(wǎng)絡(luò),如圖2所示. FEPG算法首先從預(yù)訓(xùn)練階段開始,預(yù)訓(xùn)練階段的主要目的是進(jìn)行原始樣本采集, 并應(yīng)用特征增強(qiáng)算法和樣本去重算法.特征值增強(qiáng)和樣本去重算法的原理如下.
(1) 特征增強(qiáng)算法:由于交通環(huán)境的狀態(tài)量維度較高, 其中很可能存在干擾收斂的無關(guān)維度. 特征增強(qiáng)算法的核心思想是通過樣本的信息增益來篩選合適的特征. 將狀態(tài)s表示為向量s={x1,x2,...,x32}.特征篩選算法目的是降低不相關(guān)特征對(duì)訓(xùn)練的影響. 經(jīng)驗(yàn)池在算法的預(yù)訓(xùn)練階段將累積n組樣本. 對(duì)于隨機(jī)變量X, 可以求其信息熵:
(5)
以及給定條件Y下的條件熵:
(6)
信息增益則可以表示為
IG(Y|X)=H(Y)-H(Y|X)
(7)
信息增益越大說明隨機(jī)變量X對(duì)于Y的貢獻(xiàn)越大. 信息增益用于計(jì)算離散變量, 因此將獎(jiǎng)勵(lì)值和狀態(tài)離散化, 狀態(tài)的第i個(gè)維度的信息增益可以表示為
hi=IG(R|Xi)
(8)
(9)
(10)
(2) 樣本去重算法:樣本去重的目的為保持樣本的多樣性, 加快算法收斂. 新進(jìn)加入的樣本與樣本池中的樣本隨機(jī)比對(duì)相似度. 相似度越高, 樣本被丟棄的可能性越高.相似度利用樣本間的余弦值表示,丟棄概率表達(dá)式如式(11),其中α為丟棄系數(shù).
(11)
圖2 FEPG算法結(jié)構(gòu)Fig.2 FEPG algorithm structure
待數(shù)據(jù)采集完畢后接著進(jìn)入訓(xùn)練階段.訓(xùn)練階段中4個(gè)神經(jīng)網(wǎng)絡(luò)相互作用,迭代.各個(gè)網(wǎng)絡(luò)的作用和相互之間的關(guān)系如下.
(12)
θ′←τθ+(1-τ)θ′
(13)
(14)
φ′←τφ+(1-τ)φ′
(15)
式(12)和式(14)中m為訓(xùn)練batch大小,τ一般取0.01.以上對(duì)各個(gè)網(wǎng)絡(luò)的描述可以知道target網(wǎng)絡(luò)應(yīng)當(dāng)分別和online網(wǎng)絡(luò)具有相同的網(wǎng)絡(luò)結(jié)構(gòu).動(dòng)作網(wǎng)絡(luò)在輸出時(shí)會(huì)添加均值為0,方差按指數(shù)規(guī)律衰減的高斯噪聲. 目的是鼓勵(lì)智能體在前期探索盡可能大的狀態(tài)空間.根據(jù)以上對(duì)網(wǎng)絡(luò)訓(xùn)練方法的分析, FEPG算法流程如算法1所示.
算法1FEPG算法流程
1) 初始化在線網(wǎng)絡(luò).并賦予隨機(jī)權(quán)重θ,φ
2) 初始化目標(biāo)網(wǎng)絡(luò)θ′,φ′,初始化經(jīng)驗(yàn)池R
3) forj= 1 toMdo
4) 隨機(jī)初始化環(huán)境,獲得初始狀態(tài)s
5) fort= 1 toTdo
6) 動(dòng)作網(wǎng)絡(luò)添加衰減的高斯噪聲輸出動(dòng)作a
7) Agent執(zhí)行動(dòng)作a并獲得樣本存入經(jīng)驗(yàn)池
8) 根據(jù)式(11)進(jìn)行樣本去重過程
9) if經(jīng)驗(yàn)池填充完畢
10) 根據(jù)式(8)和式(9)計(jì)算{ei}
11) if開始訓(xùn)練
12) 在經(jīng)驗(yàn)池中采集m個(gè)樣本并計(jì)算.
13) 使用最小化方差更新在線價(jià)值網(wǎng)絡(luò):
14) 使用策略梯度更新動(dòng)作網(wǎng)絡(luò):
15) 采用軟更新方式更新目標(biāo)網(wǎng)絡(luò):
θ′←τθ+(1-τ)θ′
φ′←τφ+(1-τ)φ′
16) endfor
17) endfor
我們?cè)谏衔乃龅慕煌ōh(huán)境中驗(yàn)證算法有效性, 并且對(duì)比定時(shí)控制FTC (Fixed Timing Control), Pang等人的DDPG[18]控制方法, Genders等人的DQN[19]控制方法與本文的FEPG控制方法. 其中FTC為傳統(tǒng)方法, DDPG和DQN為新型的強(qiáng)化學(xué)習(xí)方法.對(duì)比的核心指標(biāo)為算法的收斂性能,車輛的平均等待時(shí)間以及車輛排放數(shù)據(jù).
如表4所示, 本文設(shè)計(jì)了4組實(shí)驗(yàn), 分別是低車流密度低方差(Low Density Low Variance,LDLV), 低車流密度高方差(Low Density High Variance,LDHV), 高車流密度低方差(High Density Low Variance,HDLV), 高車流密度高方差 (High Density High Variance,HDHV). 車流密度指所有路口車輛數(shù)據(jù), 方差指4個(gè)路口車流量值與平均值之差的平方和, 方差越高表示路口的車流密度差異越大. 車流密度數(shù)據(jù)可見文獻(xiàn)[20].
表4 車流類型
一般交通信號(hào)燈的相位采用FTC方法控制. 實(shí)驗(yàn)測(cè)試不同環(huán)境下所有車輛的累積等待時(shí)間與1和4動(dòng)作相位間隔的關(guān)系, 每個(gè)間隔時(shí)間測(cè)試2 000 s,統(tǒng)計(jì)結(jié)果如圖3所示. 在圖3中用綠色標(biāo)記了交通累積等待時(shí)間較短的區(qū)間.針對(duì)4組實(shí)驗(yàn),將LDLV的固定間隔設(shè)置為30 s,LDHV的固定間隔設(shè)置為20 s, HDLV的固定間隔設(shè)置為35 s, HDHV的固定間隔設(shè)計(jì)為20 s.
圖3 不同信號(hào)燈間隔的平均等待時(shí)間Fig.3 Average waiting time at different signal time intervals
根據(jù)上文對(duì)環(huán)境的描述, 實(shí)驗(yàn)的狀態(tài)維度為32,動(dòng)作維度為1.設(shè)計(jì)FPPG網(wǎng)絡(luò)參數(shù)如表5所示. FEPG, DDPG, DQN算法的經(jīng)驗(yàn)池大小設(shè)為1萬,Batchsize為100,折扣取0.9. 訓(xùn)練200輪,每輪執(zhí)行200步后訓(xùn)練結(jié)果如圖4所示.總體而言FEPG收斂最快性能最好, DDPG性能其次. DDPG控制算法中將每一個(gè)車道劃分為多個(gè)單元,且需要保證每個(gè)單元內(nèi)僅有一輛車,狀態(tài)的維度為480. 其中很可能包含大量無效維度,導(dǎo)致其收斂不穩(wěn)定,特別是在HDHV環(huán)境中表現(xiàn)不佳. DQN控制算法的輸出動(dòng)作值為離散變量. 實(shí)驗(yàn)中將輸出動(dòng)作按5 s一個(gè)間隔進(jìn)行劃分.其輸出量不連續(xù)無法精確控制, 導(dǎo)致其效果最差.
表5 網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)
將訓(xùn)練完畢的網(wǎng)絡(luò)在4個(gè)實(shí)驗(yàn)環(huán)境中進(jìn)行測(cè)試, 測(cè)試時(shí)間為8 000 s. 圖5統(tǒng)計(jì)了8 000 s時(shí)間內(nèi)不同算法每輛車的平均等待時(shí)間.LDLV和LDHV統(tǒng)計(jì)了約1 500輛車, HDLV和HDHV統(tǒng)計(jì)了約2 500輛車.統(tǒng)計(jì)結(jié)果表明FEPG算法控制下的車輛等待時(shí)間平均比BFI降低了23.5%, 比DQN算法降低9.8%, 比DDPG算法降低了7.6%. 結(jié)果表明FEPG算法學(xué)習(xí)到了如何高效的控制交通信號(hào), 證明了算法的有效性.
表6 污染物排放對(duì)比
以HDLV環(huán)境為例,表6是FEPG算法組對(duì)比其他算法在的污染排放情況.通過SUMO提供的數(shù)據(jù)統(tǒng)計(jì)了8 000 s內(nèi)1 500輛車的污染排放情況. 依次是一氧化碳、二氧化碳、碳?xì)浠衔铩⑵囋胍?、氮氧化合物、和顆粒物排放.其中噪聲為8 000 s內(nèi)平均值, 其余為累計(jì)值. 相比FTC算法, 使用FEPG算法使污染排放比FTC平均降低了19.7%, 比DQN算法降低了6.3%,比DDPG算法降低了3.6%.說明FEPG算法在提高通行效率的同時(shí)也降低了污染的排放.
圖5 平均等待時(shí)間對(duì)比Fig.5 Comparisonof average waiting time
面對(duì)大城市日益嚴(yán)重的交通擁堵情況, 本論文設(shè)計(jì)了一種強(qiáng)化學(xué)習(xí)算法控制十字路口交通信號(hào)燈.基于DDPG算法結(jié)合特征增強(qiáng)算法和樣本去重算法設(shè)計(jì)了FEPG算法. 改進(jìn)算法相比文獻(xiàn)[18]的DDPG算法和文獻(xiàn)[19]的DQN收斂的更快.以典型的十字路口交通信號(hào)燈為例,設(shè)計(jì)多組實(shí)驗(yàn)驗(yàn)證算法有效性. 實(shí)驗(yàn)結(jié)果表明FEPG網(wǎng)絡(luò)在提高通行效率的同時(shí)也降低了汽車污染物排放.高效狀態(tài)特征選擇可以提高強(qiáng)化學(xué)習(xí)成功率, 交通環(huán)境中的數(shù)據(jù)多種多樣,后續(xù)研究的一個(gè)方向是如何在更加復(fù)雜的交通網(wǎng)絡(luò)中選取有效的環(huán)境特征.
四川大學(xué)學(xué)報(bào)(自然科學(xué)版)2021年4期