陳 孟,干 可,李 凱,陳 非,范 庸
(四川省公路出行智能服務(wù)工程試驗(yàn)室,四川 成都 610000)
作為現(xiàn)代智能交通系統(tǒng)研究中的核心問題,交通流預(yù)測旨在一定的時(shí)空范圍內(nèi)對車流量或者車速進(jìn)行估計(jì)[1]。一種可靠的、準(zhǔn)確的以及持久的交通流預(yù)測模型應(yīng)具備以下3個(gè)功能:(1)旅客出行信息智能查詢系統(tǒng);(2)智能交通管制系統(tǒng);(3)對以上兩個(gè)系統(tǒng)的性能能給出科學(xué)的評估和未來的優(yōu)化建議[1-2]?,F(xiàn)有交通流預(yù)測模型可以大致分為時(shí)間序列預(yù)測法[3-5]、概率圖模型[6-7]以及非參數(shù)策略[8-10]3類。其中前兩類方法存在以下問題:(1)在缺少了具體的場景和人工評估背景下所構(gòu)建的模型并不具有具體的場景針對性,而更多的是在一般場景下的概括描述;(2)相比于非參數(shù)策略,前兩種策略無法捕捉交通時(shí)序中的非線性場景[11-14]。然而就非參數(shù)策略而言,以人工神經(jīng)網(wǎng)絡(luò)為代表,目前大多數(shù)人工神經(jīng)網(wǎng)絡(luò)的構(gòu)建只有一個(gè)單隱藏層,原因在于多隱藏層的應(yīng)用并不一定能夠在相應(yīng)的場景下成功地構(gòu)建模型,在這一點(diǎn)上時(shí)間序列預(yù)測法中的線性構(gòu)建策略比人工神經(jīng)網(wǎng)絡(luò)表現(xiàn)地更好[15-17]。因此針對人工神經(jīng)網(wǎng)絡(luò)的缺陷,研究人員主要通過混合神經(jīng)網(wǎng)絡(luò)和控制神經(jīng)網(wǎng)絡(luò)構(gòu)建中的過擬合場景兩個(gè)方面來解決?;旌仙窠?jīng)網(wǎng)絡(luò)整合了不同的統(tǒng)計(jì)學(xué)方法和計(jì)算方法,其中最具代表性的是和時(shí)序預(yù)測策略的整合,Takagi-Sugeno模糊深度模型整合了模糊邏輯和前饋神經(jīng)網(wǎng)絡(luò)構(gòu)建短期交通流模型[18-19],Stathopoulos等[20]在此基礎(chǔ)上引入卡爾曼濾波對模型進(jìn)行優(yōu)化,Srinivasan等[21]則運(yùn)用模糊過濾參數(shù)對數(shù)據(jù)進(jìn)行聚類操作來作為前饋神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù),Tan等[22]利用傳統(tǒng)的滑動(dòng)平均和自回歸滑動(dòng)平均模型來作為神經(jīng)網(wǎng)絡(luò)的輸入。盡管混合神經(jīng)網(wǎng)絡(luò)整合了不同的計(jì)算策略,但是同時(shí)需要高性能和高存儲(chǔ)的計(jì)算設(shè)備作為支撐,另外硬件條件往往限制了混合神經(jīng)網(wǎng)絡(luò)策略真正的計(jì)算能力[23-25]。對于抑制過擬合策略而言,可以通過加噪的方式提高數(shù)據(jù)樣本的質(zhì)量,但這一方法同樣需要大量的計(jì)算時(shí)間和算法處理,另一種常用的方式則是運(yùn)用交叉驗(yàn)證,即把數(shù)據(jù)集劃分為擬合數(shù)據(jù)集和驗(yàn)證數(shù)據(jù)集[26-27],前者用于神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)而后者用于估計(jì)合法性誤差,當(dāng)錯(cuò)誤率低于設(shè)定的閾值時(shí)訓(xùn)練終止。然而Liu等[28]證明即便是合理的交叉驗(yàn)證也未必能夠避免過擬合現(xiàn)象,驗(yàn)證數(shù)據(jù)集往往并不具備足夠的數(shù)據(jù)代表性來提供沒有傾向的數(shù)據(jù)評估能力。
因此在本次研究中針對現(xiàn)有交通流預(yù)測方法的不足,提出了一種基于實(shí)時(shí)多模態(tài)時(shí)空數(shù)據(jù)的深度圖神經(jīng)網(wǎng)絡(luò)策略來構(gòu)建交通流的預(yù)測模型。首先采用時(shí)間圖卷積網(wǎng)絡(luò)模型對交通流數(shù)據(jù)的輸入向量先后進(jìn)行數(shù)據(jù)預(yù)處理和特征學(xué)習(xí),并對輸出結(jié)果用卡爾曼濾波進(jìn)行矯正,從中挖掘交通流數(shù)據(jù)中的本質(zhì)性規(guī)律,最后通過對該模型進(jìn)行抽樣以獲取高層次的特征向量來預(yù)測交通流的狀態(tài)。試驗(yàn)結(jié)果表明,該模型對交通流流量預(yù)測具有較好精度,是一種有效的交通流預(yù)測方法。
傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)無法勝任由圖策略構(gòu)建城市道路的能力,因?yàn)槌鞘械缆穲D并不是二維空間網(wǎng)格,傳統(tǒng)的CNN無法表現(xiàn)道路網(wǎng)絡(luò)復(fù)雜的拓?fù)浣Y(jié)構(gòu)以及捕捉空間內(nèi)部各個(gè)參數(shù)的依賴關(guān)系。因此針對傳統(tǒng)CNN在表達(dá)城市道路交通流上的不足,中南大學(xué)的李海峰團(tuán)隊(duì)于2019年提出了時(shí)間圖卷積網(wǎng)絡(luò)(Temporal Graph Convolutional Network, T-GCN)模型[29],該模型同時(shí)集成了圖卷積網(wǎng)絡(luò)(Graph Convolutional Network, GCN)和門控遞歸單元(Gated Recurrent Unit, GRU),其中圖卷積網(wǎng)絡(luò)通過學(xué)習(xí)復(fù)雜的拓?fù)浣Y(jié)構(gòu)來捕獲交通流圖節(jié)點(diǎn)間的空間依賴關(guān)系,而門控遞歸單元通過學(xué)習(xí)交通數(shù)據(jù)的動(dòng)態(tài)變化來捕獲時(shí)間依賴關(guān)系。
在描述空間依賴關(guān)系中,GCN模型的構(gòu)建通過鄰接矩陣和特征矩陣在傅里葉域中構(gòu)造了一個(gè)濾波器,該濾波器應(yīng)用于圖的各個(gè)節(jié)點(diǎn)上,通過它的一階鄰域捕獲節(jié)點(diǎn)之間的空間特征,然后通過疊加多個(gè)卷積層來構(gòu)建GCN模型:
(1)
在這里采用兩層GCN模型捕獲空間依賴關(guān)系,如下所示:
(2)
式中,x為特征矩陣,A為鄰接矩陣;w0和w1分別為第1層和第2層的單層GCN空間權(quán)重矩陣模型;Relu為線性整流函數(shù)。
而在時(shí)間依賴關(guān)系的描述中,由于長短期記憶網(wǎng)絡(luò)(Long Short-term Memory, LSTM)對于數(shù)據(jù)要求較為漫長的訓(xùn)練時(shí)間,因此選用結(jié)構(gòu)相對簡單,整體訓(xùn)練速度相對較快的GRU模型從交通數(shù)據(jù)中獲取時(shí)間相關(guān)性。因此對于整個(gè)T-GCN模型而言,GCN部分的某一時(shí)刻的輸出進(jìn)入特定的GRU模型中作為數(shù)據(jù)輸入,經(jīng)過GRU部分的更新門(Update Gate)和重置門(Reset Gate)的數(shù)據(jù)處理最終產(chǎn)生輸出結(jié)果。
由于實(shí)際場景交通流的時(shí)空演化具有非線性和不穩(wěn)定的特質(zhì),且不同的深度置信網(wǎng)絡(luò)所構(gòu)建的混合模型內(nèi)部的算法之間,并不能在復(fù)雜的場景條件和多參數(shù)的引用下實(shí)現(xiàn)很好的兼容和互補(bǔ),因此本研究基于T-GCN模型,在T-GCN輸出的結(jié)果輸出過程中引入卡爾曼濾波對原有的模型進(jìn)行改進(jìn),得到TK-GCN模型(Temporal Graph Convolutional Network with Kalman Filtering),旨在模擬降低因多參數(shù)的引入而產(chǎn)生的偏差[30]。
對于一個(gè)給定的路段Road,本研究定義其特征矩陣x,該矩陣由該路段的矩陣節(jié)點(diǎn)數(shù)n以及該節(jié)點(diǎn)屬性特征p所構(gòu)成,即歷史時(shí)間序列的長度值,xt即表示在t時(shí)刻下該路段的觀測圖輸入信號(hào);而對于鄰接矩陣A而言,其反映的是道路之間的交通流聯(lián)系參數(shù),因?yàn)镽elu函數(shù)的歸一化處理,其計(jì)算結(jié)果范圍在0到1之間,0表示兩條道路之間沒有任何聯(lián)系,而1表示兩條道路有聯(lián)系。鄰接矩陣A,即為不同道路節(jié)點(diǎn)數(shù)n所構(gòu)成。
因此整個(gè)交通流預(yù)測算法具體的流程如下所示:
(1) 獲取某時(shí)刻下交通流狀態(tài)的特征數(shù)據(jù),根據(jù)函數(shù)構(gòu)建特征數(shù)據(jù)集,原始數(shù)據(jù)集輸入信號(hào)即可表示為{x(ti),i=1,2,…,n}。
(2)將該歷史時(shí)間序列數(shù)據(jù)作為輸入,利用圖卷積網(wǎng)絡(luò)捕獲城市路網(wǎng)拓?fù)浣Y(jié)構(gòu),獲得空間特征。
(3)將輸出得到的具有空間特征的時(shí)間序列輸入門控遞歸單元模型,通過單元間的信息傳遞獲得動(dòng)態(tài)變化,捕捉時(shí)間特征。
(4)以全連接層的方式得到T-GCN輸出預(yù)測結(jié)果{h′(ti),i=1,2,…,n};得到的輸出數(shù)據(jù)集經(jīng)過卡爾曼濾波處理得到最終的輸出預(yù)測結(jié)果。整個(gè)過程如圖1所示。在T-GCN模塊當(dāng)中,ht為t時(shí)刻傳遞出的隱藏值,GC為圖卷積模塊(Graph Convolution),Ut和rt分別為t時(shí)刻的更新門(Update Gate)和重置門(Reset Gate)。而在卡爾曼模塊當(dāng)中,ht和Yt-1對應(yīng)的卡爾曼處理步驟定義為預(yù)測步驟(Prediction Step),Ct為將數(shù)據(jù)放縮到[-1, 1]范圍內(nèi)的tanh激活函數(shù)。
圖1 TK-GCN模型流程圖
rt=σ(Wrt)[ht-1,xt],
(3)
Ut=σ(WUt)[ht-1,xt],
(4)
ct=tanh(WCt[ht-1⊙rt,xt]),
(5)
ht=Ut⊙ht-1+(1-Ut)⊙Ct,
(6)
式中,Wrt,WUt,WCt分別為更新門、計(jì)算重制門及代入激活函數(shù)tanh計(jì)算時(shí)所對應(yīng)需要訓(xùn)練的矩陣。W為圖卷積網(wǎng)絡(luò)中需要訓(xùn)練的權(quán)重矩陣,每一層GRU的輸入都考慮了上一層GRU的輸出,從而捕獲了路網(wǎng)交通流的時(shí)序關(guān)系。
在卡爾曼的濾波處理過程中,經(jīng)過T-GCN輸出得到的交通流初始隱藏輸入信號(hào)序列{h′(ti),i=1,2,…,n}可以轉(zhuǎn)換成h′(t+1),而預(yù)測值在t時(shí)刻的交通流流量與該時(shí)刻前后的交通流流量相關(guān),因此可得:
h′(t)=?0V(t-1)+?1V(t)+?2V(t+1)+δ0(t),
(7)
式中,?0,?1以及?2分別為t前后即t-1,t以及t+1的矩陣參數(shù);V為該時(shí)刻的交通流量;δ0為人工引入的參數(shù)噪音,這里定義為協(xié)方差矩陣。而t前后的交通流量V( )做以下變換:
O(t)=[V(t-1),V(t),V(t+1)],
(8)
S(t)=(?0, ?1, ?2)T。
(9)
而根據(jù)卡爾曼濾波,因此式(8)、(9)可以整合成:
S(t)=φ(t)S(t-1)+n(t-1),
(10)
式中,S(t)為t時(shí)刻的狀態(tài)向量;φ(t)為t時(shí)刻對應(yīng)的狀態(tài)轉(zhuǎn)移矩陣,n(t)為t時(shí)刻人工設(shè)計(jì)的噪音處理函數(shù)。
因此經(jīng)過卡爾曼濾波處理的交通流量預(yù)測公式如下所示,其中β(t)即為觀測矩陣:
h′(t)=β(t)S(t)+δ0(t)。
(11)
由于T-GCN模塊引入了卡爾曼濾波修正,因此式(3)~(6)中的隱藏輸入信號(hào)ht-1修正為h′(t-1)。
該研究的試驗(yàn)數(shù)據(jù)、模型的仿真和驗(yàn)證工作基于川高系統(tǒng)視頻智能分析平臺(tái)(川高·智慧眼V2.0)實(shí)時(shí)記錄了2019年5月1號(hào)—10月30日成都繞城高速公路繞東路段,選擇繞東高速公路路段為主干道連接成都主城區(qū)共172條主要道路作為研究區(qū)域。試驗(yàn)數(shù)據(jù)主要包括兩個(gè)部分:一是一個(gè)172×172的鄰接矩陣,描述了道路之間的空間關(guān)系,每行表示1條道路,矩陣中的值表示道路之間的連接性。二是特征矩陣,描述了每條道路上的速度隨時(shí)間的變化,每行代表1條路,每列是不同時(shí)段道路上的交通速度。實(shí)時(shí)速度每間隔5 min采集1次,整個(gè)數(shù)據(jù)采集空間當(dāng)中共包含397個(gè)采樣點(diǎn)。由于交通流數(shù)據(jù)具有一定的規(guī)律性,且雙休日和工作日分別呈現(xiàn)出不同的數(shù)據(jù)特性,為了充分利用數(shù)據(jù)之間的規(guī)律性,文中針對高速公路交通流預(yù)測的訓(xùn)練數(shù)據(jù)將排除雙休日以及國家法定節(jié)假日的數(shù)據(jù),并用實(shí)際數(shù)據(jù)進(jìn)行驗(yàn)證工作。該數(shù)據(jù)由一個(gè)鄰接矩陣和一個(gè)特征矩陣構(gòu)成,通過智慧眼平臺(tái)的攝像頭位點(diǎn)之間的距離計(jì)算鄰接矩陣。試驗(yàn)中,輸入數(shù)據(jù)統(tǒng)一通過激活函數(shù)歸一化進(jìn)區(qū)間[0,1]。另外,80%的數(shù)據(jù)作為訓(xùn)練集,剩下的20%作為測試集,以此作為模型的輸入?;谝陨蠑?shù)據(jù),本研究預(yù)測未來10,20,30,40,50 min和60 min的交通速度。而為驗(yàn)證優(yōu)化后的算法能夠提高長時(shí)預(yù)測(30~60 min)的能力,同時(shí)不丟失短時(shí)預(yù)測(5~15 min)的水平。然而在實(shí)際高速公路路況當(dāng)中,相比起城市道路的時(shí)刻都有相對穩(wěn)定的車流量規(guī)律,高速公路連接城市部分的道路往往在全天呈現(xiàn)較大的規(guī)律性起伏,因此長時(shí)預(yù)測往往比短時(shí)預(yù)測更為滿足生產(chǎn)需要,短時(shí)預(yù)測對于高速公路而言并不具有一定的參考意義。
本研究模型基于TK-GCN,模型訓(xùn)練過程中涉及的超參數(shù)包括:學(xué)習(xí)率、訓(xùn)練集容量以及隱藏層數(shù)。研究中,本研究將學(xué)習(xí)率設(shè)置為0.001,選擇32個(gè)訓(xùn)練集,訓(xùn)練迭代次數(shù)為6 000從第20個(gè)epoch開始,每隔10個(gè)epoch學(xué)習(xí)率衰減為原來的1/10。在深度學(xué)習(xí)的架構(gòu)中,不同的隱藏層數(shù)值的大小對預(yù)測精度有較大的影響,隱藏層層數(shù)需要大量的測試來選定。因此為了選擇最優(yōu)的隱藏層數(shù)值,針對不同的隱藏層數(shù)進(jìn)行了嘗試,通過比較預(yù)測結(jié)果來選擇最優(yōu)值。在反復(fù)驗(yàn)證的過程中發(fā)現(xiàn),當(dāng)隱藏層數(shù)的取值大于60時(shí),均方誤差的值不再發(fā)生顯著的變化,所以將隱藏層數(shù)的上限值設(shè)置為60,最后輸出層的節(jié)點(diǎn)數(shù)為{5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60},設(shè)計(jì)隱藏層數(shù)的值為40。整個(gè)模型通過自適應(yīng)矩估計(jì)(Adaptive Moment Estimation, ADAM)優(yōu)化器對模型進(jìn)行訓(xùn)練。
為了能夠更好地分析和評價(jià)預(yù)測結(jié)果,本研究采用了絕對平均誤差(Mean Absolute Error, MAE),相對平均誤差(Mean Relative Error, MRE)以及決定系數(shù)(Coefficient of Determination,R2),3個(gè)指標(biāo)定義如下所示:
絕對平均誤差(MAE)
(12)
相對平均誤差(MRE)
(13)
決定系數(shù)(R2)
(14)
式中,YP為交通流量的預(yù)測值;YR為交通流量的真實(shí)觀測值;YA為統(tǒng)計(jì)區(qū)間內(nèi)的平均值。MAE和MRE的值越小,代表預(yù)測值誤差越小;R2計(jì)算相關(guān)系數(shù),數(shù)值越大,預(yù)測結(jié)果越接近真實(shí)水平。本研究所提出的改進(jìn)后TK-GCN模型與T-GCN模型、CRBM-DBN(Conditional Restricted Boltzmann Machine-deep Belief Nets)模型、LGCN-NGCN模型(Large-scale Learnable and Neighborhood-averaging Graph Convolutional Networks)以及FL-GCN-CNN模型(Functional linkable Graph Convolutional Networks with Convolutional Neural Networks)進(jìn)行比較,由表1可知,針對每種算法使用相同的數(shù)據(jù)集進(jìn)行驗(yàn)證后發(fā)現(xiàn),本研究提出的預(yù)測模型的誤差性能明顯優(yōu)于同樣基于深度置信網(wǎng)絡(luò)的T-GCN、CRBM-DBN、LGCN-NGCN以及FL-GCN-CNN這些混合模型,表明了改進(jìn)后的深度學(xué)習(xí)策略在交通流預(yù)測中的有效性。
表1 性能指標(biāo)對比
由于其他基于深度置信網(wǎng)絡(luò)的模型當(dāng)中,F(xiàn)L-GCN-CNN相比之下預(yù)測精度較高,因此就真實(shí)交通流量的預(yù)測效果方面,僅僅就TK-GCN模型以及FL-GCN-CNN模型與實(shí)際交通流速度作比較。這里以2019年5月13日—2019年5月17日60 min交通流車速跟蹤為例,對實(shí)際交通流量的預(yù)測由圖2可知,由于高速公路24 h的時(shí)段內(nèi)始終都會(huì)有一定的車流量水平,兩個(gè)模型對車流量的預(yù)測總體上與實(shí)際的交通流車速變化趨勢相比相差不大,但是TK-GCN算法在波峰和波谷的預(yù)測表現(xiàn),也就是上下高峰期時(shí)段交通流車速的預(yù)測,以及對交通流車速上升下降趨勢預(yù)測表現(xiàn),其所計(jì)算出的預(yù)測結(jié)果更吻合真實(shí)的交通流數(shù)據(jù)變化。
圖2 兩種模型的交通流車速預(yù)測數(shù)據(jù)與真實(shí)交通流車速觀測數(shù)據(jù)的對比
本研究基于改進(jìn)后的時(shí)間圖卷積網(wǎng)絡(luò)模型(TK-GCN)應(yīng)用于短時(shí)交通流預(yù)測。文中所介紹的方法利用圖卷積網(wǎng)絡(luò)(GCN)捕獲路網(wǎng)拓?fù)浣Y(jié)構(gòu),并對路網(wǎng)的空間依賴性進(jìn)行建模;同時(shí)利用門控遞歸單元(GRU)捕獲道路交通數(shù)據(jù)的動(dòng)態(tài)變化,并對其時(shí)間依賴性進(jìn)行建模,隨后對預(yù)測數(shù)據(jù)進(jìn)行卡爾曼濾波處理,從而挖掘交通流數(shù)據(jù)的本質(zhì)特征;最后利用該模型對未來的交通流流量進(jìn)行預(yù)測。試驗(yàn)結(jié)果表明,文中所構(gòu)建的交通流流量預(yù)測模型與傳統(tǒng)交通流預(yù)測模型相比,其預(yù)測數(shù)據(jù)值和實(shí)際測量的真實(shí)數(shù)據(jù)值偏差更小且更能吻合實(shí)際的交通流水平,證明該模型在交通流預(yù)測方面具有較高的預(yù)測精度。