童凱南,林友芳,劉 軍,郭晟楠,萬懷宇
(1. 北京交通大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院, 北京 100044; 2. 中國民航信息網(wǎng)絡(luò)股份有限公司, 北京 101318)
在現(xiàn)代智能交通系統(tǒng)[1](intelligent transportation systems, ITS)和高級旅行者信息系統(tǒng)(advanced traveler information systems, ATIS)中,交通流量預(yù)測任務(wù)能夠?yàn)檎⒊鲎廛嚬竞陀慰吞峁?zhǔn)確可靠的信息,起到至關(guān)重要的作用[2-3]。例如,政府的交通管理部門可以通過預(yù)測交通流量高峰出現(xiàn)的時(shí)間和地點(diǎn)來提前采取相應(yīng)的交通管理措施[4]。出租車公司可以通過預(yù)測未來的交通流量來優(yōu)化車輛調(diào)度任務(wù)。此外,游客也可以根據(jù)預(yù)測的交通狀況制訂合理的出行計(jì)劃[5]。因此,準(zhǔn)確預(yù)測交通流量對保障社會(huì)安全,促進(jìn)經(jīng)濟(jì)發(fā)展和提升游客出行體驗(yàn)有重大意義。
現(xiàn)有交通數(shù)據(jù)預(yù)測模型大致可以分為兩類:傳統(tǒng)方法和深度學(xué)習(xí)方法。傳統(tǒng)的統(tǒng)計(jì)或機(jī)器學(xué)習(xí)方法如XGBoost[6]等缺乏處理高維的空間數(shù)據(jù)能力,無法學(xué)習(xí)交通數(shù)據(jù)中復(fù)雜的非線性信息。不過隨著深度學(xué)習(xí)的發(fā)展,使得這些問題可以逐漸被解決[7]。
遞歸神經(jīng)網(wǎng)絡(luò)[8](recurrent neural network, RNN)能夠建模數(shù)據(jù)中的時(shí)間信息。其變體長短期記憶神經(jīng)網(wǎng)絡(luò)[9](long short-term memory, LSTM)和門控循環(huán)單元[10](gated recurrent unit, GRU)進(jìn)一步增強(qiáng)了這種能力。最近,文獻(xiàn)[2,11]使用基于LSTM的網(wǎng)絡(luò)來預(yù)測短期交通速度和交通流量,基于長短期記憶網(wǎng)絡(luò)的關(guān)聯(lián)時(shí)間序列預(yù)測[12](correlated time series oriented neural network based on LSTM, CTS-LSTM )模型考慮了多個(gè)序列之間的相關(guān)性。此外,空間相關(guān)性對交通數(shù)據(jù)預(yù)測至關(guān)重要,卻很少有基于LSTM的方法能對其進(jìn)行建模。
幸運(yùn)的是,研究人員找到了使用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNN)來捕獲空間信息的解決方案,例如卷積長短期記憶網(wǎng)絡(luò)[13](convolutional LSTM, ConvLSTM)模型和深度時(shí)空殘差網(wǎng)絡(luò)[14](spatio-temporal residual networks, ST-ResNet)模型。它們不僅能捕獲空間相關(guān)性,還能捕獲時(shí)間相關(guān)性。此外,基于注意力機(jī)制的時(shí)空圖卷積[15](attention based spatial-temporal graph convolutional networks, ASTGCN )模型和時(shí)空同步圖卷積[16](spatial-temporal synchronous graph convolutional networks, STSGCN )模型等基于圖卷積(graph convolutional networks, GCN )的模型性能也很強(qiáng)大,不過并不適用于本研究聚焦的柵格數(shù)據(jù)預(yù)測問題。

