​KDD 2020 開源論文 | 圖神經網路多變數時序預測

PaperWeekly發表於2020-11-04

本次分享的論文是 KDD 2020 的一篇工作,出發點是為了更好地建模多變數時間序列資料中成對變數之間的潛在空間依賴。作者提出了一種通用的圖神經網路框架 MTGNN,透過圖學習模組融合外部知識和變數之間的單向關係,再使用 mix-hop 傳播層和膨脹 inception 捕獲空間和時序依賴。

此外,為更好地訓練模型,結合課程學習提出了一種學習演算法。在四個常規多變數時序資料集以及兩個圖資料集上的實驗表明,對比現有取得 SOTA 的模型 MTGNN 具有較強的競爭力,在多個資料集上取得最優表現。​KDD 2020 開源論文 | 圖神經網路多變數時序預測

論文標題:

Connecting the Dots: Multivariate Time Series Forecasting with Graph Neural Networks

論文來源:

KDD 2020

論文連結:

https://arxiv.org/abs/2005.11650

程式碼連結:

https://github.com/nnzhan/MTGNN

本文將從以下方面對這篇工作進行介紹:
  • 背景
  • 挑戰
  • MTGNN框架
  • 實驗解讀
  • 個人總結

一、背景

多變數時序預測在經濟、金融、生物資訊和交通等領域有廣泛應用。相較於單變數時序預測,需要建模的問題更復雜,因為每個變數不僅與其歷史值有關,還要考慮變數之間的依賴關係。

然而,現有的多變數時序預測方法並沒有有效地探索變數之間的潛在空間依賴關係。統計方法如 VAR 和 GP 假設變數之間存線上性依賴關係,隨著變數的增加,模型複雜度二次方增長,容易導致過擬合深度學習方法如 LSTNet [1] 和 TPA-LSTM [2],雖然能夠捕獲非線性關係,但是無法明確地建模成對變數之間的依賴關係。

圖是一種資料結構,可以描述節點之間的關係。目前,圖神經網路由於排列不變性、區域性連線以及組合性的特點,在處理圖資料上取得較大的成功。多變數時序預測從圖視角來看,變數可以當作節點,它們透過隱層依賴關係相互連線。所以,圖神經網路可以建模多變數時序預測,這也是這篇論文的主要出發點。

二、挑戰

時空圖神經網路是最適合多變數時序預測任務的圖神經網路型別,因為多變數時序預測問題需要考慮時間維和空間維的資訊表達。通常時空圖神經網路以多變數時序資料和外部圖結構作為輸入,預測時序資料的未來值或標籤。相較於未利用結構資訊的方法,能夠取得較大提升。但是,該方法仍然存在兩個方面的挑戰:

  1. 未知的圖結構 :使用圖神經網路建模時序預測任務時,大多依賴於預定義的圖結構。但是,大多數情況下,多變數時序預測是沒有明確的圖結構,需要從資料中去學習變數之間的關係(圖)。

  2. 圖結構與圖神經網路共同學習:現有方法大多專注於如何設計合適的圖神經網路結構,卻忽略了有時圖結構(通常為鄰接矩陣)有可能不是最優的,也需要在訓練中最佳化。因此,對於時序問題,如何在一個 end2end 的框架下同時學習圖結構和圖神經網路是一個問題。

三、MTGNN

MTGNN 各部分之間的聯絡如下圖所示,主要有三個模組組成圖學習模組圖卷積模組時序卷積模組

下面根據上述兩個挑戰,介紹下本文的解決方案。

針對挑戰1,作者提出了一個圖學習層,能夠自適應地從資料中抽取稀疏圖鄰接矩陣。此外,基於學習得到的圖鄰接矩陣,作者使用圖卷積模組進行變數之間空間依賴學習。同時,作者對圖卷積模組進行了改進,學習變數之間的單向依賴以及緩解圖神經網路中的過度平滑問題

針對挑戰2,圖學習層和圖卷積模組都是引數化的,兩者透過後向傳播(梯度下降)方法共同最佳化。

除上述改進之外,作者還在時序卷積以及訓練最佳化方面進行了研究。在時序卷積方面,作者提出了膨脹 inception 層,以便處理更長序列時序資料;針對大規模圖學習中的非凸最佳化問題以及記憶體佔用問題,作者提出了基於課程學習尋找區域性最優以及切分多變數時序資料為多個子片段的學習演算法。

​KDD 2020 開源論文 | 圖神經網路多變數時序預測▲ MTGNN概念圖

3.1 總體框架

在介紹完大概的解決方法後,下面將系統地介紹 MTGNN 整體框架。必不可少的,先來看總體框架圖(如下圖所示)。主要包括了圖學習層、m 個圖卷積模組、m 個時序卷積模組、輸出模組。除主要模組外,還包括了殘差連線和跳躍連線。接下來的章節,將詳細介紹每一模組。

​KDD 2020 開源論文 | 圖神經網路多變數時序預測▲ MTGNN總體框架圖

3.2 圖學習層

圖學習層是為了學習一個鄰接矩陣,從時序資料中自適應地捕獲變數之間的空間關係。作者認為時序書中變數之間的關係是單向的,一個節點狀態的變化會引起其他節點的變化,如交通流問題。所以需要注意的是,所提圖學習層學習的鄰接矩陣具有非對稱的屬性。透過以下計算,可以實現該方法。

​KDD 2020 開源論文 | 圖神經網路多變數時序預測▲ 計算公式 

​KDD 2020 開源論文 | 圖神經網路多變數時序預測

3.3 圖卷積模組

