KDD 2020 開源論文 | 圖神經網絡多變量時序預測

©PaperWeekly 原創 · 做者|馬敏博
git

學校|西南交通大學碩士生github

研究方向|命名實體識別算法

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

此外,爲更好地訓練模型,結合課程學習提出了一種學習算法。在四個常規多變量時序數據集以及兩個圖數據集上的實驗代表,對比現有取得 SOTA 的模型 MTGNN 具備較強的競爭力,在多個數據集上取得最優表現。網絡

論文標題:數據結構

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 層,以便處理更長序列時序數據;針對大規模圖學習中的非凸優化問題以及內存佔用問題,做者提出了基於課程學習尋找局部最優以及切分多變量時序數據爲多個子片斷的學習算法。

▲ MTGNN概念圖

3.1 整體框架

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

▲ MTGNN整體框架圖

3.2 圖學習層

圖學習層是爲了學習一個鄰接矩陣,從時序數據中自適應地捕獲變量之間的空間關係。做者認爲時序書中變量之間的關係是單向的,一個節點狀態的變化會引發其餘節點的變化,如交通流問題。因此須要注意的是,所提圖學習層學習的鄰接矩陣具備非對稱的屬性。經過如下計算,能夠實現該方法。

▲ 計算公式

其中, 爲初始化節點嵌入, 爲模型參數, 爲激活函數的飽和率, 返回向量中最大值下標。公式 3 爲計算鄰接矩陣的非對稱信息,其中使用 ReLU 激活能夠正則化鄰接矩陣的效果,如 爲正值,那麼它的對角元素 將爲 0(負值在 ReLU 下爲 0)。

公式 5-6 起到稀疏鄰接矩陣的做用,這樣能夠下降隨後圖卷積網絡的計算代價。 爲選擇節點最近的 k 個節點,這樣能夠減小鄰居節點的個數,下降計算複雜度。同時,論文還指出了節點嵌入能夠加入更多的信息,如節點的屬性信息等。

3.3 圖卷積模塊

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

▲ 圖卷積模塊

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

具體的 mix-hop 的結構以下圖所示,包含了兩個子模塊:信息傳播信息選擇

▲ mix-hop傳播層

首先,咱們來看信息傳播層在作什麼樣的事情,其計算公式爲:

其中 爲超參數,用於保持多少比例的原始節點信息。k 表示傳播層的深度, 表示當前層的隱層輸入(前一層的輸出), 當前層的隱層輸出狀態, , ,其中 。

信息傳播層遞歸地傳播節點信息,在多層圖卷積網絡中會遇到一個問題,同一個連通圖的節點表徵隨着網絡層數的加深,趨向於一個相同的值,沒法區分不一樣的節點(過分平滑問題)。公式 7 緩解過分平滑的方式爲加入了一個初始節點信息保持因子,這樣傳播過程當中節點既能夠保持局部性,還能夠獲得更新的鄰居信息。

可是這樣會帶來一個新的問題,一些節點信息會被丟失。如何篩選重要的信息傳遞到下一層?基於這個問題,論文提出了信息選擇策略,經過維護一個參數矩陣,充當特徵選擇器。計算公式爲:

爲參數矩陣,能夠這樣理解,當給定圖結構沒有空間依賴時,即信息傳播公式中後半部分須要爲 0 時,咱們將 便可,這樣僅保留了初始節點信息。

3.4 時序卷積模塊

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

▲ 時序卷積模塊

關於膨脹卷積,這裏就不過多介紹,其主要是經過引入「空洞」,在增大感覺野的同時,不增長模型參數。Inception 是從卷積的寬度出發,相較於 ResNet 從深度出發,其經過拼接的方式從寬度上增長感覺野。具體結構以下圖所示,

▲ 膨脹inception層

最後,再提如下卷積核大小的選擇。爲了更好地抽取天然時序信號,文中沒有選擇經常使用的 一、三、5 的卷積大小,而是考慮到天然時序週期 七、十二、2四、60 等,因此文中選擇的卷積核大小爲 1x二、1x三、1x六、1x7。

3.5 跳躍鏈接層和輸出層

跳躍鏈接層和輸出層的做用較爲直觀,最終送入輸出層的信息爲多個模塊的拼接,跳躍鏈接層起到一個規範化信息的做用,使輸入到輸出層的序列長度相同。輸出層包括兩個 1x1 的卷積層,輸出指定維度值,若是單步預測維度爲 1,若是多步 Q 預測,維度爲 Q。

3.6 學習算法

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

▲ 學習算法流程

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

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

原文中,算法流程中參數的介紹有缺失,我統一再作次介紹。 表示 batch_size; 表示輸入通道數,能夠類比爲圖片的通道,單步預測中爲 1,多步預測中爲 2; 表示節點個數; 表示輸入特徵維度,爲滑動窗口大小。

學習算法的主要部分在 9-13,分批次計算節點子集,抽樣這點容易理解。課程學習主要體如今 11 損失計算,在多步計算中,迭代過程當中不斷計算前 步的預測值與真實值的偏差,這樣能夠從 1 學到 12。源碼中是經過維護 task_level 這樣一個變量實現,可是其自增的條件與迭代次數相關。

if self.iter%self.step==0 and self.task_level<=self.seq_out_len:
    self.task_Level +=1

其中 self.step 對應超參 step_size1,因此,若想 task_level 達到 seq_out_len,對於 batch_size 和 step_size1 的設置要合適。(感興趣的能夠去看下源碼,這裏不過多介紹。)

實驗解讀

實驗總共分爲兩個部分,單步預測和多步預測,其中單步預測使用多變量時序預測的常規數據集,多步預測使用的含有傳感器位置信息的時序數據。具體介紹以下圖所示,

▲ 實驗數據集

基線模型:

  • 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 的工做,也是自適應構建鄰接矩陣,可是須要結合預約圖才能取得較好的效果。

▲ 多步預測對比

除此以外,還有消融實驗、個例實驗、參數實驗。其中個例實驗較爲有意思,其對比了預約圖和學習圖獲得的最近鄰居節點,而後將其可視化,能夠反應鄰居節點在現實位置直接的關係。

我的總結

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

▲ 我的總結

參考文獻

[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 










更多閱讀

#投 稿 通 道#

 讓你的論文被更多人看到 

如何才能讓更多的優質內容以更短路徑到達讀者羣體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。

總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許能夠成爲一座橋樑,促使不一樣背景、不一樣方向的學者和學術靈感相互碰撞,迸發出更多的可能性。 

PaperWeekly 鼓勵高校實驗室或我的,在咱們的平臺上分享各種優質內容,能夠是最新論文解讀,也能夠是學習心得技術乾貨。咱們的目的只有一個,讓知識真正流動起來。

???? 來稿標準:

• 稿件確係我的原創做品,來稿需註明做者我的信息(姓名+學校/工做單位+學歷/職位+研究方向) 

• 若是文章並不是首發,請在投稿時提醒並附上全部已發佈連接 

• PaperWeekly 默認每篇文章都是首發,均會添加「原創」標誌

???? 投稿郵箱:

• 投稿郵箱:hr@paperweekly.site 

• 全部文章配圖,請單獨在附件中發送 

• 請留下即時聯繫方式(微信或手機),以便咱們在編輯發佈時和做者溝通

????

如今,在「知乎」也能找到咱們了

進入知乎首頁搜索「PaperWeekly」

點擊「關注」訂閱咱們的專欄吧

關於PaperWeekly

PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。若是你研究或從事 AI 領域,歡迎在公衆號後臺點擊「交流羣」,小助手將把你帶入 PaperWeekly 的交流羣裏。

相關文章
相關標籤/搜索