杜圣東 李天瑞 楊 燕 王 浩 謝 鵬 洪西進(jìn)
1(西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院 成都 610031)2(臺灣科技大學(xué)計(jì)算機(jī)科學(xué)與信息工程系 臺北 10607)(sddu@swjtu.edu.cn)
隨著城市化進(jìn)程的加速發(fā)展,交通擁堵、尾氣排放等問題導(dǎo)致城市交通管理面臨挑戰(zhàn),如何有效預(yù)測未來的交通流趨勢以提前干預(yù)疏導(dǎo),被認(rèn)為是智能交通管理決策需解決的關(guān)鍵問題之一[1].一般來講,觀測點(diǎn)采集到的交通流量表示每個時(shí)間間隔通過的車輛數(shù)量,采集到的流量數(shù)據(jù)還包括交通速度、通行時(shí)間和道路情況等多個屬性.由于復(fù)雜的交通路網(wǎng)和越來越龐大的車輛數(shù)量,通常采集到的與交通流相關(guān)的時(shí)空序列數(shù)據(jù)具有數(shù)據(jù)規(guī)模大、高維度、動態(tài)性和突變性等特征,因此傳統(tǒng)的時(shí)間序列分析方法越來越難以對其進(jìn)行有效建模和預(yù)測[2].而且,很多傳統(tǒng)的交通流預(yù)測模型通常僅限于單步預(yù)測,但在實(shí)際應(yīng)用中,需要能提前預(yù)測多個時(shí)間步長后的交通流量變化情況,這對智能化的交通管理和擁堵分析預(yù)警來講至關(guān)重要.
在過去幾十年中,許多研究者提出了各種城市交通流量預(yù)測方法,并取得了一系列理論和應(yīng)用研究成果[3].這些研究中的大多數(shù)方法主要基于統(tǒng)計(jì)模型或淺層機(jī)器學(xué)習(xí)方法來描述交通網(wǎng)絡(luò)流量的演變,例如ARIMA[4],ANN[5]和SVR[6]等.但是交通流量變化通常會受到出行、天氣、事故等因素的影響,而且呈動態(tài)變化趨勢,因此傳統(tǒng)方法面臨較大的瓶頸.另外,隨著交通大數(shù)據(jù)的發(fā)展,基于物聯(lián)網(wǎng)技術(shù)采集到的真實(shí)交通數(shù)據(jù)通常是多變量時(shí)空序列,往往包括多個變量屬性,例如交通流量、交通速度、交通密度、交通路程時(shí)間(通過時(shí)間)等.由于交通狀況的快速變化,在非一般性交通流動的情況下(例如高峰時(shí)段、事故發(fā)生時(shí)段等),交通流量預(yù)測面臨很大的挑戰(zhàn),因?yàn)榻煌魇苌鲜龆鄠€變量屬性的影響,交通相關(guān)時(shí)間序列數(shù)據(jù)通常具有非線性或突變性特點(diǎn),而且相互影響依賴.如圖1所示,僅僅交通流量與通行速度兩者就有著非線性相關(guān)聯(lián)系.如何讓模型學(xué)習(xí)到交通時(shí)序數(shù)據(jù)中的多個變量之間的非線性相關(guān)特征,對于有效的交通流預(yù)測建模來講十分重要.
Fig. 1 Nonlinear correlation diagram of multivariate traffic flow related time series data圖1 多變量交通流相關(guān)時(shí)序數(shù)據(jù)的非線性相關(guān)示意圖
另外,眾所周知,相鄰交通網(wǎng)絡(luò)節(jié)點(diǎn)之間的交通狀況是相互影響和依賴的,如何分析和利用這種相互依賴性,如圖2所示,不同位置采集點(diǎn)的交通流數(shù)據(jù)存在時(shí)空關(guān)聯(lián)性,包括不同采集站點(diǎn)的空間依賴性,和同一采集點(diǎn)在不同時(shí)間步下的交通流長時(shí)依賴性,這對于提高交通流預(yù)測模型的性能也很重要.如何針對上述2個關(guān)鍵點(diǎn):一個是學(xué)習(xí)到多變量時(shí)空序列之間的非線性相關(guān)性特征,另一個是學(xué)習(xí)到多站點(diǎn)交通流序列之間的時(shí)空關(guān)聯(lián)性特征,是所提出的序列到序列時(shí)空注意力學(xué)習(xí)模型要解決的核心問題.
Fig. 2 Spatiotemporal correlation diagram of traffic flow data collected at different locations圖2 不同位置采集點(diǎn)的交通流數(shù)據(jù)時(shí)空相關(guān)性示意圖
深度學(xué)習(xí)由于其多層非線性映射原理的深度特征抽取學(xué)習(xí)能力,如在圖像處理、語音識別和自然語言處理等多個領(lǐng)域取得突破性進(jìn)展[7-9].由于不同交通時(shí)序數(shù)據(jù)之間通常存在復(fù)雜的非線性時(shí)空相關(guān)關(guān)系,傳統(tǒng)方法模型難以挖掘與交通流量相關(guān)的各類城市時(shí)空序列數(shù)據(jù)之間的深層關(guān)系,而深度學(xué)習(xí)方法對于交通流預(yù)測任務(wù)來講是一個很好的選擇,因此也越來越受到研究者們的關(guān)注[10-11].這也是為什么提出新型的深度學(xué)習(xí)模型來進(jìn)行交通流量預(yù)測研究.針對上述2個關(guān)鍵問題,提出了一種基于序列到序列學(xué)習(xí)結(jié)構(gòu)并結(jié)合時(shí)空注意力學(xué)習(xí)機(jī)制的深度學(xué)習(xí)模型.該模型采用序列到序列學(xué)習(xí)框架,基于卷積LSTM并擴(kuò)展編碼器解碼器的時(shí)空注意力學(xué)習(xí)模塊,以自動學(xué)習(xí)多變量交通時(shí)空序列數(shù)據(jù)中的隱含時(shí)空表示和長時(shí)空依賴相關(guān)性深度特征.研究貢獻(xiàn)主要包括3個方面:
1) 提出了一種新的基于時(shí)空注意力機(jī)制的序列到序列端到端深度學(xué)習(xí)模型,并將其應(yīng)用于多變量交通時(shí)空序列建模任務(wù).通過基于卷積 LSTM和擴(kuò)展時(shí)空注意力模塊的編碼器,將交通時(shí)空序列數(shù)據(jù)中的深度時(shí)空特征編碼為時(shí)空上下文向量,另一個LSTM用于解碼時(shí)空向量以進(jìn)行預(yù)測.
2) 引入了編碼器網(wǎng)絡(luò)與解碼器網(wǎng)絡(luò)之間的時(shí)空注意力學(xué)習(xí)機(jī)制,可以在所有時(shí)間步中選擇與預(yù)測目標(biāo)更相關(guān)的編碼器隱藏狀態(tài),從而提高模型對多變量交通時(shí)空序列數(shù)據(jù)的深度表示能力,使得該模型可以學(xué)習(xí)到多變量交通時(shí)空序列數(shù)據(jù)中的長時(shí)空依賴特征和非線性相關(guān)等特征.
3) 基于3個真實(shí)的交通數(shù)據(jù)集實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,該模型具有良好的預(yù)測性能和多步交通流預(yù)測能力,而且所提出模型的預(yù)測性能要優(yōu)于其他基準(zhǔn)模型.
一直以來,為了提高智能交通的擁堵分析與管理決策能力,研究人員提出了大量的交通流量預(yù)測模型[1],其中大部分研究基于經(jīng)典統(tǒng)計(jì)方法或淺層機(jī)器學(xué)習(xí)方法.例如Williams等用ARIMA對交通流進(jìn)行建模,該方法為將單變量交通流序列數(shù)據(jù)建模為自回歸移動平均過程,從而進(jìn)行交通流預(yù)測[4].Chan等人[5]提出了一種使用混合指數(shù)平滑策略和Levenberg-Marquardt優(yōu)化的ANN模型,以支持短時(shí)交通流量預(yù)測.Zhao等人[12]采用高斯過程模型對交通流進(jìn)行建模,并提出了基于四階高斯過程的動態(tài)交通流預(yù)測模型,該模型使用神經(jīng)網(wǎng)絡(luò)來訓(xùn)練模型參數(shù).Sun等人[13]通過分析相鄰路段的交通流量影響關(guān)系,提出了基于貝葉斯網(wǎng)絡(luò)的交通流量預(yù)測方法.Lippi等人[3]在概率圖模型的通用視圖下,回顧了現(xiàn)有的短時(shí)交通流量預(yù)測方法,并進(jìn)一步進(jìn)行了實(shí)驗(yàn)比較和性能分析.
最近幾年,隨著智慧城市的高速發(fā)展[14],交通時(shí)空大數(shù)據(jù)呈爆炸式增長,數(shù)據(jù)建模面臨的高維度、動態(tài)性和非線性相關(guān)性等問題越來越突出.一些研究人員嘗試使用數(shù)據(jù)驅(qū)動的深度學(xué)習(xí)方法進(jìn)行時(shí)間序列預(yù)測分析和建模[15-16],深度學(xué)習(xí)自然也成為了交通流預(yù)測研究的熱點(diǎn)[2].深度學(xué)習(xí)由于其捕獲非線性深度特征的能力而受到廣泛關(guān)注,當(dāng)然也可用于自動提取和學(xué)習(xí)城市時(shí)空序列數(shù)據(jù)中的深層次表示.由于交通擁堵過程和交通流演化本質(zhì)上是動態(tài)變化、多因素非線性相關(guān)和序列突變的[17],因此深度學(xué)習(xí)模型無需先驗(yàn)知識即可學(xué)習(xí)交通時(shí)空數(shù)據(jù)的深層特征,這也非常適合處理交通流建模問題.因此,越來越多的研究者提出了基于深度學(xué)習(xí)的交通流量預(yù)測模型[10-11,18].例如Lv等人[10]提出了一種基于深度學(xué)習(xí)的交通流量預(yù)測方法,該方法采用堆疊式自動編碼器模型來學(xué)習(xí)交通流量數(shù)據(jù)中的深層次特征和時(shí)空相關(guān)性.Huang等人[11]在交通流研究中也應(yīng)用了深度學(xué)習(xí)方法,該方法將多任務(wù)學(xué)習(xí)納入了深度學(xué)習(xí)架構(gòu),通過實(shí)驗(yàn)驗(yàn)證了其預(yù)測性能要優(yōu)于傳統(tǒng)模型.
當(dāng)前,序列到序列深度學(xué)習(xí)已廣泛應(yīng)用于序列數(shù)據(jù)處理問題,在許多情況下具有出色的性能,尤其是自然語言處理任務(wù)[19].序列到序列深度學(xué)習(xí)模型使用編碼器將輸入序列編碼為固定維數(shù)的向量,然后基于該編碼向量進(jìn)行目標(biāo)序列解碼作為預(yù)測輸出,該方法可以理解為一種通用的序列數(shù)據(jù)處理端到端框架,備受研究人員的關(guān)注.例如Sutskever等人[20]提出了一種通用的端到端序列學(xué)習(xí)方法,該方法提出了一種觀點(diǎn),即簡單直接的模型也可以實(shí)現(xiàn)有效的機(jī)器語言翻譯;Venugopalan等人[21]提出了一種序列到序列模型來生成視頻字幕,該模型相比傳統(tǒng)模型,在圖像字幕生成任務(wù)中具有更佳的性能;Kuznetsov等人[22]對基于序列到序列深度學(xué)習(xí)的時(shí)間序列預(yù)測框架進(jìn)行了深入的理論分析,并將序列到序列學(xué)習(xí)與經(jīng)典時(shí)間序列方法進(jìn)行了實(shí)驗(yàn)性能比較;Li等人[23]提出了一種基于編碼器解碼器的擴(kuò)散卷積循環(huán)神經(jīng)網(wǎng)絡(luò)(diffusion convolutional recurrent neural network, DCRNN),該交通流預(yù)測深度學(xué)習(xí)框架能夠?qū)W習(xí)到深層的時(shí)空依賴性特征.
盡管如此,基于序列到序列學(xué)習(xí)結(jié)構(gòu)的交通流預(yù)測模型,還鮮有系統(tǒng)深入的研究.現(xiàn)有的研究方法也很少從時(shí)空注意力機(jī)制的角度來擴(kuò)展長時(shí)空序列的建模能力,此外,時(shí)空序列的多步預(yù)測要比單步預(yù)測更加困難,而結(jié)合注意力機(jī)制的序列到序列學(xué)習(xí)結(jié)構(gòu)有望提升預(yù)測性能.與經(jīng)典的統(tǒng)計(jì)分析和機(jī)器學(xué)習(xí)方法不同,本文通過基于時(shí)空注意力擴(kuò)展的序列到序列學(xué)習(xí)構(gòu)建模型并應(yīng)用于交通流的多步預(yù)測.實(shí)驗(yàn)結(jié)果表明,該模型可以進(jìn)行有效的多步交通流預(yù)測.
首先對序列到序列學(xué)習(xí)這種新的深度學(xué)習(xí)結(jié)構(gòu)進(jìn)行分析和論述,經(jīng)典的序列到序列學(xué)習(xí)模型將可變長時(shí)序數(shù)據(jù)編碼為固定長度的向量表示,然后將學(xué)習(xí)到的固定長度向量表示進(jìn)行解碼作為預(yù)測輸出.從概率的角度來看,序列到序列模型是一種通用的學(xué)習(xí)框架,采用其進(jìn)行城市交通序列建模的本質(zhì)是學(xué)習(xí)以一個可變長度序列為條件的另一個序列的條件分布,所以序列到序列學(xué)習(xí)模型的計(jì)算過程可以描述為
(1)
其中,(Xt-l,Xt-l+1,…,Xt)是作為模型輸入的歷史交通流相關(guān)時(shí)序數(shù)據(jù),(ft+1,ft+2,…,ft+p)是模型的多步預(yù)測輸出序列,其長度p(prediction size)為多步預(yù)測數(shù),模型輸入時(shí)序數(shù)據(jù)窗口大小為l(lookup size).該模型的編碼器首先對輸入序列(Xt-l,Xt-l+1,…,Xt)進(jìn)行編碼,生成并構(gòu)建其隱含的特征表示,即上下文向量ct.模型解碼器在獲取最后一個隱藏狀態(tài)輸出之后,可對上下文向量ct進(jìn)行解碼,然后預(yù)測輸出(ft+1,ft+2,…,ft+p).
在實(shí)際應(yīng)用中,編碼器和解碼器可以有多種深度神經(jīng)網(wǎng)絡(luò)供選擇,如編碼器和解碼器都是RNN,接下來分析整個序列到序列學(xué)習(xí)模型的計(jì)算過程.對于可變長輸入序列,在每個時(shí)間步t,RNN的隱藏狀態(tài)輸出計(jì)算為
ht=RNN(ht-1,xt).
(2)
編碼器RNN網(wǎng)絡(luò),順序讀取輸入序列的每個值,同時(shí)RNN的隱藏狀態(tài)根據(jù)式(2)進(jìn)行改變.讀取到序列結(jié)束位置后,RNN的隱藏狀態(tài)即為時(shí)間步t的編碼器隱藏狀態(tài),其計(jì)算為
ht=RNNenc(ht-1,ft-1,ct).
(3)
解碼器RNN網(wǎng)絡(luò),可以通過預(yù)測給定隱藏狀態(tài)條件下的下一個時(shí)間步數(shù)值來作為模型的預(yù)測輸出,這里需要同時(shí)結(jié)合上一步預(yù)測輸出和編碼后的上下文向量作為輸入.所以解碼器時(shí)間步t的隱藏狀態(tài)計(jì)算為
P(ft|ft-1,ft-2,…,f1,ct)=
RNNdec(ht,ft-1,ct).
(4)
整個序列到序列學(xué)習(xí)模型的2個組件(編碼器網(wǎng)絡(luò)與解碼器網(wǎng)絡(luò))經(jīng)過聯(lián)合訓(xùn)練,最小化損失函數(shù):
(5)
其中,θ是代表整個時(shí)空注意力模型的參數(shù)空間,n代表訓(xùn)練樣本數(shù),λ代表訓(xùn)練損失函數(shù)的正則項(xiàng)參數(shù).
基于經(jīng)典的序列到序列學(xué)習(xí)結(jié)構(gòu)進(jìn)行交通流預(yù)測過程,如式(6)所示,模型需學(xué)習(xí)以可變長度輸入序列為條件的預(yù)測序列條件分布,而對交通序列進(jìn)行編碼和解碼組件之間的唯一聯(lián)系是上下文矢量.換句話說,編碼器需要將整個輸入交通序列編碼壓縮表示為固定長度的向量.
(6)
但是上述直接編碼解碼過程面臨2個問題:1)上下文矢量不能完全表示整個輸入交通序列的深層特征;2)前面輸入序列數(shù)據(jù)編碼獲取的深度特征有可能被后續(xù)的輸入序列編碼特征所覆蓋或沖淡,當(dāng)輸入序列越長,這個問題就越嚴(yán)重.這2個問題使得基于經(jīng)典序列到序列學(xué)習(xí)結(jié)構(gòu)的交通流多步預(yù)測面臨挑戰(zhàn),隨著與輸入交通流有關(guān)的序列數(shù)據(jù)長度的增加,多步交通流預(yù)測性能會迅速下降.
為了解決上述2個問題,所提出的模型引入了時(shí)空注意力機(jī)制來處理多步交通流預(yù)測任務(wù)(如圖3所示),另外經(jīng)典的RNN或LSTM只能獲取時(shí)間依賴特征,難以獲取多站點(diǎn)序列的空間依賴特征[24],所以模型設(shè)計(jì)進(jìn)一步引入了卷積LSTM作為編碼器組件,來對時(shí)空序列數(shù)據(jù)中的空間依賴特征和時(shí)間依賴特征同時(shí)進(jìn)行深度表示和編碼學(xué)習(xí).
基于時(shí)空注意力編碼器-解碼器結(jié)構(gòu)的交通流預(yù)測模型包括3個部分:卷積LSTM編碼網(wǎng)絡(luò)、LSTM解碼網(wǎng)絡(luò)和時(shí)空注意力層,如圖3所示.編碼器從輸入交通流相關(guān)的時(shí)空序列學(xué)習(xí)其隱藏特征(包括長時(shí)依賴性特征和時(shí)空關(guān)聯(lián)性特征),并通過上下文生成向量結(jié)合時(shí)空注意力向量構(gòu)建歷史交通序列數(shù)據(jù)的深度潛在時(shí)空表示,即注意力上下文向量.LSTM解碼器基于編碼的時(shí)空注意力向量進(jìn)行解碼,以重建交通流序列作為目標(biāo)預(yù)測值.圖3展示了該模型框架的詳細(xì)設(shè)計(jì)圖.
Fig. 3 The diagram of the spatial-temporal attention model for traffic flow prediction (STATF)圖3 基于序列到序列時(shí)空注意力的交通流預(yù)測模型(STATF)框架圖.
雖然與標(biāo)準(zhǔn)RNN相比,LSTM已被證明是學(xué)習(xí)時(shí)序數(shù)據(jù)長時(shí)依賴特征的最有效模型.但是,與交通流相關(guān)的時(shí)空序列數(shù)據(jù)不僅包含時(shí)間特征,而且還包含空間分布特征,由于經(jīng)典的LSTM只能學(xué)習(xí)到時(shí)間依賴特征,難以有效地抽取空間相關(guān)性特征,卷積LSTM通過卷積運(yùn)算代替?zhèn)鹘y(tǒng)的乘法計(jì)算,可以在一定程度上克服這一問題.所以為了對交通流相關(guān)的時(shí)序數(shù)據(jù)中的時(shí)空相關(guān)特征進(jìn)行抽取和學(xué)習(xí),首先提出卷積LSTM作為序列到序列注意力模型的編碼器組件.卷積LSTM是對經(jīng)典LSTM的擴(kuò)展,該模型在LSTM的基礎(chǔ)上用卷積運(yùn)算代替原來的矩陣乘法運(yùn)算,如圖4所示.卷積LSTM不僅保留了LSTM可以學(xué)習(xí)不同時(shí)間步的長時(shí)依賴性特征的優(yōu)勢,同時(shí)還可以捕獲多序列數(shù)據(jù)中的空間時(shí)空關(guān)聯(lián)特征.因此,STATF模型使用卷積LSTM作為Encoder組件.
Fig. 4 Diagram of ConvLSTM Cell Block[25]圖4 卷積LSTM單元內(nèi)部結(jié)構(gòu)示意圖[25]
(7)
式(7)定義了卷積LSTM的詳細(xì)計(jì)算過程,其中*表示卷積運(yùn)算(卷積LSTM與LSTM的矩陣乘法運(yùn)算不同,關(guān)鍵區(qū)別就在于*表示卷積運(yùn)算而不是矩陣乘法運(yùn)算),°表示逐元素乘法,σ表示S型函數(shù).it,ft,ot分別表示t時(shí)間步的輸入門,忘記門和輸出門,ct是t時(shí)間步的單元輸出,ht是t時(shí)間步的單元隱藏狀態(tài)輸出,與經(jīng)典LSTM不同,上述符號表示的都是3D張量.
本節(jié)介紹基于序列到序列結(jié)構(gòu)的時(shí)空注意力機(jī)制計(jì)算原理及過程,設(shè)輸入的交通流序列和預(yù)測目標(biāo)序列分布表示為X={x1,x2,…,xT}和f={f1,f2,…,fp}.卷積LSTM編碼器接受每個時(shí)間窗口的時(shí)序數(shù)據(jù)輸入以及上一個時(shí)間步的隱藏狀態(tài),輸出ht和ct分別是第t個時(shí)間步的隱藏狀態(tài)和編碼的上下文潛在向量:
ht,ct=ConvLSTMenc(xt,ht-1,ct-1),
(8)
(9)
如式(9)所示,cti是模型構(gòu)建的時(shí)空注意力向量,由卷積LSTM編碼器輸出的隱藏狀態(tài)求加權(quán)平均值獲得,其中每個編碼器的隱藏狀態(tài)相對應(yīng)的權(quán)重計(jì)算如下:
(10)
其中,eij是一個得分函數(shù),通過使用LSTM解碼器的隱藏輸出狀態(tài)和卷積LSTM編碼器的隱藏狀態(tài)來計(jì)算得分:
(11)
模型中的LSTM解碼器基于編碼的上下文潛在向量,結(jié)合上一個時(shí)間步接受的目標(biāo)序列輸出和隱藏狀態(tài)輸出進(jìn)行解碼計(jì)算:
st=LSTMdec(ft-1,st-1,ct-1).
(12)
最后,對時(shí)空注意向量cti與LSTM解碼器的隱藏狀態(tài)輸出st進(jìn)行連接計(jì)算,通過一個全連接網(wǎng)絡(luò)層計(jì)算作為預(yù)測輸出:
(13)
通過上述計(jì)算過程,結(jié)合梯度下降策略來訓(xùn)練所提出的模型,可以最大程度地減少預(yù)測交通流量值和真實(shí)交通流量值之間的誤差,逐步降低模型的損失函數(shù)值,從而得到更優(yōu)的預(yù)測結(jié)果,損失函數(shù)計(jì)算如式(5).整個模型訓(xùn)練過程的偽代碼描述如算法1.
算法1.STATF模型訓(xùn)練過程.
輸入:交通流相關(guān)的多變量時(shí)空序列數(shù)據(jù)集{xi,j|i=1,2…,n;j=t-l,…,t-1}、輸入窗口l、前向預(yù)測步p;
輸出:訓(xùn)練好的STATF模型.
①Dtrain←?;
② 根據(jù)輸入數(shù)據(jù)構(gòu)建訓(xùn)練集Dtrain=(X,Y);
/*訓(xùn)練模型*/
③ 初始化STATF模型的參數(shù)空間θ;
④ repeat
⑤ 從訓(xùn)練集Dtrain中選擇批處理樣本Db;
/*基于深度注意力編碼的交通流序列表示學(xué)習(xí)*/
⑥ht,ct=ConvLSTMenc(xt,ht-1,ct-1);
⑧st=LSTMdec(ft-1,st-1,ct-1);
⑩ 最小化目標(biāo)函數(shù)(式(5))獲得最優(yōu)參數(shù)空間θ;
算法1描述了STATF模型的訓(xùn)練過程,首先從輸入的交通序列數(shù)據(jù)中構(gòu)建訓(xùn)練實(shí)例樣本,然后通過反向傳播和Adam優(yōu)化器對模型進(jìn)行逐批次迭代訓(xùn)練.通過上述序列到序列的時(shí)空注意力計(jì)算過程可以獲取并學(xué)習(xí)歷史交通流時(shí)空序列數(shù)據(jù)中的深層時(shí)空關(guān)聯(lián)特征,從而提升模型的多步交通流預(yù)測性能.接下來進(jìn)一步對該模型進(jìn)行實(shí)驗(yàn)評估和分析.
為了測試所提出模型的性能,基于3個真實(shí)的城市交通數(shù)據(jù)集進(jìn)行實(shí)驗(yàn).通過與經(jīng)典的淺層學(xué)習(xí)模型和基準(zhǔn)深度學(xué)習(xí)模型(包括最新提出的交通預(yù)測模型)對比,驗(yàn)證了該模型的交通流預(yù)測性能和有效性.
第1個數(shù)據(jù)集來源于英國政府開發(fā)數(shù)據(jù)平臺,簡稱為Highway England Dataset[26],該平臺發(fā)布有關(guān)英格蘭的2類主要公路網(wǎng)的交通流數(shù)據(jù)信息,所有主干戰(zhàn)略高速公路網(wǎng)絡(luò)和本地化的公路網(wǎng).Highway England交通流數(shù)據(jù)集是一個典型的多變量時(shí)空序列,該數(shù)據(jù)集采集了每間隔15 min的平均通行時(shí)間,通行速度和交通流量等信息,實(shí)驗(yàn)所用的數(shù)據(jù)集時(shí)間跨度為2013-01-01—2014-02-31.第2個實(shí)驗(yàn)數(shù)據(jù)集簡稱為PEMS-BAY[27],該交通數(shù)據(jù)集來源于美國加利福尼亞州運(yùn)輸部門的PeMS系統(tǒng),實(shí)驗(yàn)選擇了在灣區(qū)的325個傳感器采集點(diǎn)數(shù)據(jù),一共收集了5個月的數(shù)據(jù),時(shí)間范圍跨度為2017-01-01—2017-05-31,圖5顯示了該數(shù)據(jù)集的采集點(diǎn)位置分布.第3個實(shí)驗(yàn)數(shù)據(jù)集簡稱為METR-LA[23],該數(shù)據(jù)集來源于洛杉磯高速公路網(wǎng)的交通流采集設(shè)備,實(shí)驗(yàn)選擇了其中207個傳感器采集的數(shù)據(jù),時(shí)間跨度范圍為2012-03-01—2012-06-30的4個月數(shù)據(jù).
Fig. 5 Sensor distribution of the PEMS-BAY dataset[23]圖5 PEMS-BAY數(shù)據(jù)集的采集點(diǎn)位置分布圖[23]
本節(jié)描述實(shí)驗(yàn)的硬件和軟件環(huán)境以及相關(guān)模型參數(shù)的配置情況,首先基于Tensorflow為Backend的開源深度學(xué)習(xí)庫Keras,來構(gòu)建各類深度學(xué)習(xí)實(shí)驗(yàn)?zāi)P?,包括提出的STATF模型,采用Scikit-learn機(jī)器學(xué)習(xí)庫用于構(gòu)建基準(zhǔn)對比淺層學(xué)習(xí)模型.所有實(shí)驗(yàn)均在PC服務(wù)器上進(jìn)行,該服務(wù)器配置為Intel?Xeon?CPU E5-2623 3.00GHz,4個GPU每個配置為12 G NVIDIA Tesla K80C,內(nèi)存為128 GB.另外,為了驗(yàn)證模型的預(yù)測效果,將STATF模型與以下8個基準(zhǔn)模型進(jìn)行比較:
1) VAR.向量自回歸模型可以對多變量時(shí)間序列數(shù)據(jù)之間的隱含關(guān)系進(jìn)行建模,可以把VAR模型看做是集合多元線性回歸的優(yōu)點(diǎn)(可以加入多個因子)以及時(shí)間序列模型的優(yōu)點(diǎn)(可以分析滯后項(xiàng)的影響)的綜合模型.
2) ARIMA.自回歸綜合移動平均值法是一種廣泛用于時(shí)間序列分析的模型,它結(jié)合了移動平均值和自回歸方法.
3) SVR.支持向量回歸是支持向量機(jī)模型的一種變體方法,經(jīng)常用于時(shí)間序列預(yù)測,一般使用3種不同核函數(shù)(RBF,POLY和LINEAR)的SVR模型.
4) RNN.這是用于處理序列任務(wù)的最為傳統(tǒng)的深度學(xué)習(xí)方法,LSTM和GRU(門控循環(huán)單位)是2種最流行的基于RNN變體的深度學(xué)習(xí)模型.
5) ConvLSTM[16].經(jīng)典的卷積LSTM網(wǎng)絡(luò),采用其作為城市交通流量預(yù)測實(shí)驗(yàn)的基準(zhǔn)模型.
6) SEQ2SEQ[20].經(jīng)典的序列到序列深度學(xué)習(xí)網(wǎng)絡(luò),編碼器解碼器都為LSTM,不包含注意力網(wǎng)絡(luò)層,SEQ2SEQ可以視為STATF模型的一種簡單變體.
7) SAE[10].Lv等人提出的一種基于深度堆疊自編碼器(Stacked Auto-encoder)框架的交通流預(yù)測模型.
8) DCRNN[23].Li等人提出了一種基于編碼器解碼器的擴(kuò)散卷積循環(huán)神經(jīng)網(wǎng)絡(luò)(DCRNN),該深度學(xué)習(xí)框架能夠?qū)W習(xí)到交通流數(shù)據(jù)中的時(shí)空依賴性特征.
STATF模型訓(xùn)練過程中的參數(shù)設(shè)置情況如下,首先選擇均方誤差(MSE)作為模型訓(xùn)練的損失函數(shù),交通流建模的訓(xùn)練集和測試集分割策略為:數(shù)據(jù)集的前70%作為模型訓(xùn)練集,剩余30%作為測試集.此外,采用了min-max函數(shù)將交通流相關(guān)序列數(shù)據(jù)都標(biāo)準(zhǔn)化到[0,1]區(qū)間.基準(zhǔn)深度學(xué)習(xí)模型和STATF模型的基礎(chǔ)超參數(shù)配置一樣,具體配置為:訓(xùn)練迭代次數(shù)為100,批處理大小為96,每層的神經(jīng)元丟棄率為0.3,學(xué)習(xí)率參數(shù)為0.01,基準(zhǔn)深度學(xué)習(xí)模型的默認(rèn)神經(jīng)網(wǎng)絡(luò)層數(shù)設(shè)置為1,每個隱藏層神經(jīng)元數(shù)量為100,所有深度學(xué)習(xí)模型均采用Adam函數(shù)用作模型訓(xùn)練優(yōu)化器.卷積LSTM的filters和kernels參數(shù)大小分別設(shè)置為64和(1,5),解碼器的LSTM網(wǎng)絡(luò)每層神經(jīng)元數(shù)量也設(shè)置為100.模型輸出層的激活函數(shù)采用linear線性函數(shù),用于最終預(yù)測.最后,將RMSE和MAE作為模型誤差分析指標(biāo),用于評估各個模型的預(yù)測性能,誤差指標(biāo)計(jì)算公式為:
(14)
(15)
基于3個真實(shí)的交通流數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)分析和評估,在實(shí)驗(yàn)過程中對STATF模型與其他對比模型的總體預(yù)測性能進(jìn)行比較.實(shí)驗(yàn)對比結(jié)果如表1所示,其中給出了STATF模型與對比模型從t+1到t+12的未來12個時(shí)間步內(nèi)的多步交通流預(yù)測平均誤差RMSE和MAE結(jié)果,包括經(jīng)典的淺層學(xué)習(xí)模型VAR,ARIMA,SVR和基準(zhǔn)深度學(xué)習(xí)模型RNN,LSTM,GRU等,以及針對交通流預(yù)測任務(wù)而設(shè)計(jì)的如SAE[10]和DCRNN[23]深度學(xué)習(xí)模型.從表1可知STATF模型在多步交通流量預(yù)測性能方面要優(yōu)于其他對比模型.與經(jīng)典淺層學(xué)習(xí)和基準(zhǔn)深度學(xué)習(xí)模型相比,STATF模型在未來12個時(shí)間步從t+1到t+12的預(yù)測都能保持最低的RMSE和MAE平均預(yù)測誤差,在一定程度上提升了多步交通流預(yù)測的準(zhǔn)確性.此外,實(shí)驗(yàn)結(jié)果還表明,基準(zhǔn)深度學(xué)習(xí)模型,例如LSTM,GRU的預(yù)測性能要明顯優(yōu)于傳統(tǒng)的淺層學(xué)習(xí)方法.這是因?yàn)榕c淺層學(xué)習(xí)模型相比,深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)可以學(xué)習(xí)到時(shí)空序列數(shù)據(jù)中更為復(fù)雜的模式和特征.而相比簡單的變體模型,如SEQ2SEQ與ConvLSTM和針對交通流預(yù)測而設(shè)計(jì)的新型深度學(xué)習(xí)模型,如SAE與DCRNN,STATF模型更進(jìn)一步降低了模型的預(yù)測誤差.
在多個數(shù)據(jù)集總體平均預(yù)測誤差對比基礎(chǔ)上,繼續(xù)對單個數(shù)據(jù)集的多步預(yù)測性能進(jìn)行比較分析.首先基于Highway England交通流數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)分析和評估,實(shí)驗(yàn)對比結(jié)果如表2所示,其中給出了STATF模型與基準(zhǔn)模型的多個特定時(shí)間步t+1,t+3,t+6,t+12的交通流預(yù)測誤差RMSE和MAE結(jié)果.從表2可知,STATF模型在多步交通流量預(yù)測性能方面要優(yōu)于其他基準(zhǔn)對比模型.與基準(zhǔn)淺層學(xué)習(xí)和深度學(xué)習(xí)模型相比,STATF模型不管是在預(yù)測時(shí)間步大小為3(t+3)還是預(yù)測時(shí)間步大小為12(t+12)時(shí),都能保持最低的RMSE和MAE預(yù)測誤差.此外,實(shí)驗(yàn)結(jié)果還表明,基準(zhǔn)深度學(xué)習(xí)模型,例如LSTM,GRU的預(yù)測性能要明顯優(yōu)于傳統(tǒng)的淺層學(xué)習(xí)方法,尤其是在長時(shí)間步預(yù)測的情況下.而相比基準(zhǔn)方法和針對交通流預(yù)測而設(shè)計(jì)的深度學(xué)習(xí)對比模型,如SAE與DCRNN,以及相比如SEQ2SEQ不含注意力機(jī)制的簡單變體模型,STATF模型能夠從多個深度網(wǎng)絡(luò)的分層結(jié)構(gòu)中提取不同級別的時(shí)空表示特征,提升了模型的多步預(yù)測性能.
通過實(shí)驗(yàn)結(jié)果分析,進(jìn)一步發(fā)現(xiàn)預(yù)測時(shí)間步長的選擇對模型的預(yù)測性能有很大影響.如表2所示,長時(shí)間步條件下模型的預(yù)測性能,要明顯低于短時(shí)間步長預(yù)測的性能.產(chǎn)生這種現(xiàn)象的原因是,模型每個時(shí)間步的預(yù)測都需要考慮前一個時(shí)間步長的預(yù)測結(jié)果,這種情況下隨著預(yù)測時(shí)間步長的增加,前面時(shí)間步的模型預(yù)測誤差會逐步累積,從而使得整個模型的預(yù)測誤差越來越大.這也符合人們的直觀認(rèn)知.所以,隨著預(yù)測時(shí)間步長的增加,每個實(shí)驗(yàn)對比模型的預(yù)測性能都在逐漸下降.但從實(shí)驗(yàn)結(jié)果中可以看到,與基準(zhǔn)的深度模型和淺層模型相比,在不同的預(yù)測時(shí)間步長條件下,STATF模型都能保持最低的預(yù)測誤差.
Table 1 Comparison of the Average Prediction Error of Different Models表1 不同模型的平均預(yù)測誤差對比
Table 2 Comparison of the Prediction Error of Different Models表2 不同模型的預(yù)測誤差對比
為了進(jìn)一步比較STATF模型和其他基準(zhǔn)模型在不同時(shí)間步長條件下的預(yù)測性能,分析并顯示了不同模型在一個工作日內(nèi)(包括96個時(shí)間步,每個時(shí)間步間隔15 min)、在不同預(yù)測時(shí)間步長大小條件下的交通流量預(yù)測性能,以及一周內(nèi)(包括672個時(shí)間步、每個時(shí)間步間隔同樣是15 min)的比較情況.如圖6和圖7所示,分別為一個工作日(2013-11-18)和一周(2013-11-18—2013-11-24)的預(yù)測情況,比較SVR-RBF,RNN和本文提出的STATF模型的實(shí)際觀察到的交通流量值和預(yù)測交通流量值對比曲線,其中x坐標(biāo)表示觀測時(shí)間步長,y坐標(biāo)表示該時(shí)間步的交通流量值.從2個曲線對比圖可以看到,不管是一個工作日內(nèi)還是拉長到一周時(shí)間范圍內(nèi),STATF模型的預(yù)測性能都要優(yōu)于以SVR-RBF為代表的淺層模型和以RNN為代表的深度學(xué)習(xí)模型.還有就是不管是在工作日情況下,還是在周末情況下,如圖7最后2個波峰,特別是在交通流波峰和波谷時(shí)間范圍內(nèi)的預(yù)測情況,STATF模型預(yù)測性能都能保持最優(yōu).另外,2個圖示分析都表明:RNN模型的預(yù)測性能要優(yōu)于SVR-RBF模型,隨著預(yù)測時(shí)間步長的增加,淺層學(xué)習(xí)模型的預(yù)測性能會顯著下降,而STATF模型和基準(zhǔn)深度學(xué)習(xí)模型可以保持良好穩(wěn)定的性能.上述實(shí)驗(yàn)結(jié)果分析表明,在不同的時(shí)間步長預(yù)測條件下,STATF模型在Highway England數(shù)據(jù)集上的多步預(yù)測性能要優(yōu)于基準(zhǔn)淺層學(xué)習(xí)模型和深度學(xué)習(xí)模型.
Fig. 6 Comparison of ground truth value and predicted traffic value of different models during one day圖6 不同模型在一個工作日內(nèi)的交通流預(yù)測值與真實(shí)值對比
Fig. 7 Comparison of ground truth value and predicted traffic value of different models during one week圖7 不同模型在一周內(nèi)的交通流預(yù)測值與真實(shí)值對比
繼續(xù)對PEMS-BAY數(shù)據(jù)集進(jìn)行各模型的多步預(yù)測性能比較.在實(shí)驗(yàn)過程中對STATF模型與其他基準(zhǔn)模型、當(dāng)前最優(yōu)模型等的預(yù)測性能進(jìn)行比較,實(shí)驗(yàn)對比結(jié)果如表3所示,其中給出了STATF模型與基準(zhǔn)模型的多個時(shí)間步下的交通流預(yù)測誤差結(jié)果.從表3可知,在PEMS-BAY數(shù)據(jù)集實(shí)驗(yàn)中,無論預(yù)測時(shí)間步長是多少,STATF模型的預(yù)測性能同樣都比其他基準(zhǔn)模型要好,即使對于未來12個小時(shí)后的長時(shí)間步預(yù)測,STATF模型預(yù)測性能也是所有對比模型中最好的.具體到RMSE與MAE誤差指標(biāo)值,與基準(zhǔn)淺層學(xué)習(xí)模型和深度學(xué)習(xí)模型相比,當(dāng)預(yù)測時(shí)間步大小為3時(shí),STATF模型的RMSE和MAE值分別為3.04和1.72,預(yù)測誤差值最小;當(dāng)預(yù)測時(shí)間步長為12時(shí),STATF模型的RMSE和MAE值分別為4.81和2.52,預(yù)測誤差值同樣能保持最低.
另外,基準(zhǔn)深度學(xué)習(xí)模型(例如LSTM,GRU和ConvLSTM)的預(yù)測性能同樣明顯優(yōu)于傳統(tǒng)的淺層學(xué)習(xí)方法,特別是在長時(shí)間步預(yù)測的情況下.傳統(tǒng)的時(shí)間序列預(yù)測方法(例如VAR和SVR)在交通流預(yù)測任務(wù)上難以獲得與深度學(xué)習(xí)模型一樣的性能,是因?yàn)樗鼈儍H僅依賴于交通流歷史記錄本身來預(yù)測未來值,而與交通流相關(guān)的其他城市時(shí)空序列數(shù)據(jù)難以一起建模,所以傳統(tǒng)模型方法無法捕獲與交通流相關(guān)的城市時(shí)空序列數(shù)據(jù)中的隱藏長時(shí)依賴特征和非線性時(shí)空關(guān)聯(lián)關(guān)系.STATF模型可以在一定程度上降低上述問題的影響,因此在與其他基準(zhǔn)深度學(xué)習(xí)模型、及當(dāng)前最優(yōu)深度學(xué)習(xí)模型等(如SAE模型[10]與DCRNN模型[23])的實(shí)驗(yàn)對比中能具有最佳的預(yù)測性能.
Table 3 Comparison of Traffic Flow Prediction Error Indexes of Different Models表3 不同模型的交通流多步預(yù)測誤差指標(biāo)對比
為了進(jìn)一步分析和比較STATF模型與基準(zhǔn)方法在PEMS-BAY數(shù)據(jù)集上的預(yù)測表現(xiàn),如圖8所示,其中水平軸表示觀測的時(shí)間步長,垂直軸代表交通序列值,該圖展示了SVR-RBF,RNN,STATF模型在單步預(yù)測t+1和多步預(yù)測t+6條件下的交通流預(yù)測誤差情況.從圖8中可以看到,STATF模型在不同時(shí)間步預(yù)測情況下都能保持最優(yōu)的預(yù)測性能,圖8中預(yù)測值曲線與真實(shí)值曲線能夠很好的匹配.STATF模型的預(yù)測性能,不管是在波峰還是波谷時(shí)段,都要優(yōu)于以SVR-RBF為代表的淺層模型和RNN為代表的基準(zhǔn)深度學(xué)習(xí)模型.另外,隨著預(yù)測時(shí)間步長的增加,SVR-RBF模型和RNN模型的預(yù)測性能在急劇下降,但STATF模型的預(yù)測性能下降趨勢要比SVR和RNN模型更為緩慢,可以相對較好地保持更優(yōu)的交通流預(yù)測準(zhǔn)確性.不同深度學(xué)習(xí)模型在單步預(yù)測條件下性能差異較小,而在長時(shí)間步預(yù)測情況下,STATF模型的性能優(yōu)勢更為明顯.
Fig. 8 Comparison of ground truth value and different time-step (t+1 and t+6) predicted traffic value of different models圖8 不同模型在t+1和t+6時(shí)間步下的交通流預(yù)測值與真實(shí)值對比
最后,為了分析多個時(shí)序特征相比單序列特征對交通流建模的影響,對STATF模型在不同數(shù)據(jù)集上的單變量預(yù)測和多變量預(yù)測性能進(jìn)行了對比.表4的結(jié)果給出了STATF模型在3個交通流數(shù)據(jù)集下的對比實(shí)驗(yàn)結(jié)果,包括在單變量時(shí)序輸入條件(unvariate)和多變量時(shí)間序列輸入條件(multivariate)下的預(yù)測誤差值RMSE與MAE.以Highway England數(shù)據(jù)集為例,在單變量輸入條件下,僅將traffic flow單變量序列輸入模型;而在多變量時(shí)間序列輸入條件下,則將traffic flow變量本身和其他變量一起輸入模型,例如通行速度speed、通行時(shí)長pass time等.如表4所示,與單變量輸入條件下的預(yù)測誤差相比,多變量時(shí)間序列輸入條件下的模型預(yù)測誤差有一定程度降低,這表明STATF模型可以有效學(xué)習(xí)多元交通流序列數(shù)據(jù)中非線性相關(guān)性特征.
綜上所述,通過在3個真實(shí)交通流數(shù)據(jù)集上進(jìn)行的實(shí)驗(yàn)結(jié)果分析,所提出的基于序列到序列時(shí)空注意力深度學(xué)習(xí)的交通流量預(yù)測模型STATF,相比基準(zhǔn)模型和當(dāng)前最新提出的模型,具有更好的預(yù)測性能.不管是在單步預(yù)測還是在長時(shí)多步預(yù)測條件下,STATF模型的交通流預(yù)測值都可以與真實(shí)值保持較好的匹配.同時(shí),在各種時(shí)間步長預(yù)測條件下,該模型的預(yù)測誤差也比基準(zhǔn)模型更低.這驗(yàn)證了STATF交通流預(yù)測模型的性能,可以有效地學(xué)習(xí)多變量交通流相關(guān)時(shí)空序列數(shù)據(jù)中的深層非線性相關(guān)特征和時(shí)空依賴特征.
Table 4 Comparison of Unvariate and Multivariate Prediction Error of Different Models on Three Datasets表4 STATF模型在3個數(shù)據(jù)集上的單變量預(yù)測與多變量預(yù)測誤差指標(biāo)對比
針對交通流預(yù)測面臨的兩大關(guān)鍵挑戰(zhàn)性問題,提出了一種新的交通時(shí)空序列端到端深度學(xué)習(xí)框架,該模型將序列到序列深度學(xué)習(xí)結(jié)構(gòu)、卷積LSTM網(wǎng)絡(luò)和時(shí)空注意力機(jī)制進(jìn)行模型集成,并對模型的核心框架設(shè)計(jì)與時(shí)空注意力機(jī)制原理過程等進(jìn)行了詳細(xì)分析和論述.所提出的STATF模型不僅考慮了交通流相關(guān)數(shù)據(jù)中的時(shí)空相關(guān)性特征,而且還能捕獲與交通流有關(guān)的多變量城市時(shí)空序列中的非線性相關(guān)性特征.在3個真實(shí)交通流數(shù)據(jù)集上進(jìn)行的實(shí)驗(yàn)結(jié)果表明,STATF模型相比經(jīng)典淺層學(xué)習(xí)模型、基準(zhǔn)深度學(xué)習(xí)模型、以及當(dāng)前新提出的2種交通流深度學(xué)習(xí)模型,具有更優(yōu)的預(yù)測性能,驗(yàn)證了該模型可以探索和學(xué)習(xí)到多變量交通序列數(shù)據(jù)中的隱含時(shí)空依賴性特征和非線性相關(guān)特征.
未來的主要工作是收集有關(guān)交通事故或極端天氣事件的數(shù)據(jù),進(jìn)一步對該模型進(jìn)行深入研究和改進(jìn),實(shí)現(xiàn)對未來的長時(shí)多步城市交通流量,尤其是在交通事故或極端天氣等突發(fā)情況下的有效預(yù)測,以及適應(yīng)其他更復(fù)雜的交通流預(yù)測情況.