長、短期時間序列網路(LSTNet)結構詳解

題目:

Temporal Pattern Attention for Multivariate Time Series Forecasting

作者:

Shun-Yao Shih, Fan-Keng Sun, Hung-yi Lee

Submitted to the journal track of ECML PKDD 2019

Machine Learning (cs。LG)

Submitted on 12 Sep 2018

文件連結:

https://

arxiv。org/pdf/1809。0420

6v2。pdf

程式碼連結:

https://

github。com/gantheory/TP

A-LSTM

https://

github。com/abinashsinha

330/Air-Pollution-Forecasting-using-Machine-Learning-APF-Model

https://

github。com/abinashsinha

330/Air-Pollution-Forecasting-using-Recurrent-Neural-Networks

LSTNet結構詳解

長、短期時間序列網路(LSTNet)結構詳解

上圖為LSTnet體系結構的概述。ISTNet是一個深度學習框架,專門為長期和短期混合模式的多變數時間序列預測任務設計。

1.卷積層元件(Convolutional Component)

LSTNet的第一層是一個去除池化層的卷積網路,它的目標是提取時間維度上的短期模式以及變數之間的區域性依賴關係。卷積層由多個寬度為ω、高度為n的濾波器組成(高度的設定與變數個數一致)。第k個濾波器掃過輸入矩陣X併產生hk

長、短期時間序列網路(LSTNet)結構詳解

其中*表示卷積運算,輸出hk為向量,RELU函式為啟用函式RELU(x) = max(0,x)。我們在輸入矩陣X的左側填充0,以得到每個長度為T的向量hk。卷積層的輸出矩陣大小為dc x T,其中dc表示濾波器的個數。

2. 迴圈(遞迴)層元件(Recurrent Component)

卷積層的輸出同時輸入到遞迴分量(the Recurrent component)和遞迴跳過分量(Recurrent-skipcomponent)(在第3小節中進行描述)。遞迴分量是門控遞迴單元(GRU)的遞迴層,使用RELU函式作為隱式更新啟用函式。t時刻遞迴單元的隱藏狀態計算為:

長、短期時間序列網路(LSTNet)結構詳解

其中⊙為元素乘積,σ為sigmoid函式,xt為該層在t時刻的輸入,該層的輸出為每個時間步的隱藏狀態。雖然研究人員習慣於使用tanh函式作為隱更新啟用函式,但我們透過實驗發現RELU效能更可靠,梯度更容易透過RELU進行反向傳播。

3.Recurrent-skip元件

迴圈層由GRU和LSTM單元精心設計,以記住歷史資訊,從而瞭解相對長期的依賴關係。然而,由於梯度消失,GRU和LSTM在實際應用中往往不能捕捉到非常長期的相關性。我們透過一種新的利用現實世界中的週期模式的Recurrent-skip元件來緩解這個問題。例如,每天的用電量和交通量都呈現出明顯的規律。如果我們想預測今天t點的用電量,季節預測模型中一個經典的技巧是利用歷史日t點的記錄,除了最近的記錄。由於一個週期(24小時)的極長時間以及隨後的最佳化問題,這種型別的依賴關係很難被現成的迴圈單元捕獲。受此技巧有效性的啟發,我們開發了一個具有時間跳躍連線的遞迴結構,以擴充套件資訊流的時間跨度,從而簡化最佳化過程。具體地說,在當前隱藏單元與相鄰週期中處於同一階段的隱藏單元之間新增skip-links。更新過程可以表示為:

長、短期時間序列網路(LSTNet)結構詳解

其中,該層的輸入是卷積元件的輸出,p是跳過的隱藏單元格的數量。對於具有明確週期模式的資料集(例如每小時耗電量和交通使用資料集的p = 24),可以很容易地確定p的值,否則必須進行調優。在我們的實驗中,我們從經驗上發現,即使對於後一種情況,調優後的p也可以顯著提高模型效能。此外,可以很容易地擴充套件LSTNet變數p的長度(跳過的隱藏單元格的數量)。

我們使用一個dense層來組合Recurrent和Recurrent-skip元件的輸出。dense層的輸入包括時間戳t處Recurrent元件的隱藏狀態(htR)。從時間戳t-p+1到時間戳t處的Recurrent-skip分量的p個隱藏狀態的符號表示

長、短期時間序列網路(LSTNet)結構詳解

。計算dense層的輸出為:

長、短期時間序列網路(LSTNet)結構詳解

其中htD為圖2中神經網路(上)在時間戳t時的預測結果。

4.時間注意層(Temporal AttentionLayer)

然而,Recurrent-skip層需要一個預定義的超引數p,這對於非季節性的時間序列預測或者其週期長度隨時間是動態的情況,預測是不方便的。為了解決這一問題,我們考慮了另一種方法——注意機制,它學習輸入矩陣的每個視窗位置上隱藏表示的加權組合。具體計算當前時間戳t處的注意權重(αt∈Rq),

長、短期時間序列網路(LSTNet)結構詳解

長、短期時間序列網路(LSTNet)結構詳解

是一個矩陣,巧妙地疊加了RNN列的隱藏表示, AttnScore的表示和一些函式相似,比如點積、餘弦或簡單的多層感知器的引數化。

時間注意層的最終輸出是加權上下文向量和最後一個視窗隱藏表示的串聯,以及一個線性投影操作:

長、短期時間序列網路(LSTNet)結構詳解

5.自迴歸元件(AutoregressiveComponent)

由於卷積和遞迴分量的非線性特性,神經網路模型的一個主要缺點是輸出的比例對輸入的比例不敏感。遺憾的是,在具體的實際資料集中,輸入訊號的尺度不斷髮生非週期的變化,顯著降低了神經網路模型的預測精度。論文4。6節給出了這種問題的一個具體例子。為了解決這一不足,我們將LSTNet的最終預測分解為線性部分(主要關注區域性尺度問題)和包含重複模式的非線性部分,這與公路網在本質上是相似的。在LSTNet體系結構中,我們採用經典的自迴歸(AR)模型作為線性分量。表示AR分量的預測結果為

長、短期時間序列網路(LSTNet)結構詳解

,模型的係數為

長、短期時間序列網路(LSTNet)結構詳解

,其中qar為輸入矩陣上輸入視窗的大小。注意,在我們的模型中,所有維度共享同一組線性引數。AR模型表示為:

長、短期時間序列網路(LSTNet)結構詳解

將神經網路部分的輸出與AR分量進行積分,得到LSTNet的最終預測:

長、短期時間序列網路(LSTNet)結構詳解

其中

長、短期時間序列網路(LSTNet)結構詳解

為模型在時間戳t處的最終預測值。