機器學習周記(第四十五周:Graphformer)2024.6.24~2024.6.30

目錄

  • 摘要
  • ABSTRACT
  • 1 論文信息
    • 1.1 論文標題
    • 1.2 論文摘要
    • 1.3 論文引言
    • 1.4 論文貢獻
  • 2 論文模型
    • 2.1 問題定義
    • 2.2 模型架構
      • 2.2.1 自注意下采樣模塊(Self-attention down-sampling module)
      • 2.2.2 稀疏圖自注意力機制(Sparse graph self-attention mechanism)
      • 2.2.3 多尺度特征融合(Multi-scale feature fusion)
      • 2.2.4 時間慣性融合層(Time inertia fusion layer)

摘要

本周閱讀了一篇利用圖神經網絡結合Transformer的長時間序列預測論文,提出了一種新的模型Graphformer。Graphformer通過改進稀疏自注意力機制,結合圖卷積網絡(GCN)考慮不同尺度下變量之間的空間相關性,實現了Transformer架構與GCN的緊密集成。此外,論文還開發了自注意力降采樣模塊、多尺度特征融合操作以及時間慣性融合操作。實驗分析表明,Graphformer在預測精度上顯著優于之前的最新方法。研究還指出,未來可以通過使用各種分解方法預處理時間序列,并結合自動機器學習(AutoML)技術進一步提高模型精度?。

ABSTRACT

This week, We read a paper on long-term time series forecasting that combines Graph Neural Networks (GNN) with Transformer models and proposes a new model called Graphformer. Graphformer improves the sparse self-attention mechanism and incorporates Graph Convolutional Networks (GCN) to consider spatial correlations between variables at different scales, achieving a close integration of the Transformer architecture with GCN. Additionally, the paper develops a self-attention down-sampling module, a multi-scale feature fusion operation, and a time inertia fusion operation. Experimental analysis shows that Graphformer significantly outperforms previous state-of-the-art methods in prediction accuracy. The study also suggests that future improvements in model accuracy can be achieved by using various decomposition methods to preprocess time series and combining them with Automated Machine Learning (AutoML) techniques.

1 論文信息

SCI:1區
IF:7.2
發表單位:重慶大學計算機學院

1.1 論文標題

Graphformer: Adaptive graph correlation transformer for multivariate long sequence time series forecasting

1.2 論文摘要

準確的長序列時間序列預測(LSTF)由于其復雜的時間依賴性,仍然是一項關鍵挑戰。多變量時間序列預測方法本質上假設變量是相互關聯的,每個變量的未來狀態不僅依賴于其歷史,還依賴于其他變量。然而,大多數現有方法(如Transformer)無法有效利用變量之間的潛在空間相關性。為了解決上述問題,我們提出了一種基于Transformer的LSTF模型,稱為Graphformer,該模型能夠高效地學習多個變量之間復雜的時間模式和依賴關系。首先,在編碼器的自注意下采樣層中,Graphformer用膨脹卷積層取代了標準卷積層,以高效捕捉不同粒度水平下的長時間依賴關系。同時,Graphformer用圖自注意機制取代了自注意機制,該機制可以從數據中自動推斷隱含的稀疏圖結構,對于沒有顯式圖結構的時間序列表現出更好的泛化能力,并學習序列間的隱含空間依賴關系。此外,Graphformer使用時間慣性模塊增強未來時間步對最近輸入的敏感性,并通過切片和融合特征圖的多尺度特征融合操作,在不同粒度水平上提取時間相關性,以提高模型的準確性和效率。與現有的SOTA Transformer模型相比,我們提出的Graphformer可以顯著提高長序列時間序列預測的準確性。

1.3 論文引言

時間序列是一組按時間順序排列的隨機變量,通常是以固定采樣率觀察潛在過程的結果。基于歷史時間序列觀測,時間序列預測旨在估計和預測未來時間步長的變量狀態,廣泛應用于統計學、運籌學和交通事故預防等領域。通常需要基于歷史觀測獲得多個連續未來時間步的預測,即多步預測。與經典的多步預測相比,長序列時間序列預測鼓勵盡可能長的預測范圍。預測范圍的增長帶來了額外的復雜性,例如誤差積累、準確性降低和不確定性增加。因此,準確的長序列時間序列預測對時間序列預測研究領域來說仍然是一個挑戰性問題。

類似于其他領域的預測任務,時間序列預測受益于近年來深度神經網絡研究的發展,并已廣泛應用于決策系統中,如交通事故預防、云計算資源重編程和最優投資策略。特別是,由于Transformer模型在自然語言處理中的成功,基于注意力機制的模型在時間序列預測中也取得了很大進展。然而,現有方法未能有效利用變量之間的潛在依賴關系。最近提出的基于Transformer的模型,包括Reformer、LogTrans和Informer,側重于建模時間特征,而未顯式建模不同序列之間的成對依賴關系,這削弱了模型的可解釋性和預測能力。

