AAAI21最佳论文Informer:效果远超Transformer的长序列预测神器!
Informer:最強最快的序列預測神器
AAAI21最佳論文Informer:效果遠超Transformer的長序列預測神器!作者:一元,公眾號:煉丹筆記01 簡介
在很多實際應用問題中,我們需要對長序列時間序列進行預測,例如用電使用規劃。長序列時間序列預測(LSTF)要求模型具有很高的預測能力,即能夠有效地捕捉輸出和輸入之間精確的長程相關性耦合。最近的研究表明,Transformer具有提高預測能力的潛力。
然而,Transformer存在一些嚴重的問題,如:
- 二次時間復雜度、高內存使用率以及encoder-decoder體系結構的固有限制。
為了解決這些問題,我們設計了一個有效的基于變換器的LSTF模型Informer,它具有三個顯著的特點:
- ProbSparse Self-Attention,在時間復雜度和內存使用率上達到了O(LlogL),在序列的依賴對齊上具有相當的性能。
- self-attention 提取通過將級聯層輸入減半來突出控制注意,并有效地處理超長的輸入序列。
- 產生式decoder雖然概念上簡單,但在一個正向操作中預測長時間序列,而不是一步一步地進行,這大大提高了長序列預測的推理速度。
在四個大規模數據集上的大量實驗表明,Informer的性能明顯優于現有的方法,為LSTF問題提供了一種新的解決方案。
02 背景
Intuition:Transformer是否可以提高計算、內存和架構效率,以及保持更高的預測能力?
- self-attention的二次計算復雜度,self-attention機制的操作,會導致我們模型的時間復雜度為O(L*L);
- 長輸入的stacking層的內存瓶頸:J個encoder/decoder的stack會導致內存的使用為O(J* L *L) ;
- 預測長輸出的速度驟降:動態的decoding會導致step-by-step的inference非常慢。
本文提出的方案同時解決了上面的三個問題,我們研究了在self-attention機制中的稀疏性問題,本文的貢獻有如下幾點:
- 我們提出Informer來成功地提高LSTF問題的預測能力,這驗證了類Transformer模型的潛在價值,以捕捉長序列時間序列輸出和輸入之間的單個的長期依賴性;
- 我們提出了ProbSparse self-attention機制來高效的替換常規的self-attention并且獲得了O(LlogL)的時間復雜度以及O(LlogL)的內存使用率;
- 我們提出了self-attention distilling操作全縣,它大幅降低了所需的總空間復雜度;
- 我們提出了生成式的Decoder來獲取長序列的輸出,這只需要一步,避免了在inference階段的累計誤差傳播;
03 方法
現有時序方案預測可以被大致分為兩類:
我們首先對典型自我注意的學習注意模式進行定性評估?!跋∈栊浴?self-attention得分形成長尾分布,即少數點積對主要注意有貢獻,其他點積對可以忽略。那么,下一個問題是如何區分它們?
我們定義第i個query sparsity第評估為:
ProbSparse Self-attention
04 方法Encoder + Decoder
1. Encoder: Allowing for processing longer sequential inputs under the memory usage limitation
Self-attention Distilling
作為ProbSparse Self-attention的自然結果,encoder的特征映射會帶來V值的冗余組合,利用distilling對具有支配特征的優勢特征進行特權化,并在下一層生成focus self-attention特征映射。
它對輸入的時間維度進行了銳利的修剪,如上圖所示,n個頭部權重矩陣(重疊的紅色方塊)。受擴展卷積的啟發,我們的“distilling”過程從第j層往推j+1進:
為了增強distilling操作的魯棒性,我們構建了halving replicas,并通過一次刪除一層(如上圖)來逐步減少自關注提取層的數量,從而使它們的輸出維度對齊。因此,我們將所有堆棧的輸出串聯起來,并得到encoder的最終隱藏表示。
2. Decoder: Generating long sequential outputs through one forward procedure
此處使用標準的decoder結構,由2個一樣的multihead attention層,但是,生成的inference被用來緩解速度瓶頸,我們使用下面的向量喂入decoder:
Generative Inference
Loss Function
此處選用MSE 損失函數作為最終的Loss。
05 實驗
1. 實驗效果
從上表中,我們發現:
- 所提出的模型Informer極大地提高了所有數據集的推理效果(最后一列的獲勝計數),并且在不斷增長的預測范圍內,它們的預測誤差平穩而緩慢地上升。
- query sparsity假設在很多數據集上是成立的;
- Informer在很多數據集上遠好于LSTM和ERNN
2. 參數敏感性
從上圖中,我們發現:
- Input Length:當預測短序列(如48)時,最初增加編碼器/解碼器的輸入長度會降低性能,但進一步增加會導致MSE下降,因為它會帶來重復的短期模式。然而,在預測中,輸入時間越長,平均誤差越低:信息者的參數敏感性。長序列(如168)。因為較長的編碼器輸入可能包含更多的依賴項;
- Sampling Factor:我們驗證了冗余點積的查詢稀疏性假設;實踐中,我們把sample factor設置為5即可,即;
- Number of Layer Stacking:Longer stack對輸入更敏感,部分原因是接收到的長期信息較多
3. 解耦實驗
從上表中我們發現,
- ProbSparse self-attention機制的效果:ProbSparse self-attention的效果更好,而且可以節省很多內存消耗;
- self-attention distilling:是值得使用的,尤其是對長序列進行預測的時候;
- generative stype decoderL:它證明了decoder能夠捕獲任意輸出之間的長依賴關系,避免了誤差的積累;
4. 計算高效性
- 在訓練階段,在基于Transformer的方法中,Informer獲得了最佳的訓練效率。
- 在測試階段,我們的方法比其他生成式decoder方法要快得多。
06 小結
本文研究了長序列時間序列預測問題,提出了長序列預測的Informer方法。具體地:
- 設計了ProbSparse self-attention和提取操作來處理vanilla Transformer中二次時間復雜度和二次內存使用的挑戰。
- generative decoder緩解了傳統編解碼結構的局限性。
- 通過對真實數據的實驗,驗證了Informer對提高預測能力的有效性
參考文獻
總結
以上是生活随笔為你收集整理的AAAI21最佳论文Informer:效果远超Transformer的长序列预测神器!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习入门开源资料
- 下一篇: 模型提效的另一条路:数据增强