圖1 CNN在城市交通流量預(yù)測分析中的應(yīng)用Fig.1 Applications of CNNs for citywide traffic flow analytics
近年來,ST-3DNet[17]和DeepSTNPlus[18]模型都在交通柵格流量預(yù)測問題上取得了進(jìn)展。然而,與其他基于CNN的模型一樣受到卷積核大小的限制,它們都無法有效地捕獲遠(yuǎn)程空間相關(guān)性。如圖1所示,在辦公區(qū)上班的人們可能住在遠(yuǎn)近不同的住宅區(qū)A和B,這些區(qū)域之間就會(huì)因?yàn)橥ㄇ诙嬖诤軓?qiáng)的相關(guān)性,這就需要模型能夠捕獲大范圍甚至全局的時(shí)空聯(lián)系。一些研究試圖通過堆疊多層CNN來解決此問題,但這樣會(huì)使得模型訓(xùn)練變得非常困難。在文獻(xiàn)[19-23]中,自注意力機(jī)制可以用來捕獲全局范圍的空間相關(guān)性,但并不能對不同通道捕獲不同的相關(guān)性,于是本文提出3D通道內(nèi)注意力單元(three-dimensional inner channel attention, 3D-InnerCA)來學(xué)習(xí)每個(gè)通道內(nèi)的全局時(shí)空相關(guān)性。
此外,受SENet[24]計(jì)算CNN特征通道之間相互關(guān)系的啟發(fā),ST-3DNet設(shè)計(jì)了一個(gè)重新校準(zhǔn)模塊,以探索每個(gè)區(qū)域上各個(gè)通道的貢獻(xiàn),不過這些貢獻(xiàn)是靜態(tài)學(xué)習(xí)得到的,并不能很好地適應(yīng)數(shù)據(jù)的動(dòng)態(tài)性。假設(shè)有一個(gè)特征通道關(guān)注的是某些復(fù)雜的交通情景,比如立交橋。那么在有立交橋的區(qū)域,這個(gè)特征就比其他特征有更大貢獻(xiàn)。相應(yīng)的,這個(gè)特征在有立交橋的區(qū)域也比在其他區(qū)域更具重要性。需要強(qiáng)調(diào)的是,上述關(guān)系也是動(dòng)態(tài)變化的。例如,人們可能在周末外出郊游,那么某些關(guān)注通勤狀況的特征在周末就會(huì)變得不那么重要。而現(xiàn)有交通柵格流量預(yù)測模型無法應(yīng)對上述情況。因此本文在此基礎(chǔ)上設(shè)計(jì)InterCA,從而動(dòng)態(tài)計(jì)算各個(gè)特征通道在每個(gè)區(qū)域上的貢獻(xiàn)。
在本節(jié)中給出本文中使用的一些定義。
定義1交通柵格流量。通過將城市劃分為I×J的柵格圖,每個(gè)柵格就代表城市的一個(gè)區(qū)域,Cin個(gè)通道代表Cin種類型的交通數(shù)據(jù),例如流入流量、流出流量。此時(shí)的交通柵格流量的形式就像一張圖片,可以得到第t時(shí)間段內(nèi)的數(shù)據(jù)Xt∈RCin×I×J。

為更有效地捕獲時(shí)空相關(guān)性,提出一種基于深度學(xué)習(xí)的端到端模型3D-CANet。模型總體架構(gòu)如圖2所示。首先使用一層卷積核大小為1×3×3的3D卷積來捕獲數(shù)據(jù)的局部特征。之后堆疊3個(gè)3D-InnerCA單元以捕獲全局時(shí)空動(dòng)態(tài)相關(guān)性。接下來,使用一層有C個(gè)大小為3×3×3卷積核的3D卷積層,用于聚合時(shí)間維度上的信息。此時(shí),時(shí)間信息已被充分捕獲,為進(jìn)一步探索全局空間動(dòng)態(tài)相關(guān)性[17],堆疊2個(gè)2D空間通道內(nèi)注意力單元(2D spatial inner channel attention,2D-s-InnerCA)。最后,使用InterCA單元來動(dòng)態(tài)地計(jì)算每個(gè)區(qū)域上各特征通道的貢獻(xiàn)。

注:3D-Conv為3D卷積;3D-InnerCA Unit為3D通道內(nèi)注意力單元;2D-s-InnerCA Unit為2D空間通道內(nèi)注意力單元;InterCA Unit為通道間注意力單元。圖2 3D-CANet模型的整體架構(gòu)Fig.2 Overall architecture of 3D-CANet