在現實生活中,傳感器可能跟蹤交通流量、能源使用、溫度等各種數據的變化。多個傳感器收集的時間序列可以結合成多變量時間序列。多變量時間序列預測技術隱含地假定變量是相互關聯的,每個變量的未來狀態不僅依賴于其過去的值,還依賴于其他變量,而且研究人員可能還需要預測任意或所有變量的時間序列。在交通系統中,了解交通流量的未來趨勢有助于減少交通事故和擁堵的發生。然而,交通流量的未來值不僅與其過去的值有關,還與其他變量(例如車輛的平均速度、空間占用率)有關。不論上述場景如何,挖掘不同變量之間的隱含相關性可以提高時間序列預測的整體準確性。

如何提取不同變量之間的交互特征是一個非常具有挑戰性的問題。圖是一種描述網絡中不同實體之間關系的數據類型,將不同變量視為圖的節點,將變量之間的依賴關系視為邊,例如,電力資源數據集ETT的多變量時間序列可以建模為如 Fig.1 所示的結構,其中HUFL、HULL等都是描述電力資源的變量。最近,GCN在處理圖結構數據方面取得了巨大成功。使用GCN進行多變量時間序列預測是一種很有前景的方法,通過聚合鄰居節點的信息并探索時間序列之間的隱含依賴關系,同時保持序列的時間軌跡。

然而,基于GCN的時間序列預測方法需要通過距離或相似性度量預定義圖結構。在大多數情況下,多變量時間序列沒有顯式圖結構。這些變量之間的關系不是先驗知識,而需要從數據中挖掘出來。即使對于存在顯式圖結構的時間序列,這些圖也嚴重依賴于相應的領域知識。同時考慮人為定義的因素,也可能導致某些隱含信息的遺漏或偏差。
在這里插入圖片描述

Fig.1 ETT數據集的多變量時間序列圖結構建模

1.4 論文貢獻

① 提出了一種基于Transformer的模型,名為Graphformer,該模型遵循編碼器-解碼器結構,結合了稀疏圖自注意機制、多尺度特征融合和時間慣性機制,可以實現相等或更高的預測準確性。

② 將稀疏自注意機制改為稀疏圖自注意機制,考慮了不同尺度下變量之間的空間相關性,實現了Transformer架構與GCN的緊密結合。其內部的自適應圖卷積模塊不依賴于任何先驗知識,對于沒有顯式圖結構的多變量時間序列具有更好的通用性。

2 論文模型

2.1 問題定義

將時間序列視為具有長度 L L L、維度 d x d_{x} dx?且時間間隔相同的一系列連續觀測值,可以表示為 X t = { x 1 t , x 2 t , … , x L t ∣ x i t ∈ R d x } X_t=\left\{x_1^t,x_2^t,\ldots,x_L^t|x_i^t\in R^{d_x}\right\} Xt?={x1t?,x2t?,,xLt?xit?Rdx?}。如果 d x > 1 d_{x}>1 dx?>1,則該時間序列稱為多變量時間序列,其中 X X X可以表示為 L × D L \times D L×D二維矩陣:
X = [ X 1 , 1 t X 1 , 2 t … X 1 , d x t X 2 , 1 t X 2 , 2 t … X 2 , d x t ? ? ? ? X L , 1 t X L , 2 t … X L , d x t ] ( 1 ) X=\begin{bmatrix}X_{1,1}^t&X_{1,2}^t&\ldots&X_{1,d_x}^t\\X_{2,1}^t&X_{2,2}^t&\ldots&X_{2,d_x}^t\\\vdots&\vdots&\ddots&\vdots\\X_{L,1}^t&X_{L,2}^t&\ldots&X_{L,d_x}^t\end{bmatrix} \qquad (1) X= ?X1,1t?X2,1t??XL,1t??X1,2t?X2,2t??XL,2t????X1,dx?t?X2,dx?t??XL,dx?t?? ?(1)
其中, X i t = [ X i , 1 t , X i , 2 t , … , X i , d x t ] X_{i}^{t}=\left[X_{i,1}^{t},X_{i,2}^{t},\ldots,X_{i,d_{x}}^{t}\right] Xit?=[Xi,1t?,Xi,2t?,,Xi,dx?t?]表示在時間 i i i觀察到的 X t X_{t} Xt?的值, X i , k t X_{i,k}^{t} Xi,kt?表示在時間 i i i觀察到的 X i t X_{i}^{t} Xit?的第 k k k個變量值。特別是,當變量維度為 d x = 1 d_{x}=1 dx?=1時,時間序列稱為單變量時間序列。顯然,多變量時間序列可以看作是多個單變量時間序列的組合,這些變量可能相互影響,這里主要研究在多變量條件下的長時間序列預測。

G G G是一種描述網絡中實體關系的結構。本文參考了Graph WaveNet,引入了一種自適應圖學習方法,以反映稀疏query矩陣的圖結構。圖 G = ( V , E ) G=(V,E) G=(V,E)由一組頂點集 V V V和一組邊集 E E E組成,可以用鄰接矩陣 A A A表示。如果頂點 v i v_{i} vi? v j v_{j} vj?之間存在一條邊 e i j e_{ij} eij?,則為 A i j > 0 A_{ij}>0 Aij?>0,否則,如果不存在邊,則為 A i j = 0 A_{ij}=0 Aij?=0

2.2 模型架構

