殷 齊,丁 飛,朱 躍,李靜宜,沙宇晨
(1.南京郵電大學(xué) 物聯(lián)網(wǎng)學(xué)院,江蘇 南京 210003; 2.南京郵電大學(xué) 江蘇省寬帶無(wú)線通信和物聯(lián)網(wǎng)重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210003)
城市交通流預(yù)測(cè)是實(shí)現(xiàn)智能交通系統(tǒng)的重要環(huán)節(jié)。高效的預(yù)測(cè)算法會(huì)幫助城市范圍內(nèi)所提供的交通資源來(lái)滿足人們的出行需求,減少城市交通資源的浪費(fèi)、降低交通擁堵的概率。如何利用海量的GPS數(shù)據(jù)來(lái)進(jìn)行城市交通流量預(yù)測(cè)是一個(gè)重要的現(xiàn)實(shí)問(wèn)題。
深度學(xué)習(xí)的方法能夠有效地建立高維時(shí)空數(shù)據(jù)模型以進(jìn)行城市流量預(yù)測(cè)。其中,RNN(Recurrent Neural Network,循環(huán)神經(jīng)網(wǎng)絡(luò))最先被運(yùn)用于交通流量預(yù)測(cè)之中,但是RNN在處理長(zhǎng)期依賴問(wèn)題上存在梯度爆炸和梯度消失等問(wèn)題[1]。CNN-SVR[2]、CNN-LSTM(Convolutional Neural Networks-Long Short-Term Memory,卷積長(zhǎng)短期記憶網(wǎng)絡(luò))[3-4]、CNN-LSTM-ResNet[5]和CNN-GRU[6]的混合模型為解決時(shí)空序列問(wèn)題提供了新的思路。RNN的變種有GRU (Gated Recurrent Unit,門(mén)控循環(huán)單元)、LSTM(Long Short-Term Memory,長(zhǎng)短期記憶網(wǎng)絡(luò))[7-8]等。一定程度上改善了RNN存在的問(wèn)題。卷積神經(jīng)網(wǎng)絡(luò)具有獲取空間特征的能力,如視覺(jué)識(shí)別任務(wù)[9-10]。研究人員利用卷積神經(jīng)網(wǎng)絡(luò)對(duì)交通流進(jìn)行預(yù)測(cè)[11-13]。Zhang等提出了ST-ResNet(時(shí)空殘差網(wǎng)絡(luò))[14]。ST-ResNet首次提出交通時(shí)空矩陣的概念,并構(gòu)建交通流預(yù)測(cè)的深度學(xué)習(xí)網(wǎng)絡(luò)。DMVST-Net(Deep Multiple View Spatio Temporal Network,深度時(shí)空多視圖網(wǎng)絡(luò))[15]在CNN和LSTM網(wǎng)絡(luò)的基礎(chǔ)上添加了語(yǔ)義信息來(lái)加強(qiáng)各個(gè)空間區(qū)域之間的相似關(guān)系,進(jìn)而提高預(yù)測(cè)性能。但結(jié)果來(lái)看,加語(yǔ)義信息后的效果并不明顯。ISTResNet(Improved Spatio Temporal Residual Networks,改進(jìn)的時(shí)空殘差網(wǎng)絡(luò))[16]單純地將殘差網(wǎng)絡(luò)的層數(shù)加深。STAR(Spatio Temporal mobility event prediction framework based on a single fully-convolutional residual network,基于單層全卷積殘差網(wǎng)絡(luò)的時(shí)空移動(dòng)事件預(yù)測(cè)框架)[17]在ST-ResNet的基礎(chǔ)上改進(jìn)了輸入數(shù)據(jù)的獲取方式,將流量數(shù)據(jù)進(jìn)行提前融合,DeepSTN(Deep Spatio Temporal Network,深度時(shí)空網(wǎng)絡(luò))[18]利用CNN來(lái)融合輸入數(shù)據(jù),設(shè)計(jì)ConvPlus捕獲城市遠(yuǎn)距離空間依賴,但都沒(méi)有提取時(shí)間特征。
ST-ResNet在時(shí)空特征提取時(shí),獲取的空間各點(diǎn)信息,沒(méi)有融合其附近區(qū)域信息和對(duì)應(yīng)通道上的交互信息,無(wú)法避免全局信息的干擾。同時(shí),低層網(wǎng)絡(luò)的特征信息表征能力弱及高層下采樣損失過(guò)多信息,從而影響預(yù)測(cè)精度。該文提出基于殘差自校驗(yàn)網(wǎng)絡(luò)與多尺度融合機(jī)制的交通流預(yù)測(cè)算法,即MS-RSCNet(Multi-scale Residual Self Checking Network,多尺度殘差自校驗(yàn)網(wǎng)絡(luò))。該算法提出一種殘差自校驗(yàn)網(wǎng)絡(luò)和引入融合多尺度特征的雙向門(mén)控循環(huán)單元,解決以上問(wèn)題,增加城市交通流量時(shí)空特征的提取能力,相比于其他預(yù)測(cè)算法,獲得了更高的精度。
城市交通流量的預(yù)測(cè)方面,以時(shí)空數(shù)據(jù)為主,時(shí)空數(shù)據(jù)具有臨近性、周期性和趨勢(shì)性的特點(diǎn)?;诖?,該文提出了基于殘差自校驗(yàn)網(wǎng)絡(luò)與融合多尺度特征的Bi-GRU (Bidirection-Gated Recurrent Unit,雙向門(mén)控循環(huán)單元)的交通流量預(yù)測(cè)模型。該模型主要由兩部分組成:第一、通過(guò)多層殘差自校驗(yàn)網(wǎng)絡(luò)提取不同尺度下的空間特征來(lái)說(shuō)明空間依賴性;第二、將多尺度特征融合,通過(guò)Bi-GRU提取時(shí)間周期特征來(lái)描述時(shí)間依賴性,網(wǎng)絡(luò)主要結(jié)構(gòu)如圖1所示。首先,利用CNN提取城市范圍交通流量的時(shí)空特征;通過(guò)多層RSCNet網(wǎng)絡(luò)自校驗(yàn)城市空間流量特征,并利用RSCNet網(wǎng)絡(luò)提取出不同尺度下的空間特征,用以解決沒(méi)有充分提取空間特征從而導(dǎo)致預(yù)測(cè)精度不高的問(wèn)題。然后融合不同尺度下的空間特征,將融合后的特征輸入到Bi-GRU中。通過(guò)Bi-GRU中單元間的信息傳輸實(shí)現(xiàn)長(zhǎng)短時(shí)間周期特征的提取與表征。此外,Bi-GRU對(duì)于所提取的時(shí)間周期特征是按照等權(quán)的處理方式參與運(yùn)算,具有顯著性的特征則難以在網(wǎng)絡(luò)中突出作用,因此,該文進(jìn)一步引入注意力機(jī)制來(lái)提取流量數(shù)據(jù)的周期性來(lái)增強(qiáng)Bi-GRU所提取特征的顯著性,從而提高交通流量預(yù)測(cè)的精度。最后,將學(xué)習(xí)到的時(shí)空特征通過(guò)全連接層,獲得下個(gè)時(shí)刻的預(yù)測(cè)結(jié)果。
由城市交通流量的特性可知,未來(lái)時(shí)隙的流量依賴該區(qū)域的歷史流量數(shù)據(jù)。通過(guò)規(guī)則格網(wǎng)劃分將整個(gè)研究區(qū)域轉(zhuǎn)換為規(guī)則格網(wǎng),將格網(wǎng)內(nèi)流量視為對(duì)應(yīng)像素,從而將其轉(zhuǎn)換為圖像。為了方便空間關(guān)系表達(dá),該文采用文獻(xiàn)[14]的空間劃分方式將該區(qū)域進(jìn)行規(guī)則格網(wǎng)劃分。
定義1(上下車(chē)流量):基于經(jīng)緯度將城市交通流量劃分為i×j大小的網(wǎng)格,每個(gè)網(wǎng)格代表一個(gè)區(qū)域。對(duì)于每個(gè)區(qū)域,有兩種車(chē)流量,分別為下車(chē)流量和上車(chē)流量。它們分別定義為:
(1)
(2)
其中,g1→g2→…→g|Tr|為p上的軌跡,gk為地理空間坐標(biāo),gk∈si,j表示gk位于網(wǎng)格(i,j)內(nèi)。s=(s0,0,…,si,j)表示城市流量空間特征,Si,j表示城市流量中第i行j列的流量數(shù)據(jù)。因此,使用上述定義,可以在每個(gè)時(shí)間間隔獲得交通流量矩陣,下車(chē)和上車(chē)流量的矩陣可以堆疊為兩個(gè)通道的圖像張量。
(3)
該文通過(guò)圖像數(shù)據(jù)來(lái)分析流量數(shù)據(jù)所具有的鄰近性、周期性和趨勢(shì)性的特征。成都市道路網(wǎng)絡(luò)是方格式網(wǎng)絡(luò)結(jié)構(gòu),比較適合進(jìn)行網(wǎng)格劃分,在2016年11月1、2、8三天在相鄰天不同時(shí)隙、同一天不同時(shí)隙、相鄰周同一時(shí)隙的流量特征體現(xiàn)了臨近性、周期性和趨勢(shì)性的特點(diǎn),如圖2所示,所以該文利用時(shí)間的鄰近性、周期性和趨勢(shì)性來(lái)選擇建模的輸入數(shù)據(jù)。
圖2 臨近、天、周時(shí)隙之間的流量特點(diǎn)
RSCNet網(wǎng)絡(luò)是在殘差網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)行優(yōu)化的,在圖3中,每個(gè)殘差自校驗(yàn)單元中引入了自校驗(yàn)塊。每個(gè)自校驗(yàn)塊,給定四個(gè)分支的過(guò)濾層,然后統(tǒng)一地將輸入input分成兩個(gè)部分{input1,input2},然后每個(gè)部分都被輸入到一個(gè)特殊的路徑中,用于收集不同類(lèi)型的上下文信息。在第一個(gè)路徑中,利用{K2,K3,K4}對(duì)input2進(jìn)行自校驗(yàn)操作,得到Y(jié)2。在第二個(gè)路徑中,通過(guò)一個(gè)卷積層進(jìn)行卷積操作,其目的是保留更多的原始空間上特征信息。在第一個(gè)路徑中,為了能夠提高每個(gè)城市空間區(qū)域中的上下文信息,在兩個(gè)不同尺度空間進(jìn)行卷積特征變換。一個(gè)為初始的空間分辨率,其中城市時(shí)空特征圖與輸入具有相同的分辨率,一個(gè)是通過(guò)平均池化進(jìn)行降采樣后的潛在城市空間特征。由于潛在空間特征變換后的交通流量特征具有較大的感受野,因此可以作為參考來(lái)指導(dǎo)原始特征空間中的特征變換。
每個(gè)自校驗(yàn)塊首先采用卷積網(wǎng)絡(luò)層將input分為兩個(gè)分支input1和input2。input1經(jīng)過(guò)分支輸入到卷積網(wǎng)絡(luò)層中,輸出空間維度的短期流量特征,input2同時(shí)輸入到分支2和分支3,經(jīng)過(guò)分支2對(duì)空間和通道維度下采樣處理與經(jīng)過(guò)分支3的輸出特征進(jìn)行相乘,輸出自校驗(yàn)后的流量特征,再經(jīng)過(guò)分支4融合輸出最終自校驗(yàn)特征,進(jìn)而獲得通道維和空間維的融合特征。通過(guò)分支5進(jìn)行通道維的拼接融合,進(jìn)一步地通過(guò)殘差自校驗(yàn)單元中的卷積網(wǎng)絡(luò)層,對(duì)特征變換進(jìn)行指導(dǎo),輸出自校驗(yàn)特征矩陣?,F(xiàn)結(jié)合圖3說(shuō)明殘差自校驗(yàn)單元的結(jié)果輸出過(guò)程:
圖3 殘差自校驗(yàn)結(jié)構(gòu)
(1)將input輸入到自校驗(yàn)塊中,輸出自校驗(yàn)特征矩陣C1,其過(guò)程如下:
input1=Relu(BN(Conv_a(input)))
(4)
input2=Relu(BN(Conv_b(input)))
(5)
Y1=Conv(Relu(BN(input1)))
(6)
K2=BN(Conv(AvgPool(input2)))
(7)
K3=BN(Conv(input2))
(8)
Y2'=K3·σ(input2+K2)
(9)
Y2=BN(Conv(Y2'))
(10)
C1=Relu(BN(Conv(Cat(Y1,Y2))))
(11)
其中,所有Conv_a和Conv_b為卷積網(wǎng)絡(luò),Relu為激活函數(shù),BN為批量歸一化層。AvgPool的池化率為2,卷積核和步長(zhǎng)都設(shè)為2,通過(guò)AvgPool完成下采樣。σ為通過(guò)sigmoid激活函數(shù)將值映射到區(qū)間[0,1]?!橄喑朔?hào),Cat將兩個(gè)輸出Y1和Y2在通道維度上進(jìn)行拼接。
(2)將C1輸入到多個(gè)殘差自校驗(yàn)單元中,輸出最終的自校驗(yàn)特征矩陣Cn,增強(qiáng)提取時(shí)空特征的能力,從而提高交通預(yù)測(cè)的性能。整個(gè)殘差自校驗(yàn)網(wǎng)絡(luò)的結(jié)果輸出的過(guò)程為:
Cn=CaliN(…(Cali4(Cali3(Cali2(C1))))…)
(12)
其中,每個(gè)殘差自校驗(yàn)單元中的自校驗(yàn)塊的通道數(shù)不同,通過(guò)之后的卷積網(wǎng)絡(luò),將所有的殘差自校驗(yàn)單元的輸出通道數(shù)統(tǒng)一。
卷積核的大小、步幅、位移決定了圖像內(nèi)提取特征的范圍,其對(duì)應(yīng)參與運(yùn)算的地理范圍,即對(duì)應(yīng)的空間尺度??臻g尺度越小,特征圖能表示的原始圖像范圍越大,越能表現(xiàn)原始圖像更大尺度的空間特征。反之,越能表現(xiàn)圖像的局部特征。基于此,通過(guò)不同的卷積核、步幅、位移的大小,對(duì)每個(gè)殘差自校驗(yàn)網(wǎng)絡(luò)采用不同的尺度,然后將不同尺度的殘差自校驗(yàn)網(wǎng)絡(luò)的輸出的多維特征向量扁平化為一維特征向量后進(jìn)行拼接,通過(guò)不同權(quán)重的注意力機(jī)制,輸入下一層網(wǎng)絡(luò)中,實(shí)現(xiàn)不同尺度下的特征融合。通過(guò)不同空間尺度的交通流量圖像特征進(jìn)行融合,輸出最終特征。其中多尺度融合機(jī)制的具體結(jié)構(gòu)如圖1所示,結(jié)合圖1具體說(shuō)明多尺度融合機(jī)制以及結(jié)果輸出的過(guò)程:
將殘差自校驗(yàn)網(wǎng)絡(luò)中不同空間尺度的輸出Cn進(jìn)行拼接融合,通過(guò)注意力機(jī)制輸出多尺度特征。其過(guò)程如下:
H=Cat(flatten(C1,…,Cn))
(13)
M=tanh(H)
(14)
?=softmax(WM)
(15)
r=H?
(16)
其中,flatten為向量扁平化操作,H為一維特征向量,tanh和softmax為激活函數(shù),W為權(quán)重向量,r為帶有不同權(quán)重的特征向量。
該文選用結(jié)構(gòu)相對(duì)簡(jiǎn)單、訓(xùn)練時(shí)間較短且參數(shù)較少的GRU來(lái)進(jìn)行時(shí)間特征的提取。盡管GRU的計(jì)算效率比LSTM網(wǎng)絡(luò)高,但是由于門(mén)的減少,它的性能仍然排在LSTM網(wǎng)絡(luò)之后?;诖?,在GRU網(wǎng)絡(luò)的基礎(chǔ)上引入雙向?qū)W習(xí)的功能。雙向GRU的結(jié)構(gòu)和連接如圖4所示,其有兩個(gè)方面的影響,一種是歷史流量的時(shí)間聯(lián)系,這有助于從過(guò)去的流量數(shù)據(jù)中學(xué)習(xí)時(shí)間特征,另一種是未來(lái)流量的時(shí)間聯(lián)系,這有助于從未來(lái)的流量數(shù)據(jù)中學(xué)習(xí)特征。雙向GRU網(wǎng)絡(luò)的隱藏層要保存兩個(gè)值,A參與正向計(jì)算,A'參與反向計(jì)算。最終的輸出值y取決于A和A'。其中,A'和A都表示GRU單元。GRU單元使用更新門(mén)和復(fù)位門(mén)。更新門(mén)決定應(yīng)該讓過(guò)去的多少信息通過(guò),復(fù)位門(mén)決定應(yīng)該丟棄過(guò)去的多少信息,具體過(guò)程定義如下:
圖4 GRU及雙向GRU結(jié)構(gòu)
rt=σ(Wr·[ht-1,αt])
(17)
ut=σ(Wu·[ht-1,αt])
(18)
ct=tanh(W·[rt*ht-1,αt])
(19)
ht=(1-ut)*ht-1+ut*ct
(20)
其中,式(17)、(18)為重置門(mén)和更新門(mén)操作,σ為sigmoid函數(shù)。通過(guò)使用sigmoid函數(shù),決定讓哪些值通過(guò)。通過(guò)重置門(mén)操作,將前一個(gè)時(shí)間步和當(dāng)前時(shí)間步的串聯(lián)值與rt相乘。這將生成希望從前面的時(shí)間步中丟棄的值。
選取北京交通GPS數(shù)據(jù)和天氣、節(jié)假日數(shù)據(jù)集(TaxiBJ)和成都市交通GPS數(shù)據(jù)集(TaxiCD)。用兩個(gè)真實(shí)數(shù)據(jù)集對(duì)模型的預(yù)測(cè)性能進(jìn)行測(cè)試,數(shù)據(jù)分別來(lái)自北京市交通自帶GPS設(shè)備收集的交通訂單軌跡數(shù)據(jù)和滴滴蓋亞數(shù)據(jù)平臺(tái)。兩個(gè)真實(shí)數(shù)據(jù)集劃分如表1所示。
表1 數(shù)據(jù)集的規(guī)模
預(yù)處理:采用Min-max歸一化方法將數(shù)據(jù)擴(kuò)展到范圍[-1,1]。在評(píng)估中,將預(yù)測(cè)值與groundtruth進(jìn)行對(duì)比,重新縮放到正常值。對(duì)于外部因素,使用onehot編碼將元數(shù)據(jù)(DayOfWeek,Weekend/Weekday)、假日和天氣條件轉(zhuǎn)換為二進(jìn)制向量,并使用Min-Max歸一化將溫度和風(fēng)速縮放到范圍[0,1]。
建模:采用Adam(Adaptive Moment Estimation,自適應(yīng)矩估計(jì))作為優(yōu)化方法,學(xué)習(xí)率初始化為0.001 5,均方根誤差(RMSE)作為損失函數(shù)。文中所有模型均以預(yù)測(cè)數(shù)據(jù)和網(wǎng)絡(luò)輸出的RMSE損失函數(shù)為訓(xùn)練目標(biāo)。對(duì)于數(shù)據(jù)集TaxiBJ,采用6個(gè)殘差自校驗(yàn)單元,對(duì)于數(shù)據(jù)集TaxiCD,采用4個(gè)殘差自校驗(yàn)單元。該文采用王等人的方法[17],構(gòu)建輸入數(shù)據(jù)。在形式上,分別假設(shè)鄰近長(zhǎng)度、周期長(zhǎng)度、趨勢(shì)片段長(zhǎng)度為lc、lp、lq,參數(shù)lc、lp、lq分別設(shè)置為3、2、2。p和q分別設(shè)置為48和49和336和337。然后,使用完整的訓(xùn)練數(shù)據(jù)對(duì)模型進(jìn)行100次迭代。每次迭代的批量大小為32,實(shí)現(xiàn)所有的實(shí)驗(yàn)均使用Python3.7、Keras框架。
多尺度設(shè)置:RSCNet的卷積核設(shè)置為3,將步幅分別設(shè)置為1、2和4,以此設(shè)置大小分別為32、16和8的尺度,自校驗(yàn)塊中池化率設(shè)為2。RSCNet的輸入通道為64,輸出通道為2,W初始化為全為1的特征向量。
評(píng)估:實(shí)驗(yàn)選用常用的模型預(yù)測(cè)衡量指標(biāo)均方根誤差(RMSE)來(lái)對(duì)模型精度進(jìn)行評(píng)價(jià)。均方根誤差能夠衡量觀測(cè)值與真實(shí)值之間的偏差,其值越小說(shuō)明模型的精度越高,計(jì)算公式如下:
(21)
式中,observedi為真實(shí)值,predictedi為相應(yīng)的預(yù)測(cè)值,N為所有真實(shí)值的個(gè)數(shù)。
為驗(yàn)證MS-RSCNet模型比其他模型有更好的結(jié)果,實(shí)驗(yàn)選取ARIMA、CNN、ST-ResNet、STAR[17]四種方法進(jìn)行對(duì)比。結(jié)果見(jiàn)表2??梢钥吹?,MS-RSCNet模型優(yōu)于其他模型,尤其在TaxiBJ數(shù)據(jù)集上的表現(xiàn)更為顯著,相比STAR模型,將RMSE指標(biāo)降低了0.41。而且MS-RSCNet模型無(wú)論是在TaxiBJ數(shù)據(jù)集上,還是在TaxiCD數(shù)據(jù)集上,都取得了更好的預(yù)測(cè)性能。由圖5可知,在TaxiBJ數(shù)據(jù)集上,模型收斂。該文除了利用測(cè)試集進(jìn)行未來(lái)一個(gè)時(shí)隙的流量預(yù)測(cè)外,也對(duì)未來(lái)多個(gè)時(shí)隙進(jìn)行預(yù)測(cè)。由圖6、圖7可知,在TaxiCD和TaxiBJ數(shù)據(jù)集上,每個(gè)時(shí)隙預(yù)測(cè)的RMSE誤差值都是最小的,獲得的結(jié)果都是最好的。
表2 單步預(yù)測(cè)精度對(duì)比
圖7 TaxiCD測(cè)試集上逐步RMSE結(jié)果折線圖
給出了ST-ResNet算法的實(shí)現(xiàn)原理,并指出了ST-ResNet算法存在的兩點(diǎn)問(wèn)題,即獲取空間各點(diǎn)信息時(shí),沒(méi)有融合其附近區(qū)域信息和對(duì)應(yīng)通道上的交互信息,無(wú)法避免全局信息的干擾和低層網(wǎng)絡(luò)的特征信息表征能力弱及高層下采樣損失過(guò)多信息,從而影響預(yù)測(cè)精度。針對(duì)這兩個(gè)問(wèn)題,提出了基于殘差自校驗(yàn)網(wǎng)絡(luò)與多尺度融合機(jī)制的MS-RSCNet算法。通過(guò)MS-RSCNet算法中的殘差自校驗(yàn)網(wǎng)絡(luò)的空間特征處理和融合多尺度特征的雙向門(mén)控循環(huán)單元的時(shí)間特征處理,以解決上述兩點(diǎn)不足,并且描述了原理和處理流程。實(shí)驗(yàn)表明,將MS-RSCNet與之前的預(yù)測(cè)模型進(jìn)行對(duì)比,具有更高的預(yù)測(cè)精度。
計(jì)算機(jī)技術(shù)與發(fā)展2022年10期