趙嘉雨,段亞茹,何立明
(長安大學 信息工程學院,陜西 西安 710064)
交通速度預測是智慧交通系統[1]的主要研究課題之一。早期的方法包括歷史平均模型,其中使用歷史時期的交通量的平均值作為預測值。該方法不能很好地擬合時間特征,并且預測精度較低。以下統計學預測模型,應用在交通預測模型上可以更好捕捉交通序列的動態變化。例如,文獻[2]使用的指數平滑模型和文獻[3]使用的自回歸移動平均模型(autoregressive integrated moving average model,ARIMA)。隨著交通預測研究的不斷深入,許多交通速度預測模型使用機器學習來提高預測精度,機器學習可以重新組織已有的結構使之不斷改善模型性能。文獻[4]使用支持向量回歸(support vector regression,SVR)來構造模型,文獻[5]使用貝葉斯網絡來構造模型,使得交通預測模型的精度得到很大的提升。
深度學習是目前研究的主要方向,彌補了機器學習方法需要構建特征工程和難以捕捉交通流序列長期記憶的缺點,可以很好地學習到交通數據的動態特征。使用深度學習來進行交通預測,可以分為兩大類,一類方法考慮時間依賴性,一類方法考慮空間依賴性。以下方法只考慮了時間依賴性。例如,文獻[6]使用深度置信網絡(DBN)和回歸模型組成的模型,從多個數據集上的交通數據中捕獲隨機特征。此外,文獻[7]使用長短時記憶網絡(long-short term memory networks,LSTM)來構建模型,LSTM通過自循環機制,更好地捕捉了時間依賴性,用于預測交通速度可以獲得更好的預測結果。文獻[8]使用門控循環單元(gated recurrent unit,GRU)來構建模型,GRU與LSTM提取時間特征的思想類似,但是GRU比LSTM訓練速度更快。以上交通預測模型沒有考慮空間依賴性,獲取到的交通數據的變化沒有受到城市道路網的約束,因此不能準確預測道路上的交通狀態。文獻[9]使用循環神經網絡(CNN)來實現交通速度預測任務,該模型可以獲取空間特征。為了更好地描述空間特征和時間特征,許多研究做出了改進。文獻[10]提出了一個模型,該模型是將卷積神經網絡(convolutional neural network,CNN)與LSTM結合,從而可以獲取到交通序列的時空特征,使得預測的結果更加準確。在時間序列中,考慮前向和后向數據的變化規律有助于提高模型的擬合精度,文獻[11]利用雙向長短時記憶網絡 (bi-directional long-short term memory,Bi-LSTM) 模型對高速公路交通流進行預測,結果表明Bi-LSTM模型預測結果比LSTM模型更接近真實值。文獻[12]為了充分發揮CNN對空間特征的選擇提取能力,同時利用Bi-LSTM提取時間特征,構建復合模型,通過實驗證明該模型的預測值與真實值更貼合,證明了Bi-LSTM挖掘數據特征能力比LSTM更強,對于復雜的回歸問題具有較好的擬合性能。CNN適用于歐幾里得數據,如圖像和網格,所以CNN在具有非歐幾里得結構的交通網絡中存在局限性。圖卷積網絡(graph convolutional network,GCN)[13-14]可以克服上述局限性,捕捉網絡的結構特征,可以更好地應用于復雜的道路結構。
現有先進的模型結合了GRU和GCN,文獻[15]使用T-GCN模型獲取時空特征。文獻[16]引入了注意力機制(attention mechanism),ST-AGTCN模型可以更好地捕捉時空依賴性,進而提高了預測交通速度精度。
近些年在計算機視覺、自然語言處理等領域對比學習得到了廣泛應用。對比學習主要工作是: 將一個樣本的不同的、增強過的新樣本在嵌入空間中盡可能近,然后讓不同的樣本之間盡可能遠。由此極大地提高了模型的魯棒性。文獻[17]介紹了正則化Dropout (regularized dropout,R-Drop ),R-Drop是對比學習的一種方式,將R-Drop思想應用在有監督任務上使得很多模型的實驗結果都取得了明顯的提升。
為此,提出了GRU-GCN-RDrop模型用于交通預測任務。GRU-GCN-RDrop模型結合了GCN和GRU,并引入了R-Drop方法。GRU-GCN-RDrop模型不僅可以捕獲時空特征,而且通過對比學習提高了模型的泛化能力。
交通速度預測任務是一個典型的時間序列預測任務,文中的研究數據是交通速度,表示為X∈RN×T。通過輸入歷史交通速度X={xt-h+1,xt-h+2,…,xt}∈RN×H和對應時刻的路網結構G,其中H為輸入數據的個數,預測未來Tp時段所有節點的交通速度數據Y={yt+1,yt+2,…,yt+Tp}∈RN×Tp。用函數F來表示這一過程,如下:
Y=F[X,G]
(1)
由于道路結構復雜多樣,對網絡的空間依賴建模在具體預測任務中是必不可少的。此外,在現實世界中,交通狀態可以隨著時間的推移而不斷變化。為了實現捕獲真實交通數據中的時空依賴性,GRU-GCN-RDrop模型將圖卷積網絡和門控循環單元組合起來,在子模型基礎上使用了對比學習提高模型魯棒性。
交通預測問題中要解決的一個重要問題就是獲取復雜的空間依賴關系。卷積神經網絡可以獲得空間特征,歐式數據可以使用CNN模型進行空間建模,常見的歐式數據有圖像、語音和常規網格。城市道路網格是非歐式數據,這類數據不能使用CNN模型來捕捉空間依賴性,圖卷積網絡可以彌補CNN的缺點。GCN是CNN的推廣,可以對復雜拓撲結構提取空間關系。
如圖1所示,獲取圖的空間特征時需要處理中心節點和周圍節點的拓撲關系。在預測交通速度模型中,利用GCN模型可以提取到中心道路和周圍道路的空間關系,進行信息聚合后捕捉到空間依賴性。GRU-