圖3 3D通道內(nèi)注意力單元Fig.3 3D-InnerCA unit
由于交通柵格流量具有動(dòng)態(tài)的全局時(shí)空相關(guān)性,基于CNN的模型受卷積核大小的限制,并不能捕獲大范圍的信息。并且由于參數(shù)固定,模型不具有自適應(yīng)輸入數(shù)據(jù)的動(dòng)態(tài)能力,因此它們不能充分學(xué)到數(shù)據(jù)中蘊(yùn)含的信息。如圖3所示,提出一個(gè)能動(dòng)態(tài)探索各個(gè)特征通道內(nèi)的全局時(shí)空相關(guān)性的模塊,稱為3D-InnerCA,其中BN+ReLU表示批歸一化和激活函數(shù)ReLU。文獻(xiàn)[19-23]提出的模型大多使用自注意力機(jī)制來捕獲柵格流量中的空間信息,可以動(dòng)態(tài)計(jì)算每個(gè)區(qū)域和其他所有區(qū)域之間的相關(guān)性,但這種相關(guān)性對于所有通道是共享的。考慮到不同的特征通道中時(shí)空相關(guān)性可能有所區(qū)別,因此在3D-InnerCA單元中對通道進(jìn)行分組,以學(xué)習(xí)分組后各個(gè)通道內(nèi)的動(dòng)態(tài)全局相關(guān)性。具體來說,3D-InnerCA單元由3D-s-InnerCA和3D時(shí)間通道內(nèi)注意力單元(3D temporal inner channel attention,3D-t-InnerCA)組成,分別用來動(dòng)態(tài)捕獲全局空間相關(guān)性和時(shí)間相關(guān)性。將兩個(gè)部分的結(jié)果拼接成2C個(gè)通道,并使用大小為3×3×3的C個(gè)卷積核進(jìn)行3D卷積,從而把2C個(gè)通道聚合為C個(gè)通道。為保證訓(xùn)練效率,結(jié)構(gòu)中使用殘差學(xué)習(xí)[25]。
2.2.1 3D-s-InnerCA

(1)
(2)

圖4 3D空間通道內(nèi)注意力Fig.4 3D-s-InnerCA

(3)
(4)
其中,WQS、WKS和WVS是全連接層的參數(shù)。這里不像傳統(tǒng)的注意力那樣使用激活函數(shù)Softmax,因?yàn)樗鼤?huì)限制模型的表達(dá)能力并增加訓(xùn)練成本[26]。需要注意的是,2D-s-InnerCA的結(jié)構(gòu)與3D-s-InnerCA類似,只是沒有時(shí)間維度上的操作。
2.2.2 3D-t-InnerCA

(5)
(6)
(7)
(8)
其中,WQT、WKT和WVT是全連接層的參數(shù)。

圖5 3D時(shí)間通道內(nèi)注意力Fig.5 3D-t-InnerCA
由于交通流量中復(fù)雜的相關(guān)性,不同特征通道對同一個(gè)區(qū)域的貢獻(xiàn)不同,而同一個(gè)特征對不同區(qū)域的重要性也不同。不僅如此,特征通道的貢獻(xiàn)還會(huì)隨著時(shí)間而動(dòng)態(tài)變化。因此,提出通道間注意力單元,并使用2D卷積神經(jīng)網(wǎng)絡(luò)來動(dòng)態(tài)學(xué)習(xí)每個(gè)區(qū)域上特征通道之間的關(guān)系。

(9)

(10)
其中,“°”是逐元素乘法。將全部Cout個(gè)通道拼在一起,則3D-CANet最終輸出預(yù)測結(jié)果Xout∈RCout×I×J。

圖6 通道間注意力單元Fig.6 Inter-channel attention unit
模型通過最小化損失函數(shù)來進(jìn)行訓(xùn)練,損失函數(shù)為預(yù)測值與真實(shí)值之間的均方誤差,即

