逍遙一身作品
背景介紹
序列預測在現(xiàn)實中比較基礎但又十分重要的研究場景含滴,如商品銷量及庫存的預測,未來某個時刻某只股票的價格丐巫,疾病的傳播及擴散預測等蛙吏。而長序列預測(Long Sequence Time-Series Forecasting,以下稱為 LSTF)方面的工作因為其歷史數(shù)據(jù)量大鞋吉、計算復雜性高鸦做、預測精度要求高更是成為序列預測研究的熱點,但一直以來長序列預測并沒有取得太好的效果谓着。在2021年的AAAI 最佳論文獎項中就有一篇來自北京航空航天大學的工作:Informer泼诱,其主要的工作是使用 Transfomer 實現(xiàn)長序列預測,實驗表明取得了不錯的結果赊锚,本文就給大家?guī)韺@篇工作的解讀治筒。
論文標題:
Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting
論文鏈接:
https://arxiv.org/abs/2012.07436
源碼鏈接:
https://github.com/zhouhaoyi/ETDataset
2. 相關工作
長序列時間序列預測(Long sequence time-series forecasting屉栓,LSTF)要求模型具有較高的預測能力,即能夠準確地捕捉輸出與輸入之間的長期依賴關系耸袜。近年來友多,針對序列預測問題的研究主要都集中在短序列的預測上,輸入序列越長堤框,傳統(tǒng)模型的計算復雜度越高域滥,同時預測能力顯著降低。文中采用LSTM網(wǎng)絡對一組電子變壓器數(shù)據(jù)進行了短時序列(12個數(shù)據(jù)點蜈抓,0.5天數(shù)據(jù))和長時序列(480個數(shù)據(jù)點启绰,20天數(shù)據(jù))分別進行了實驗,結果發(fā)現(xiàn)沟使,隨著序列長度的增加委可,預測誤差顯著增加,同時預測速度急劇下降腊嗡。
(LSTM預測誤差和效率對比)
近年來的研究表明着倾,相對RNN類型的模型來看,Transformer在長距離依賴的表達方面表現(xiàn)出了較高的潛力燕少。然而屈呕,Transformer存在幾個嚴重的問題,使其不能直接適用于LSTF問題棺亭,例如虎眨、高內(nèi)存使用量和編碼器-解碼器體系結構固有的局限性。其中Transformer模型主要存在下面三個問題:
self-attention機制的二次計算復雜度問題:self-attention機制的點積操作使每層的時間復雜度和內(nèi)存使用量為 镶摘。
高內(nèi)存使用量問題:對長序列輸入進行堆疊時嗽桩,J個encoder-decoder層的堆棧使總內(nèi)存使用量為 ,這限制了模型在接收長序列輸入時的可伸縮性凄敢。
預測長期輸出的效率問題:Transformer的動態(tài)解碼過程碌冶,使得輸出變?yōu)橐粋€接一個的輸出,后面的輸出依賴前面一個時間步的預測結果涝缝,這樣會導致推理非常慢扑庞。
基于Transformer的改進工作,學術界也進行得如火如荼拒逮,如The Sparse Transformer (Child et al. 2019),
LogSparse Transformer (Li et al. 2019), and Longformer
(Beltagy, Peters, and Cohan 2020) 均使用一種稀疏化方法來處理Transformer的時間復雜度問題罐氨,將時間復雜度降到了 O(Llog L), 但這些模型均采用一種啟發(fā)式方法來決定選擇哪些attention來進行計算,不具有通用性滩援。Reformer (Kitaev, Kaiser,
and Levskaya 2019) 使用本地哈险ひ化方法計算attention,同樣取得O(Llog L)的時間復雜度,但它只能處理特別長的序列 租悄。最近谨究, Linformer (Wang
et al. 2020) 宣稱可以達到O(L)的時間復雜度,但其矩陣維度在真實場景的長序列預測中無法完全確定泣棋,有退化到O(L2)的風險胶哲。其它一些模型壓縮方法也都僅僅解決attention計算時的二次時間復雜度的問題宪拥,針對長序列的輸入和輸出導致的內(nèi)存使用量偏高和輸出效率低的問題都沒有解決淮腾。
模型特點
這篇文章中,作者針對Transformer模型要糊,提出了下面的目標:能否改進Transformer模型萎胰,使其計算、內(nèi)存和體系結構更高效棚辽,同時保持更高的預測能力?為了達到這些目標技竟,這篇文章中設計了一種基于改進Transformer的LSTF模型,即Informer模型屈藐,該模型具有三個顯著特征:
一種ProbSpare self-attention機制榔组,它可以在時間復雜度和內(nèi)存使用方面達到 。
self-attention蒸餾機制联逻,通過對每個attention層結果上套一個Conv1D搓扯,再加一個Maxpooling層,來對每層輸出減半來突出主導注意包归,并有效地處理過長的輸入序列锨推。
并行生成式解碼器機制,對長時間序列進行一次前向計算輸出所有預測結果而不是逐步的方式進行預測公壤,這大大提高了長序列預測的推理速度换可。
在介紹模型之前,本文先對模型的輸入輸出厦幅、編解碼器結構和輸入表示進行介紹(熟悉編解碼器的同學可以略過)沾鳄。
3.預備知識
01 輸入輸出形式化表示
輸入:
輸出:
其中dy>1
02 編解碼結構
通常,編碼-解碼結構是這樣設計的:將輸入Xt編碼為隱層狀態(tài)Ht确憨,然后將隱層狀態(tài)解碼為輸出Yt译荞。推理階段則采用逐步推理方式,即動態(tài)解碼休弃,一個時間步解碼完成后再解碼另外一個時間步的結果吞歼。
具體為:通過前一步隱層狀態(tài)
和其它前一步輸出,計算k+1步的隱層狀態(tài)
塔猾,然后預測第k+1步的輸出
03 輸入表示
在長序列時序建模問題中浆熔,不僅需要局部時序信息還需要層次時序信息,如星期、月和年等医增,以及突發(fā)時間戳信息(事件或某些節(jié)假日等)慎皱。常規(guī)自注意力機制很難直接適配,可能會帶來編碼器和解碼器之間的 query 和 key 的錯誤匹配問題叶骨,最終影響預測效果茫多。
如上圖所示,位置嵌入分為了三種:
局部時間戳:即Transformer中的位置編碼忽刽。計算公式為:
2. 全局時間戳天揖。這里使用的可學習嵌入表示
具體實現(xiàn)時,構建一個詞匯表跪帝,使用Embedding層表示每一個“詞匯”今膊,為對齊維度,使用1D卷積將輸入標量
轉為向量
計算公式為:
4. 網(wǎng)絡結構
文中提出的Informer模型整體上仍然保存了Encoder-Decoder的架構伞剑,其整體框架如下圖所示:
在上圖左邊為編碼器斑唬,其編碼過程為:編碼器接收長序列輸入(綠色部分),通過ProbSparse自注意力模塊和自注意力蒸餾模塊黎泣,得到特征表示恕刘。右邊為解碼器,解碼過程為:解碼器接收長序列輸入(預測目標部分設置為0)抒倚,通過多頭注意力與編碼特征進行交互褐着,最后一次性直接預測輸出目標部分(橙黃色部分)。
01 高效的自注意力機制
首先,讓我們回顧一下經(jīng)典的自注意力機制:根據(jù)三個輸入(query, key, value)托呕,使用縮放點積計算輸入的注意力矩陣:
其中含蓉,
第i個Query的attention系數(shù)的概率形式是:
該文作者通過實驗驗證了經(jīng)典自注意力機制存在稀疏性,即自注意力特征圖的長尾分布現(xiàn)象项郊。具體為如下圖所示谴餐,較少的點積貢獻了絕大部分的注意力得分,也就是說其余部分的成對點積可以忽略呆抑。
為了度量query的稀疏性岂嗓,作者使用KL散度來計算query的attention概率分布與均勻分布的概率分布的相對熵,其中第i個query的稀疏性的評價公式是:
其中第一項是 對于所有的key的Log-Sum-Exp (LSE)鹊碍,第二項是它們的算數(shù)平均值厌殉。
按照上面的評價方式,就可以得到ProbSparse self-attetion的公式侈咕,即:
其中公罕, 是和 具有相同尺寸的稀疏矩陣,并且它只包含在稀疏評估 下top-u的queries耀销。其中楼眷,u的大小通過一個采樣參數(shù)來決定。這使得ProbSparse self-attention對于每個query-key只需要計算 點積操作。另外罐柳,為了消除Log-Sum-Exp (LSE)在計算過程中由于計算精度截斷導致的數(shù)值穩(wěn)定性問題掌腰,其對稀疏評估進行了上邊界的計算,從而保證了計算的時間和空間復雜度為 张吉。
通過該方法解決了Transformer的第一個問題齿梁,即:self-attention機制的二次計算復雜度問題。
02 編碼器
編碼器的設計目標為:在內(nèi)存有限的情況下肮蛹,通過注意力蒸餾機制勺择,使得單個層級特征在時間維度減半,從而允許編碼器處理更長的序列輸入伦忠。
編碼器的主要功能是捕獲長序列輸入之間的長范圍依賴省核。
作為ProbSpare自注意機制的結果,encoder的特征映射存在值V的冗余組合昆码,因此气忠,這里利用distilling操作對具有主導注意力的優(yōu)勢特征賦予更高權重,并在下一層生成focus self-attention特征映射未桥。從j到j+1層的distilling操作的過程如下:
其中笔刹, 包含了multi-head probsparse self-attention以及在attention block中的關鍵操作芥备。Conv1d表示時間序列上的一維卷積操作冬耿,并通過ELU作為了激活函數(shù),最后再進行最大池化操作萌壳。
同時為了增強注意力蒸餾機制的魯棒性亦镶,作者還構建了主序列的多個長度減半副本,每個副本是前一個副本長度的一半袱瓮,這些副本序列和主序列經(jīng)過同樣的注意力蒸餾機制缤骨,從而構建多個長度為L/4的特征圖。
最后將這些特征圖拼接起來尺借,構成輸入編碼器最終的特征圖绊起。
通過以上方法,可以逐級減少特征圖的大小燎斩,在計算空間上不會耗費過多的內(nèi)存虱歪,解決了Transformer的第二個問題:高內(nèi)存使用量問題
03 解碼器
解碼器的設計目標為:通過一次前向計算,預測長序列的所有輸出栅表。
原始的解碼器結構笋鄙,即堆疊兩個相同的多頭注意力層,是一個動態(tài)解碼過程怪瓶,即一步一步進行迭代輸出萧落。不同的是,本文采用的是批量生成式預測直接輸出多步預測結果。此外找岖,喂進解碼器的輸入也有所不同:
陨倡。其中
表示占位符(預測值);
表示開始“字符”宣增,這個設置就比較簡單有效玫膀。該方法源于NLP技術中的動態(tài)解碼,原本由單個字符作為“開始字符”爹脾,作者將其擴展為生成式方式帖旨,即從靠近預測目標的輸入序列中動態(tài)采樣部分序列作為“開始Token”。于是灵妨,通過多個output一起計算輸出的方法解阅,解決了Transformer在LSTF中的第三個問題:預測長期輸出的效率問題。
5.實驗結果
01 數(shù)據(jù)集
該工作使用兩個真實數(shù)據(jù)集和兩個公開評測數(shù)據(jù)集泌霍。
1. ETT(電力變壓器溫度)數(shù)據(jù)集货抄,從中國兩個不同的城市收集的兩年數(shù)據(jù),傳感器每15分鐘采集一個樣本點朱转,按照兩種采樣粒度 {1 小時蟹地,15 分鐘}將原始數(shù)據(jù)變?yōu)閮蓚€數(shù)據(jù)集;
2. ECL(耗電量)藤为,收集了 321 個客戶端的用電消耗怪与,共22個月的數(shù)據(jù);
3. 天氣數(shù)據(jù)集缅疟,美國 1600 各地區(qū) 4 年的氣象數(shù)據(jù)分别,采樣粒度為1小時。
02 實驗結果分析
實驗結果分析是我們需要重點關注的部分存淫。
無論是單變量的長序列預測還是多變量的長序列預測耘斩,Informer 均能在多數(shù)數(shù)據(jù)集上取得優(yōu)于baseline的表現(xiàn)(評估指標MSE和MAE)。從單變量時序預測來看:1. 在兩種評測指標上桅咆,Informer 能夠取得不錯的提升括授,并且隨著預測序列長度的增加,推理速度和預測誤差增長地較為緩慢岩饼;2. Informer 相較原始自注意力的 infomer荚虚,取得最優(yōu)的次數(shù)最多(28>14),并且優(yōu)于 LogTansformer 和 Reformer忌愚,說明query的稀疏性假設在很多數(shù)據(jù)集上是成立的曲管;3. Informer 相較 LSTMa 有巨大的提升,說明相較 RNN 類模型硕糊,自注意力機制中較短網(wǎng)絡路徑模型具有更強的預測能力院水。從多變量預測來看腊徙,Informer 依然擊敗了baseline,可以得出與單變量時序預測相同的結論檬某。并且可以很方便地將單變量預測變?yōu)槎嘧兞款A測撬腾,只需要調整最后的全連接層。
03 參數(shù)敏感度分析
作者這里通過不同參數(shù)的調整對模型最終性能表現(xiàn)進行了評測恢恼。參數(shù)主要包括輸入長度民傻、ProbSparse 的采樣因子和堆疊的網(wǎng)絡層數(shù)。在預測長序列時场斑,通過增加序列輸入長度漓踢,取得了更好的預測結果,這是因為更長的序列漏隐,蘊含了更豐富的特征喧半。
04 消融實驗
消融實驗主要針對本文的三個創(chuàng)新點進行測試:ProbSparse 自注意力機制、自注意力蒸餾青责、生成式解碼器挺据。
實驗表明,三種創(chuàng)新機制對較長的序列預測任務均有正面影響脖隶。
6. 總結
回顧一下扁耐,本文主要突出以下幾點:
a. 長序列預測問題是一個基礎且現(xiàn)實需求高的問題,值得重點研究产阱。
b. 基于自注意力機制的模型在解決序列預測問題上是一個很有吸引力的模型
?- ProbSparse 自注意力機制有助于降低attention計算過程中的時間復雜度
- self-attention蒸餾機制可以有效減少特征圖的時間維度婉称,從而降低內(nèi)存消耗量
- 并行生成式解碼器機制能夠大幅提高長序列預測的效率
c. Query的注意力稀疏假設在自注意力網(wǎng)絡結構中是行之有效的
本文提出的方法可以在其他領域取得同樣良好的效果,如:長序列文本心墅、音樂酿矢、視頻榨乎、圖像的生成任務怎燥。
Informer能獲得AAAI 2021的Best Paper確實有很多值得肯定的地方。首先蜜暑,在閱讀體驗上铐姚,我們可以很好地順著作者的邏輯結構了解到本文的研究動機、方法及實驗結果肛捍,由此可見隐绵,不論什么領域,講故事的能力絕對重要拙毫。此外依许,實驗部分比較充實,能夠很好地圍繞全文一直提及的長序列預測的難點以及Transformer應用到長序列預測上需要解決的問題缀蹄。最后峭跳,作者針對傳統(tǒng)attention網(wǎng)絡結構中的query稀疏性進行了驗證膘婶,為今后attention研究提供了明確的思路與方向,值得學習蛀醉!