圖1 GCN模型框架
GCN-RDrop模型中使用了一個2層的GCN模型,公式表示如下:
(2)

交通預測問題中要解決的另一個重要問題就是獲取時間依賴關系。循環神經網絡(RNN)雖然可以處理序列數據,但是存在局限性。門控循環單元網絡(GRU)和長短期記憶網絡(LSTM)是基于RNN的改進模型,可以解決RNN無法處理長序列依賴關系捕捉等問題。GRU-GCN-RDrop模型選擇了GRU模型來從交通數據中獲得時間依賴性,是因為GRU模型的結構比LSTM的簡單,需要訓練的參數也更少,訓練時間也就更短,極大地提高了訓練效率。
如圖2所示,GRU中的隱藏單元是一個特殊的細胞結構。GRU使用門控機制可以捕捉長序列依賴關系特征,在其內部結構中存在重置門和更新門。

圖2 GRU模型
各個門控的計算公式如下:
ut=σ(Wu[f(A,Xt),ht-1]+bu)
(3)
rt=σ(Wr[f(A,Xt),ht-1]+br)
(4)
ct=tanh(Wc[f(A,Xt),(rt*ht-1)]+bc)
(5)
ht=ut*ht-1+(1-ut)*ct
(6)
其中,ht-1表示t-1時刻的輸出同時也是t時刻的輸入;rt表示重置門;ut表示更新門;ct表示當前記憶內容;f(A,Xt)表示圖的卷積過程,W和b表示訓練過程中的權重和偏差。
結合GCN的GRU可以從交通數據中獲取空間和時間上的依賴性,在此基礎上加入對比學習方法R-Drop,從而構建了GRU-GCN-DRrop模型,如圖3所示。

圖3 GRU-GCN-RDrop模型
該模型中使用了對比學習中的R-Drop方法,即通過增加一個正則項,來強化模型對Dropout的魯棒性,使得不同的Dropout下模型的輸出基本一致,從而使得簡單Dropout的效果等價于多Dropout模型融合的結果,提升模型最終性能。
圖3中左右兩部分運作過程相同,第一步經過兩層圖卷積網絡后可以捕獲交通路網的空間特征。第二步是將帶有空間結構的時間序列數據輸入到門控循環單元,從而就得到數據的時空特征。第三步是經過dropout層,使得左右兩部分的訓練不一致。當整個歷史序列輸入完并處理完成后,左右兩部分得到兩個概率分布。
在每個小批量訓練中,每個數據樣本經過兩次前向傳播,每次經過都由不同的子模型處理,隨機刪除一些隱藏單元。通過最小化兩個分布之間的雙向KL散度(Kullback-Leibler divergence),迫使兩個子模型輸出的相同數據樣本的兩個分布彼此一致。GRU-GCN-RDrop對訓練中每個數據樣本中隨機抽樣的兩個子模型的輸出進行正則化,可以緩解訓練階段和推理階段之間的不一致性。