圖卷積模組可以整合節點以及鄰居節點資訊。論文所提的圖卷積包含了兩個 mix-hop 傳播層,結構資訊如下圖所示。資訊傳播和資訊選擇在圖中分別對應到橫向和縱向。mix-hop 的思想首先是 [3] [4] 提出,其中 [3] 採用的方式為拼接不同的 hop 資訊,[4] 使用注意力機制整合不同的 hop 資訊。

​KDD 2020 開源論文 | 圖神經網路多變數時序預測

▲ 圖卷積模組

兩個 mix-hop 分別處理單個節點的 inflow 資訊和 outflow 資訊,最終將兩個資訊相加所謂最終的模組輸出資訊。

具體的 mix-hop 的結構如下圖所示,包含了兩個子模組:資訊傳播資訊選擇

​KDD 2020 開源論文 | 圖神經網路多變數時序預測

▲ mix-hop傳播層
​KDD 2020 開源論文 | 圖神經網路多變數時序預測

3.4 時序卷積模組

時序卷積模組是使用多個標準的一維膨脹卷積核抽取高維的時序特徵。如前文介紹,時序卷積模組主要包括了兩部分膨脹(空洞)卷積inception 層,這兩種卷積結構在 CV 中已經經過有效性驗證。其結構如下圖所示,

​KDD 2020 開源論文 | 圖神經網路多變數時序預測

▲ 時序卷積模組

關於膨脹卷積,這裡就不過多介紹,其主要是透過引入“空洞”,在增大感受野的同時,不增加模型引數。Inception 是從卷積的寬度出發,相較於 ResNet 從深度出發,其透過拼接的方式從寬度上增加感受野。具體結構如下圖所示,


​KDD 2020 開源論文 | 圖神經網路多變數時序預測

▲ 膨脹inception層

最後,再提以下卷積核大小的選擇。為了更好地抽取自然時序訊號,文中沒有選擇常用的 1、3、5 的卷積大小,而是考慮到自然時序週期 7、12、24、60 等,所以文中選擇的卷積核大小為 1x2、1x3、1x6、1x7。

3.5 跳躍連線層和輸出層

跳躍連線層和輸出層的作用較為直觀,最終送入輸出層的資訊為多個模組的拼接,跳躍連線層起到一個規範化資訊的作用,使輸入到輸出層的序列長度相同。輸出層包括兩個 1x1 的卷積層,輸出指定維度值,如果單步預測維度為 1,如果多步 Q 預測,維度為 Q。

3.6 學習演算法

學習演算法包括了兩個部分,1.子圖劃分(取樣部分);2.課程學習訓練。具體演算法描述如下圖所示:

​KDD 2020 開源論文 | 圖神經網路多變數時序預測▲ 學習演算法流程

著重介紹下課程學習(Curriculum Learning),由 Benjio [5] 在 2009ICML 會議中提出。主要思想為:主張模型先學習“易樣本”,再學習“難樣本”。這樣會帶來兩個好處:1. 加速模型訓練,減少迭代次數;2. 達到更好的區域性最優。在這個問題中,如何定義樣本的難易是最關鍵的。

在本文的任務長期預測中,比較容易想到的是短期預測效果是肯定優於長期預測的,那麼可以先學習短期的,再逐漸學習長期的。我這裡介紹的比較口語化,原文從 loss 層面介紹,我理解的是如果長期預測,越長步數的預測值偏差越大,導致總 loss 會更大,即使取平均,相較於短期預測也會產生更大的 loss。

​KDD 2020 開源論文 | 圖神經網路多變數時序預測

四、實驗解讀

實驗總共分為兩個部分,單步預測和多步預測,其中單步預測使用多變數時序預測的常規資料集,多步預測使用的含有感測器位置資訊的時序資料。具體介紹如下圖所示,

​KDD 2020 開源論文 | 圖神經網路多變數時序預測▲ 實驗資料集

基線模型:
  • LSTNet [1]
  • TPA-LSTM [2]
  • DCRNN [6]
  • STGCN [7]
  • Graph WaveNet [8]
  • ST-MetaNet [9]
  • GMAN [10]
  • MRA-BGCN [11]

論文中做了多種實驗,這裡我主要介紹下與時空圖神經網路相關的基線模型對比。從實驗結果來看,MTGNN 可以取得 SOTA 或者與 SOTA 相差無幾的效果。相較於對比的方法,其主要優勢在於不需要預定的圖。其中 Graph WaveNet 是本文作者在 IJCAI 2019 的工作,也是自適應構建鄰接矩陣,但是需要結合預定圖才能取得較好的效果。

​KDD 2020 開源論文 | 圖神經網路多變數時序預測

▲ 多步預測對比

除此之外,還有消融實驗、個例實驗、引數實驗。其中個例實驗較為有意思,其對比了預定圖和學習圖得到的最近鄰居節點,然後將其視覺化,可以反應鄰居節點在現實位置直接的關係。

五、個人總結

這裡,筆者相對論文中涉及到的主要改進工作、對應解決的問題,進行統計。直接給出組會彙報的原文:

​KDD 2020 開源論文 | 圖神經網路多變數時序預測▲ 個人總結

參考文獻

[1] Modeling long-and short-term temporal patterns with deep neural networks
[2] Temporal pattern attention for multivariate time series forecasting
[3] MixHop:Higher-Order Graph Convolutional Architectures via Sparsified Neighborhood Mixing
[4] DAGCN: Dual Attention Graph Convolutional Networks
[5] Curriculum Learning
[6] Diffusion convolutional recurrent neural network: Data-driven traffic forecasting.
[7] Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting
[8] Graph WaveNet for Deep Spatial-Temporal Graph Modeling.
[9] Urban Traffic Prediction from Spatio-Temporal Data Using Deep Meta Learning
[10] GMAN: A Graph Multi-Attention Network for Traffic Prediction
[11] Multi-Range Attentive Bicomponent Graph Convolutional Network for Traffic Forecasting 

相關文章