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