(7)
式中,前兩項用來最小化實際車速和預測值之間的誤差,第二項對稱KL散度,用來規范模型預測,α是一個權重系數。
總之,GRU-GCN-DRrop模型可以處理交通數據中復雜的時空特征。利用GCN來捕獲城市道路網絡的拓撲結構,以獲得空間依賴性。利用GRU捕獲道路上交通信息的動態變化,獲得時間依賴性。利用對比學習方法R-Drop提高模型泛化能力使得預測精度提高,最終完成交通速度預測任務。
利用SZ-taxi數據集進行實驗。SZ-taxi數據集采集到的數據為深圳出租車軌跡數據,此次實驗選取的研究區域為羅湖區,數據集采集時間段為2015年的1月份,共31天。有兩個矩陣表示數據,使用一個鄰接矩陣表示156個主要道路,大小為156*156。另一個矩陣中每個元素代表不同道路在不同時間段上的交通速度,行代表道路信息,列代表時間信息。該數據集中采樣周期為15分鐘,每15分鐘計算一次每條路上的車速,共為2 977組數據。
實驗中,訓練集為數據集的前80%,測試集為數據集的后20%。對輸入數據進行預處理,輸入數據被歸一化到區間[0,1]。
GRU-GCN-RDrop模型對實驗中參數的設置如下: 學習系數為0.001,,批量大小為64,隱藏單元的數量為100和R-Drop權重系數為0.1.
由于KL散度在訓練初期表現得不是很穩定,所以訓練初期不加入KL散度,只訓練帶有dropout的模型,訓練次數設定為1 000次,再將此模型加上KL散度訓練,訓練次數設定為300次。
為了評估GRU-GCN-RDrop模型的預測性能,使用5個指標來評估真實交通信息和預測值之間的差異,RMSE和MAE來衡量真實值和預測值之間的誤差,Accuracy來衡量預測精度,R2和Var來衡量預測值是否可以代表真實值。
(1)均方根誤差(RMSE):
(8)
(2)平均絕對誤差(MAE):
(9)
(3)精度(Accuracy):
(10)
(4)判定系數(R2):
(11)
(5)解釋方差(Var):
(12)
為了進一步評價提出的GRU-GCN-RDrop模型的性能,與以下模型進行對比分析:
(1) HA:歷史平均模型。HA模型通過計算歷史交通速度的平均值作為下一時間段的交通速度預測值。
(2) ARIMA:自回歸差移動平均模型。ARIMA模型預測的序列規律性越強,預測結果越好。
(3) SVR:支持向量機回歸模型。SVR模型通過學習到數據中的非線性關系來對未來交通數據進行預測。
(4) GCN:圖卷積網絡。GCN模型捕獲空間特征進行交通速度的預測。
(5) GRU:門控循環單元網絡。GRU模型捕獲時間特征進行交通速度的預測。
實驗對GRU-GCN-RDrop模型及其他基線方法進行15分鐘、30分鐘、45分鐘和60分鐘的預測。
實驗結果如表1所示,*表示該值太小,可以忽略不計,說明該模型的預測效果較差。

表1 GRU-GCN-RD模型和其他基線方法在SZ-taxi數據集上的預測結果
從表1可以看出,在這五個評估指標下,提出的GRU-GCN-RDrop在SZ-taxi數據集上都是最佳表現,本節從三個方面來分析模型GRU-GCN-RDrop的優勢。
(1)GRU-GCN-RDrop模型的預測精度高。基于深度學習的模型一般比基于統計理論的模型具有更好的預測精度和更低的均方根誤差。例如,15 min的交通速度預測任務,GRU-GCN-RDrop模型和GRU模型的均方根誤差分別比SVR模型低了約46.2%和46.3%,準確率分別提高了4.2%和1.8%。這主要是由于基于統計理論的模型只擅長處理簡單的、平穩的時間序列數據。
(2)GRU-GCN-RDrop模型的時空預測能力強。對比GCN模型和GRU模型,可以清楚地從表1中看到組合模型(GRU-GCN-RDrop)比單因素的模型(GCN,GRU)有更好的預測能力。以15 min的交通速度預測為例,GRU-GCN-RDrop的均方根誤差相比GCN的均方根誤差低了56.7%,比GRU的均方根誤差低了5.3%,表明GRU-GCN-RDrop模型可以從交通數據中捕獲時空特征。
(3)GRU-GCN-RDrop模型的長期預測能力強。圖4顯示了GRU-GCN-RDrop模型在不同預測范圍內的均方根誤差和精度的變化,在不同的預測范圍中,誤差和精度的變化不大,具有一定的穩定性。圖5顯示了不同基準模型的均方根誤差比較。可以看出,無論預測范圍如何,GRU-GCD-RDrop模型都能達到最好的結果。

圖4 模型在不同預測范圍內的均方根誤差和精度

圖5 不同基準方法在不同預測范圍內的均方根誤差
(4)GRU-GCN-RDrop模型的泛化能力強。與現有先進的模型T-GCN和ST-AGTCN進行比較,這三種模型都捕捉到了時空依賴關系,GRU-GCN-RDrop模型使用R-Drop提升泛化能力使得均方根誤差降低。從表1中可以看出,GRU-GCN-RDrop模型的均方根誤差在不同預測范圍內都是最低的。
從對數據集中任意兩個路段提前15分鐘和提前30分鐘預測情況的可視化圖中可以發現,GRU-GCN-RDrop模型對于交通速度的預測可以得到良好的結果,如圖6~圖9所示。

圖6 節點1在預測范圍為15 min內可視化結果

圖7 節點1在預測范圍為30 min內可視化結果

圖8 節點2在預測范圍為15 min內可視化結果

圖9 節點2在預測范圍為30 min內可視化結果
(1)設計了基于GRU-GCN-RDrop組合模型框架,是將GRU和GCN模型結合,并使用對比學習方法,改善了現有模型預測能力。
(2)通過與5種基準方法進行對比,實驗表明所提出的交通速度預測模型在RMSE、MAE、R2_score、Accuracy、var五個指標上均表現為最佳。
(3)該模型的搭建為交通速度預測提供了更準確的信息,可對交通部門提供幫助,提高行人出行效率。
(4)為進一步推廣交通速度預測模型的應用,在未來工作中,對交通速度的預測可以從單步預測轉換為多步預測,提升整個智能交通系統的實用性。