KDD 2020 开源论文 | 图神经网络多变量时序预测
?PaperWeekly 原創 ·?作者|馬敏博
學校|西南交通大學碩士生
研究方向|命名實體識別
本次分享的論文是 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],雖然能夠捕獲非線性關系,但是無法明確地建模成對變量之間的依賴關系。
圖是一種數據結構,可以描述節點之間的關系。目前,圖神經網絡由于排列不變性、局部連接以及組合性的特點,在處理圖數據上取得較大的成功。多變量時序預測從圖視角來看,變量可以當作節點,它們通過隱層依賴關系相互連接。所以,圖神經網絡可以建模多變量時序預測,這也是這篇論文的主要出發點。
挑戰
時空圖神經網絡是最適合多變量時序預測任務的圖神經網絡類型,因為多變量時序預測問題需要考慮時間維和空間維的信息表達。通常時空圖神經網絡以多變量時序數據和外部圖結構作為輸入,預測時序數據的未來值或標簽。相較于未利用結構信息的方法,能夠取得較大提升。但是,該方法仍然存在兩個方面的挑戰:
未知的圖結構 :使用圖神經網絡建模時序預測任務時,大多依賴于預定義的圖結構。但是,大多數情況下,多變量時序預測是沒有明確的圖結構,需要從數據中去學習變量之間的關系(圖)。
圖結構與圖神經網絡共同學習:現有方法大多專注于如何設計合適的圖神經網絡結構,卻忽略了有時圖結構(通常為鄰接矩陣)有可能不是最優的,也需要在訓練中優化。因此,對于時序問題,如何在一個 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層
最后,再提以下卷積核大小的選擇。為了更好地抽取自然時序信號,文中沒有選擇常用的 1、3、5 的卷積大小,而是考慮到自然時序周期 7、12、24、60 等,所以文中選擇的卷積核大小為 1x2、1x3、1x6、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 的交流群里。
總結
以上是生活随笔為你收集整理的KDD 2020 开源论文 | 图神经网络多变量时序预测的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 直招士官到部队后是怎样安排
- 下一篇: 外地军人去本地部队医院挂急诊住院可以吗