這篇論文的創新點主要集中在PatchTST模型的設計和應用中。以下是對其創新點的詳細說明:
創新點
-
頻道獨立補丁設計:PatchTST模型通過將多變量時間序列分割成不同的頻道,每個頻道作為單變量時間序列處理。每個頻道獨立地通過實例歸一化操作和補丁分割過程,避免了傳統方法中可能的頻道間信息混雜,提高了模型的泛化能力和效率。
-
補丁(Patching):補丁設計的引入顯著減少了模型的時間和空間復雜度。通過將輸入序列分割成長度為 P P P的補丁,并以步幅 S S S進行非重疊分割,使得輸入標記的數量從 L L L減少到 L / S L/S L/S。這使得注意力圖的內存使用和計算復雜度減少了 S S S倍,從而在計算資源有限的情況下允許模型查看更長的歷史序列。
-
自監督表示學習:引入了掩碼自監督學習機制,通過隨機選擇并掩碼部分補丁,模型被訓練來重建這些被掩碼的補丁。這樣,模型不僅在監督預測任務中表現出色,還能在無標簽數據上學習有用的表示,從而提高了表示的通用性和遷移能力。
公式詳細解釋
補丁過程公式
N = ? L ? P S ? + 2 N = \left\lfloor \frac{L-P}{S} \right\rfloor + 2 N=?SL?P??+2
其中, N N N是補丁的數量, L L L是輸入序列長度, P P P是補丁長度, S S S是步幅。這個公式用于計算輸入序列在分割成補丁后的補丁數量。
補丁的生成過程可以用以下公式描述:
x p ( i ) ∈ R P × N \mathbf{x}^{(i)}_p \in \mathbb{R}^{P \times N} xp(i)?∈RP×N
其中, x p ( i ) \mathbf{x}^{(i)}_p xp(i)?是第 i i i個單變量序列的補丁矩陣,維度為 P × N P \times N P×N。
Transformer編碼器
補丁通過可訓練的線性投影映射到Transformer潛在空間:
x d ( i ) = W p x p ( i ) + W p o s \mathbf{x}^{(i)}_d = \mathbf{W}_p \mathbf{x}^{(i)}_p + \mathbf{W}_{pos} xd(i)?=Wp?xp(i)?+Wpos?
其中, W p ∈ R D × P \mathbf{W}_p \in \mathbb{R}^{D \times P} Wp?∈RD×P是線性投影矩陣, W p o s ∈ R D × N \mathbf{W}_{pos} \in \mathbb{R}^{D \times N} Wpos?∈RD×N是可學習的加性位置編碼, x d ( i ) ∈ R D × N \mathbf{x}^{(i)}_d \in \mathbb{R}^{D \times N} xd(i)?∈RD×N是投影后的補丁表示。
多頭注意力機制的計算公式為:
Q h ( i ) = ( x d ( i ) ) T W h Q , K h ( i ) = ( x d ( i ) ) T W h K , V h ( i ) = ( x d ( i ) ) T W h V \mathbf{Q}^{(i)}_h = (\mathbf{x}^{(i)}_d)^T \mathbf{W}^Q_h, \quad \mathbf{K}^{(i)}_h = (\mathbf{x}^{(i)}_d)^T \mathbf{W}^K_h, \quad \mathbf{V}^{(i)}_h = (\mathbf{x}^{(i)}_d)^T \mathbf{W}^V_h Qh(i)?=(xd(i)?)TWhQ?,Kh(i)?=(xd(i)?)TWhK?,Vh(i)?=(xd(i)?)TWhV?
其中, W h Q , W h K ∈ R D × d k \mathbf{W}^Q_h, \mathbf{W}^K_h \in \mathbb{R}^{D \times d_k} WhQ?,WhK?∈RD×dk?, W h V ∈ R D × D \mathbf{W}^V_h \in \mathbb{R}^{D \times D} WhV?∈RD×D。
注意力輸出的計算公式為:
( O h ( i ) ) T = Attention ( Q h ( i ) , K h ( i ) , V h ( i ) ) = Softmax ( Q h ( i ) ( K h ( i ) ) T d k ) V h ( i ) (\mathbf{O}^{(i)}_h)^T = \text{Attention}(\mathbf{Q}^{(i)}_h, \mathbf{K}^{(i)}_h, \mathbf{V}^{(i)}_h) = \text{Softmax} \left( \frac{\mathbf{Q}^{(i)}_h (\mathbf{K}^{(i)}_h)^T}{\sqrt{d_k}} \right) \mathbf{V}^{(i)}_h (Oh(i)?)T=Attention(Qh(i)?,Kh(i)?,Vh(i)?)=Softmax(dk??Qh(i)?(Kh(i)?)T?)Vh(i)?
損失函數
L = E x 1 M ∑ i = 1 M ∥ x ^ L + 1 : L + T ( i ) ? x L + 1 : L + T ( i ) ∥ 2 2 \mathcal{L} = \mathbb{E}_{\mathbf{x}} \frac{1}{M} \sum_{i=1}^{M} \left\| \hat{\mathbf{x}}^{(i)}_{L+1:L+T} - \mathbf{x}^{(i)}_{L+1:L+T} \right\|^2_2 L=Ex?M1?i=1∑M? ?x^L+1:L+T(i)??xL+1:L+T(i)? ?22?
該公式表示我們選擇使用均方誤差(MSE)損失來衡量預測值與真實值之間的差異。每個頻道中的損失匯總并在 M M M個時間序列上取平均值,以獲得總體目標損失。
結論
論文通過創新性的PatchTST模型,利用補丁分割和自監督學習顯著提高了時間序列預測的性能。通過減少計算復雜度和提高表示學習能力,PatchTST展示了其在處理長時間序列預測任務中的優勢。