超越Transformer!AAAI 2021最佳论文:高效长序列预测模型
?PaperWeekly 原創 ·?作者|西南交一枝花
學校|西南交通大學CCIT實驗室博士生
研究方向|NLP、時空數據挖掘
前言
AAAI 2021 結束有一段時間了,最佳論文獎項也公布了很久。但是,針對 Informer 的解讀分享卻未見幾篇,由于筆者目前在做序列預測方面的工作,故在閱讀后整理分享該論文的筆記。如有不同見解,望不吝交流。
Informer 的主要工作是使用 Transfomer 實現長序列預測(Long Sequence Time-Series Forecasting),以下稱為 LSTF。針對 Transfomer 在長序列預測中的不足(平方時間復雜度、高內存占用和現有編解碼結構的局限性),提出 ProbSparse 注意力機制、自注意力蒸餾技術和生成式解碼器等模塊解決或緩解上述問題。
論文標題:
Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting
論文鏈接:
https://arxiv.org/abs/2012.07436
源碼鏈接:
https://github.com/zhouhaoyi/ETDataset
研究動機
筆者將本文的研究動機歸為以下幾點:
1. 首先,LSTF 任務具有重要研究意義,對政策計劃和投資避險等多種需要長時預測的任務至關重要;
2. 目前現有方法多專注于短期預測,模型缺乏長期預測能力;
3. Transformer 具有較強捕獲長距離依賴的能力,但是,在計算時間復雜度和空間復雜度以及如何加強長序列輸入和輸出關聯上都需要優化。
針對第三點,展開來說香草變壓器解決 LSTF 問題有三點不足:
1. 自注意力機制的平方級計算時間復雜度;
2. Transformer 通常堆疊多層網絡,導致內存占用瓶頸;
3. step-by-step 解碼預測,使得推理速度慢。
同時,上述三點對應 Informer 的主要貢獻點:
1. ProbSparse self-attention,筆者稱其為概率稀疏自注意力,通過“篩選”Query 中的重要部分,減少相似度計算;
2. Self-attention distilling,筆者稱其為自注意力蒸餾,通過卷積和最大池化減少維度和網絡參數量;
3. Generative style decoder,筆者稱為生成式解碼器,一次前向計算輸出所有預測結果。
在介紹 Informer 模型結構之前,先對模型的輸入、輸出,編解碼器結構和輸入表示進行介紹(對于編解碼器熟悉的可以略過編解碼器介紹)。
預備知識
3.1?輸入輸出形式化表示
輸入: 時間 t
輸出: 時間 t, 且
3.2 編解碼結構
編解碼結構通常這樣設計:將輸入 編碼為隱層狀態 ,然后將隱層狀態解碼為輸出表示 。通常推理階段采用 step-by-step 方式,即動態解碼。具體為:輸入上一步隱層狀態 和上一步的輸出計算 k+1 步的隱層狀態 ,然后預測第 k+1 步的輸出 。
3.3?輸入表示
RNN 由于其遞歸循環結構可以捕獲時序模式,但只依賴于時間序列。Vanilla Transformer 使用點乘注意力,沒有循環結構,為捕獲時序,使用位置編碼。
在 LSTF 問題中,時序建模不僅需要局部時序信息還需要層次時序信息,如星期、月和年等,以及突發事件或某些節假日等。經典自注意力機制很難直接適配,可能會帶來 query 和 key 的錯誤匹配問題,影響預測性能表現。
▲ 輸入表示
如上圖所示,位置嵌入分為了三種:
局部時間戳。即 Transformer 中的固定位置嵌入。計算方式為:, 。
全局時間戳。這里使用的可學習嵌入表示 。具體實現時,構建一個詞匯表(文中給定 60 大小,以分鐘最為最小單位,與圖不對應),使用 Embedding 層表示每一個“詞匯”。
為對齊維度,使用 1D 卷積將輸入標量 轉為向量 ,計算方法為:
方法介紹
▲ informer框架圖左邊:編碼過程,編碼器接收長序列輸入(綠色部分),通過 ProbSparse 自注意力模塊和自注意力蒸餾模塊,得到特征表示。(堆疊結構增加模型魯棒性)。
右邊:解碼過程,解碼器接收長序列輸入(預測目標部分設置為 0),通過多頭注意力與編碼特征進行交互,最后直接預測輸出目標部分(橙黃色部分)。
4.1 高效的自注意力機制
自薦一下,筆者以前分享過注意力機制,感興趣的可以點擊查看 Attention 注意力機制的前世今身。
首先,回顧經典的自注意力機制。接收三個輸入(query, key, value),使用縮放點積計算三者的公式為:。
接著,為進一步探索自注意力機制,按行說明自注意力計算方式。
分別為 Q, K, V 的第 i 行;
第i個query的注意力可以定義為核平滑的概率形式:
,計算該概率的時間復雜度為平方級,并且需要 的空間復雜度。
關于核平滑和自注意力之間的理論證明,可以閱讀《Transformer Disp: A Unified Understanding of Transformer’s Attention via the Lens of Kernel》[1] 。
作者通過實驗去驗證原自注意力機制存在稀疏性,即自注意力特征圖的長尾分布現象。具體為,選取多頭注意力的頭 1 和頭 7 的注意力得分,發現較少的點積對貢獻絕大部分的注意力得分,也就是說其余部分的成對點積可以忽略。既然知道了有些部分可以不用計算,那么帶了一個新問題,如何區分重要的部分呢?
▲ 注意力得分長尾分布
最后,針對如何區分注意力計算中哪些是可忽略的問題,作者進行了下面的工作。首先是 Query 稀疏度的度量方法;然后根據“篩選”后的 Query,提出 ProbSparse Self-attention,計算自注意力得分。
什么導致注意力圖變為長尾分布?作者認為是突出的點積對(重要部分)導致對應的 query 的注意力概率分布遠離均勻分布。若 接近均勻分布 ,那么其概率分布應該為 。要度量兩種分布的距離,自然想到使用 KL 散度來度量。
經過簡化后,作者定義第 i 個 Query 的稀疏性度量公式為:。如果第 i 個 query 的 M 值較大,說明它的注意力概率 p 相較其他部分差異性較大,比較大可能性是重要性部分。
基于上述度量方法,ProbSparse 自注意力計算方式可以表示為:,其中 為稀疏矩陣包含 TOP u 個 query。通過該優化,沒對 query-key 計算需要 計算復雜度。有讀者可能發現,計算 M 的計算復雜度為 的二次方。所以,作者采用近似思想進行了進一步的優化,該興趣的讀者可以閱讀原文“Lemma1”部分。
4.2 編碼器
目標:在內存占用限制內,允許編碼器處理更長的序列輸入。
▲ 編碼器結構
編碼器的主要功能是捕獲長序列輸入之間的長范圍依賴。在輸入表示部分,筆者已經介紹過輸入 包含了三個部分(卷積后的序列輸入,全局位置嵌入,局部位置表示)。此后將輸入送至自注意力模塊,值得注意的是這里采用的是自注意力蒸餾操作,可以減少網絡參數,并且隨著堆疊層數增加,不斷”蒸餾“突出特征。
具體而言,”蒸餾”操作主要為使用 1D 卷積和最大池化,將上一層的輸出送至魔改后的多頭注意力模塊之前做維度修剪和降低內存占用。
4.3 解碼器
目標:一次前向計算,預測長序列輸出。采用標準解碼器結構,即堆疊兩個相同的多頭注意力層。不同的是,本文采用的是生成式預測(不是 step-by-step 方式)直接輸出多步預測結果。此外,喂進解碼器的輸入也有所不同:。
其中, 表示占位符(預測值);表示開始“字符”,這個設置就比較有趣。文中說明該方法源于 NLP 技術中的動態解碼(通常在 NLP 中,使用 “S” 作為解碼開始輸出字符;“E” 作為解碼結束字符),作者將其擴展為生成式方式,即從靠近預測目標的輸入序列中動態采樣部分序列作為“開始 Token”。
Eg:預測 168 個點(7 天),將目標序列前五天作為“start-token”,。
實驗
5.1 數據集
使用兩個作者整理的真實數據集和兩個公開評測數據集。1. ETT(電力變壓器溫度)數據集,從中國兩個不同的城市收集的兩年數據,采樣粒度包括 {1 小時,15 分鐘};2. ECL(耗電量),收集了 321 個客戶端的用電消耗,共22個月的數據;3. 天氣數據集,美國 1600 各地區 4 年的氣象數據,采樣粒度為1小時。
5.2?基準模型
1.ARIMA 2. Prophet 3. LSTMa 4. LSTnet 5. DeepAR.
除此之外,為說明 ProbSparse 自注意力的有效性,對比使用原自注意力機制的 Informer 模型,以及變種 Reformer 工作。
5.3?超參設置
使用網格調參確定最優參數組合,優化器為 Adam,學習率從 1e-4 開始,每兩個 epochs 降低 10 倍,共 10 個 epochs,Batch_size為32。
5.4?實驗結果分析
實驗結果分析是我們需要重點關注的部分。
▲ 單變量和多變量預測結果
無論是單變量的長序列預測還是多變量的長序列預測,Informer 均能在多數數據集上取得最優表現。
從單變量預測來看,1. 在兩種評測指標上,Informer 能夠取得不錯的提升,并且隨著預測序列長度的增加,推理速度和預測誤差增長地較為緩慢;2. Informer 相較原始自注意力的 infomer,取得最優的次數最多(28>14),并且優于 LogTansformer 和 Reformer;3. Informer 相較 LSTMa 有巨大的提升,說明相較 RNN 類模型,自注意力機制中較短網絡路徑模型具有更強的預測能力。
從多變量預測來看,Informer 可以很方便地將單變量預測變為多變量預測,只需要調整最后的全連接層。相較單變量預測,Informer 取得明顯提升的次數減少了,作者認為這是不同特征預測能力的不同引起的。
5.5?參數敏感度分析
這項分析比較有趣,通常我們會對模型中需要設置不同權重因子時,進行不同大小值的性能評測。作者這里對不同參數對模型最終性能表現進行了評測。主要分為了輸入長度、ProbSparse 的采樣因子和堆疊的網絡層數。
5.6?消融實驗
消融實驗針對本文的三個創新點:ProbSparse 自注意力機制、自注意力蒸餾、生成式解碼器。
總結
Informer 能獲得 AAAI 的 Best Paper 確實有很多值得肯定的地方。首先,在閱讀體驗上,筆者很好地順著作者的邏輯結構了解到本工作的研究動機、研究內容,講故事的能力確實很重要。
此外,實驗部分比較充實,能夠很好地 cover 全文一直提及的 LTSF 的難點以及 Transformer 應用到 LTSF 上需要解決的問題。在研究內容上,筆者覺得能獲得最佳論文獎項,肯定不是靠純堆模型。確實,本文在 fundamental 內容(ProbSparse self-attention)上也做了很多探索研究。
值得學習!
參考文獻
[1] https://arxiv.org/pdf/1908.11775.pdf
更多閱讀
#投 稿?通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
?????投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的超越Transformer!AAAI 2021最佳论文:高效长序列预测模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 直播 | 同源共流:一个优化框架统一与解
- 下一篇: 自主天然气加不上油门怎么回事?