李志鵑
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
交通預(yù)測(cè)是基于歷史交通數(shù)據(jù)對(duì)未來(lái)時(shí)刻的交通狀況(如交通速度、交通流量和交通占用率等)進(jìn)行預(yù)測(cè)。準(zhǔn)確實(shí)時(shí)的交通預(yù)測(cè)有助于交通規(guī)劃和管理,進(jìn)而緩解交通擁堵[1]。
近年來(lái),國(guó)內(nèi)外的研究者都致力于交通預(yù)測(cè)的研究且取得不錯(cuò)的成果。研究大致可以分為傳統(tǒng)方法和深度學(xué)習(xí)方法。傳統(tǒng)方法主要代表為歷史平均(historical average,HA)、差分自回歸移動(dòng)平均模型(auto-regressive integrated moving average model,ARIMA)[2]、向量自回歸(vector auto-regressive,VAR)[3],這種方法不能捕獲數(shù)據(jù)復(fù)雜的非線性關(guān)系,特征提取能力有限。2009年,Castro 等人[4]提出支持向量回歸(Support Vector Regression,SVR)方法用于交通流量預(yù)測(cè),該方法分析了交通流的非線性特征,但挖掘時(shí)空關(guān)系有限。隨著深度學(xué)習(xí)的發(fā)展,交通預(yù)測(cè)方法得到進(jìn)一步改進(jìn)。2014年,Huang等人[5]提出深度信念網(wǎng)絡(luò)(Deep Belief Nets,DBN)。2015年,Lv 等人[6]提出深度學(xué)習(xí)模型、自動(dòng)堆疊編碼器(Stacked Autoencoder,SAE)用于預(yù)測(cè)交通流量,以上2 種方法均采用柵格模型,只能應(yīng)用于標(biāo)準(zhǔn)網(wǎng)格數(shù)據(jù)且忽略了數(shù)據(jù)采集點(diǎn)本身的空間關(guān)系。
為更好地建模交通網(wǎng)絡(luò)的空間關(guān)系,近期研究將圖神經(jīng)網(wǎng)絡(luò)(graph convolutional neural networks,GCN)應(yīng)用于交通預(yù)測(cè)方法[7-9]。2018年,Yu 等人[10]提出了一種深度學(xué)習(xí)框架、時(shí)空?qǐng)D卷積網(wǎng)絡(luò)(STGCN),利用GCN 捕獲空間相關(guān)性,利用卷積提取時(shí)間特征。2019年,Guo 等人[11]提出(Attention based spatial-temporal graph convolutional network,ASTGCN)模型,從注意機(jī)制的角度出發(fā),該網(wǎng)絡(luò)使用2 個(gè)注意力層分別捕獲空間依賴性和時(shí)間相關(guān)性。2020年,Song 等人[12]的研究提出一種可以同步提取局部時(shí)空關(guān)系的時(shí)空模型(spatial-temporal synchronous graph convolutional network,STSGCN)。
受上述研究工作的啟發(fā),為了更好地捕獲交通網(wǎng)絡(luò)的時(shí)空相關(guān)性,進(jìn)一步提高預(yù)測(cè)性能,本文提出一種時(shí)空注意圖卷積網(wǎng)絡(luò)(spatial-temporal attention graph convolutional network,STAGCN)的交通預(yù)測(cè)模型,該方法能夠捕獲交通數(shù)據(jù)復(fù)雜的動(dòng)態(tài)時(shí)空特征。本文主要貢獻(xiàn)如下:
(1)設(shè)計(jì)了一種Encoder-Decoder 框架,具體來(lái)說(shuō),編碼器和解碼器均采用門(mén)控循環(huán)單元(gate recurrent unit,GRU),采用k階ChebNet 圖卷積[13]對(duì)歷史交通數(shù)據(jù)的空間依賴關(guān)系建模,在解碼器中加入時(shí)間注意機(jī)制,自適應(yīng)地學(xué)習(xí)編碼器輸出中更重要的部分,動(dòng)態(tài)學(xué)習(xí)時(shí)空相關(guān)性。
(2)提出將歷史時(shí)間步長(zhǎng)和與預(yù)測(cè)時(shí)間段間隔相同的周交通數(shù)據(jù)堆疊作為輸入,更好地捕獲時(shí)間和周期性。
(3)利用殘差網(wǎng)絡(luò)穩(wěn)定預(yù)測(cè)性能,并在2 個(gè)真實(shí)交通數(shù)據(jù)集上進(jìn)行消融實(shí)驗(yàn),驗(yàn)證了殘差、k階ChebNet 圖卷積和Encoder-Decoder 框架的有效性。
在本文中,交通數(shù)據(jù)包含N個(gè)道路節(jié)點(diǎn)(傳感器)、T個(gè)時(shí)間步、C個(gè)特征。文中將交通道路網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)定義為圖G=(V,E,A),其中V是一組節(jié)點(diǎn)(如交通傳感器);E是表示各節(jié)點(diǎn)之間的連接性的邊;A∈RN×N是鄰接矩陣,表示節(jié)點(diǎn)之間的依賴程度(按路網(wǎng)距離測(cè)量)。t時(shí)刻節(jié)點(diǎn)i的交通流量數(shù)據(jù)用xt,i∈RC表示,則Xt=(xt,1,xt,2,…,xt,N)∈RN×C表示t時(shí)刻所有節(jié)點(diǎn)的特征,如交通速度、交通流量和交通占用率等。本文研究主題為:
利用N個(gè)觀測(cè)點(diǎn)的p個(gè)歷史時(shí)間步長(zhǎng)的數(shù)據(jù)預(yù)測(cè)未來(lái)時(shí)間步長(zhǎng)為q的所有節(jié)點(diǎn)的交通流量。即輸入為X=(X1,X2,…,Xp)T∈RN×C×p,預(yù)測(cè)輸出表示為即:
本研究提出的基于時(shí)空注意圖卷積網(wǎng)絡(luò)的交通流量預(yù)測(cè)模型(STAGCN)框架如圖1 所示。是由GRU 構(gòu)成Encoder-Decoder 框架,在編碼器部分,采用k階的ChebNet 圖卷積對(duì)歷史數(shù)據(jù)的空間依賴關(guān)系進(jìn)行建模,將Tw周與預(yù)測(cè)時(shí)段相同時(shí)間間隔的交通數(shù)據(jù)Xw及輸入數(shù)據(jù)X進(jìn)行堆疊作為模型的輸入,同時(shí)可以捕獲歷史數(shù)據(jù)的周期性。解碼器部分引入注意機(jī)制動(dòng)態(tài)學(xué)習(xí)編碼器不同時(shí)刻的隱藏層狀態(tài)。此外,加入殘差網(wǎng)絡(luò)模塊提升網(wǎng)絡(luò)的性能。由ChebNet 圖卷積、注意機(jī)制的編-解碼器和殘差網(wǎng)絡(luò)共同組成時(shí)空注意模塊,堆疊N個(gè)上述時(shí)空注意模塊,最后通過(guò)卷積預(yù)測(cè)層預(yù)測(cè)未來(lái)道路的交通流量。
圖1 STAGCN 總體框架圖Fig.1 The architecture of STAGCN
1.2.1 空間相關(guān)性
道路上不同地點(diǎn)的交通流量是動(dòng)態(tài)變化的,節(jié)點(diǎn)上的流量不僅受之前自身交通狀況影響,而且也與相鄰節(jié)點(diǎn)的交通量息息相關(guān)。圖2 是交通節(jié)點(diǎn)空間相關(guān)性示意圖。
圖2 交通節(jié)點(diǎn)空間相關(guān)性示意圖Fig.2 The diagram of spatial correlation of traffic nodes
以節(jié)點(diǎn)1 為例,其流量受到節(jié)點(diǎn)2,3,4 和節(jié)點(diǎn)5 的影響,其中2 號(hào)節(jié)點(diǎn)的影響程度最大,因其在空間網(wǎng)絡(luò)上更接近1 號(hào)節(jié)點(diǎn)。本文為更好地捕獲節(jié)點(diǎn)間的空間相關(guān)性,應(yīng)用ChebNet 圖卷積捕獲交通數(shù)據(jù)的空間依賴關(guān)系。與圖卷積神經(jīng)網(wǎng)絡(luò)相比,ChebNet 圖卷積利用k階多項(xiàng)式擬合卷積核的方法,在降低計(jì)算復(fù)雜度的同時(shí)增大了感受野。k階ChebNet 多項(xiàng)式函數(shù)表示如下:
其中,θk是可訓(xùn)練參數(shù);L是鄰接矩陣A和度矩陣D構(gòu)成的對(duì)稱規(guī)范化拉普拉斯矩陣;λmax表示L的最大特征值;Tk(x)是切比雪夫多項(xiàng)式的定義;因切比雪夫多項(xiàng)式自變量范圍為[-1,+1],故使用
本文通過(guò)調(diào)整k階切比雪夫多項(xiàng)式的階數(shù),調(diào)整感受野,捕獲k階鄰居節(jié)點(diǎn)的空間相關(guān)性,確定空間特征的影響權(quán)重。
1.2.2 時(shí)間相關(guān)性
交通數(shù)據(jù)在時(shí)間維度上也存在動(dòng)態(tài)相關(guān)性,未來(lái)t +1 時(shí)刻的交通流量可能受t時(shí)刻的交通狀況影響較大,若t -α?xí)r刻發(fā)生交通事故或社會(huì)事件,則受之前t -α?xí)r刻的影響可能更大。此外,不同道路上,相同時(shí)間間隔的歷史交通流量對(duì)未來(lái)時(shí)刻流量的影響也是不同的。為此,本文采用注意機(jī)制來(lái)動(dòng)態(tài)捕獲不同地點(diǎn)、不同時(shí)間間隔的依賴性。具體而言,利用Attention 機(jī)制的Encoder-Decoder 框架,在解碼器部分動(dòng)態(tài)調(diào)整編碼器不同地點(diǎn)、不同時(shí)刻的隱藏層狀態(tài)對(duì)預(yù)測(cè)結(jié)果的影響權(quán)重。Attention 機(jī)制計(jì)算如下:
其中,tanh 是激活函數(shù);We,Wd是可訓(xùn)練參數(shù);He=[H0,e,H1,e,…,HT,e]是各個(gè)時(shí)刻隱藏層的狀態(tài);T是編碼器隱藏層狀態(tài)數(shù);H(t-1),d是解碼器在t-1 時(shí)刻隱藏層的狀態(tài);βt是注意系數(shù)向量;wt表示加權(quán)注意權(quán)重;xt表示t時(shí)刻解碼器的輸入;xd表示解碼器的輸出。
1.2.3 周期性
據(jù)生活規(guī)律來(lái)看,工作日的早高峰和晚高峰會(huì)有一定的相似性,而與周末的交通流模式不同。為更好地捕獲這一周期性,本文將交通數(shù)據(jù)中過(guò)去幾周與預(yù)測(cè)時(shí)段相同時(shí)間間隔的Tw/p周(Tw為時(shí)間步p的整數(shù)倍)數(shù)據(jù)進(jìn)行單獨(dú)劃分,如圖3 所示。
圖3 Tw/p 周劃分示意圖Fig.3 The schematic diagram of Tw/p
將Tw/p周與預(yù)測(cè)時(shí)段相同時(shí)間間隔的交通數(shù)據(jù)Xw作為編碼器輸入的一部分,提取交通數(shù)據(jù)的周期特征。
接下來(lái),模型中還加入了穩(wěn)定性能的殘差網(wǎng)絡(luò)層,而后通過(guò)卷積預(yù)測(cè)層輸出:
其中,ReLU是激活函數(shù);xd表示經(jīng)過(guò)解碼器后的輸出;“?”,“Φ” 分別是卷積操作和卷積核參數(shù);xr是殘差網(wǎng)絡(luò)層的輸出。
具體來(lái)說(shuō),本文中的殘差網(wǎng)絡(luò)同時(shí)使用了先降維減少計(jì)算的卷積層和還原輸入維度的卷積層,這樣可以在減少計(jì)算量的同時(shí)保證精度。研究推得,模型的預(yù)測(cè)結(jié)果為
本文在PeMSD4,PeMSD8 兩個(gè)真實(shí)高速公路交通數(shù)據(jù)集上進(jìn)行了大量的實(shí)驗(yàn),數(shù)據(jù)由加州高速路網(wǎng) Caltrans Performance Measurement System(PeMS)[14]收集。路網(wǎng)中收集實(shí)時(shí)數(shù)據(jù)的獨(dú)立傳感器超過(guò)39 000個(gè),且每5 min 匯總一次交通數(shù)據(jù),即1 h 有12 組數(shù)據(jù)。具體信息見(jiàn)表1。
表1 PeMS 數(shù)據(jù)集描述Tab.1 PeMS dataset description
采用與文獻(xiàn)[11]中相同的數(shù)據(jù)預(yù)處理步驟,初步預(yù)處理后,數(shù)據(jù)集中若有缺失值,則進(jìn)行線性插值填充并通過(guò)Z-Score[15]方法進(jìn)行標(biāo)準(zhǔn)化。本文中將數(shù)據(jù)集按照6:2:2 的比例分為訓(xùn)練集、驗(yàn)證集和測(cè)試集進(jìn)行實(shí)驗(yàn)。
本實(shí)驗(yàn)在Windows10 操作系統(tǒng)下(CPU:Inter(R)Core(TM)i9-10900X @ 3.70 GHz GPU:NVIDIA GeForce RTX 3090),基于Pytorch 深度學(xué)習(xí)框架,使用了CUDA10.1+cuDNN 進(jìn)行GPU 加速。
在研發(fā)的模型中,利用p=12 個(gè)歷史時(shí)間步長(zhǎng)來(lái)預(yù)測(cè)未來(lái)q=12 個(gè)時(shí)間步長(zhǎng)(即未來(lái)1 h)的交通流量。本文中選擇L2loss作為損失函數(shù),初始學(xué)習(xí)率為0.001,采用Adam優(yōu)化器進(jìn)行訓(xùn)練。模型中所有的卷積層都使用32 個(gè)卷積核,批處理大小為32,門(mén)控循環(huán)單元(GRU)的單元數(shù)為32,層數(shù)為2,周序列長(zhǎng)度Tw取12。此外,據(jù)文獻(xiàn)[11]的研究啟發(fā),測(cè)試了切比雪夫多項(xiàng)式階數(shù)k∈{1,2,3} 和時(shí)空注意模塊N∈{1,2,3} 對(duì)預(yù)測(cè)結(jié)果的影響,隨著k和N的增大,性能略有提高,綜合計(jì)算效率和預(yù)測(cè)性能提升的效果,選擇k=2,N=2 的參數(shù)配置。為防止訓(xùn)練過(guò)擬合,本文使用了 EarlyStopping 方法,patience設(shè)為20。
本文采用3 個(gè)常用于評(píng)估流量預(yù)測(cè)性能的評(píng)測(cè)指標(biāo):平均絕對(duì)誤差(MAE)、均方根誤差(RMSE)和平均絕對(duì)百分比誤差(MAPE)。其定義分別如下:
其中,n是樣本數(shù);表示預(yù)測(cè)值;yt表示真實(shí)值。
將本文的模型與8 種模型方法進(jìn)行對(duì)比,對(duì)這8 種模型可概述如下。
(1)HA(historical average):歷史平均模型,使用平均值作為預(yù)測(cè)結(jié)果。
(2)ARIMA(Williams and Hoel,2003)[2]:自回歸移動(dòng)平均模型。
(3)VAR(vector auto-regressive )[3]:捕獲交通序列間成對(duì)相關(guān)性的向量自動(dòng)回歸模型。
(4 )LSTM(Hochreiter and Schmidhuber,1997)[16]:長(zhǎng)短時(shí)記憶網(wǎng)絡(luò),一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)。
(5)DCRNN(Li et al.,2018)[17]:利用擴(kuò)散卷積捕獲時(shí)空特性的循環(huán)神經(jīng)網(wǎng)絡(luò)。
(6)STGCN(Yu et al.,2018)[10]:一種基于空間方法的時(shí)空?qǐng)D卷積模型。
(7)ASTGCN(Guo et al.,2019)[11]:使用注意力層和卷積網(wǎng)絡(luò)提取時(shí)空特性。
(8)STSGCN(Song et al.,2020)[12]:一種用于結(jié)合不同時(shí)間、節(jié)點(diǎn)間信息的時(shí)空同步機(jī)制。
本文提出的STAGCN 模型與基線模型在PeMSD4、PeMSD8 數(shù)據(jù)集上的預(yù)測(cè)性能對(duì)比見(jiàn)表2。
表2 不同模型在PeMS 數(shù)據(jù)集上的平均性能Tab.2 Average performance comparison of different algorithms on the PeMS dataset
從表2 中可以看出,STAGCN 模型在PeMSD4、PeMSD8 兩個(gè)數(shù)據(jù)集上的預(yù)測(cè)性能都達(dá)到了最優(yōu),證明本文的模型是有效的、且對(duì)數(shù)據(jù)的適應(yīng)性強(qiáng)。傳統(tǒng)的預(yù)測(cè)方法HA、ARIMA 僅考慮了時(shí)間相關(guān)性、而忽略了交通數(shù)據(jù)的空間特征,因此預(yù)測(cè)效果不好。神經(jīng)網(wǎng)絡(luò)方法LSTM 在PeMSD4 數(shù)據(jù)集上的預(yù)測(cè)誤差小于VAR 等傳統(tǒng)方法,但在PeMSD8 數(shù)據(jù)集上預(yù)測(cè)誤差大于VAR,其模型適應(yīng)性不佳。DCRNN 等基于圖結(jié)構(gòu)的預(yù)測(cè)方法效果較好,DCRNN 利用循環(huán)神經(jīng)網(wǎng)絡(luò)捕獲時(shí)間依賴性,在PeMSD8 數(shù)據(jù)集上的效果比STGCN 方法更好,但PeMSD4 數(shù)據(jù)集較差,說(shuō)明模型對(duì)交通數(shù)據(jù)的適應(yīng)性不佳。ASTGCN 與STSGCN 方法較之前的方法又有所改進(jìn),但是捕獲長(zhǎng)時(shí)時(shí)空依賴性的能力有限,預(yù)測(cè)效果還有待改進(jìn)。
為進(jìn)一步看出STAGCN 中各模塊的影響,下面進(jìn)行消融對(duì)比實(shí)驗(yàn)?;诒疚难邪l(fā)的STAGCN 模型,設(shè)計(jì)了3 個(gè)變種,詳見(jiàn)如下。
(1)STAGCN-C:移除了ChebNet 圖卷積模塊。
(2)STAGCN-E:移除了Encoder-Decoder 框架。
(3)STAGCN-R:移除了殘差網(wǎng)絡(luò)。
圖4、圖5 分別是在PeMSD4、PeMSD8 數(shù)據(jù)集進(jìn)行的變種模型實(shí)驗(yàn)的預(yù)測(cè)誤差條形圖。
圖4 各個(gè)變種在PeMSD4 數(shù)據(jù)集上的性能比較Fig.4 Performance comparison of variant models on PeMSD4 dataset
從圖4、圖5 中可以看到,本文研究提出的模型中各模塊都能發(fā)揮出作用,提高預(yù)測(cè)性能。其中,Encoder-Decoder 框架對(duì)模型的影響最大,對(duì)提高預(yù)測(cè)精度的能力更強(qiáng),這說(shuō)明解碼器中添加注意機(jī)制能捕獲不同時(shí)刻的重要性,自適應(yīng)地調(diào)整權(quán)重。k階ChebNet 圖卷積影響位居其后,殘差網(wǎng)絡(luò)又次之,這是因?yàn)榭紤]到計(jì)算效率和預(yù)測(cè)效果提高的程度,時(shí)空模塊和網(wǎng)絡(luò)深度并未過(guò)大,殘差網(wǎng)絡(luò)的作用不明顯。綜上,本文提出的STAGCN 模型中各個(gè)模塊都有效果,能夠幫助模型更好地進(jìn)行預(yù)測(cè)任務(wù)。
圖5 各個(gè)變種在PeMSD8 數(shù)據(jù)集上的性能比較Fig.5 Performance comparison of variant models on PeMSD8 dataset
本文提出了一種時(shí)空注意圖卷積模型STAGCN應(yīng)用于交通流量預(yù)測(cè)。STAGCN 是一個(gè)應(yīng)用Encoder-Decoder 框架,其中采用k階ChebNet 圖卷積網(wǎng)絡(luò)提取交通流的空間特征、同時(shí)將過(guò)去的周期交通數(shù)據(jù)作為編碼器輸入的一部分,捕獲交通數(shù)據(jù)的周期性。在解碼器部分,利用注意機(jī)制學(xué)習(xí)編碼器不同隱藏狀態(tài)的權(quán)重,基于此還設(shè)計(jì)了殘差網(wǎng)絡(luò)模塊穩(wěn)定模型的性能,避免因增加網(wǎng)絡(luò)深度引起性能降低的情況發(fā)生。在2 個(gè)真實(shí)的交通數(shù)據(jù)集上進(jìn)行大量的實(shí)驗(yàn),結(jié)果表明,本文提出的STAGCN 模型表現(xiàn)要優(yōu)于其他的模型,可以有效地捕獲交通流的動(dòng)態(tài)時(shí)空特性。
本文的模型在訓(xùn)練效率上略顯不足,在未來(lái)的工作中,會(huì)將其考慮進(jìn)去,同時(shí)增加現(xiàn)實(shí)不可控因素(如天氣和社會(huì)事件等),提高預(yù)測(cè)任務(wù)的效率和精度。此外,可以進(jìn)一步地將研發(fā)的STAGCN 模型應(yīng)用在別的時(shí)空數(shù)據(jù)預(yù)測(cè)中。