交通預見未來(9) 考慮動態時空相似性的交通預測深度學習框架

1、文章資訊

《Revisiting Spatial-Temporal Similarity: A Deep Learning Framework for Traffic Prediction 》

AAAI (美國人工智慧協會)2019大會上的論文。作者: 賓夕法尼亞州立大學的Huaxiu Yao。

2、摘要

如何對複雜的時空依賴關係建模是當前交通預測的一個重點。既有研究大多將空間依賴看作是靜態的,時間依賴看作是是嚴格週期性的。但本文基於兩點進行研究:(1)位置之間的空間依賴關係是動態的; (2)時間依賴服從日、周兩種模式,但其動態時間變化不具有嚴格的週期性。為了解決這兩個問題,我們提出了一種新的時空動態網路(STDN),其中引入了一種門控機制來學習位置之間的動態相似性,並設計了一種週期性注意力轉移機制來處理長期的週期性時間轉移。

3、簡介

在基於深度學習的交通預測中,雖然考慮了時空依賴性,但現有的方法存在兩大侷限性。

首先,地點之間的空間依賴僅僅依賴於歷史交通流的相似性,模型學習的是靜態空間依賴關係。然而,位置之間的依賴關係可能會隨著時間而改變,例如,早晨,住宅區和商業中心之間的依賴性很強;而在深夜,這兩個地方的關係可能很弱。然而,既有研究並沒有考慮到這種動態依賴關係。

其次,許多現有的研究忽略了長期週期性依賴的轉變。交通資料表現出較強的日、周兩種週期性模式。然而,交通資料並不是嚴格的週期性的。例如,工作日的高峰時間通常發生在下午晚些時候,但不同工作日可以從下午4:30到6點之間變化。既有研究雖然考慮了週期性,但沒有考慮週期性的時間轉移。

本文提出的STDN是基於時空神經網路,分別透過區域性CNN和LSTM處理時空資訊。提出了一種基於門控的區域性CNN,利用交通流資訊對不同位置之間的動態相似性進行建模,從而處理空間依賴關係。提出了一種週期性注意機轉移制來學習長期週期依賴關係,透過注意力機制捕捉交通序列的長期週期性資訊和週期性時間轉移資訊。此外,使用LSTM來處理時間依賴關係。

模型使用的資料集是紐約的計程車和共享單車資料集。(BTW:國外的很多資料集都是公開的,大家從網上都可以下載到,當國內資料不太好獲取時,不妨走出國門搜一搜)

4、符號說明

將整個城市劃分為a*b的網格,n=a*b 代表網格數量, 我們將一個區域的起始交通量定義為在固定的時間間隔內從該區域出發/到達該區域的次數。

(9)交通預測-如何在深度學習框架下考慮動態時空相似性?

(9)交通預測-如何在深度學習框架下考慮動態時空相似性?

代表區域i在時間間隔t內的客流產生量和吸引量。

(9)交通預測-如何在深度學習框架下考慮動態時空相似性?

表示OD客流:t時間從i區域出發,τ時間到達j區域。

問題:給定t時刻及以前的客流,預測t+1時刻出發和到達所有區域的客流。

5、STDN時空動態網路

文中將該網路分成了三部分:(1) Local Spatial-Temporal Network, 區域性時空網路;(2) Spatial Dynamic Similarity: Flow Gating Mechanism, 門控機制;(3) Temporal Dynamic Similarity: Periodically Shifted Attention Mechanism,週期性注意力轉移機制。

(9)交通預測-如何在深度學習框架下考慮動態時空相似性?

區域性時空網路

使用CNN處理區域性空間依賴,對於每個時間間隔t,我們將目標區域i及其周圍的鄰域作為一個具有兩個通道的S×S影象,

(9)交通預測-如何在深度學習框架下考慮動態時空相似性?

。一個通道包含客流產生量資訊,另一個通道包含客流吸引量資訊,目標區域在影象的中心。卷積公式:

(9)交通預測-如何在深度學習框架下考慮動態時空相似性?

其中k代表層數,卷積層後接flatten層和全連線層輸出空間依賴關係。

使用原始的LSTM處理時間依賴關係。

(9)交通預測-如何在深度學習框架下考慮動態時空相似性?

其中y為CNN的輸出,e代表外部因素(天氣等),h為上一時刻的輸出。

(2)空間動態相似性:門控機制

然而,既有文章提取的空間依賴性是靜態的,不能充分反映目標區域與其相鄰區域之間的動態關係。表示區域間互動的更直接的方法是交通流。如果兩個區域之間存在更多的客流,它們之間的關係就會更強(即,它們更相似,也就是文章中說的相似性)。因此,我們設計了一種門控機制(Flow Gating Mechanism),以捕捉層次結構中的動態空間依賴關係。

