錢淑韻
(同濟大學電子與信息工程學院,上海 200092)
智慧交通系統(tǒng)是智慧城市的一個重要組成部分,為出行者提供便利、安全、智能的交通運輸服務。在智能交通系統(tǒng)中,長時交通預測是一個重要問題,準確地預測未來某段時間內(nèi)的交通狀態(tài)變化有利于交通線路規(guī)劃、防止交通擁堵等。
基于短時的預測模型進行簡單的迭代也可以實現(xiàn)長時預測,但隨著預測序列的長度增加,誤差會不斷累積,并且在捕獲未來時間序列的趨勢性和周期性方面具有一定的缺陷。Encoder-Decoder 模型是序列預測問題的一個通用框架,Seq2Seq(sequence-to-sequence)屬于Encoder-Decoder 的一類方法的統(tǒng)稱,其優(yōu)點是輸入序列和輸出序列的長度可變,被廣泛應用于長時交通預測問題。
本文將動態(tài)時間規(guī)整算法(dynamic time warping,DTW)[1]納入長時預測方法的評估體系,考慮模型預測交通趨勢性的能力。在國內(nèi)外相關研究的基礎上將多圖卷積和注意力機制納入Seq2Seq 結構中,提出一個基于多圖卷積和注意力的長時交通預測框架,其中編碼器是一個納入多圖卷積的GRU 網(wǎng)絡,編碼器的輸出通過注意力機制層后輸入解碼器,得到最終的預測結果。此外,探討不同的解碼器結構對長時交通預測的影響。最后,在紐約自行車真實數(shù)據(jù)集上進行實驗,驗證所提出的框架在城市區(qū)域長時交通預測場景的性能。
Seq2Seq 由編碼器和解碼器組成,編碼器基于輸入的序列生成一個中間向量,解碼器基于該中間向量輸出預測序列。
常用的解碼器結構主要包括全連接層FC、卷積神經(jīng)網(wǎng)絡CNN 這類簡單的網(wǎng)絡,以及循環(huán)神經(jīng)網(wǎng)絡?;诤唵尉W(wǎng)絡的解碼器通常堆疊多個層,每個層的輸出映射為未來某個時間片的預測值。STSGCN[2]和DSTAGCN[3]使用多個全連接層網(wǎng)絡,AGCRN[4]則使用CNN 作為解碼器,它們用于紐約高速公路車輛速度的長時預測。這種網(wǎng)絡結構簡單,計算速度快,但是捕獲信息的能力有限。
基于循環(huán)神經(jīng)網(wǎng)絡的解碼器通常將中間向量作為解碼器的初始隱藏狀態(tài),DCRNN[5]的編碼器和解碼器都基于門循環(huán)單元(gate recurrent unit,GRU),解碼器的每個GRU單元的輸出對應未來某個時間片的預測結果。Multi-Graph[6]預訓練階段的編碼器和解碼器都基于長短期記憶神經(jīng)網(wǎng)絡(long short term memory network,LSTM),測試階段的解碼器基于全連接層。
在編碼階段和解碼階段可能會出現(xiàn)信息丟失, GMAN[7]為了減少解碼階段的誤差傳播效應,結合注意力機制計算未來每個時間片和歷史時間片的相關性,得到的中間向量作為解碼器的輸入。
基于Seq2Seq結構的長時交通預測問題定義如下:給定城市的交通圖結構G,一組由歷史P個時間片的觀察組成的時間序列,區(qū)域進出總流量{Xt|t=T-P+ 1,…,T- 1,T}和區(qū)域間的轉移流量{St|T-P+ 1,…,T- 1,T},構建編碼器模型ME和解碼器MD,學習它們的最優(yōu)參數(shù)ΘE和ΘD,ME基于歷史交通數(shù)據(jù)生成編碼特征Emd,MD基于編碼特征預測未來Q個時間間隔的城市每個區(qū)域的交通狀況。形式化表示為
短時序列預測的評估常采用每個時間片按點對點計算該時間片內(nèi)的誤差,然后取平均值,如MAE、RMSE 等。對于長時預測,不僅需要關注每個對應時間片的誤差,未來時間序列的趨勢性也很重要。例如某個方法可以捕獲到未來時間序列的趨勢,但存在著一定的滯后或提前,這種情況下只使用點對點的指標評估會忽略方法捕獲趨勢性的能力,而面向由于惡劣天氣、道路突發(fā)事件等引起的交通擁堵等場景,未來時間序列的趨勢性很重要。
動態(tài)時間規(guī)整算法(DTW)[1]用于計算兩個序列的相似性,其中序列的每個時間片可以和另一個序列的一個或多個時間片匹配。因此,本文基于DTW 算法計算真實序列和預測序列的相似性,將其納入長時交通預測的評估體系,使長時交通預測方法的評估更豐富。
考慮區(qū)域之間三種不同的依賴關系:①鄰居關系:鄰接的區(qū)域之間的關系很密切,并且某個區(qū)域與每個鄰接區(qū)域的密切關系是可以不同的;②流量交互關系:由于交通便利,不鄰接的區(qū)域之間也可能存在頻繁的流量交互,并且這種關系會隨時間動態(tài)變化;③交通模式關系:有些區(qū)域之間沒有頻繁的流量交互,但具有相似的交通模式,如距離較遠的兩個學校。
本文基于Seq2Seq結構,提出基于多圖卷積和注意力的長時交通預測框架(multi-graph convolution and attention network for long-term traffic prediction,MGANL)。框架的結構如圖1 所示,主要由以下四個部分組成:①多圖生成模塊:基于上文介紹的三種依賴關系,分別構建鄰居圖,流量交互圖和交通模式圖。②編碼器:一個納入多圖卷積的GRU,用于同時建模時間相關依賴和多尺度的空間相關依賴,生成特征編碼。③注意力機制層:引入注意力機制,對特征編碼進行處理,生成解碼器可用的中間向量。④解碼器:基于中間向量和歷史輸入數(shù)據(jù)進行解碼,得到最終的預測結果。本文不限定解碼器的網(wǎng)絡結構,僅提出一個預測框架,并探討不同的解碼器結構對長時預測的影響。
圖1 基于多圖卷積和注意力的長時交通預測框架
多圖生成模塊構建三個圖來編碼區(qū)域之間不同的依賴關系。其中鄰居圖AN編碼鄰接區(qū)域之間的關系,定義如公式(1)和公式(2)所示;流量交互圖AF編碼有頻繁流量交互的區(qū)域之間的關系,通過歸一化歷史區(qū)域之間轉移的流量來構建;交通模式圖AP挖掘隱藏在歷史交通數(shù)據(jù)中的依賴關系,t時間間隔內(nèi)的交通模式圖定義如公式(3)和公式(4)所示。其中,W和We為可學習的參數(shù),Et∈?N×d,We∈?d×N,N為城市區(qū)域(圖節(jié)點)個數(shù),d為節(jié)點嵌入維度。
MGANL 的編碼器使用納入多圖卷積的GRU(MGGCU),使用多圖卷積替換GRU 中的MLP層,如公式(5)至(9)所示。其中,Et為交通模式圖中學習的參數(shù),W(·)和b(·)均為可學習的參數(shù)。連接編碼器中每個MGGRU 單元的輸出生成特征編碼,即H=[h0,…,hP-1]∈?P×N×H,H為編碼器的輸出特征維度。
當輸入或輸出序列較長時,在編碼階段和解碼階段可能會發(fā)生信息丟失,注意力機制為緩解該問題提供了一個方向。本框架主要使用兩種注意力機制:基于線性變換的注意力機制和基于點積的注意力機制。
編碼器生成的特征向量H包含了編碼過程中的上下文信息,記編碼器中最后一個MGGRU單元的隱藏狀態(tài)為Emd。對于解碼器為非循環(huán)神經(jīng)網(wǎng)絡的模型,計算特征向量H和Emd的相似度,為編碼過程中產(chǎn)生的上下文信息分配一個相應的權重,上下文信息的加權和作為中間向量C0。
對于解碼器為循環(huán)神經(jīng)網(wǎng)絡的模型,將Emd作為解碼器的初始隱藏狀態(tài),將中間向量C0和距離預測序列最近的歷史交通狀態(tài)堆疊作為解碼器的輸入。每次得到新的隱藏狀態(tài)后更新Emd,重新計算H和Emd的相似度,得到新的中間向量Ci。
相似度的計算主要包含以下兩種方式,分別為線性層變換(LA)和內(nèi)積相乘(DA)。基于線性層變換的相似度計算過程如公式(10)至公式(12)所示。其中VT和Wh為可學習的參數(shù),α?i為hi所對應的歸一化權重。
內(nèi)積相乘(DA)不再將H和Emd堆疊,而是分別輸入線性層,然后計算輸出的內(nèi)積。具體計算方式如公式(13)和公式(14)所示。其中,Wk和Wq為可學習的參數(shù)。dk是隱藏特征的維度,用于縮放點積。
本文為短時預測模型擴展到長時預測提供參考,由于目前先進的交通預測方法大多基于動態(tài)圖卷積,它們需要實時計算鄰接矩陣,考慮到模型的復雜性,本框架使用一些較為簡單的網(wǎng)絡結構作為解碼器,包括全連接層FC、卷積神經(jīng)網(wǎng)絡CNN和GRU。
FC 和CNN 結構簡單,參數(shù)量少,運算速度快?;贔C 或CNN 的解碼器可以有效降低模型的復雜性。使用多個FC 層或CNN 卷積核,如圖2 所示,每個FC 或CNN 把中間向量映射為一維的時間維度,使每個時間片有獨立的參數(shù)空間,其中C'為需要預測的屬性個數(shù)。
圖2 基于FC/CNN的解碼器結構
基于GRU 的解碼器相較于第一類結構,預測的多個時間片之間可以傳遞信息,但是計算速度相對較慢。如圖3所示,中間向量作為解碼器的初始隱藏狀態(tài),并且堆疊歷史輸入序列作為解碼器新的輸入。使用2.3 小節(jié)中介紹的相似度計算方法計算Emd和H的相似度,得到新中間向量C0∈?N×H。距離預測序列最近的Q個歷史交通狀態(tài)經(jīng)過一個線性層后得到嵌入X'∈?Q×N×H。X't和Ci-1堆疊作為解碼器中GRU單元新的輸入,計算該單元的輸出h'i和H的相似度,得到新中間向量Ci。解碼器的第i個GRU單元的輸出h'i通過一個線性層后映射為t+i時間片的預測結果。
圖3 基于GRU的解碼器結構
本文的實驗平臺為Windows10 系統(tǒng),Intel(R)Xeon(R)CPU E5-2620 v4@2.10 GHz,NVIDIA GeForce GTX 1080Ti GPU。算法采用PyTorch1.8.0GPU框架和Python 3.6實現(xiàn)。
本文使用NYCBike[8]這個公開的真實交通數(shù)據(jù)集進行實驗,評估本文所提出的長時交通預測框架。將紐約劃分為10 × 20 的網(wǎng)格區(qū)域,NYCBike 數(shù)據(jù)集包含紐約市2016 年7 月~8 月的自行車租賃數(shù)據(jù),每個時間片為30 分鐘,數(shù)據(jù)采用Z-score的歸一化方法進行預處理。
使用五個指標評估模型的預測性能,包括計算點對點誤差的MAE、RMSE、MAPE、PCC指標,以及評估模型面向長時預測捕獲趨勢性能力的DTW指標。
基于歷史12 個時間片內(nèi)的交通流量數(shù)據(jù),預測未來6 個時間片每個區(qū)域的流量進出情況,比較各個方法的總體性能,結果如表1所示。表格中的1 h,2 h和3 h三列分別表示第2,第4和第6個時間片的預測結果的誤差,加粗的數(shù)值為該指標在當前時間片的最優(yōu)結果。
表1 NYCBike數(shù)據(jù)集上各方法的總體性能比較
實驗驗證所提出的MGANL 框架在長時交通預測場景的有效性,關注不同解碼器結構對于長時預測的影響。其中GRU-Decoder 表示編碼器為GRU 的預測方法,MGNL 表示去除注意力機制的MGANL方法。
相比編碼器為簡單GRU 的方法,基于MGGRU 的方法明顯表現(xiàn)較好,該類方法考慮區(qū)域間的多種相關依賴,可以取得更好的預測效果。對于編碼器結構較為簡單的情況,直接使用簡單網(wǎng)絡作為解碼器表現(xiàn)相對較差。對于編碼器結構較為復雜的情況,由于編碼器具有良好的時空建模能力,解碼器僅基于FC 和CNN 的方法表現(xiàn)優(yōu)異,結合注意力機制的MGANL 方法與MGNL 方法相比預測性能有所提升,這驗證了在編碼階段可能有一些信息存在丟失,而注意力機制可以補充這些丟失的信息。同時,這些信息可能會影響模型對序列趨勢性的預測。
綜上所述,通過對比各個模型面向長時預測問題的實驗結果可以驗證所提出的基于多圖卷積和注意力的長時交通預測框架的有效性,注意力機制可以緩解在編碼和解碼過程中信息丟失的問題,有助于提高長時的交通預測性能。
面向城市區(qū)域長時交通預測問題,將衡量模型捕獲長時趨勢性能力的指標DTW 納入評估體系,并提出一種基于多圖卷積和注意力的長時交通預測框架。提出的框架基于Seq2Seq 結構,編碼器基于納入多圖卷積的GRU,同時建模時間相關依賴和多尺度的空間相關依賴,生成特征編碼。注意力機制層基于特征編碼生成中間向量,減少編碼和解碼過程中的信息丟失。解碼器基于中間向量和歷史交通狀態(tài)預測未來長時間的交通流量的變化情況。此外,研究不同解碼器結構對長時預測的影響,有助于其他短時預測模型擴展到長時預測場景。通過在紐約自行車數(shù)據(jù)集上的實驗驗證了所提框架在長時交通預測場景的有效性。