黃 怡,王彤彤,王 睿
(四川大學電子信息學院,成都 610065)
隨著數(shù)據(jù)采集技術的蓬勃發(fā)展,車輛軌跡、道路傳感器數(shù)據(jù)等交通流量數(shù)據(jù)數(shù)量激增。根據(jù)歷史觀測流量結果進行準確、及時的交通流量預測,有助于道路使用者制定更好的出行計劃,提高交通運行效率,也有助于交通管理者及時調整道路的時間空間資源,緩解交通擁堵。因此,隨著智能交通系統(tǒng)的快速發(fā)展,城市交通流量預測得到了越來越多的關注。
過去的幾十年間,國內外對交通流量預測的研究不斷發(fā)展,早期的交通流量預測方法通常采用基于統(tǒng)計模型的方法,例如差分整合移動平均自回歸模型、卡爾曼濾波方法等,統(tǒng)計模型方法簡單,但較依賴于時間序列的平穩(wěn)性,并且不能反映交通流的復雜時空特性,因此不能應用于波動較大的數(shù)據(jù)。隨后,基于機器學習的預測方法開始廣泛應用與交通流量預測,有近鄰非參數(shù)回歸、支持向量機等,然而,這些方法只考慮時間維度的交通流量信息,而忽略了空間信息對準確預測的重要性。
近年來,基于深度學習的交通預測方法得到了廣泛的研究。一些研究人員將交通網絡建模為網格,并使用卷積神經網絡(CNN)來捕捉空間相關性。然而,由于道路的不規(guī)律性,網格建模將不可避免地失去交通網絡內的拓撲信息。近幾年,研究者將不規(guī)則流量數(shù)據(jù)之間的非歐幾里得關系表示為圖,采用圖神經網絡來建??臻g特征,如Yu等將將圖卷積網絡嵌入到卷積神經網絡中,Li等將圖卷積網絡嵌入到遞歸神經網絡中,而Wu等則將圖卷積網絡和Oord等的WaveNet組合共同捕獲時空信息。
圖卷積模塊的引入盡管解決了空間非歐幾里得空間建模問題,但以前的方法仍然忽略了以下兩個方面。第一,交通流量是動態(tài)變化的,因此功能區(qū)相近的道路它們在時間維度上是相近的,以前的圖卷積只考慮局部空間信息的相近性,沒有考慮到上下文特征的相似性。第二,交通流量預測對長時間時空依賴的捕捉非常重要,因為流量大小在時間維度上是相互關聯(lián)的,而目前交通流量上通用的門時間卷積網絡采用的是卷積核和空洞參數(shù)均為1和2的一維卷積,受感受野的局限不能捕捉長時間的時空依賴。
為了解決上述問題,我們的主要工作如下:
(1)提出了一種動態(tài)空間圖和動態(tài)語義圖的組合方式。該組合方式同時考慮了交通流量的空間特征動態(tài)變化和相近的功能區(qū)上下文語義信息的相似性,從而增強了對動態(tài)信息和相近功能區(qū)信息的捕獲。
(2)提出了一種多尺度時間卷積網絡模塊。該模塊采用了多種卷積核和空洞參數(shù)設置,使得模型可以捕獲到不同長度時間依賴。
(3)在METR-LR和PEMS-BAY兩個公開數(shù)據(jù)集上的對比實驗結果表明,我們的模塊的準確度優(yōu)于先前的模型。我們還對模型的模塊進行了消融實驗,分析了每個模塊對結果的影響。
交通流量預測是一類時間序列的預測問題。其中,交通道路網絡由于其非歐幾里得特性,可以表示為圖(,,A),其中={,,…,v}表示交通網絡的個傳感器節(jié)點采集的數(shù)據(jù)集合,表示交通道路的邊緣集,A∈R 是由圖導出的鄰接矩陣。定義圖信號X∈R 為在t時刻觀察到的圖信息,其中是傳感器采集的數(shù)據(jù)維度。交通流量預測即可定義為:學習一個非線性函數(shù),在時刻開始,從道路上的個傳感器的前個時刻數(shù)據(jù)預測出下個時刻的交通速度。公式形式表示如下:
本文參考了Wu等人的GraphWaveNet網絡架構,其整體網絡由多個疊加的時空層和一個輸出層組成。首先由一個線性層進行轉換,隨后進入一個門控時間卷積網絡(TCN)和一個自適應空間圖卷積網絡(SG-GCN)的串聯(lián)的時空層,每層時空層又以跳連接的方式組合,最后經過兩層全連接層輸出結果。我們在GraphWaveNet上做了一些改進。將其中的門控TCN轉變?yōu)槎喑叨乳T控時間卷積模塊(Gated MS-TCN),將之前的自適應空間GCN添加了一個自適應語義GCN模塊(TG-GCN)進行并聯(lián),得到一個自適應空間語義GCN模塊(MG-GCN)。我們將改進的網絡稱為基于組合圖和多尺度時間卷積網絡,其網絡總體結構如圖1所示。
圖1 基于組合圖和多尺度時間卷積網絡
我們模型的多圖組合的動態(tài)圖卷積模塊由兩個模塊并聯(lián)而成,分別為自適應空間圖卷積模塊(SG-GCN)和自適應語義圖卷積模塊(TGGCN),其中SG-GCN引用自Wu等的論文,它是一個自適應鄰接矩陣和一個有向空間鄰接矩陣的組合。我們在此基礎上設計了一個TGGCN進行并聯(lián)。TG-GCN的和語義鄰接矩陣組成。
自適應鄰接矩陣:包含了兩個可學習參數(shù)E,E∈R,這兩個參數(shù)首先進行隨機初始化,然后隨模型通過隨機梯度下降進行端到端的學習,讓模型自身學習隱藏的空間依賴關系,因此可表示為
語義鄰接矩陣:由于某一區(qū)域的交通流量不僅與其周圍的局部空間有關,相似功能區(qū)的流量變化在時間維度上還具有相似性,為了捕獲這種時間上的相似性,我們使用了動態(tài)時間規(guī)整(dynamic time warping,DTW)算法來計算一個語義鄰接矩陣,判斷節(jié)點是否為語義鄰居。
DTW可計算兩個不同長度、不同節(jié)奏時間序列的相似度,通過動態(tài)規(guī)劃來自動扭曲時間序列,使其在時間軸上進行局部縮放,來達到使兩個序列盡可能一致的效果。如圖2所示,從兩條速度變化曲線可以看出,相比于同一時刻的速度和,速度與具有更強的相似性。
圖2 兩個交通流量序列的歐氏距離和DTW距離對比
用DTW算法具體步驟即為:對于兩個時間序列=(,,…,x)和=(,,…,y),首先計算兩個時間序列各個點之間的距離,得到一個距離矩陣∈R,其次,尋找一條從兩個時間序列開始位置(1,1)到結束位置(,)的一條路徑,使得路徑上的元素最小。其起始條件為:
再次,通過動態(tài)規(guī)劃算法遞歸,得到后續(xù)從矩陣左上角(1,1)到任一點(,)的最短路徑長度為(,):
遞歸完成后,計算序列和的DTW距離dist(,):
dist(,)越小,表示兩個序列和的相似度越大。
根據(jù)DTW距離的值來生成語義鄰接矩陣A,其生成規(guī)則如下:
其中,是一個門限值,用于判定兩個交通流量序列在(,)點是否為語義鄰居。則語義鄰接矩陣可以用來表示兩個序列中具有相似時間模式的節(jié)點。
自適應語義鄰接矩陣:我們的模型將語義鄰居和自適應鄰接矩陣組合,得到一個自適應語義鄰接矩陣A,從而可以在訓練過程中動態(tài)的判定兩個交通流量序列的相似性。其中語義鄰接矩陣可以指導自適應鄰接矩陣中參數(shù)的學習方向,而自適應鄰接矩陣也可以反過來動態(tài)修正語義鄰接矩陣的精度問題:
我們的自適應空間語義圖模塊將自適應空間鄰接矩陣和自適應語義鄰接矩陣分別引入圖卷積網絡(GNN)中,各自獲取到交通流量數(shù)據(jù)的空間特征和語義特征,最后將兩者組合起來,得到空間和語義的融合信息。
在交通流量預測中,下一個時刻的流量數(shù)據(jù)和上一個乃至多個時刻的信息是具有很強的相互關聯(lián)性的,因此捕獲長時間的依賴關系至關重要。而目前現(xiàn)有的時間卷積網絡模塊大多是采用具有固定大小為1×1的卷積核,以空洞參數(shù)為1和2交替進行時間建模,感受野的范圍有限,僅能學習到前一兩個時間單元的流量,不能很好地捕獲長時間跨度的交通流量信息。
針對感受野范圍過小的問題,我們設計了一個多尺度的時間卷積網絡模塊(MS-TCN),如圖3所示。該模塊在卷積核大小與空洞卷積兩個方面同時對感受野進行了多個尺度的擴張,從而可以在不同的時間跨度捕獲時間維度的交通流量信息。而且相比于僅從空洞數(shù)方面擴張感受野,從擴大卷積核和空洞數(shù)兩個方面的擴張可以防止一些關鍵信息的丟失。
圖3 多尺度時間卷積網絡模塊(MS-TCN)
具體地,輸入交通流量數(shù)據(jù)首先分別進入四個卷積核大小均為1×1的卷積和Relu層,之后前三個分支分別進入空洞數(shù)為0、2、3的3×1的卷積中,通過不同大小的感受野學習信息,而第四個分支則采用了3×1的最大池化,提取3個時間維度中具有最突出信息的特征。最后,將四個分支進行合并,得到多尺度融合的特征信息。除此之外,我們還引入了一個殘差分支,將其進入一個1×1的卷積后和主干匯合,其目的是加速網絡的收斂。
本文采用了兩個公開的交通數(shù)據(jù)集作為多圖和多尺度時間建模網絡的驗證,即Li等提供的METR-LA和PEMS-BAY。其中,METR-LA是在2012年3月1日至6月30日這段時間內,于洛杉磯縣高速公路交通速度的207個傳感器收集的交通速度數(shù)據(jù);PEMS-BAY是從2017年1月1日到5月31日內在灣區(qū)公路的325個傳感器上采集的速度數(shù)據(jù)。
我們采用了以下三個指標進行模型評估,其中和?表示交通流量的實際預測值和實驗預測值,表示數(shù)據(jù)總數(shù)。
(mean absolute error,MAE):表示模型預測的交通流量數(shù)值與實際數(shù)據(jù)集中交通流量數(shù)據(jù)的平均速度差。定義如下:
(mean absolute percent?age error,MAPE):表示各個預測交通流量值與實際數(shù)據(jù)集數(shù)據(jù)的平均速度差與實際數(shù)據(jù)集數(shù)據(jù)之比,定義如下:
(root mean squared error,RMSE):表示模型預測的交通流量數(shù)值與實際數(shù)據(jù)集中交通流量數(shù)據(jù)的期望值。定義如下:
為了和之前的一些交通流量預測方法進行公平地比較,我們將數(shù)據(jù)集分為了訓練集、驗證集和測試集,兩個數(shù)據(jù)集分割比例均為7∶2∶1,并且1小時12個連續(xù)時間步長的歷史數(shù)據(jù)用于預測下一小時的12個連續(xù)時間步長數(shù)據(jù)。我們在NVIDIA 1080Ti GPU下進行了實驗,總體模型基于Pytorch實現(xiàn),數(shù)據(jù)集批量大小設置為64,權重衰減、隨機失活率、初始學習率分別為0.0001、0.25和0.001。訓練時的優(yōu)化器采用Adam優(yōu)化器,訓練周期迭代數(shù)為100。
為了證明引入的自適應空間語義圖模塊和多尺度時間卷積模塊的有效性,我們在兩個數(shù)據(jù)集上分別進行了消融實驗。其中對比的baseline是Wu等的GraphWaveNet,TG-GCN是在base?line中加入了自適應語義鄰接矩陣的圖卷積模塊,MS-TCN是在baseline中加入了多尺度時間卷積網絡模塊,TG-GCN+MS-TCN是在baseline中加入了自適應語義鄰接矩陣的圖卷積模塊和多尺度時間卷積網絡模塊,實驗結果如表1所示。
從表1可以看出,單獨加入TG-GCN和MSTCN時,模型三個評估參數(shù)都較baseline有了一定下降,說明了我們加入的模塊的有效性。并且單獨加入MS-TCN時,預測的效果更好,說明長時間依賴的捕獲對于提升預測精度具有更重要的影響。與此同時,將TG-GCN和MS-TCN模塊同時加入基礎模型,得到的效果優(yōu)于baseline和兩個模塊單獨放入的預測效果,這說明加入的兩個模塊的左右沒有發(fā)生抵消??傮w來看,我們的模型的預測效果總體上有所提升。
表1 消融實驗結果
我們將本文的模型與baseline模型在兩個數(shù)據(jù)集上的實驗結果進行了比較。實驗結果如表2所示。
表2 多個模型性能比較
兩個數(shù)據(jù)集的驗證中,我們的模型的MAE、RMSE和MAPE三個評估結果都有不同程度的下降,模型在一定程度上降低了預測誤差,說明引入的自適應空間語義GCN成功捕獲時間維度的語義信息,而多尺度TCN獲取了長時間依賴信息,提升了預測結果的準確性。
本文針對交通流量預測模型中時間維度語義信息缺乏的問題,提出了一種將自適應空間信息和自適應語義信息組合的圖卷積模型,其中引入的自適應語義信息GCN通過DTW得到語義相似性矩陣來尋找語義鄰居,然后通過自學習的方式實現(xiàn)語義信息的自適應。同時提出了一種多尺度TCN,通過多個不同卷積核和空洞數(shù)的卷積并聯(lián),不同程度的擴大感受野,以確保對長時間時空依賴的捕獲。在兩個真實場景數(shù)據(jù)集上實驗結果表明,我們的模型有效地提高了交通流量預測的準確性。