(11)
在3個(gè)不同的交通流量數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),與基準(zhǔn)模型相比,實(shí)驗(yàn)結(jié)果證明了3D-CANet模型的有效性。
本研究使用TaxiBJ、BikeNYC和TaxiNYC 3個(gè)交通流量數(shù)據(jù)集,它們的統(tǒng)計(jì)信息如表1所示。
1)TaxiBJ:TaxiBJ數(shù)據(jù)集由軌跡數(shù)據(jù)和外部因素?cái)?shù)據(jù)組成。其中軌跡數(shù)據(jù)是在四段時(shí)間內(nèi)的北京出租車GPS數(shù)據(jù),包括:2013年7月1日—2013年10月30日,2014年3月1日—2014年6月30日,2015年3月1日—2015年6月30日和2015年11月1日—2016年4月10日。每個(gè)時(shí)間段的長度設(shè)定為30 min。將軌跡數(shù)據(jù)轉(zhuǎn)化為柵格數(shù)據(jù),并選取后4周數(shù)據(jù)為測試集,其余數(shù)據(jù)為訓(xùn)練集。
2)BikeNYC:像TaxiBJ一樣,BikeNYC數(shù)據(jù)集由軌跡數(shù)據(jù)和外部因素?cái)?shù)據(jù)組成。其軌跡數(shù)據(jù)來源于紐約自行車系統(tǒng),時(shí)間跨度為2014年4月1日—2014年9月30日。每個(gè)時(shí)間段的長度設(shè)定為1 h。將軌跡數(shù)據(jù)轉(zhuǎn)化為柵格數(shù)據(jù),并選取最后10 d的數(shù)據(jù)為測試集,其余數(shù)據(jù)為訓(xùn)練集。
3)TaxiNYC:TaxiNYC數(shù)據(jù)集由22 349 490條紐約出租車行駛數(shù)據(jù)組成,時(shí)間跨度為2015年1月1日—2015年3月1日。每個(gè)時(shí)間段的長度設(shè)定為30 min。將軌跡數(shù)據(jù)轉(zhuǎn)化為柵格數(shù)據(jù),并選取最后20 d為測試集,其余數(shù)據(jù)為訓(xùn)練集。
將3D-CANet與以下8個(gè)基準(zhǔn)模型進(jìn)行比較:
1) HA:如同文獻(xiàn)[14,17,27]的做法,將每個(gè)區(qū)域歷史數(shù)據(jù)中對應(yīng)時(shí)間段的均值作為該區(qū)域流入和流出流量的預(yù)測值。
2) XGBoost[6]:一種提升樹的可擴(kuò)展機(jī)器學(xué)習(xí)系統(tǒng),屬于機(jī)器學(xué)習(xí)方法,能夠根據(jù)各個(gè)區(qū)域的歷史數(shù)據(jù)進(jìn)行預(yù)測。

