陳丹蕾,陳 紅,任安虎
西安工業(yè)大學 電子信息工程學院,西安710021
近年來交通擁堵現(xiàn)象嚴重,且擁堵時的尾氣排放不僅造成環(huán)境污染也導致大量能源浪費;道路擁擠造成交通事故的頻發(fā),都給交通治理帶來考驗。道路車流量預測是近年來交通領域的研究熱點之一,在路網(wǎng)不同道路上的檢測器中采集到車流量數(shù)據(jù),通過一些方式學習到其中的數(shù)據(jù)規(guī)律,去預測未來時刻不同路段的數(shù)據(jù)。文獻[1]在路易斯64號州際公路的數(shù)據(jù)上研究了四類傳統(tǒng)機器學習交通流量預測的方法:分布式隨機森林、深度神經(jīng)網(wǎng)絡、廣義線性模型和梯度提升機。其中分布式隨機森林方法所得模型略微勝于其他三種方法所得模型。為防止交通流的不確定性帶來噪聲干擾,同時為提高預測的準確性,文獻[2]建議采用小波分解法獲得原始交通數(shù)據(jù)的基序列和偏差序列。并對比了局部加權偏最小二乘法(LW-PLS)和卡爾曼濾波法,結果表明文中方法的準確率確實有所提高??紤]到神經(jīng)網(wǎng)絡組合模型性能優(yōu)于單模型,將k-近鄰(KNN)與長短時記憶(LSTM)結合[3],利用KNN 選擇檢測站并將構造的交通序列集數(shù)據(jù)送入LSTM預測。文獻[4]組合了ARMA模型和BP神經(jīng)網(wǎng)絡模型,以道路路口為單元做預測,但沒考慮路口的交通流方向。STARIMA[5]預測模型利用包含多階路口的路口轉彎率來構建空間上的權重矩陣,雖考慮了交通流方向但沒有考慮現(xiàn)實因素中人的主觀因素對路線選擇的影響,只考慮了最優(yōu)情況。在大型的路網(wǎng)結構中為了預測交通擁堵,Ma等人[6]融合了深度受限玻爾茲曼機和遞歸神經(jīng)網(wǎng)絡,由于RNN模型自身限制無法處理長時間序列,Shao 等人[7]利用LSTM 模型進行預測,雖克服RNN存在的問題,但層數(shù)限制導致LSTM模型優(yōu)勢沒被體現(xiàn),預測效果不佳。為加深層數(shù)并提高預測精度,提出深度信念網(wǎng)絡(DBN)和多任務學習(MTL)組成的深度框架[8],二者間可通過權重共享使精度提高近5%。路網(wǎng)結構類似于拓撲結構,在圖論中可以表現(xiàn)為圖結構數(shù)據(jù),可利用圖卷積網(wǎng)絡在圖結構上做數(shù)據(jù)信號的處理。文獻[9]提出時空圖卷積網(wǎng)絡(STGCN),相比傳統(tǒng)CNN和RNN提高了計算效率,可以很好地學到時空特征中的有用信息。為了能夠在實際路況中隨著時間變化過程動態(tài)地捕捉到空間的依賴關系,用動態(tài)圖卷積的思想對STGCN的空間靜態(tài)依賴提出時空GCNN[10]來做改進;不同周期的流量數(shù)據(jù)也是捕獲數(shù)據(jù)時空特性的關鍵,利用時空卷積對其分別建模提出多組件時空圖卷積網(wǎng)絡[11](MCSTGCN),真實數(shù)據(jù)預測后效果優(yōu)于部分現(xiàn)有模型;利用基于注意力的方式在模型中突出重要的數(shù)據(jù)部分,文獻[12]提出圖和基于注意力的長短期記憶網(wǎng)絡(GLA)的混合以捕獲交通流的時空特點。圖卷積網(wǎng)絡(GCN)提取觀測站上的交通流的空間特征,長短期記憶(LSTM)模型提取到交通流的時間特點。為了在大規(guī)模數(shù)據(jù)上進行預測,Gao等人[13]提出一種大規(guī)模的可學習的圖卷積網(wǎng)絡(large-scale Learnable GCN,LGCN),取特征值大的前幾個結點作為鄰居結點最終得到鄰居結點的信息。Zhao 等人[14]提出將圖卷積網(wǎng)絡與門控循環(huán)單元組合模型,在出租車和高速公路環(huán)路上數(shù)據(jù)集上預測車速,并加入隨機噪聲檢驗模型的魯棒性,結果表明所提模型具有更好的性能,但是并沒有考慮到城區(qū)路網(wǎng)內交通流之間的特性。
綜上所述,充分考慮到城區(qū)路網(wǎng)的結構特性,以及交通流預測需要同時考慮時空因素的特點,采用圖卷積網(wǎng)絡與門控循環(huán)單元組合構成一個包含五層神經(jīng)網(wǎng)絡層的深度神經(jīng)網(wǎng)絡,先根據(jù)真實路網(wǎng)中各路段之間的相鄰關系構造路段之間的鄰接矩陣作為圖卷積網(wǎng)絡的有向圖數(shù)據(jù),將采集到的車流量數(shù)據(jù)與鄰接矩陣一同作為圖卷積網(wǎng)絡的輸入,用經(jīng)過GraphSAGE 算法改進后的圖卷積網(wǎng)絡采集并聚合相鄰路段所提取到的含有空間特征的車流量數(shù)據(jù)。再結合門控循環(huán)單元可以處理時間序列數(shù)據(jù)的特點,將圖卷積網(wǎng)絡中已經(jīng)降維的輸出數(shù)據(jù)作為其自身的輸入,由此提取出含有時間特征的1維向量作為最終的預測結果,根據(jù)實驗得出的結論驗證了模型的有效性,證明本文模型可以很好地預測城區(qū)道路的車流量。
圖卷積網(wǎng)絡[15]是為解決拓撲結構數(shù)據(jù),提高網(wǎng)絡效率且更好地提取數(shù)據(jù)空間特征而提出,圖卷積網(wǎng)絡計算原理如圖1 所示。圖卷積網(wǎng)絡中的結點關系是用圖來表示,對圖進行定義:G=(V,E),其中V(vertices)是圖中結點的集合,E(edges)是結點之間邊的集合,結點代表各路段的采集器,邊代表路段,箭頭代表方向。在交通網(wǎng)絡中,交通數(shù)據(jù)是有向的且在真實路網(wǎng)中采集器采集到的數(shù)據(jù)都是單向的,因此這里定義的是單方向的有向圖(如圖2所示)。
圖1 圖卷積網(wǎng)絡計算原理圖
圖2 交叉路口不同方向車流量行駛情況
圖2 中黑色圓點代表每個道路口的采集器(傳感器),每條路段都有1個采集器,分別記錄進入車道車輛和通過車道車輛,代表從圖中車道的初始位置開始可能通行的各個方向,紅色方框的部分代表一個交通路口,箭頭指向代表車輛通行(車道)方向。
圖卷積層卷積操作和激活函數(shù)定義如下:
其中,Hl+1∈?M×Nl+1為l+1 的隱含值;Hl∈?M×Nl為l層的隱含值;X∈?M×N為輸入;M為結點數(shù)量;N為每個結點上的特征數(shù)量;為了在結點中引入自身結點,再定義一個單位對角矩陣I,使得;f為l層到l+1 層的傳播函數(shù),將各結點特征聚合后利用它的傳播規(guī)則生成下一層的特征值。其傳播規(guī)則如下:
其中,σ為l層的非線性激活函數(shù)(relu激活函數(shù));度矩陣,i、j分別為結點vi與結點vj,D-1/2為對度矩陣D求逆后開根號,可以看作是用來給度結點的特征值進行歸一化從而降低不同度數(shù)量上特征值之間的差距,防止后期訓練過程中出現(xiàn)梯度消失或梯度爆炸的現(xiàn)象,Wl∈?NlNl+1為l層的權重矩陣。
GraphSAGE[16]的核心是通過訓練聚合函數(shù)聚合鄰居結點特征信息,將基線的圖卷積網(wǎng)絡學習擴展為歸納學習,使得利用該算法改進后的GCN 對未知結點起到泛化的作用。定義l個聚合器aggregatel,?l∈{1,2,…,l}在聚合器上定義聚合函數(shù)來聚合鄰居結點信息到目標結點上,聚合過程如下所示:
以圖3中紅色結點為中心向外采樣,l=1 代表第一層采樣的鄰居結點,聚合鄰居結點的特征信息,l=2 代表第二層采樣到二階結點,聚合到二階鄰居結點的特征信息。為了盡可能保留車流量較多的特征,本文中每一層的聚合算子采用加和聚合算子,如公式(6)所示:
圖3 某路口結點兩層采樣和聚合的過程
在圖算法中,圖注意力機制[17]需要先計算目標結點與鄰居結點之間的注意力系數(shù),在路網(wǎng)中可以描述為兩路段之間車流量流動越大系數(shù)越大。這些系數(shù)作為權重在聚合鄰居結點信息時進行加權,在圖神經(jīng)網(wǎng)絡計算中能更關注系數(shù)大的鄰居結點,從而增加大車流量路段預測的準確性,路段間的車流量關系也很容易被發(fā)掘。設鄰居結點v到vi的權重系數(shù)為eiv,激活函數(shù)設計為LeakyReLU,權重參數(shù)為a∈?2d(l+1),則權重系數(shù)計算公式為:
為能更好地分配權重,對所有的鄰居計算出的相關度統(tǒng)一地做形式為softmax 歸一化處理,保證所有鄰居的權重系數(shù)和為1,得到最終的權重系數(shù)αiv:
最后根據(jù)注意力機制的加權求和思路,更新后的結點v特征值為:
門控循環(huán)單元是為解決循環(huán)神經(jīng)網(wǎng)絡(RNN)中無法保留長時間依賴信息以及反向傳播過程中出現(xiàn)的梯度消失和梯度爆炸現(xiàn)象。但是相比LSTM 能夠提高運算速度[18-19],同時在性能上影響較小,在不同時間段的特征值中保留下來出現(xiàn)頻率較高的特征。GRU神經(jīng)網(wǎng)絡單個細胞內部原理圖如圖4所示,在每個隱藏神經(jīng)元單元中都有兩個門控,分別為更新門zt決定是否將前邊時間段的信息傳遞進來、重置門rt決定該遺忘多少信息、經(jīng)過重置門之后剩下的部分被稱作候選狀態(tài),在輸入時間數(shù)據(jù)后該網(wǎng)絡會根據(jù)所輸入數(shù)據(jù)長度確定時間序列長度,并且在一個時間步里,所有神經(jīng)單元會同時并行處理數(shù)據(jù)。
圖4 GRU隱藏單元內部原理圖
式(10)~(13)中為GRU隱藏單元內部計算原理:
其中,xt為輸入,ht-1為上一時刻的隱藏狀態(tài),ht為新細胞狀態(tài);rt為重置門值,zt為更新門值,為候選狀態(tài);win、wir、wiz分別為兩個門和隱藏狀態(tài)的輸入的權重,whn、whr、whz分別為兩個門和隱藏狀態(tài)的隱藏層權重,bin、bir、biz分別為兩個門和隱藏狀態(tài)的輸入偏置,bhn、bhr、bhz分別為兩個門和隱藏狀態(tài)的隱藏層偏置;σ為sigmoid激活函數(shù),“?”為哈達瑪積。
給定一個包含有M條路段,N天歷史車流量數(shù)據(jù),則需要定義該路網(wǎng)第n天的車流量數(shù)據(jù)矩陣Sn為:
如圖5所示為路網(wǎng)拓撲結構,每一條線代表一條路段,兩路段的交點即為一個路口,每條路段均安置一個檢測器,對應編號既為路段編號也為檢測器編號。以編號為A 的路段為例,“①”代表車流從A 路段分別到一階鄰居結點路段B、D、F的車流量,“②”以及灰色指向箭頭代表車流經(jīng)過一階鄰居結點路段到二階鄰居結點路段B1、B2、B3、D1、D2、D3、F1、F2、F3 的車流量,起始路段與其鄰居路段間指向關系如表1所示。
圖5 路網(wǎng)拓撲結構圖
表1 A路段對應一二階鄰居路段
預測模型建立過程如下:
(1)GCN 參數(shù)配置。為了降低計算復雜度節(jié)約計算資源,在圖卷積網(wǎng)絡中設定聚合器l=2,采樣結點數(shù)為10,并在每一層的前向傳播過程中加入圖注意力機制方法。
(2)GCN 第一層結點設置。圖卷積網(wǎng)絡的第一層輸入為144×N(N天每天144個時間點)個結點,輸出為350個結點。
(3)GCN 第二層結點設置。圖卷積網(wǎng)絡的第二層輸入為350個結點,輸出為220個結點;其中圖卷積層每一層接收到所有特征數(shù)據(jù)后,會利用空間相關性根據(jù)不同的權重進行降維。
(4)GRU 第一層神經(jīng)單元設置。門控循環(huán)單元的第一層隱藏神經(jīng)單元個數(shù)為100,輸入維度為圖卷積網(wǎng)絡的輸出維度。
(5)GRU 第二層神經(jīng)單元設置。門控循環(huán)單元的第二層隱藏神經(jīng)單元個數(shù)為10。
(6)全連接層設置。最后一層為全連接層,神經(jīng)元個數(shù)為1,其輸出值為最終的預測結果。
預測模型結構如圖6所示。
圖6 模型結構
為了增加評估模型的有效性,本實驗數(shù)據(jù)采集于陜西省榆林市區(qū)某中心區(qū)域如圖7 所示,該數(shù)據(jù)集中共涉及到16 個路口,57 條路段,數(shù)據(jù)點以周期10 min為一個間隔,從8:30—21:30 共10 天正常工作日,共包含45 030 個車流量數(shù)據(jù)。其中訓練數(shù)據(jù)為前6 天,測試數(shù)據(jù)為后2 天,為觀察模型的訓練效果,取第7 天和第8 天的數(shù)據(jù)作為驗證集。圖7 中綠色線表示所涉及路段,線段上方框中1~16 數(shù)字代表路口編號。為便于觀察路網(wǎng)中每條路段的具體位置,畫出圖7 區(qū)域的路段拓撲結構圖如圖8 所示,每條路段都對應著該路段的路段編號。
圖7 本實驗采集數(shù)據(jù)的真實路網(wǎng)區(qū)域
圖8 本實驗路網(wǎng)區(qū)域拓撲結構圖
模型算法設計如下:
(1)根據(jù)一階鄰居結點指向關系構造鄰接矩陣adjacency=R57×57。
(2)定義一個單位對角矩陣I,使得
(5)將歸一化好的結點特征和車流量數(shù)據(jù)矩陣S輸入到第一層GCN層。
(6)引入注意力機制,計算結點v與鄰居結點vi之間的權重系數(shù)eiv。
(7)對所有的權重系數(shù)做softmax歸一化處理,得到最終權重系數(shù)αiv=softmax(eiv)。
(8)選擇加和聚合算子Aggsum。
(9)通過第一層GCN 層聚合操作后聚合了一階鄰居結點的特征。
(10)第一層輸出經(jīng)過relu變換輸入到第二層,再執(zhí)行一遍(6)~(8),此時聚合了二階鄰居結點特征
(11)第二層輸出經(jīng)過relu變換輸入到第三層GRU層,第三層輸出后輸入到第四層GRU層。
(12)最后一層Dense層的輸入為第四層的輸出,得出預測結果。
結合該算法的每一層參數(shù)配置如表2所示。
表2 模型參數(shù)配置
為了評價模型的預測性能,本文分別以均方誤差(Mean Square Error,MSE)以及準確率(ACC)作為評價指標,定義如下所示:
式中,N為樣本個數(shù),yn為車流量真實值,為車流量預測結果。
本實驗在RTX2060 上采用Adam 優(yōu)化器來對模型進行優(yōu)化,學習速率為0.001,訓練批次為200次,權重衰減為5E?4。為了消除不同數(shù)量級對模型訓練帶來影響,需要在讀取數(shù)據(jù)之后對所有數(shù)據(jù)首先進行歸一化處理,同時也能夠有效提升模型的訓練速度,降低計算資源的消耗。歸一化方法:
根據(jù)表3 實驗結果發(fā)現(xiàn)本文模型預測性能最優(yōu),MSE 為0.000 53,相較于GCN+LSTM 提高了0.000 16,相當于將每一個預測值與真實值之間的差距平均縮小了約0.095 5;相較于GCN提高了0.010 7,預測值與真實值之間的差距平均縮小了約0.781 0;相較于GRU 和LSTM分別提高了0.010 4和0.011 0,差距也分別縮小了約0.769 9、0.791 8,說明本文模型具有較高的穩(wěn)定性。而準確率隨著模型復雜度降低成正比,因此也驗證了組合時空特征提取模型在預測過程中優(yōu)于獨立特征提取模型,并且本實驗模型的準確率高于其他非GCN 模型達8%左右,證明圖卷積神經(jīng)網(wǎng)絡在預測不規(guī)則排列數(shù)據(jù)時相比其他模型能力較強,在車流量預測中可以達到很好的預測效果。
表3 5種模型的預測結果
如圖9~11 所示,隨著訓練次數(shù)的增加本實驗模型在訓練集和驗證集上都表現(xiàn)出了較快的收斂速度,且3 個圖中GRU 模型收斂速度明顯快于LSTM 模型,證明了本實驗模型訓練速度優(yōu)于其他模型并且GRU 模型計算速度快于LSTM 模型。使用該預測模型預測第11 天上午8:30 時刻的57 條路段車流量,并與真實值對比。
圖9 5種模型損失變化情況
圖10 5種模型在訓練集上準確率變化情況
圖11 5種模型在驗證集上準確率變化情況
觀察圖12~16,可以看出在圖12中預測模型的擬合度較高,其他模型在編號為10~24 以及36~38 的路段上擬合度較差,波動較大,為了便于觀察,將5種模型的整體差值范圍表示如圖17所示。
圖12 GCN+GRU模型預測結果與真實值比較
圖13 GCN+LSTM模型預測結果與真實值對比
圖14 GCN模型預測結果與真實值比較
圖15 GRU模型預測結果與真實值比較
圖16 LSTM模型預測結果與真實值比較
圖17 5種模型預測差值
圖17 中不同顏色代表不同路段上的差值,可以看出所提模型的差值最低,LSTM 模型的差值最高,進一步驗證了所提組合模型的精度要優(yōu)于其他模型。
圖神經(jīng)網(wǎng)絡在處理矢量數(shù)據(jù)的優(yōu)勢使其可以在城市路網(wǎng)中有效地提取路網(wǎng)中的空間相關性,門控循環(huán)單元在有效處理時間序列數(shù)據(jù)的同時在計算速度上相比于LSTM模型也有所提高,二者組合共同預測城市市區(qū)內57 條道路的車流量,并且在實驗中證明該模型在訓練速度以及預測精度上均明顯優(yōu)于其他非圖神經(jīng)網(wǎng)絡以及非組合的模型。雖然模型性能不錯,但是考慮到在大量的數(shù)據(jù)下神經(jīng)網(wǎng)絡可以表現(xiàn)出更好的性能,因此為了提升模型的性能,在未來的工作中將會采集更多的數(shù)據(jù)給模型增強數(shù)據(jù)驅動的能力。