
使用這些基本 REST API 最佳實踐構建出色的 API
iTransformer是重新審視Transformer結構后提出的時間序列預測基礎,采用注意力機制進行多元相關性分析,并采用前饋網絡進行序列表示。實驗表明,iTransformer在真實世界預測基準上取得了最先進的性能,解決了基于Transformer的預測器的難點。Transformer變體被提出用于時間序列預測,超越了同期TCN和基于RNN的預測。現有的變體可分為四類:是否修改組件和架構,如圖2所示。第一類主要涉及組件調整,如注意力模塊和長序列的復雜性優化。第二類充分利用Transformer,關注時間序列的內在處理。第三類在組件和架構兩方面翻新Transformer,以捕捉跨時間和跨變量的依賴性。與之前的工作不同,iTransformer沒有修改Transformer的任何原生組件,而是采用反向維度上的組件,并改變其架構。
多元時間序列預測涉及歷史觀測值X和預測未來值Y。給定T個時間步長和N個變量,預測未來S個時間步長。數據集中變量可能存在系統時間滯后,且變量在物理測量和統計分布上可能不同。
我們提出的iTransformer采用了Transformer的編碼器架構,包括嵌入、投影和Transformer塊,如圖3所示。
圖3 iTransformer的整體結構,與Transformer的編碼器具有相同的模塊化結構。(a)不同變量的原始序列被獨立地嵌入為標記。(b)將自注意力應用于嵌入的變量標記,增強了可解釋性,揭示了多變量相關性。(c)通過共享的前饋網絡提取每個標記的序列表示。(d)采用層歸一化來減少變量之間的差異。
將整個序列作為標記。在iTransformer中,基于回望序列X:,n預測每個特定變量?Y:,n的未來序列的過程簡單地表示如下:
其中H={h1, · · · , hN }∈RN×D包含N個維度為D的嵌入表征,上標表示層索引。嵌入:RT7→ RD 和投影:RD7→ RS 均由多層感知器(MLP)實現。變量表征通過自注意力交互,并在每個TrmBlock中由共享的前饋網絡獨立處理,不再需要位置嵌入。iTransformers。該架構靈活地使用注意力機制,允許多元相關性,并可降低復雜性。一系列高效的注意力機制可以作為插件,令牌數量可在訓練和推理之間變化,模型可在任意數量的變量上進行訓練。反向Transformer,命名為iTransformers,在時間序列預測方面具有優勢。
我們組織了由層歸一化、前饋網絡和自注意力模塊組成的 L 塊的堆棧。
層歸一化(Layer normalization)
層歸一化最初用于提高深度網絡收斂性和穩定性,在Transformer預測器中,對同一時間戳的多變量表示進行歸一化。反向版本中,歸一化應用于單個變量的序列表示(如公式2),有效處理非平穩問題。所有序列標記歸一化為高斯分布,減少不一致測量導致的差異。之前的架構中,時間步的不同標記將被歸一化,導致時間序列過度平滑。
前饋網絡(Feed-forward network)
Transformer 使用前饋網絡 (FFN) 作為編碼標記表示的基本構建塊,對每個標記應用相同的前饋網絡。在反向版本中,FFN 用于每個變量標記的序列表示,通過堆疊反向塊,它們致力于編碼觀測到的時序,并使用密集的非線性連接解碼未來序列的表示。堆疊反向塊可以提取復雜的表示來描述時間序列,并使用密集的非線性連接解碼未來序列的表示。實驗表明,分工有助于享受線性層在性能和泛化能力方面的好處。
自注意力(Self-attention)
逆模型將時間序列視為獨立過程,通過自注意力模塊全面提取時間序列表示,采用線性投影獲取查詢、鍵和值,計算前Softmax分數,揭示變量之間的相關性,為多元序列預測提供更自然和可解釋的機制。
我們全面評估了iTransformer在時間序列預測應用中的性能,驗證了其通用性,并探討了Transformer組件在時間序列反向維度的應用效果。在實驗中,我們使用了7個真實數據集,包括ECL、ETT、Exchange、Traffic、Weather、太陽能和PEMS,以及Market數據集。我們始終優于其他基線。附錄A.1提供了詳細的數據集描述。
本文進行了廣泛的實驗,評估提出的模型與先進深度預測器的預測性能。選擇10個廣為人知的預測模型作為基準,包括基于Transformer、線性和TCN的方法。
表1 預測長度S ∈ {12, 24, 36, 48}的PEMS和S ∈ {96, 192, 336, 720}的其他預測的多元預測結果,固定回溯長度T = 96。結果來自所有預測長度的平均值。Avg表示進一步按子集平均。完整結果列于附錄F.4
結果顯示,iTransformer模型在預測高維時間序列方面表現最佳,優于其他預測器。PatchTST在某些情況下失敗,可能是因為其修補機制無法處理快速波動。相比之下,iTransformer將整個序列變化聚合為序列表示,可以更好地應對這種情況。Crossformer的性能仍然低于iTransformer,表明來自不同多元的時間不一致的補丁的相互作用會給預測帶來不必要的噪聲。因此,原生的Transformer組件能夠勝任時間建模和多元相關,而提出的反向架構可以有效地處理現實世界的時間序列預測場景。
本節應用框架評估了Transformer變體,如Reformer、Informer、Flowformer和FlashAttention,以提高預測器性能,提高效率,泛化未知變量,更好地利用歷史觀測。
可以提升預測效果!
該框架在Transformer上實現了平均38.9%的提升,在Reformer上實現了36.1%的提升,在Informer上實現了28.5%的提升,在Flowformer上實現了16.8%的提升,在Flashformer上實現了32.2%的提升。由于引入了高效的線性復雜度注意力,iTransformer解決了大量變量導致的計算問題。因此,iTransformer的思想可以在基于Transformer的預測器上廣泛實踐。
表2 我們的倒置框架所獲得的性能提升。Flashformer是指配備硬件加速FlashAttention的Transformer。我們報告了平均性能和相對MSE降低(提升)。完整結果見附錄F.2
能泛化未知變量!
iTransformer模型通過反轉常規變換器,在不可見變量上具有泛化能力。輸入標記數量靈活,變量通道數量不受限制。前饋網絡獨立應用于變量標記,學習共享和轉移的時間序列模式。與通道獨立性策略相比,iTransformer直接預測所有變量,性能通常較小,表明FFN能夠學習可轉移的時間序列表示,如圖4所示。這為在iTransformer的基礎上構建基礎模型提供了潛在方向。
圖4 在不可見變量上的泛化性能。我們將每個數據集的變量分為五個文件夾,用20%的變量訓練模型,并使用部分訓練的模型預測所有變量。iTransformers可以高效地訓練并具有良好的泛化能力。
可以使用更長的歷史觀測!
預測性能不一定隨Transformers回溯長度增加而提高,可能是因為注意力分散。然而,線性預測理論上得到了統計方法的支持,并利用了擴大的歷史信息。我們在圖5中評估了Transformers和iTransformer在增加回溯長度情況下的性能,發現利用MLP在時間維度上更合理,使得Transformers可以從擴展的回溯窗口中受益,進行更精確的預測。
圖5 在回溯長度T ∈ {48, 96, 192, 336, 720}和固定預測長度S = 96的情況下預測性能。雖然基于Transformer的預測器的性能不一定受益于增加的回溯長度,但反向框架使普通Transformer及其變體在擴大的回溯窗口上具有更高的性能。
為驗證Transformers組件的合理性,進行了消融實驗,包括更換組件(Replace)和移除組件(w/o)實驗。結果如表3顯示,iTransformer性能最佳,普通Transformer性能最差,揭示了傳統架構的潛在風險。
表3?在iTransformer上進行消融。除了刪除組件外,我們還替換各個維度上的不同組件,以學習多元相關性(變量)和序列表示(時間)。此處列出了所有預測長度的平均結果。
分析序列表示。為驗證前饋網絡有利于提取序列表示,我們根據CKA相似性進行了表示分析。結果顯示,iTransformers通過反轉維度學習到更合適的序列表示,實現了更準確的預測,如圖6。這表明反轉Transformer值得對預測主干進行根本性改造。
圖6?系列表示和多元相關性的分析。左圖:比較Transformer和iTransformer之間的表示的均方誤差(MSE)和CKA相似性。較高的CKA相似性表明更有利于準確預測的表示。右圖:原始時間序列和倒轉自我關注學習得出的分數映射的多元相關性的實例可視化。
多元相關性分析。通過分配多元相關性責任給注意力機制,學習到的映射具有增強的可解釋性。如圖6太陽能案例中,淺層注意力層與原始輸入序列相關性相似,深層則與未來序列相關性相似,驗證了反向操作可提供可解釋的注意力。
高效的訓練策略。本文提出了一種新的訓練策略,通過利用先前證明的變量生成能力來訓練高維多元序列。具體來說,在每個批中隨機選擇部分變量,只使用選定的變量訓練模型。由于我們的反演,變量通道的數量是靈活的,因此模型可以預測所有變量進行預測。如圖7所示,我們提出的策略的性能仍然與全變量訓練相當,同時內存占用可以顯著減少。
圖7 高效訓練策略分析。雖然性能(左)在每批不同采樣比的部分訓練變量上保持穩定,但內存占用(右)可以大大減少。附錄D中提供了全面的模型效率分析。
參考資料:《 ITRANSFORMER: INVERTED TRANSFORMERS ARE EFFECTIVE FOR TIME SERIES FORECASTING》
代碼:http://github.com/thuml/iTransformer
文章轉自微信公眾號@算法進階