表1 交通流量數(shù)據(jù)集的統(tǒng)計(jì)信息
3) LSTM[9]:長期短期記憶網(wǎng)絡(luò)是一種RNN網(wǎng)絡(luò),用于時(shí)間序列預(yù)測,能夠根據(jù)各個(gè)區(qū)域的歷史數(shù)據(jù)進(jìn)行預(yù)測。
4) GRU[10]:門控循環(huán)網(wǎng)絡(luò)也是一種RNN網(wǎng)絡(luò),用于時(shí)間序列預(yù)測,能夠根據(jù)各個(gè)區(qū)域的歷史數(shù)據(jù)進(jìn)行預(yù)測。
5) ConvLSTM[13]:ConvLSTM結(jié)合CNN和LSTM,可以像CNN一樣捕獲空間信息,也能像LSTM一樣挖掘時(shí)間信息,且能同時(shí)對全部區(qū)域的歷史數(shù)據(jù)進(jìn)行時(shí)空信息提取并預(yù)測。
6) ST-ResNet[14]:它是一種基于深度神經(jīng)網(wǎng)絡(luò)的時(shí)空數(shù)據(jù)預(yù)測模型。使用3個(gè)殘差網(wǎng)絡(luò)分別建模近鄰性、周期性和趨勢性的空間相關(guān)性,然后融合3個(gè)部分的結(jié)果最終輸出。
7) ST-3DNet[17]:基于深度神經(jīng)網(wǎng)絡(luò)的時(shí)空數(shù)據(jù)預(yù)測模型。它首先利用3D卷積在時(shí)間和空間維度上捕獲信息。與ST-ResNet不同,它僅考慮近鄰性和趨勢性,然后進(jìn)行融合輸出。
8)DeepSTNPlus[18]:基于深度神經(jīng)網(wǎng)絡(luò)的時(shí)空數(shù)據(jù)預(yù)測模型。它在整個(gè)模型最開始就進(jìn)行近鄰性、周期性和趨勢性的融合,然后在模型末尾使用多尺度融合網(wǎng)絡(luò)來融合多級別特征,展現(xiàn)出城市流量預(yù)測任務(wù)的最佳性能。
本文基于PyTorch[27]實(shí)現(xiàn)3D-CANet模型。在本研究中,預(yù)測兩種交通數(shù)據(jù):流入和流出流量。因此,Cin設(shè)定為2。設(shè)置輸入數(shù)據(jù)的長度為6,也就是模型根據(jù)最近6個(gè)時(shí)間段內(nèi)的數(shù)據(jù)以進(jìn)行預(yù)測。使用最大值最小值歸一化方法將輸入數(shù)據(jù)縮放到[-1,1]范圍內(nèi)。在TaxiBJ、BikeNYC和TaxiNYC上,分別選擇最近4周、10 d和20 d的數(shù)據(jù)作為測試集,其他數(shù)據(jù)作為訓(xùn)練集。在3個(gè)數(shù)據(jù)集上訓(xùn)練的批大小分別為4、8、4,學(xué)習(xí)率為0.01。計(jì)算預(yù)測值和真實(shí)值的均方根誤差(root mean square error, RMSE)和絕對平均誤差(mean absolute error, MAE)作為評價(jià)指標(biāo):
(12)
(13)
其中,N為所有預(yù)測值的數(shù)量。
在TaxiBJ、BikeNYC和TaxiNYC上,3D-CANet的第一層3D卷積分別使用16、64和64個(gè)卷積核。在探索不同數(shù)量并考慮訓(xùn)練開銷的情況下,設(shè)定在模型中堆疊3個(gè)3D-InnerCA單元和2個(gè)2D-s-InnerCA單元,每個(gè)單元分別有2層注意力。其他的3D卷積都應(yīng)用C=64個(gè)大小為3×3×3的卷積核,2D卷積都使用C=64個(gè)大小為3×3的卷積核。
首先給出3D-CANet在3個(gè)數(shù)據(jù)集上與其他8個(gè)基準(zhǔn)模型的比較,結(jié)果如表2所示。模型根據(jù)最近6個(gè)時(shí)間段來預(yù)測下一個(gè)時(shí)間段的數(shù)據(jù),其中ST-ResNet和DeepSTNPlus分別另有3個(gè)周期性和趨勢性數(shù)據(jù),ST-3DNet有3個(gè)趨勢性數(shù)據(jù)。運(yùn)行每個(gè)模型5次,并計(jì)算出評價(jià)指標(biāo)的平均值和標(biāo)準(zhǔn)差。結(jié)果表明,本文提出的模型性能比其他基準(zhǔn)模型更優(yōu)。對于ST-ResNet、ST-3DNet和DeepSTNPlus模型,它們除了要有近鄰性數(shù)據(jù)還需要獲取周期性和趨勢性信息;而3D-CANet模型僅需要近鄰性數(shù)據(jù)就能獲得更好的性能。這表明3D-CANet模型比基準(zhǔn)模型能更有效地捕獲時(shí)空特征。實(shí)際上每個(gè)基準(zhǔn)模型都有自身的特點(diǎn)。HA、XGBoost、LSTM和GRU只能預(yù)測單個(gè)區(qū)域的序列數(shù)據(jù),并且都不能建模空間相關(guān)性。ConvLSTM、ST-ResNet、ST-3DNet和DeepSTNPlus等模型確實(shí)可以捕獲空間和時(shí)間信息。然而受卷積核大小的限制,它們并不能很好地捕獲全局信息。因此在城市范圍更大、柵格數(shù)量更多的TaxiBJ數(shù)據(jù)集上,它們的性能與3D-CANet差距更大。相對的,3D-CANet使用3D-InnerCA單元,能夠利用注意力機(jī)制動(dòng)態(tài)捕獲各個(gè)特征通道內(nèi)的全局時(shí)空信息。此外,模型的Inter-CA可以動(dòng)態(tài)學(xué)習(xí)每個(gè)區(qū)域上各特征通道的貢獻(xiàn),更增強(qiáng)了其表征能力。
3.5.1 多步預(yù)測比較
圖7顯示了3D-CANet模型與基準(zhǔn)模型在三個(gè)數(shù)據(jù)集上的多步預(yù)測結(jié)果。模型要預(yù)測未來1至6個(gè)時(shí)間段的數(shù)據(jù),每個(gè)時(shí)間段為1 h。可以看出,預(yù)測時(shí)間越長,兩種評價(jià)指標(biāo)就越大。結(jié)果表明,本文提出的模型在所有模型中表現(xiàn)最好,這證明了3D-InnerCA單元捕獲全局信息的能力。此外,InterCA可以動(dòng)態(tài)計(jì)算每個(gè)區(qū)域上不同特征通道的貢獻(xiàn),這使得本文提出的3D-CANet模型更加強(qiáng)大。