Fig.2 展示了所提出的Graphformer模型的架構,該模型遵循編碼器-解碼器架構來提取輸入序列中的長期時間相關性。編碼器堆疊了三個多頭稀疏圖自注意模塊、兩個自注意下采樣模塊和一個多尺度特征融合層。解碼器由一個掩碼稀疏圖自注意模塊和一個稀疏圖自注意模塊組成。
在這里插入圖片描述

Fig.2 Graphformer總體架構

在編碼器中,每個圖稀疏自注意模塊包括一個稀疏自注意機制、自適應圖學習機制和圖卷積網絡。稀疏自注意機制計算query-key的縮放點積注意力。隨后,自適應圖學習機制捕捉稀疏query矩陣的圖結構,并自適應地推斷出稀疏query矩陣中的隱藏空間依賴關系。圖卷積網絡通過聚合和轉換節點的領域信息來學習節點特征,基于學習權重和預定義的圖結構。對于沒有顯式圖結構的多變量時間序列,稀疏圖自注意模塊也能夠自適應地學習序列之間的潛在空間相關性。每兩個多頭稀疏圖自注意塊由一個自注意下采樣模塊連接。Graphformer在Informer的自注意下采樣模塊基礎上,通過用膨脹因果卷積層替換標準卷積層,以高效地捕捉不同粒度水平下時間序列的長期依賴關系。后面跟隨一個最大池化層,極大地減少了網絡大小。

在基于CNN的計算機視覺領域,通常使用特征金字塔網絡提取更細粒度的特征。應用于目標檢測的CNN網絡Yolov5使用一個聚焦層,將早期網絡的特征圖與最終特征圖合并,以獲得更細粒度的信息。Graphformer將這一結構遷移到基于Transformer的模型領域,以合并不同尺度的特征圖。在不增加額外編碼器的情況下,多尺度特征融合層融合了三個稀疏自注意塊輸出的特征圖,然后將其轉換為適當維度的最終輸出。

在解碼器中,輸入序列中要預測的元素用零填充。從掩碼多頭自注意塊中學習到的特征與來自編碼器的特征圖融合。然后,解碼器的輸出被輸入到一個全連接層,最終通過時間慣性融合層發現基于時間周期的時間模式,并與模型輸出聚合。

2.2.1 自注意下采樣模塊(Self-attention down-sampling module)

為了提取更深層次的特征圖,需要堆疊多個自注意塊,這帶來了更高的時間和空間復雜度。為了解決這一問題,Graphformer利用了Informer的自注意下采樣模塊,通過用膨脹因果卷積層替換標準卷積層,以高效地捕捉不同粒度水平下時間序列的長期依賴關系。膨脹因果卷積以固定步長對特征元素進行采樣,在時間維度上在元素前填充零以確保濾波器大小相等,并對采樣的特征元素進行卷積操作。對于每個自注意塊之后的膨脹因果卷積,卷積操作 D C o n v ( ? ) DConv(\cdot) DConv(?)的公式如下所示:
D C o n v ( x n ) = [ x n x n ? i . . . x n ? ( s ? 1 ) × i ] W ( 2 ) DConv\left(x_n\right)=\begin{bmatrix}x_n\\x_{n-i}\\.\\.\\.\\x_{n-(s-1)\times i}\end{bmatrix}W \qquad (2) DConv(xn?)= ?xn?xn?i?...xn?(s?1)×i?? ?W(2)
其中, x n ∈ R d x_n\in R^d xn?Rd是序列 X ∈ R L × d X\in R^{L\times d} XRL×d的特征元素, n ∈ { 0 , 1 , 2 , … , L } n\in\{0,1,2,\ldots,L\} n{0,1,2,,L} s s s是濾波器的大小, W ∈ R d × d W\in R^{d\times d} WRd×d是可學習的權重, i i i是膨脹因子。隨著層數的增加,第 i i i個膨脹因果卷積層的卷積核在兩個相鄰特征點之間跳過 2 i ? 1 ? 1 2^{i-1}-1 2i?1?1個元素,并在輸入上滑動。此外,根據因果關系的性質,時間 t t t的每個元素 x x x只與 t t t時刻或之前的元素進行卷積,以確保不會泄露未來信息。特別是,當 i = 1 ( 2 0 ) i=1(2^{0}) i=1(20)時,膨脹因果卷積將退化為普通因果卷積。

從膨脹因果卷積層得到的特征圖通過最大池化層進行下采樣,其公式如下所示:
X i + 1 t = M a x P o o l ( D c o n v ( [ X i t ] M S A ) ) ( 3 ) X_{i+1}^t=MaxPool\begin{pmatrix}Dconv\left(\begin{bmatrix}X_i^t\end{bmatrix}_{MSA}\right)\end{pmatrix} \qquad (3) Xi+1t?=MaxPool(Dconv([Xit??]MSA?)?)(3)
其中, [ ? ] M S A \begin{bmatrix}\cdot\end{bmatrix}_{MSA} [??]MSA?表示多頭稀疏自注意塊, M a x P o o l ( ? ) MaxPool(\cdot) MaxPool(?)表示最大池化操作。

