袁毅,王振華,滕志偉,黃文軍,王然,余梁
(1.安徽毫阜高速公路有限公司,安徽 毫州 236000;2.招商新智科技有限公司,北京 100000;3.北京交通大學(xué) 計算機與信息技術(shù)學(xué)院,北京 100044)
高速公路流量不僅可以反映道路的交通運行狀況,還可以輔助分析道路發(fā)生事故的情況,是進(jìn)行交通管理規(guī)劃以及相關(guān)交通設(shè)施建設(shè)部署的重要參考。交通流量具有時間相關(guān)性和空間相關(guān)性[1-3],根據(jù)研究對象為單一指定檢測點處的流量還是路網(wǎng)系統(tǒng)對指定檢測點流量的影響,可將流量研究分為基于時間相關(guān)性和時空相關(guān)性兩類。時間序列模型主要分析流量歷史數(shù)據(jù)在時間尺度上的變化規(guī)律[4-5]。由于多個檢測點處的流量存在相互影響,因此利用好不同位置流量間的空間相關(guān)性,將有利于實現(xiàn)更準(zhǔn)確的交通流預(yù)測[6-8]。
交通流數(shù)據(jù)中存在著動態(tài)的時空相關(guān)性,傳統(tǒng)方法難以同時考慮多種影響因素,而基于圖卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法[9-13]可設(shè)計更精細(xì)的特征提取方法,建模交通數(shù)據(jù)中的時空相關(guān)性。圖卷積神經(jīng)網(wǎng)絡(luò)使用共享的參數(shù)空間,學(xué)習(xí)不同檢測點處交通數(shù)據(jù)的空間相關(guān)性,當(dāng)不同檢測點流量變化相似時,這種方法比較有效[14-15]。但通過實例驗證分析發(fā)現(xiàn),鄰接檢測點處流量的峰值和變化趨勢差別較大,使用共享參數(shù)空間的圖卷積難以學(xué)習(xí)到各個檢測點處流量特定的變化模式。因此,采用矩陣分解的方法構(gòu)建節(jié)點自適應(yīng)參數(shù)學(xué)習(xí)模塊,根據(jù)節(jié)點的嵌入表示,從多種候選模式的集合中學(xué)習(xí)其特定的變化模式[16]。此外,基于圖卷積網(wǎng)絡(luò)的方法需要根據(jù)距離預(yù)先定義鄰接關(guān)系圖來捕獲空間相關(guān)性,由于先驗知識有限,預(yù)定義圖中具有鄰接關(guān)系的節(jié)點在流量變化規(guī)律上沒有明顯的相關(guān)性[17],為此,本文通過生成自適應(yīng)鄰接矩陣以更全面地捕獲交通數(shù)據(jù)的空間相關(guān)性。
本文提出一種面向高速公路流量預(yù)測的自適應(yīng)圖注意力網(wǎng)絡(luò)(Adaptive Graph Attention Net-work,AGAT)模型,該模型將節(jié)點自適應(yīng)參數(shù)學(xué)習(xí)模塊、自適應(yīng)鄰接矩陣生成模塊和門控循環(huán)單元整合,以捕獲交通數(shù)據(jù)中復(fù)雜的時空相關(guān)性。但是,循環(huán)神經(jīng)網(wǎng)絡(luò)難以捕獲長程的時間相關(guān)性[18],并且會帶來一定的信息損失[19],為此,本文設(shè)計了一個轉(zhuǎn)換注意力層,直接建模未來時間步信息與歷史多個時間步信息的相關(guān)性,從而實現(xiàn)準(zhǔn)確的交通流量預(yù)測。
本節(jié)分析桂林市高速路網(wǎng)中4個斷面(節(jié)點)在相同時間片段流量的時空特性。 選取2022年2月8日0時到2月12日0時共4天的流量序列數(shù)據(jù)進(jìn)行可視化,流量數(shù)據(jù)采樣粒度為1次/h。斷面流量變化趨勢見圖1,其中圖1(a)~圖1(c)3個斷面在鄰接圖中具有鄰接關(guān)系,圖1(d)與以上3個斷面都沒有鄰接關(guān)系。由圖1可知,車輛流量的分布呈現(xiàn)明顯的周期性。另外,雖然3個具有鄰接關(guān)系的斷面流量分布的整體趨勢相近,但在平均值與峰值水平上三者相差較大。在以往的研究中,選取的研究對象通常是普通的城區(qū)道路,采樣點密度大,并且采樣點之間的距離短,所以相鄰的節(jié)點流量數(shù)值相近,變化平緩;但本文選取的高速公路斷面總是伴隨互通與收費站而出現(xiàn), 采樣點之間的距離相隔較遠(yuǎn)且很稀疏,流量變化與節(jié)點所處地段、所在地天氣更加相關(guān)。
(a) 靈川1-桂林招商公路1
與城市路網(wǎng)相比,高速公路網(wǎng)因為存在許多長途車輛,圖上距離相隔較遠(yuǎn)的兩個節(jié)點也更可能表現(xiàn)出較強的相關(guān)性,如圖1(b)與圖1(d)所示,斷面雖沒有鄰接關(guān)系,但都在同一方向的高速公路上,其流量變化也呈現(xiàn)相似的趨勢。因此,由于先驗知識有限,根據(jù)相似度或距離預(yù)先定義鄰接關(guān)系圖難以捕獲節(jié)點間的空間相關(guān)性。另外,通過分析可以發(fā)現(xiàn),對于同一個斷面,其流量在各天中的分布具有相似性。圖2展示了靈川1-桂林招商公路1斷面從2022年2月7日到2月28日共22天的流量變化情況。
圖2 斷面流量長時變化趨勢
本文使用節(jié)點自適應(yīng)參數(shù)學(xué)習(xí)模塊來捕獲各個節(jié)點特定的交通量變化模式,基于自適應(yīng)鄰接矩陣學(xué)習(xí)路網(wǎng)數(shù)據(jù)中潛在的空間相關(guān)性,將其與門控循環(huán)神經(jīng)網(wǎng)絡(luò)整合成自適應(yīng)圖卷積循環(huán)神經(jīng)網(wǎng)絡(luò),學(xué)習(xí)流量序列中的時空相關(guān)性,并通過注意力機制建模未來時間和歷史圖信號矩陣的相關(guān)性,預(yù)測未來的流量值。
本文提出面向高速公路流量預(yù)測的自適應(yīng)圖注意力網(wǎng)絡(luò),見圖3。通過自適應(yīng)圖卷積循環(huán)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)流量數(shù)據(jù)中的時空相關(guān)性,并設(shè)計了一個轉(zhuǎn)換注意力層, 建模歷史交通數(shù)據(jù)與未來交通數(shù)據(jù)的相關(guān)性,以解決循環(huán)神經(jīng)網(wǎng)絡(luò)難以捕獲長期的時間相關(guān)性和產(chǎn)生信息損失的問題。
圖3 面向高速公路流量預(yù)測的自適應(yīng)圖注意力網(wǎng)絡(luò)
經(jīng)過數(shù)據(jù)預(yù)處理得到路網(wǎng)G中所有節(jié)點在各個時間步的特征,以該特征作為輸入。具體輸入特征構(gòu)造方式如下:在第t個時間間隔內(nèi),觀測到高速公路路網(wǎng)G上的信號,用矩陣Xt=(xt,1,xt,2,…,xt,N)T∈N×C表示,式中1×C表示第t個時間間隔內(nèi)節(jié)點v的C個觀測量的取值。其中為該時間間隔內(nèi)節(jié)點上游路段車速,為該時間間隔內(nèi)節(jié)點下游路段車速,為該時間間隔內(nèi)節(jié)點流量值,為該時間段內(nèi)節(jié)點處平均氣溫,為該時間段內(nèi)節(jié)點處平均降水量,為該時間段內(nèi)節(jié)點處可見度,為該時間段對應(yīng)的周中天數(shù),為該時間段對應(yīng)的時間片段。
圖卷積網(wǎng)絡(luò)(Graph Convolutional Network, GCN)是一種用于處理非歐式結(jié)構(gòu)數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)?,F(xiàn)實中的高速公路路網(wǎng)是不規(guī)則的,可看作非歐式結(jié)構(gòu),可以使用圖卷積網(wǎng)絡(luò)來處理高速公路路網(wǎng)數(shù)據(jù),以捕獲不同位置流量數(shù)據(jù)的空間相關(guān)性,提升交通數(shù)據(jù)預(yù)測的精度。圖卷積運算可用一階切比雪夫多項式展開逼近,并且可以推廣到高維圖卷積:
(1)
式中:IN為維度是N×N的單位矩陣;A∈N×N為圖G的鄰接矩陣;D為度矩陣;Xt∈N×C和Zt∈N×F分別為第t個時間間隔內(nèi)圖卷積網(wǎng)絡(luò)的輸入和輸出;Θ∈C×F和b∈N×1分別為可學(xué)習(xí)權(quán)重和偏置項。圖卷積運算可以看作是利用所有節(jié)點共享的Θ和b,將節(jié)點特征xt,i∈R1×C轉(zhuǎn)化為zt,i∈R1×F。雖然在一些情況下,參數(shù)共享對學(xué)習(xí)鄰近節(jié)點間的空間相關(guān)性和主導(dǎo)的流量變化模式是有效的,但是,由流量時空分布特性可知,相鄰節(jié)點在一些時間段的流量變化模式是不相似的,這是因為節(jié)點的流量變化還受到其他因素比如可見度、降水量等的影響。由于流量序列的動態(tài)性,不同位置的流量序列變化具有多種模式。因此,通過共享參數(shù)的方式學(xué)習(xí)鄰近節(jié)點間的空間相關(guān)性和流量的主導(dǎo)變化模式,不足以實現(xiàn)準(zhǔn)確的流量預(yù)測,需要對每個節(jié)點維持特定的參數(shù)空間以學(xué)習(xí)節(jié)點特有的模式。但是,對每個節(jié)點分配參數(shù)空間將得到Θ∈N×C×F,當(dāng)N較大時,難以對其進(jìn)行優(yōu)化,并且可能導(dǎo)致過擬合問題。為解決該問題,可以基于矩陣分解方法學(xué)習(xí)兩個較小的參數(shù)矩陣:①節(jié)點嵌入矩陣Eg∈N×d,其中d為嵌入維度且d?N;②權(quán)重池Wg∈d×C×F。Θ可由兩個參數(shù)矩陣生成,即Θ=Eg·Wg,該等式可解釋為對節(jié)點i,通過其節(jié)點嵌入表示與權(quán)重池Wg中對應(yīng)的可學(xué)習(xí)參數(shù)相乘得到Θi,以表示節(jié)點i特定的變化模式。最后,以第t個時間間隔內(nèi)的輸入為例,基于節(jié)點自適應(yīng)參數(shù)學(xué)習(xí)的圖卷積網(wǎng)絡(luò)可定義為:
(2)
圖卷積運算需要預(yù)先定義鄰接矩陣,很多現(xiàn)有工作利用距離函數(shù)或相似度函數(shù)提前計算好圖的鄰接矩陣[20-21]。但是,這種預(yù)先定義鄰接矩陣的方式不能涵蓋關(guān)于空間相關(guān)性的完整信息,因此在預(yù)測任務(wù)中可能產(chǎn)生較大偏差。為解決該問題,本文生成自適應(yīng)鄰接矩陣以學(xué)習(xí)路網(wǎng)數(shù)據(jù)中的潛在空間相關(guān)性。該方法首先為所有節(jié)點初始化一個可學(xué)習(xí)的節(jié)點嵌入字典EA∈N×de,EA中的每一行表示一個節(jié)點的嵌入表示,de為嵌入表示的維度??赏ㄟ^EA和的乘積計算節(jié)點之間的空間相關(guān)性。為減少訓(xùn)練過程中的重復(fù)計算,可以基于EA和的乘積直接生成并通過SoftMax標(biāo)準(zhǔn)化自適應(yīng)鄰接矩陣。自適應(yīng)鄰接矩陣的生成不需要任何先驗知識,在訓(xùn)練過程中通過梯度下降更新節(jié)點嵌入矩陣EA的參數(shù),以實現(xiàn)自適應(yīng)地發(fā)現(xiàn)節(jié)點間潛在的空間相關(guān)性?;谧赃m應(yīng)鄰接矩陣生成的圖卷積計算可定義為:
(3)
為實現(xiàn)準(zhǔn)確的流量預(yù)測,除了挖掘不同位置交通數(shù)據(jù)的空間相關(guān)性之外,還需要了解交通數(shù)據(jù)中的時間相關(guān)性。因此,本文將節(jié)點自適應(yīng)參數(shù)學(xué)習(xí)模塊和自適應(yīng)鄰接矩陣生成模塊整合到門控循環(huán)單元中,以捕獲數(shù)據(jù)中的時空相關(guān)性?;谧赃m應(yīng)鄰接矩陣生成模塊建模節(jié)點間的空間相關(guān)性:
(4)
為學(xué)習(xí)節(jié)點獨有的模式,利用節(jié)點自適應(yīng)參數(shù)學(xué)習(xí)模塊替換門控循環(huán)單元中的多層感知器。整合后的自適應(yīng)圖卷積循環(huán)神經(jīng)網(wǎng)絡(luò)定義為:
(5)
(6)
(7)
(8)
通過堆疊多個自適應(yīng)圖卷積循環(huán)神經(jīng)網(wǎng)絡(luò)作為編碼器學(xué)習(xí)節(jié)點特有的流量變化模式和復(fù)雜的時空相關(guān)性,以實現(xiàn)準(zhǔn)確的流量預(yù)測。
本文基于注意力機制[22]設(shè)計了一個轉(zhuǎn)換注意力層,建模歷史信息與未來時間步信息的相關(guān)性,以減輕循環(huán)神經(jīng)網(wǎng)絡(luò)產(chǎn)生的信息損失和誤差傳播。
首先通過時空嵌入層得到各個時間步的節(jié)點嵌入表示。為融合節(jié)點的空間信息,使用上一節(jié)中的節(jié)點嵌入矩陣EA,其中ev∈d為EA的第v行。為了獲得節(jié)點在不同時間步的相關(guān)性,將節(jié)點嵌入表示與時間步對應(yīng)的一天內(nèi)的小時數(shù)拼接,作為新的節(jié)點嵌入表示。對于節(jié)點v(v=1,…,N),其在歷史數(shù)據(jù)步Th和未來預(yù)測時間步Tp的時間片段的嵌入表示為ek,v∈d+1,其中k=t-Th+1,t-Th+2,…,t+Tp,ek,v=‖{ev,mod (k,24)}∈d+1。
轉(zhuǎn)換注意力層建模每一個未來時間步和歷史Th個時間步信息的相關(guān)性。對于節(jié)點v,預(yù)測時間步pj(pj=t+1,t+2,…,t+Tp)與歷史時間步q(q=t-Th+1,t-Th,…,t)的注意力權(quán)重的計算為:
(9)
(10)
通過轉(zhuǎn)換注意力層計算得到:
(11)
解碼器由k個全連接層構(gòu)成,對轉(zhuǎn)換注意力層得到的預(yù)測步的節(jié)點嵌入表示解碼,得到預(yù)測時間步各個節(jié)點處的流量F=(ft+1,ft+2,…,ft+Tp)。
模型訓(xùn)練的損失函數(shù)使用均方誤差函數(shù),優(yōu)化算法選用Adam算法[23],Adam算法是一種基于“動量”思想的隨機梯度下降算法,在迭代前計算梯度的兩階動量并計算滑動平均值,并用于更新參數(shù)。
本文采用桂林市路網(wǎng)區(qū)域的交通數(shù)據(jù),時間跨度從2022年1月1日到2月28日共59天,36個節(jié)點,以1 h為單位聚合每個斷面的流量。按照6∶2∶2的比例劃分訓(xùn)練集、驗證集和測試集,使用訓(xùn)練集的均值和標(biāo)準(zhǔn)差對所有數(shù)據(jù)進(jìn)行歸一化,輸入Th=8個時間步的數(shù)據(jù),預(yù)測Tp=1個時間步的交通流量。
選取平均絕對誤差(Mean Absolute Error,MAE)、均方根誤差(Root Mean Squared Error,RMSE)和平均絕對百分比誤差(Mean Absolute Percentage Error, MAPE),對本文提出模型的預(yù)測性能進(jìn)行驗證。
選取以下基線模型與本文提出的模型進(jìn)行對比:①HA:對每一個節(jié)點都以輸入數(shù)據(jù)所有時間步上的平均值作為下一時間步的預(yù)測值;②GCN[24]:用譜域中對角化的線性算子替代經(jīng)典卷積算子實現(xiàn)卷積操作;③RNN[25]:能很好地挖掘數(shù)據(jù)中的時序信息與語義信息,這里使用門控循環(huán)單元(GRU)作為編碼器和解碼器;④GMAN[9]:借助自注意力機制實現(xiàn)了空間與時間維度的注意力模塊,多個時空注意力模塊堆疊組成編碼器與解碼器;⑤AGCRN[16]:使用數(shù)據(jù)自適應(yīng)圖和自適應(yīng)圖卷積循環(huán)神經(jīng)網(wǎng)絡(luò)模塊,為每個節(jié)點都學(xué)習(xí)了一個特定的參數(shù)空間,挖掘流量序列中不同的模式。
模型自適應(yīng)圖卷積模塊的嵌入維度設(shè)置為24,堆疊的自適應(yīng)圖卷積模塊數(shù)量設(shè)置為1,循環(huán)神經(jīng)網(wǎng)絡(luò)單元隱藏狀態(tài)的維度設(shè)置為64,轉(zhuǎn)換注意力層的注意力頭數(shù)設(shè)置為4,解碼器中的全連接層數(shù)為1,訓(xùn)練時小批量大小設(shè)置為8,初始學(xué)習(xí)率設(shè)置為0.003,每10步衰減30%,早停步數(shù)設(shè)置為15。
使用不同方法在相同場景下進(jìn)行預(yù)測,試驗結(jié)果見表1。
表1 不同方法在數(shù)據(jù)集上的試驗結(jié)果比較
評價指標(biāo)MAE、RMSE、MAPE越低,模型預(yù)測越準(zhǔn)確。從表1中看出,除HA外,僅利用圖鄰接關(guān)系的GCN表現(xiàn)最差,GMAN次之。RNN雖然僅關(guān)注數(shù)據(jù)中的時序信息,但在本次試驗中表現(xiàn)出色,而同樣使用了自適應(yīng)圖卷積的AGCRN表現(xiàn)不佳,可能是因為AGCRN使用一維卷積來解碼循環(huán)模塊編碼得到的表示,不足以解析出編碼的所有信息。本文的模型一方面通過節(jié)點自適應(yīng)參數(shù)學(xué)習(xí)模塊很好地解決了節(jié)點間空間關(guān)聯(lián)度不顯著的問題,另一方面使用轉(zhuǎn)換注意力層聚合自適應(yīng)圖卷積模塊編碼的信息,在最優(yōu)的基線模型基礎(chǔ)上,MAE指標(biāo)提升了9.2%,RMSE指標(biāo)提升了7.0%,MAPE指標(biāo)提升了10.8%。
為了更全面地分析本文模型的優(yōu)勢,對各模型在臨桂六塘2-馬面立交1斷面從2月24日23∶00到2月25日23∶00時間區(qū)段的流量預(yù)測值進(jìn)行可視化,流量預(yù)測見圖4。從圖4可以看出,各個基線模型基本保持了和真實值相似的變化趨勢,但在數(shù)值水平上相差較大。其中AGCRN在識別時間維度上流量變化的能力不如RNN與AGAT,也輔證了AGCRN的卷積解碼器未能完全解碼出編碼后的所有信息的分析。從圖中還能看出,AGAT在預(yù)測精度上優(yōu)于其他基線模型。
(a) HA
為進(jìn)一步分析模型各個組件的作用,本文對原模型AGAT的3個變體進(jìn)行消融試驗,將這3個變體與AGAT進(jìn)行比較,變體的描述如下:
AGAT_wo_NAPL:在AGAT基礎(chǔ)上,使用標(biāo)準(zhǔn)圖卷積中的權(quán)重矩陣代替節(jié)點自適應(yīng)參數(shù)學(xué)習(xí)模塊(NAPL)。
AGAT_wo_DAGG:在AGAT基礎(chǔ)上,使用標(biāo)準(zhǔn)圖卷積中的歸一化圖鄰接矩陣代替自適應(yīng)鄰接矩陣生成模塊(DAGG)。
AGAT_wo_TA:在AGAT基礎(chǔ)上,使用一維卷積作為解碼器來代替轉(zhuǎn)換注意力層(TA)。
消融試驗的結(jié)果見表2。從表中可知,在不對節(jié)點進(jìn)行自適應(yīng)參數(shù)學(xué)習(xí)的情況下(AGAT_wo_NAPL),試驗效果有明顯下降,這意味著節(jié)點自適應(yīng)參數(shù)學(xué)習(xí)模塊很好地捕獲到了各個節(jié)點特定的交通模式。在不使用自適應(yīng)鄰接矩陣生成模塊的情況下(AGAT_wo_DAGG),試驗效果略有下降,這也說明DAGG模塊有比鄰接矩陣更優(yōu)秀的捕獲路網(wǎng)數(shù)據(jù)中潛在的空間相關(guān)性的能力,但由于下降效果不顯著,稀疏的高速公路路網(wǎng)的空間關(guān)聯(lián)性對流量預(yù)測準(zhǔn)確性的影響有限。在不使用轉(zhuǎn)換注意力層的情況下(AGAT_wo_TA),試驗效果顯著下降,說明通過注意力機制直接建模與歷史多個時間步的相關(guān)性,有效減少了循環(huán)神經(jīng)網(wǎng)絡(luò)傳遞信息的損失,轉(zhuǎn)換注意力層有助于模型更準(zhǔn)確地預(yù)測車流量。
表2 消融試驗結(jié)果
本文通過分析高速公路流量數(shù)據(jù)的時空分布,針對其分布特性提出了一種面向高速公路流量預(yù)測的自適應(yīng)圖注意力網(wǎng)絡(luò)模型,該模型基于自適應(yīng)圖卷積循環(huán)神經(jīng)網(wǎng)絡(luò)捕獲路網(wǎng)數(shù)據(jù)中復(fù)雜的時空相關(guān)性,通過轉(zhuǎn)換注意力層解決循環(huán)神經(jīng)網(wǎng)絡(luò)難以捕獲長期的時間相關(guān)性和產(chǎn)生信息損失的問題。將本模型同其他常用的預(yù)測方法在相同數(shù)據(jù)集和相同預(yù)測場景下進(jìn)行試驗對比,試驗結(jié)果表明本模型在預(yù)測效果上達(dá)到了最優(yōu),消融試驗也說明了該方法的有效性。但是,本文的方法還有一些優(yōu)化空間,比如可以考慮其他外部因素,例如節(jié)假日等,合理地量化這些因素,更準(zhǔn)確地實現(xiàn)流量預(yù)測,可作為今后模型優(yōu)化的方向。