表2 三個(gè)數(shù)據(jù)集上的預(yù)測結(jié)果

(a) TaxiBJ的RMSE(a) RMSE on TaxiBJ

(b) TaxiBJ的MAE(b) MAE on TaxiBJ

(c) BikeNYC的RMSE(c) RMSE on BikeNYC

(d) BikeNYC的MAE(d) MAE on BikeNYC

(e) TaxiNYC的RMSE(e) RMSE on TaxiNYC

(f) TaxiNYC的MAE(f) MAE on TaxiNYC圖7 多步預(yù)測結(jié)果Fig.7 Multi-step prediction result
3.5.2 通道分組的數(shù)量
在3D-InnerCA單元中對通道進(jìn)行分組,從而捕獲每組通道內(nèi)的全局相關(guān)性。如圖8所示,實(shí)驗(yàn)結(jié)果表明,組數(shù)越多,模型預(yù)測的效果越好。因此,將組數(shù)設(shè)置為最大值,即通道數(shù)。這正如同本文的觀點(diǎn),每個(gè)通道內(nèi)的全局相關(guān)性都是不同的。

(a) RMSE

(b) MAE圖8 在BikeNYC數(shù)據(jù)集上不同通道分組數(shù)量對3D-s-InnerCA和3D-t-InnerCA的效果Fig.8 Effect of different numbers of groups in 3D-s-InnerCA and 3D-t-InnerCA on BikeNYC
這里通過消融實(shí)驗(yàn)來驗(yàn)證模型各組件的效果。在表3中顯示3D-CANet模型的每個(gè)組件以及它們組合后的效果。3D-Conv模型將3D-CANet模型中3D-InnerCA單元的注意力結(jié)構(gòu)替換為3D卷積,并且用有Cout=2個(gè)大小為3×3的卷積核的2D卷積來替代InterCA單元。3D-Conv_InterCA模型在此基礎(chǔ)上添加了InterCA單元。通過比較這兩個(gè)模型,可以發(fā)現(xiàn)InterCA單元使模型性能更好。此外,3D-CANet_s和3D-CANet_t模型分別為在3D-InneCA單元中保留時(shí)間和空間分支的3D-CANet模型,結(jié)果表明僅用3D-s-InnerCA或3D-t-InnerCA都能使預(yù)測結(jié)果更為準(zhǔn)確。當(dāng)然,同時(shí)使用它們時(shí),3D-InnerCA單元的性能達(dá)到最佳。總結(jié)來說,每個(gè)組件都有助于提升3D-CANet模型的預(yù)測能力。

表3 在BikeNYC上的消融實(shí)驗(yàn)
本文設(shè)計(jì)用于預(yù)測交通柵格流量的時(shí)空模型3D-CANet。通過對特征通道進(jìn)行分組,提出的3D通道內(nèi)注意力單元從時(shí)間和空間兩個(gè)方面進(jìn)行注意力計(jì)算,動(dòng)態(tài)學(xué)習(xí)不同特征通道中的全局時(shí)空相關(guān)性,有效提升了模型的時(shí)空建模能力。此外,3D通道間注意力單元能夠針對不同特征通道在各個(gè)區(qū)域上的重要性進(jìn)行動(dòng)態(tài)學(xué)習(xí),提升了模型的表征能力。經(jīng)過3個(gè)交通流量數(shù)據(jù)集的實(shí)驗(yàn)評估,結(jié)果表明本文提出的3D-CANet模型性能優(yōu)于其他8個(gè)基準(zhǔn)模型。