這塊其實就是將區域性區域S×S網格內的OD矩陣考慮到了空間關係的提取當中去了。提取兩個矩陣,一個是出發的OD矩陣(t時刻O點出發到達各D點),一個是到達的OD矩陣(t時刻各個D點出發到達O點),其實這類也不能叫做OD矩陣,暫且這樣叫吧。(這一塊感覺提取方式就是提取全網的兩個矩陣,然後用3×3的filter去卷積,就是所謂的區域性區域S×S網格)

給定一個特定的區域i,我們從過去的

l

個時間間隔(即,時間區間t -

l

+ 1到t)。將獲得的OD矩陣進一步疊加,用

(9)交通預測-如何在深度學習框架下考慮動態時空相似性?

表示,其中S×S表示周圍相鄰區域的大小,2

l

為流動矩陣的個數(每個時間間隔兩個上面說的OD矩陣),疊加的矩陣包含了所有與區域i相關的過去的流量間的相互作用。這一塊的卷積結果用下式表示:

(9)交通預測-如何在深度學習框架下考慮動態時空相似性?

將式(1)和式(3)兩個卷積的output相乘,即得到式(4)。這個乘法也就是文章中所說的門控機制。同樣,卷積層後接flatten層和全連線層輸出空間依賴關係 ,至此空間關係提取完畢。

(9)交通預測-如何在深度學習框架下考慮動態時空相似性?

(3)時間動態相似性:週期性注意力轉移機制

(要讀懂這一塊肯定要理解透徹RNN注意力機制是怎麼實現的,可參考這篇文章,講的很清楚

https://

blog。csdn。net/qq_400270

52/article/details/78421155

只使用前幾個時間間隔(通常是幾個小時),忽略了長期依賴性(如週期性)。所以應該考慮對預測目標的相對時間間隔(例如,昨天和前天的同一時間)進行建模。然而,單純考慮相對時間間隔是不夠的,忽略了週期性的時間轉移,即,交通資料並非嚴格意義上的週期性。例如,工作日的高峰時間通常在下午,但可以從下午4:30到6:00。由於交通事故或交通擁擠,週期性資訊的時間轉移在交通序列中普遍存在。下圖中顯示了在不同的天和周之間的時間轉移。因此,我們設計了一個週期性注意力轉移機制(Periodically Shifted Attention Mechanism)來解決這些問題。

(9)交通預測-如何在深度學習框架下考慮動態時空相似性?

我們的重點是處理不同天之間的週期性的變化。如圖1(a)所示,包含了前P天對應的時間間隔來處理週期性依賴關係。對於每一天,為了解決時間移動的問題,我們在Q中進一步選擇每天的Q時間間隔。例如,如果預測的時間是晚上9:00-9:30,我們選擇預測時間的前後1小時(即8點-10:30pm, Q = 5)。這些時間間隔q∈Q用於處理潛在的時間週期性轉移。此外,我們使用LSTM來表達每天

p

P

的序列資訊,其表示式為:

(9)交通預測-如何在深度學習框架下考慮動態時空相似性?

(9)交通預測-如何在深度學習框架下考慮動態時空相似性?

為第i區域預測時間t在前一天p中的時間q的表示(p代表同一天,可以把p去掉來看這個公式)。我們採用注意機制來捕捉時間的變化,並得到每一天的加權表示。形式上,某天的

(9)交通預測-如何在深度學習框架下考慮動態時空相似性?

表示為每個選定時間間隔q中表示的加權和(即上面說的Q=5那5個時段的加權和),定義為:

(9)交通預測-如何在深度學習框架下考慮動態時空相似性?

α代表同一天不同時段的重要性,其計算就用到了注意力機制:

(9)交通預測-如何在深度學習框架下考慮動態時空相似性?

其中h就是hidden state,上述中5個時間間隔的隱層狀態(也即5個timesteps的隱層狀態),score函式就相當於注意力機制中的相似性函式,整個函式就是個softmax。

上面求的是前一天的一個總的加權和隱藏層狀態,前一天的狀態傳遞到當天即為公式:

(9)交通預測-如何在深度學習框架下考慮動態時空相似性?

Figure1(a)可以理解為有分支的stacked LSTM, 分支求的是每天的隱層狀態加權和,主LSTM利用該加權和進行預測。

6、案例研究

將在下篇文章中講述。

7、總結

模型很複雜,實現起來比較麻煩,github上有程式碼可以參考。

https://

github。com/tangxianfeng

/STDN

關注微信公眾號《當交通遇上機器學習》,

後臺回覆“資料”即可獲取高達175G的四個月的滴滴GPS資料和滴滴訂單資料的獲取方式,以及從資料處理(Oracle資料庫)、模型構建(機器學習)、程式設計實現(python)到視覺化(ArcGIS)等一系列影片教程。

後臺回覆“紐約”獲取美國紐約10年的計程車軌跡資料以及7年的共享單車軌跡資料下載地址。

公眾號以交通大資料為主線,專注於人工智慧、機器學習、深度學習在道路交通和軌道交通領域內的科研前沿與應用,在交通大資料與機器學習的道路上越走越遠!

(9)交通預測-如何在深度學習框架下考慮動態時空相似性?