曹 陽,朱镕琦,沈琴琴,施 佺
(1.南通大學(xué) 信息科學(xué)技術(shù)學(xué)院,江蘇 南通 226019; 2.南通大學(xué) 交通與土木工程學(xué)院,江蘇 南通 226019)
隨著智能交通系統(tǒng)(intelligent transportation system,ITS)[1]的快速普及,越來越多的交通問題得到改善,然而交通路網(wǎng)的快速發(fā)展仍為ITS帶來了巨大的挑戰(zhàn)。交通流預(yù)測問題是ITS的重要實施基礎(chǔ)之一,旨在對指定高速公路或城市路網(wǎng)中的車流量、車輛速度、車輛密度等進行分析,建立相應(yīng)的模型,以預(yù)測未來某時刻或某時段內(nèi)的交通狀況。交通流量的精準(zhǔn)預(yù)測,可以使交管部門從被動接受式轉(zhuǎn)化為主動響應(yīng)式,及時做出精確管制措施,提高道路通行速度,緩解交通擁堵。
現(xiàn)有的交通流預(yù)測方法主要分為兩大類,即模型驅(qū)動方法和數(shù)據(jù)驅(qū)動方法[2]。模型驅(qū)動方法通常利用統(tǒng)計學(xué)方法對交通流數(shù)據(jù)序列或交通狀態(tài)進行建模,主要有ARIMA模型[3]、灰色預(yù)測模型[4]、小波分析模型[5]等。該類方法一般適用于交通模式基本固定的短期預(yù)測問題中,難以挖掘交通流數(shù)據(jù)中較強的非線性特征。同時,由于交通系統(tǒng)的不確定性,模型驅(qū)動方法無法捕獲突發(fā)事件對交通狀態(tài)的影響。數(shù)據(jù)驅(qū)動方法主要包括機器學(xué)習(xí)模型與深度學(xué)習(xí)模型。經(jīng)典的機器學(xué)習(xí)模型包括支持向量機回歸模型[6]、隨機森林模型[7]、K近鄰模型[8]等。深度學(xué)習(xí)模型主要為人工神經(jīng)網(wǎng)絡(luò)及其各類變種,擁有非常強的非線性特征挖掘能力,對數(shù)據(jù)的包容度比模型驅(qū)動方法高,適用于分析擁有復(fù)雜系統(tǒng)與突變事件的交通流狀態(tài)。
近年來,基于人工神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)模型在短時交通流預(yù)測中的研究層出不窮,為了提高神經(jīng)網(wǎng)絡(luò)對于交通流的適應(yīng)能力,通常針對不同的特征堆疊出不同的網(wǎng)絡(luò)結(jié)構(gòu)[9],在發(fā)展的過程中衍化出了各類變種模型。交通流預(yù)測模型存在時間維度信息和空間維度信息,分別需要不同的網(wǎng)絡(luò)提取不同維度的特征。在提取時間序列信息方面,循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)[10]表現(xiàn)出良好的效果,但容易產(chǎn)生梯度消失或者梯度爆炸的問題。RNN的變種模型長短時神經(jīng)網(wǎng)絡(luò)(long short-term me-mory,LSTM)和門控循環(huán)單元(gated recurrent unit,GRU)[11,12]針對傳統(tǒng)神經(jīng)網(wǎng)絡(luò)信息無法長期存在等問題進行改進,提高了時間序列數(shù)據(jù)的擬合處理效果。Bai等[13]為了緩解LSTM與GRU的梯度傳播和記憶長度出現(xiàn)的問題,提出了時域卷積網(wǎng)絡(luò)(temporal convolutional network,TCN),該模型能夠進一步有效挖掘時間相關(guān)性。
目前主要通過改進網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)的方式對時間序列網(wǎng)絡(luò)進行優(yōu)化[14]。雖然這類改進方法取得了一定的預(yù)測成果,但是交通流存在時空相互影響的作用效果,預(yù)測模型中需要同時考慮交通流在空間維度上的相互影響。路網(wǎng)節(jié)點的空間拓?fù)浣Y(jié)構(gòu)對交通流系統(tǒng)的影響極大,上游交通流量會導(dǎo)致下游的交通流量產(chǎn)生增減。因此在交通流的預(yù)測問題中,路網(wǎng)的空間拓?fù)浣Y(jié)構(gòu)也是建模過程的重要一環(huán),融合時間信息和空間信息的網(wǎng)絡(luò)結(jié)構(gòu)會擁有更高的預(yù)測精度。
路網(wǎng)中道路節(jié)點通常具有非歐幾里得結(jié)構(gòu),全局網(wǎng)絡(luò)結(jié)構(gòu)下節(jié)點間表現(xiàn)為有向連接或無連接的狀態(tài),因此無法簡單運用卷積神經(jīng)網(wǎng)絡(luò)的卷積層進行空間計算。圖卷積網(wǎng)絡(luò)(graph convolutional network,GCN)能夠從圖數(shù)據(jù)中提取特征,通過鄰接矩陣定義局部接受域,顯著提高了模型空間挖掘能力。但由于GCN模型基于頻譜域,利用拉普拉斯矩陣轉(zhuǎn)換,其存在一定的缺陷,對此,已有相關(guān)學(xué)者對GCN模型進行了改進,如Zhao等[15]將二維數(shù)據(jù)拓展到三維空間,利用GCN和GRU分別來提取交通數(shù)據(jù)的空間特征和時間特征,提出(temporal-graph convolutional network,T-GCN)模型,實驗驗證預(yù)測性能更優(yōu);Guo等[16]為解決交通流的動態(tài)時空關(guān)系,對時空圖卷積引入注意力機制,深度挖掘空間維度的相關(guān)性,提出了ASTGCN模型,有效深層次挖掘時空信息;馮等[17]考慮了全局路網(wǎng)下的空間影響程度,利用相關(guān)性分析方法加深對空間相關(guān)性的挖掘,有效提高了模型的預(yù)測精度;戴等[18]對交通流量進行分析,構(gòu)建切比雪夫卷積和GRU組件,結(jié)合編碼器-解碼器提出多時空圖卷積網(wǎng)絡(luò)(multi spatial temporal-graph convolutional network,MST-GCN)對時空特征進行提取,有效提高了預(yù)測的準(zhǔn)確性和穩(wěn)定性?,F(xiàn)有對時空特征進行融合的預(yù)測模型通常采用提取交通流數(shù)據(jù)的時間信息和空間信息后進行特征融合的方式,但是對于時空維度的提取依然存在梯度爆炸、空間特征挖掘缺失等問題。
為了進一步挖掘交通流的時空依賴性,提高模型預(yù)測精度,同時緩解時間序列模型存在的內(nèi)存消耗和梯度問題,本文通過優(yōu)化GCN網(wǎng)絡(luò)結(jié)構(gòu)并分析交通流間的動態(tài)時空關(guān)系,提出了基于時域圖卷積神經(jīng)網(wǎng)絡(luò)的交通流預(yù)測模型(time domain graph convolutional network,TDGCN),通過定義路網(wǎng)節(jié)點的權(quán)重關(guān)系區(qū)分相鄰節(jié)點對目標(biāo)節(jié)點的影響程度,利用多階近鄰連接擴大GCN模型的感知野范圍加深對空間信息的挖掘程度,采用時域卷積網(wǎng)絡(luò)獲取時間依賴關(guān)系同時緩解梯度爆炸的問題,以期能夠提高交通流預(yù)測模型性能。
路網(wǎng)的空間結(jié)構(gòu)類似圖的拓?fù)浣Y(jié)構(gòu),將路網(wǎng)中傳感器節(jié)點拓?fù)浣Y(jié)構(gòu)抽象為拓?fù)鋱DG(V,E,A), 其中V表示路網(wǎng)傳感器節(jié)點集合且不區(qū)分傳感器連接方向,E表示圖G中節(jié)點間無向邊的集合,A∈RN×N表示拓?fù)鋱D的鄰接矩陣,N表示傳感器節(jié)點數(shù)量。
設(shè)當(dāng)前時刻t的數(shù)據(jù)特征為
[Xt+1]=f(G|(Xt-T,Xt-T+1,…,Xt-1,Xt))
(1)
為了加深網(wǎng)絡(luò)對交通流數(shù)據(jù)時空信息的挖掘程度,本文提出了一種時域圖卷積神經(jīng)網(wǎng)絡(luò)(TDGCN)模型,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。本文模型由3個組件構(gòu)成,包括:輸入組件、時空組件和全連接輸出組件,其中時空組件由空間特征挖掘和時間特征挖掘組成。首先模型將選取的交通特征與其空間鄰接關(guān)系作為模型的輸入;利用GCN挖掘空間依賴,通過各傳感器節(jié)點的歐氏距離構(gòu)建帶有閾值限制的鄰接矩陣,引入多層近鄰連接方法,通過設(shè)置階值調(diào)整GCN模塊的空間感知野;其次將GCN輸出的節(jié)點信息,輸入TCN中,通過膨脹卷積提取交通流的時間信息;最后利用Dense網(wǎng)絡(luò)對TCN的輸出進行一次非線性變化并輸出模型預(yù)測結(jié)果。
圖1 模型結(jié)構(gòu)
模型可以通過鄰接矩陣閾值限制的方式提高模型對傳感器節(jié)點關(guān)系的分析,同時利用多階近鄰的方式加深模型的空間提取能力,采用TCN提取模型可有效捕獲更長的有效歷史信息。
交通流預(yù)測問題中傳感器的空間節(jié)點呈現(xiàn)出非歐幾里得結(jié)構(gòu)性。GCN模型是對非歐式數(shù)據(jù)進行處理的深度學(xué)習(xí)方法,能夠同時學(xué)習(xí)圖中節(jié)點結(jié)構(gòu)信息與特征信息,其卷積操作的計算規(guī)則為
(2)
在復(fù)雜的交通流環(huán)境中,鄰接矩陣由路網(wǎng)中各傳感器的拓?fù)潢P(guān)系確定。然而傳統(tǒng)的鄰接矩陣A是由0或1組成的對稱稀疏矩陣,并不能反映出不同傳感器之間存在的空間依賴性差異,僅僅利用0或1表征連通情況無法體現(xiàn)出節(jié)點間的空間相關(guān)性,因此本文利用帶有閾值限制[19]的權(quán)重計算方法對鄰接矩陣進行重新構(gòu)造,其計算公式如下
(3)
式中:Aij表示為節(jié)點vi與節(jié)點vj的權(quán)重值,distance(vi,vj)表示節(jié)點vi與節(jié)點vj的歐式距離,δ2用來控制鄰接矩陣權(quán)重的分布情況,通常取值為10。
同時,實驗研究發(fā)現(xiàn)多層的GCN網(wǎng)絡(luò)雖然能夠聚合多階節(jié)點間的空間相關(guān)性,但會容易出現(xiàn)過平滑現(xiàn)象,節(jié)點區(qū)分能力較差。因此,為了解決過平滑問題,本文模型采用多層近鄰連接[19]的方法,利用不同維度的感受野增強模型對節(jié)點的表征能力,即式(2)可改寫為
(4)
式中:k∈Z+。 當(dāng)k=1時多階近鄰連接退化為傳統(tǒng)GCN模型。
為解決傳統(tǒng)RNN的梯度爆炸和梯度消失等問題,Hochreiter等提出了第一類變種模型LSTM,其對長序列模型擁有很好的預(yù)測效果,但是參數(shù)較多,導(dǎo)致訓(xùn)練時間較長,內(nèi)存消耗巨大。TCN模型由CNN發(fā)展而來,采用殘差塊的結(jié)構(gòu)結(jié)合膨脹卷積增加感知野長度的同時跨層傳遞信息,被用于改善RNN中常見的梯度爆炸和梯度消失問題且能夠捕捉更長的時間依賴,其基本結(jié)構(gòu)如圖2所示。
圖2 TCN殘差單元
時域卷積網(wǎng)絡(luò)在擬合非線性函數(shù)的過程中,為了避免訓(xùn)練過程中產(chǎn)生過擬合現(xiàn)象,在每次的膨脹卷積操作之后會分別疊加一層Dropout層和非線性層,以此提高模型擬合能力。
2.3.1 膨脹因果卷積
TCN為了解決時間序列的長期依賴問題,引入因果卷積方法。針對輸出時刻t的結(jié)果,其依賴時刻t及t之前時刻的信息,每一層的輸出都由前一層未知個數(shù)的輸入計算得到,通過疊加隱藏層的深度可以挖掘越早時刻的信息。
設(shè)原始序列X=(x1,x2,…,xn), 預(yù)測未來時刻Y=(y1,y2,…,yn), 過濾器F=(f1,f2,…,fK), 在第k層過濾器定義為fk,則在xt時刻k層的因果卷積為
(5)
單純的因果卷積會導(dǎo)致多層堆疊的問題,為了抓取更長時間的依賴而簡單疊加層的深度并不可取,因此提出膨脹因果卷積來增大層的感知野以挖掘更長的時間依賴。膨脹卷積與普通卷積不同之處在于膨脹卷積會往卷積層中注入空洞,詳情對比如圖3所示。
圖3 膨脹卷積與普通卷積對比
設(shè)原始序列X=(x1,x2,…,xn), 預(yù)測未來時刻Y=(y1,y2,…,yn), 過濾器F=(f1,f2,…,fK), 第k層過濾器定義為fk,在xt時刻的膨脹率為d,則在xt時刻的膨脹卷積為
(6)
由此得膨脹卷積d的感知野大小為 (K-1)d+1, 此時調(diào)節(jié)感知野的大小可以通過增大K或者d來實現(xiàn)。
2.3.2 殘差鏈接
殘差模塊的引入可使信息進行跨層傳播。網(wǎng)絡(luò)越深則網(wǎng)絡(luò)提取到的特征越多,然而簡單的增加深度會導(dǎo)致梯度消失或梯度爆炸問題,從而在訓(xùn)練集上會出現(xiàn)過擬合的情況。因此為了解決上述問題,改善網(wǎng)絡(luò)冗余的結(jié)構(gòu),TCN將網(wǎng)絡(luò)中需要學(xué)習(xí)的映射轉(zhuǎn)化為學(xué)習(xí)殘差網(wǎng)絡(luò)。該模型利用殘差塊的思想,將膨脹因果卷積結(jié)合非線性映射作為殘差塊的輸入,繼而產(chǎn)生下一個TCN塊的輸入,并且其一維卷積操作能夠保證模型在計算過程中的殘差連接是有效的,其詳細(xì)結(jié)構(gòu)如圖4所示
o=Activation(x+F(x))
(7)
式中:o表示為殘差塊的輸出,Activation()表示為激活函數(shù),x和F(x)為網(wǎng)絡(luò)的輸入。
圖4 殘差網(wǎng)絡(luò)結(jié)構(gòu)
本文模型的詳細(xì)步驟如下:
步驟1 利用式(3)帶閾值限制的權(quán)重計算方式構(gòu)造鄰接矩陣,將數(shù)據(jù)集和鄰接矩陣輸入模型。
步驟2 利用式(4)分析交通流的空間依賴性。同時,將GCN輸出結(jié)果輸入TCN分析交通流的時間依賴性。針對TCN中每個時刻的輸入首先利用式(6)進行一次膨脹因果卷積,并利用Relu函數(shù)進行一次非線性變化。為了防止預(yù)測結(jié)果過擬合,在每次膨脹卷積之后引入Dropout實現(xiàn)正則化。最后對每層之間構(gòu)建殘差結(jié)構(gòu),將上一層TCN的輸出作為下一層輸入。
步驟3 將時空組件輸出值輸入Dense網(wǎng)絡(luò)中輸出預(yù)測結(jié)果。
步驟4 根據(jù)預(yù)測值與真實值之間的誤差對模型參數(shù)進行調(diào)整,直至達(dá)到設(shè)置的訓(xùn)練次數(shù)。將訓(xùn)練得到的模型利用測試集進行驗證。
為了驗證TDGCN模型的合理性與準(zhǔn)確度,本文利用加州高速路網(wǎng)PeMS04和PeMS08數(shù)據(jù)集進行驗證。這兩個數(shù)據(jù)集包含高速道路上各傳感器的連接狀態(tài)與交通流量。其中PeMS04來自舊金山地區(qū),共包含總計307個傳感器數(shù)據(jù),時間跨度從2018年1月1日到3月1日,共計約60天。PeMS08來自圣貝納迪諾,共計170個傳感器的數(shù)據(jù),時間跨度從2016年7月1日到9月1日,共計約60天。
本文實驗中將數(shù)據(jù)以每5分鐘間隔進行聚合,基于傳感器所在的距離位置生成網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),以此預(yù)測未來時刻的交通量。同時,將本文模型與經(jīng)典神經(jīng)網(wǎng)絡(luò)模型GRU、TCN和最近提出的T-GCN、MST-GCN共4類模型進行對比分析。
(8)
為了評估模型的預(yù)測效果,本文采用3種評價指標(biāo),即平均絕對誤差(mean absolute error,MAE)、均方根誤差(root mean square error,RMSE)、平均絕對百分比誤差(mean absolute percentage error,MAPE)。MAE表示為真實值與預(yù)測值之間誤差的平均值。RMSE表示為誤差的平方與觀測次數(shù)n比值的平方根,用來衡量觀測值同真值之間的偏差。MAPE表示為真實值和預(yù)測值的在模型表現(xiàn)的誤差百分率平均值。
各自的計算公式如下所示
(9)
(10)
(11)
本實驗所選用的硬件設(shè)置與軟件版本分為(CPU:AMD Ryzen 5 3600 3.6 GH,GPU 2060 6G,Python3.8,Pytorch1.10)。通過實驗確定選用最優(yōu)的參數(shù),不同的參數(shù)取值見表1。
表1 模型超參數(shù)設(shè)置
3.4.1 連接階數(shù)k分析
TDGCN模型考慮了多層近鄰連接,不同的k值具有不同的空間依賴聚合效果,因此多層連接階數(shù)k是影響模型效果的重要指標(biāo)。本節(jié)研究了TDGCN模型在不同數(shù)據(jù)集上的取不同階數(shù)時,模型的實驗結(jié)果,兩份數(shù)據(jù)集上k值與MAE的關(guān)系如圖5所示。
圖5 k值影響分析
分析圖5可以發(fā)現(xiàn),不同的數(shù)據(jù)集上MAE隨k值的變化表現(xiàn)出不同的趨勢。PeMS04數(shù)據(jù)集上,MAE隨著k值的增大呈現(xiàn)出先減小后增大的趨勢,在k值為2時,模型誤差最小。PeMS08數(shù)據(jù)集上,MAE隨著k值的增大呈現(xiàn)出先增大后減小再增大的波動性趨勢且當(dāng)k值為1時,模型誤差最小,即原始GCN就能使得PeMS08數(shù)據(jù)集上的預(yù)測效果達(dá)到最優(yōu)。PeMS04數(shù)據(jù)集中傳感器節(jié)點多,數(shù)據(jù)量大,在分析空間依賴性時,有效的節(jié)點空間信息較多,因此在本文模型中表現(xiàn)在階數(shù)值較大,能夠利用2階范圍內(nèi)有效的空間信息進一步提高模型預(yù)測能力。PeMS08數(shù)據(jù)集中節(jié)點量少,可用的空間信息較少,因此一階相鄰的傳感器間的空間信息即能夠使得模型預(yù)測能力達(dá)到最優(yōu)。
3.4.2 參數(shù)影響分析
TDGCN模型中存在較多可調(diào)節(jié)的超參數(shù),為了確定超參數(shù)對模型的影響結(jié)果分析,選取隱藏層節(jié)點單元個數(shù)以及預(yù)測的序列長度兩個影響模型精度較大的超參數(shù),實驗分析結(jié)果如圖6和圖7所示。
圖6 單元個數(shù)影響分析
圖7 預(yù)測長度影響分析
從圖6的實驗結(jié)果可知隱層節(jié)點單元個數(shù)對模型的精度具有一定的影響程度,在本實驗中,當(dāng)節(jié)點個數(shù)為64時模型的精度最佳。
根據(jù)實驗結(jié)果圖7可以發(fā)現(xiàn),在數(shù)據(jù)集PeMS04和PeMS08中,隨著預(yù)測序列長度的不斷增加,模型的效果會逐漸變差,結(jié)果表明,該方法更適合于短期預(yù)測。
3.4.3 實驗結(jié)果分析
對比結(jié)果見表2。分析表2可以發(fā)現(xiàn),在PeMS04數(shù)據(jù)集中,本文提出的模型在所有對比模型中表現(xiàn)最佳,相較于基準(zhǔn)模型TCN,MAPE提高了接近10%,相比T-GCN提高了3.55%,與MST-GCN模型相比也提高了0.66%。在PeMS08數(shù)據(jù)集中,本文提出的模型擁有最小的MAE值與RMSE值,以MAPE值為指標(biāo)而言,TDGCN模型除去比MST-GCN模型低1.03%,比TCN模型提高了4.07%,相較于T-GCN模型提高了5.92%。
各模型在PeMS04和PeMS08數(shù)據(jù)集上預(yù)測擬合曲線分別如圖8和圖9所示。分析時間序列預(yù)測方法可以發(fā)現(xiàn),GRU模型和TCN模型僅考慮了時間相關(guān)性,并沒有考慮路網(wǎng)節(jié)點的空間相關(guān)性,因此并沒有優(yōu)越的性能表現(xiàn)。T-GCN模型和MST-GCN雖然結(jié)合了GCN模型與GRU模型,從一定程度上彌補了由于缺少空間相關(guān)性從而產(chǎn)生的模型誤差,但仍然存在由于GCN感知野而導(dǎo)致模型空間依賴能力降低的情況。
表2 不同模型的性能比較
因此本文所提出的TDGCN模型,結(jié)合了TCN模型與GCN模型,并對GCN模型的計算規(guī)則進行改進,相比而言擁有更好的感知野,同時TCN模型比GRU模型擁有更高的信息控制度,可以對交通流數(shù)據(jù)進行更好的時空依賴捕獲。因此,從模型結(jié)構(gòu)以及實驗結(jié)果來看,本文提出的TDGCN 模型擁有更高的精度,取得了較好的預(yù)測效果。
圖8 PeMS04模型預(yù)測效果
圖9 PeMS08模型預(yù)測效果
本文針對當(dāng)前大多數(shù)短時交通流預(yù)測模型對數(shù)據(jù)的空間信息挖掘不充分、無法捕獲長序列單元間的信息等問題,提出一種基于時域圖卷積神經(jīng)網(wǎng)絡(luò)的交通流預(yù)測模型(TDGCN)。該模型通過在改進GCN的權(quán)重分配以及感知野進一步提高對交通流的空間捕獲能力,使用TCN模型挖掘交通流的時間特征的同時解決長時間序列訓(xùn)練過程中的梯度問題,通過PeMS04和PeMS08兩個公開數(shù)據(jù)集進行驗證,引入相關(guān)的對比實驗?zāi)P?。結(jié)果表明,本文提出的TDGCN模型具有更高的預(yù)測精度。