閱讀筆記 : Graph WaveNet for Deep Spatial-Temporal Graph Modeling
IJCAI-19
paper link : https://www.ijcai.org/Proceedings/2019/0264.pdf
概要
本篇針對時空圖的交通預測問題主要貢獻有二,(1) 提出自適應接鄰矩陣,找出應當存在但缺少的接鄰關係,(2) 利用 dilated casual convolution 聚合時間趨勢,即可以輕易地利用增加層數來提升輸入的序列長度。
議題描述
輸入S個歷史交通資訊,預測後T個交通資訊
方法
Graph Convolution Layer
本篇使用基於空間的 (spatial-based) GCN,在先前的研究中 ( Semi-supervised classification with graph convolutional networks. In ICLR, 2017.)是利用聚合周遭鄰居來達成:
後來的改良中( Diffusion convolutional recurrent neural network: Data-driven traffic forecasting. In ICLR, 2018.) 提出的擴散卷積機制 (diffusion convolution),用K步的隨機遊走(random walks) 所等效的轉移矩陣來聚合訊息 ( 這裡有這篇的筆記 ) :
上式為無向圖 (undirected graph) 中的表示方法,若是在有向圖 (directed graph) 中則為:
上述已在論文中證明其效果。
本篇另外又提出自適應矩陣來找出缺少的接鄰關係:
這個方法即使原本資料中沒有提供接鄰矩陣,也能使用自適應的矩陣進行圖卷積。
Temporal Convolution Layer
本篇在空間上的聚合採用空洞因果卷積 (dilated causal convolution),可以看作多層1D卷積層的疊加,而每層各自有個參數d,表示每d個點取一次,取出的點再視為新的序列作卷積。
本篇還有利用 Gated TCN控制隱藏層之間的訊息傳遞:
Framework of Graph WaveNet
輸入訊號首先經過多層 spatial-temporal layers (圖左),每層中通過由 Temporal Convolution Layer (TCN) 組成的 Gated TCN 以及 Graph Convolution Layer (GCN),最後到達輸出層 (圖右),轉換為預測輸出,值得一提的是,本篇的輸出是一次產生T個時間的預測結果,而不必一個一個推導生成。
與 [Wavenet: A generative model for raw audio. arXiv preprint arXiv:1609.03499, 2016] 所提出的模型架構做比較,可以看見基本架構與本篇相當像,本篇主要就是融合GCN+WaveNet,並增加自己所提出的自適應矩陣的成果展現。
技巧補充 —殘差連結(Residual Connection /Skip Connection)
即是在函數輸出後再加上一個輸入,好處是無論函數F的導數有多小,梯度永遠是大於等於1的,也就是說,最差的情況也就是將特徵完好無損的交給下一層特徵空間去處理。
(參考網址:https://kknews.cc/code/ejn4omn.html)
實驗結果
針對15、30、60分鐘後以內的每個交通狀況做預測,以五分鐘為單位。
誤差測量指標為mean absolute error (MAE),、root mean squared error (RMSE)、 mean absolute percentage error (MAPE),總之誤差越低越好。
預測結果
結果當然是顯現出本篇效果最好,值得注意的是與WaveNet、DCRNN的結果比較,因為本篇主要參考的演算法為這兩個。
穩定度
將WaveNet、本篇Graph WaveNet與實際值做比較,可以看見本篇作法較為穩定幾乎介於實際值之間,而WaveNet可能會出現像圖中一樣的極值產生。
GCN層效果
最後比較正向傳遞、反向傳遞、自適應矩陣對模型效果的影響。不用說當然是本篇三者都用效果最好,值得注意的是若僅用自適應矩陣的效果,能跟僅有正向傳遞的效果相近。
結論
本篇最主要的貢獻是提出自適應矩陣,用於找出缺少的接鄰關係。在時空的分析方面,空間採用擴散卷積機制 (diffusion convolution),時間上採用空洞因果卷積 (dilated causal convolution),算是集前人大成,再將入一點小修改的成果。