Fig.3 顯示了Graphformer編碼器中具有核大小為3的兩個膨脹因果卷積層。與標準卷積相比,即使僅使用兩個膨脹因果卷積層,它也能捕捉更大的感受野,并減少計算成本和內存開銷。此外,膨脹因果卷積層和最大池化層的組合不僅消除了稀疏自注意機制塊(由value均值引起)的冗余并賦予了主導特征特權,而且將輸入長度從 X i + 1 X_{i+1} Xi+1?剪切到 X i X_{i} Xi?的一半,因此內存開銷也減少到 O ( L ln ? L ) \mathscr{O}(L\ln L) O(LlnL)
在這里插入圖片描述

Fig.3 使用自注意下采樣模塊的編碼器結構

2.2.2 稀疏圖自注意力機制(Sparse graph self-attention mechanism)

稀疏圖自注意塊包括三個部分:稀疏自注意機制、自適應圖學習和圖卷積網絡,旨在提取主導注意力和潛在的空間依賴關系。

稀疏自注意機制: Informer中的稀疏自注意機制基于Transformer,接收元組輸入(query, key, value),執行縮放點積操作,如下所示:
A ( Q , K , V ) = s o f t m a x ( Q K T d ) V \mathscr{A}(Q,K,V)=softmax\left(\frac{QK^{T}}{\sqrt{d}}\right)V A(Q,K,V)=softmax(d ?QKT?)V,其中 Q ∈ R L Q × d Q\in\mathbb{R}^{L_{Q}\times d} QRLQ?×d K ∈ R L K × d K\in\mathbb{R}^{L_K\times d} KRLK?×d V ∈ R L k × d V\in\mathbb{R}^{L_k\times d} VRLk?×d,同時 d d d表示輸入維度。根據上述公式,第 i i i個query的注意權重可以轉換為概率卷積核平滑器:
A t t e n t i o n ( q i , K , V ) = ∑ j p ( k j ∣ q i ) v j = ∑ j k ( q i , k j ) ∑ l k ( q i , k j ) v j ( 4 ) \begin{aligned}&Attention\left(q_i,K,V\right)=\sum_jp(k_j|q_i)v_j\\&=\sum_j\frac{k(q_i,k_j)}{\sum_lk(q_i,k_j)}v_j\end{aligned} \qquad (4) ?Attention(qi?,K,V)=j?p(kj?qi?)vj?=j?l?k(qi?,kj?)k(qi?,kj?)?vj??(4)
基于Informer,Graphformer使用KL(Kullback-Leibler)散度來衡量第 i i i個query K L ( q i , K ) KL\left(q_{i},K\right) KL(qi?,K)的概率分布 p ( k j ∣ q i ) p\left(k_j|q_i\right) p(kj?qi?)與均勻分布 q ( k j ∣ q i ) q\left(k_j|q_i\right) q(kj?qi?)之間的相似性。通過計算所有query的KL散度,并按降序排列,選擇前 u u u個queries Q ˉ ∈ R u × d s q \bar{Q}\in\mathbb{R}^{u\times d_{sq}} Qˉ?Ru×dsq?作為稀疏query矩陣,其中 u = c l n L Q u=clnL_Q u=clnLQ?,然后對所有key計算稀疏自注意分數。

自適應圖學習: 進一步討論稀疏自注意機制時,參考Graph WaveNet模型,Graphformer引入一種自適應圖學習方法來反映稀疏query矩陣 Q ˉ \bar{Q} Qˉ?的圖結構 G s q G_{sq} Gsq?,并自適應推斷出 Q ˉ \bar{Q} Qˉ?中的隱藏空間依賴關系。對于 G s q G_{sq} Gsq?,這個過程如下:
G s q = S o f t m a x ( E l u ( E q ˉ ? E q ˉ T ) ) ( 5 ) G_{sq}=Softmax\big(Elu\big(E_{\bar{q}}-E_{\bar{q}}^T\big)\big) \qquad (5) Gsq?=Softmax(Elu(Eqˉ???Eqˉ?T?))(5)

其中每行 E q ˉ ∈ R d e × d s q E_{\bar{q}}\in\mathbb{R}^{d_e\times d_{sq}} Eqˉ??Rde?×dsq?表示一個query的嵌入, d e d_{e} de?表示嵌入的維度。在訓練過程中,可訓練query的嵌入 E q ˉ E_{\bar{q}} Eqˉ??被隨機初始化并分配給所有節點,每對query之間的隱藏空間依賴關系通過矩陣乘法推斷,并在訓練過程中自動更新 E q ˉ E_{\bar{q}} Eqˉ??的梯度。

與Graph WaveNet不同,Graphformer選擇ELU激活函數來消除弱連接:
f ( x ) = { α × ( e x ? 1 ) , x ≤ 0 x , x > 0 ( 6 ) f\left(x\right)=\left\{\begin{array}{l}\alpha\times\left(e^x-1\right),x\leq0\\x,x>0\end{array}\right. \qquad (6) f(x)={α×(ex?1),x0x,x>0?(6)

其中 α \alpha α是設置的參數, ( e x ? 1 ) (e^{x}-1) (ex?1)函數部分使 E L U ( ? ) ELU(\cdot) ELU(?)對輸入噪聲更加穩健,線性部分使 E L U ( ? ) ELU(\cdot) ELU(?)避免梯度消失問題。 E L U ( ? ) ELU(\cdot) ELU(?)輸出的平均值接近于零,因此其收斂速度更快。最后,softmax用于歸一化和生成 Q ˉ \bar{Q} Qˉ?的自適應鄰接矩陣 G s q G_{sq} Gsq? G s q G_{sq} Gsq?的節點數 d s q d_{sq} dsq?。通過這種方式,可以在沒有任何先驗知識的情況下學習稀疏query矩陣 Q ˉ \bar{Q} Qˉ?的自適應鄰接矩陣,并將主導query映射到低維密集圖結構,這對于各種時間序列數據建模任務非常有效。

Graph Convolution Network: 對于時間序列輸入 X ∈ R L × d X\in\mathbb{R}^{L\times d} XRL×d,GCN可以通過一階切比雪夫多項式擴展很好地近似,并擴展到高維GCN。基于譜圖的圖卷積操作GC可以定義為:
X g = G C × X = A ~ X Θ ( 7 ) X_g=GC\times X=\widetilde{A}X\Theta \qquad (7) Xg?=GC×X=A XΘ(7)

其中 X g ∈ R P × d X_{g}\in\mathbb{R}^{P\times d} Xg?RP×d表示GCN的輸出, A ~ ∈ R d × d {\widetilde{A}\in\mathbb{R}^{d\times d}} A Rd×d表示圖的自循環歸一化鄰接矩陣, Θ ∈ R L × P \Theta\in\mathbb{R}^{L\times P} ΘRL×P表示參數矩陣。擴展GC后,可以得到:
X g = G C × X = ( I N + D ? 1 2 A D ? 1 2 ) X Θ + b ( 8 ) X_g=GC\times X=\left(I_N+D^{-\frac12}AD^{-\frac12}\right)X\Theta+b \qquad (8) Xg?=GC×X=(IN?+D?21?AD?21?)XΘ+b(8)

其中, I N I_{N} IN?表示單位矩陣, D ∈ R d × d D\in\mathbb{R}^{d\times d} DRd×d表示圖的度矩陣, A ∈ R d × d A\in\mathbb{R}^{d\times d} ARd×d表示圖的鄰接矩陣,且 D i i = ∑ j A i j D_{ii}=\sum_{j}A_{ij} Dii?=j?Aij? Θ ∈ R L × P \Theta\in\mathbb{R}^{L\times P} ΘRL×P b ∈ R P {b\in\mathbb{R}^{P}} bRP表示可訓練的權重和偏置, D ? 1 2 A D ? 1 2 D^{-\frac12}AD^{-\frac12} D?21?AD?21?表示歸一化拉普拉斯矩陣。Graphformer使用上述自適應生成的圖結構 G s q G_{sq} Gsq?來替換Eq.8中的 D ? 1 2 A D ? 1 2 D^{-\frac12}AD^{-\frac12} D?21?AD?21?,以提取主導query的依賴關系,并引入AGCRN提出的節點自適應參數學習模塊,來挖掘每個節點的獨特空間特征。計算過程如下所示:
X g = G C × X = ( I s q + G s q ) X E q ˉ W g + E q ˉ b g ( 9 ) X_g=GC\times X=(I_{sq}+G_{sq})XE_{\bar{q}}W_g+E_{\bar{q}}b_g \qquad (9) Xg?=GC×X=(Isq?+Gsq?)XEqˉ??Wg?+Eqˉ??bg?(9)

其中, T s q T_{sq} Tsq?表示單位矩陣, W g W_{g} Wg? b g b_{g} bg?表示可訓練的超參數。節點自適應參數學習模塊解決了由于 Θ \Theta Θ過大而導致的過擬合現象,因為難以優化每個節點的參數分配。具體來說,借鑒矩陣分解的思想,GCN學習兩個相對較小的矩陣 W g W_{g} Wg? b g b_{g} bg?來替換權重 Θ ∈ R ( k × u ) × ( k × u ) × d s q \Theta\in\mathbb{R}^{(k\times u)\times(k\times u)\times d_{sq}} ΘR(k×u)×(k×u)×dsq?和偏差 b ∈ R ( k × u ) × d s q b\in\mathbb{R}^{(k\times u)\times d_{sq}} bR(k×u)×dsq?。在這里, Θ = E q ˉ ? W g \Theta=E_{\bar{q}}\cdot W_{g} Θ=Eqˉ???Wg? b = E q ˉ ? b g b=E_{\bar{q}}\cdot b_{g} b=Eqˉ???bg?,其中 W g ∈ R ( k × u ) × ( k × u ) × d e W_{g}\in\mathbb{R}^{(k\times u)\times(k\times u)\times d_{e}} Wg?R(k×u)×(k×u)×de?表示權重池, b g ∈ R ( k × u ) × d e b_{g}\in\mathbb{R}^{(k\times u)\times d_{e}} bg?R(k×u)×de?表示偏差池, E q ˉ ∈ R d e × d s q E_{\bar{q}}\in\mathbb{R}^{d_{e}\times d_{sq}} Eqˉ??Rde?×dsq?表示可訓練的query嵌入, d e d_{e} de?表示嵌入維度, d s q d_{sq} dsq?表示圖中節點的數量,即序列特征維度, k k k表示多頭稀疏注意力頭的數量。通過這種分解方法,每個節點根據 E q ˉ E_{\bar q} Eqˉ??從共享的權重池 W g 和偏差池 W_{g}和偏差池 Wg?和偏差池b_{g}$中提取自己的參數,減少參數大小和訓練負擔,同時幫助模型學習時間序列的隱藏和獨特空間依賴關系。

綜上所述,為了找到稀疏query矩陣 Q ˉ \bar Q Qˉ?上節點之間的隱藏關聯,自適應圖學習層計算圖的鄰接矩陣,然后將該矩陣作為GCN的輸入,擴展到具有潛在空間相關性的稀疏query矩陣 Q ˉ g \bar Q_{g} Qˉ?g?
Q ˉ g = G C × Q ˉ = ( I s q + S o f t m a x ( E l u ( E q ˉ ? E q ˉ T ) ) ) Q ˉ Θ ( 10 ) \begin{aligned}&\bar{Q}_{g}=GC\times\bar{Q}\\&=\left(I_{sq}+Softmax\left(Elu\left(E_{\bar{q}}\cdot E_{\bar{q}}^T\right)\right)\right)\bar{Q}\Theta\end{aligned} \qquad (10) ?Qˉ?g?=GC×Qˉ?=(Isq?+Softmax(Elu(Eqˉ???Eqˉ?T?)))Qˉ?Θ?(10)

其中 Q ˉ g ∈ R d s q × P \bar{Q}_{g}\in\mathbb{R}^{d_{sq}\times P} Qˉ?g?Rdsq?×P Θ \Theta Θ表示所有可訓練參數的集合。根據Graphformer中衡量稀疏性的近似方法,第 i i i個query在稀疏query空間矩陣 Q ˉ g \bar Q_{g} Qˉ?g?中的概率分布 p ( k j ∣ q i g ) p(k_{j}|q_{ig}) p(kj?qig?)與均勻分布 q ( k j ∣ q i g ) q(k_{j}|q_{ig}) q(kj?qig?)之間的相似性,即第 i i i個query的稀疏性最大均值 ( q i g , K ) (q_{ig},K) (qig?,K),可以重寫為如下形式:
M a x M e a n ( q i g , K ) = m a x j { q i g k j T d } ? 1 L K ∑ j = 1 L K q i g k j T d ( 11 ) \begin{aligned}&MaxMean\left(q_{ig},K\right)=max_j\left\{\frac{q_{ig}{k_j}^T}{\sqrt{d}}\right\}\\&-\frac{1}{L_{K}}\sum_{j=1}^{L_{K}}\frac{q_{ig}{k_{j}}^{T}}{\sqrt{d}}\end{aligned} \qquad (11) ?MaxMean(qig?,K)=maxj?{d ?qig?kj?T?}?LK?1?j=1LK??d ?qig?kj?T??(11)

在實踐中,Graphformer只需隨機抽樣 U = L Q ln ? L K U=L_{Q}\ln L_{K} U=LQ?lnLK?個點積對(其余點積賦值為0),計算最大均值 M a x M e a n ( q i , K ) MaxMean(q_{i},K) MaxMean(qi?,K),并按大小排序,選擇前 u u u個query作為稀疏query矩陣 Q ˉ \bar Q Qˉ?,在自適應圖學習和GCN來提取空間依賴關系后生成 Q ˉ g \bar Q_{g} Qˉ?g?,更新 M a x M e a n ( q i g , K ) MaxMean(q_{ig},K) MaxMean(qig?,K),然后計算所有key以獲取稀疏圖自注意力分數SparseGraphAttention:
S p a r s e G r a p h A t t e n t i o n ( Q , K , V ) = S o f t m a x ( Q ˉ g K T d ) V ( 12 ) \begin{aligned}&SparseGraphAttention\left(Q,K,V\right)\\&=Softmax\left(\frac{\bar{Q}_gK^T}{\sqrt{d}}\right)V\end{aligned} \qquad (12) ?SparseGraphAttention(Q,K,V)=Softmax(d ?Qˉ?g?KT?)V?(12)

與傳統的稀疏自注意力機制相比,稀疏圖自注意力機制在學習的高維空間中計算隱藏的空間相關性,并與多頭自注意力結合,探索不同尺度潛在關系空間中的多種空間依賴關系。

2.2.3 多尺度特征融合(Multi-scale feature fusion)

受計算機視覺中focus層設計的啟發,Graphformer模型在編碼器中引入了多尺度特征融合設計,應用于長序列時間序列預測。Fig.4 展示了多尺度特征融合層在Graphformer編碼器中的設計,其中來自每個自注意力塊的不同粒度級別的三個特征圖被融合成一個特征圖。具體來說,當編碼器堆疊n個自注意力塊時,每個自注意力塊將生成一個特征圖,其中第k個(k=1,2,…,n)特征圖的長度為 L / 2 k ? 1 L/2^{k-1} L/2k?1,維度為d。為了融合不同粒度級別的特征圖,第k個特征圖被輸入到多尺度特征融合層,切割成長度為 L / 2 n ? 1 L/2^{n-1} L/2n?1 2 n ? k 2^{n-k} 2n?k個特征圖。切割操作后,所有特征圖沿維度連接成一個維度為 ( 2 n ? 1 ) × d (2^{n}-1)\times d (2n?1)×d的融合特征圖。最后,添加一個1D卷積層,確保整個編碼器輸出一個具有適當維度d的特征圖,以形成隱藏狀態 H t ? R L 4 × d H^{t}\epsilon\mathbb{R}^{\frac{L}{4}\times d} Ht?R4L?×d

需要注意的是,多尺度特征融合操作的功能類似于Informer中的蒸餾操作。然而,蒸餾操作需要構建許多額外的編碼器,其數量與自注意力塊的數量相同,導致相當大的計算開銷。而Graphformer模型只需要使用一個多尺度特征融合的編碼器,就可以降低計算成本并提取各種細粒度特征。
在這里插入圖片描述

Fig.4 堆疊了三個自注意力塊的編碼器結構

2.2.4 時間慣性融合層(Time inertia fusion layer)

時間慣性塊直接將輸入序列 X t X^{t} Xt中長度最后的子序列作為預測范圍P的輸出,即 Y t ˉ = { x L ? P + 1 t , x L ? P + 2 t , … , x L t } \bar{Y^{t}}=\left\{x_{L-P+1}^{t},x_{L-P+2}^{t},\ldots,x_{L}^{t}\right\} Ytˉ={xL?P+1t?,xL?P+2t?,,xLt?},具體過程如 Fig.5 所示。不難看出,時間慣性要求預測序列的長度小于輸入序列的長度,即 P ≤ L P \le L PL。在長時間序列預測的實際應用場景中,數據集通常比預測范圍P大幾個數量級,這很容易實現。獲得時間慣性輸出后,將深度學習模型的輸出進行加權和求和,得到最終的預測結果。

預測序列和輸入序列之間的相似性對于時間慣性至關重要。對于長時間序列,可預測序列的時間模式更加穩定,反映了更完整的周期性,這體現在預測序列和輸入序列的相位和振幅的相似性上。在這種情況下,應用時間慣性可能會顯著提高預測性能,尤其是當預測范圍是時間序列周期長度的整數倍時。

復雜的深度學習模型在一定程度上通過嵌入周期時間戳作為輸入序列考慮了這種慣性。然而,自注意力機制和卷積操作的非線性特性導致它們的輸出對最近范圍內的輸入不夠敏感。這意味著在某些變化相對平緩的長時間序列周期中,時間慣性將發揮重要作用。因此,直接利用時間慣性信息來改進最終的預測結果可能是有益的。
在這里插入圖片描述

Fig.5 時間慣性機制的輸入輸出示意圖

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/38153.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/38153.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/38153.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python自動移除excel文件密碼(小工具)

安裝 msoffcrypto-tool 使用pip命令安裝: 打開命令行工具(如終端、命令提示符或Powershell),然后輸入以下命令來安裝msoffcrypto-tool: pip install msoffcrypto-tool庫,進行自動移除excel文件密碼 import msoffcrypt…

【C++】using namespace std 到底什么意思

📢博客主頁:https://blog.csdn.net/2301_779549673 📢歡迎點贊 👍 收藏 ?留言 📝 如有錯誤敬請指正! 📢本文作為 JohnKi 的學習筆記,引用了部分大佬的案例 📢未來很長&a…

新手練習項目 7:猜數字游戲

名人說:莫聽穿林打葉聲,何妨吟嘯且徐行。—— 蘇軾《定風波莫聽穿林打葉聲》 Code_流蘇(CSDN)(一個喜歡古詩詞和編程的Coder) 目錄 一、項目描述二、項目實現三、項目步驟四、項目擴展方向 更多項目內容,請關注我、訂…

comsol學習筆記

comsol巖土力學與流固耦合的學習 comsol的相關視頻教程 https://www.bilibili.com/video/BV1Cu4y1r7Gn/?spm_id_from333.337.search-card.all.click&vd_source02b2bad477a153eaeb9c48cbbedaf8df [這里面有講解地應力平衡技術] https://www.bilibili.com/video/BV17C4y1j…

打靶記錄——靶機medium_socnet

靶機下載地址 https://www.vulnhub.com/entry/boredhackerblog-social-network,454/ 打靶過程 由于靶機和我的Kali都處于同一個網段,所以使用arpscan二次發現技術來識別目標主機的IP地址 arpscan -l除了192.168.174.133,其他IP都是我VMware虛擬機正…

【Spring Boot】認識 JPA 的接口

認識 JPA 的接口 1.JPA 接口 JpaRepository2.分頁排序接口 PagingAndSortingRepository3.數據操作接口 CrudRepository4.分頁接口 Pageable 和 Page5.排序類 Sort JPA 提供了操作數據庫的接口。在開發過程中繼承和使用這些接口,可簡化現有的持久化開發工作。可以使 …

springboot學習,如何用redission實現分布式鎖

目錄 一、springboot框架介紹二、redission是什么三、什么是分布式鎖四、如何用redission實現分布式鎖 一、springboot框架介紹 Spring Boot是一個開源的Java框架,由Pivotal團隊(現為VMware的一部分)于2013年推出。它旨在簡化Spring應用程序…

大數據面試題之Spark(1)

目錄 Spark的任務執行流程 Spark的運行流程 Spark的作業運行流程是怎么樣的? Spark的特點 Spark源碼中的任務調度 Spark作業調度 Spark的架構 Spark的使用場景 Spark on standalone模型、YARN架構模型(畫架構圖) Spark的yarn-cluster涉及的參數有哪些? Spark提交jo…

橫穿自動駕駛

如果有一條線,可以穿起來所有自動駕駛的核心模塊,那么我感覺它就是最優化,選擇優化變量、構造優化問題、求解優化問題,這幾個步驟貫穿了自動駕駛的始終。 先從我的自身接觸順序寫起。最開始做個一點深度學習,那還是20…

編碼大模型系列:Meta創新的“代碼編譯優化”的LLM

魯班號導讀正式上線。移步“魯班秘笈”,查閱更多內容。 大型語言模型 (LLM) 已在各種軟件工程和編碼任務中展現出卓越的能力。然而,它們在代碼和編譯器優化領域的應用仍未得到充分探索。訓練LLM需要大量資源,需要大量的 GPU時間和大量的數據…

23、架構-服務網格之透明通信涅槃

通信成本 在現代分布式系統中,服務之間的通信是不可避免的。然而,這種通信帶來了額外的復雜性和成本。傳統的通信方式如RPC(Remote Procedure Call)和REST(Representational State Transfer),雖…

Hive 實操案例五:統計每個類別中 Top10 的視頻熱度

一、數據表結構 視頻表 t_video 字段注釋描述videoId視頻唯一 id(String)11 位字符串uploader視頻上傳者(String)上傳視頻的用戶名 Stringage視頻年齡(int)視頻在平臺上的整數天category視頻類別&#xff0…

一個合理的前端應用文件結構

在大型應用中,最關鍵且最具挑戰性的方面之一就是擁有一個良好且合理的文件結構。在考慮通過微前端將代碼庫拆分成多個應用之前,可以遵循一些步驟來改善項目級別的架構,并在您考慮這一路徑時使過渡更容易。 我們的目標是應用某種模塊化方法&am…

MSPM0G3507——定時器例程講解4——timx_timer_mode_periodic

以下示例以周期模式配置TimerG并切換LED。周期從500ms開始,每次切換減少50ms,直到周期為100ms,然后重復。設備在等待中斷時保持待機模式 #include "ti_msp_dl_config.h"/* ((32KHz / (321)) * 0.5s) 45 - 1 495 due to N1 ticks …

MySQL入門學習-MySQL日志.錯誤日志

錯誤日志是 MySQL 中一種記錄服務器運行過程中錯誤信息的日志文件。它可以幫助管理員或開發人員快速定位和解決問題。 一、MySQL 中的錯誤日志具有以下特點: - 記錄錯誤信息: 錯誤日志主要記錄服務器在運行過程中發生的錯誤信息,包括但不限…

【算法 之選擇排序 原理及案例】

選擇排序(Selection Sort) 是一種簡單直觀的排序算法。它的工作原理是:首先在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,然后,再從剩余未排序元素中繼續尋找最小…

Memcached的API使用指南:常用操作與示例代碼

Memcached 是一個高性能、分布式內存對象緩存系統,常用于加速動態Web應用程序,減輕數據庫負載。本文將介紹如何使用Memcached的API進行常用操作,并提供示例代碼。 1. 安裝Memcached客戶端庫 在使用Memcached之前,需要安裝相應的…

Qt中用QLabel創建狀態燈

首先ui設計中分別創建了4個大燈和4個小燈。 編輯.h文件 #ifndef LED_H #define LED_H#include <QWidget> #include <QLabel>QT_BEGIN_NAMESPACE namespace Ui { class Led; } QT_END_NAMESPACEclass Led : public QWidget {Q_OBJECTpublic:Led(QWidget *parent n…

Spring MVC數據綁定和響應——復雜數據綁定(四)JSON數據綁定

一、消息轉換器—HttpMessageConverter接口 客戶端不同的請求&#xff0c;HttpServletRequest中數據的MediaType可能會不同&#xff0c;如果想將HttpServletRequest中的數據轉換成指定對象&#xff0c;或者將對象轉換成指定格式的數據&#xff0c;就需要使用對應的消息轉換器來…

服務器硬件以及RAID配置

目錄 一、RAID磁盤陣列原理&#xff08;嘎嘎重要&#xff09; 1、RAID的概述 2、常用的RAID 2.1、RAID 0 2.2、RAID 1 2.3、RAID 5 2.5、RAID 10 3、陣列卡介紹 二、建立軟件RAID磁盤陣列 1、添加硬盤 2、使用fdisk分區&#xff0c;類型為fd 3、mdata命令使用參數 …