PatchTST 在 Hugging Face 的整合
Hugging Face 已整合 PatchTST,一種基於 Transformer 的模型,專為長期時間序列預測而設計。透過將時間序列切割為子序列層級的 patch,並採用通道獨立的架構,PatchTST 在降低計算負擔的同時,保留局部語意資訊,並擴展模型的歷史上下文視窗。
PatchTST 架構與核心機制
PatchTST 透過兩個主要技術組件,提升了傳統 Transformer 在時間序列預測中的應用。
時間序列 Patch
PatchTST 不再將單一時間點視為 token,而是將時間序列向量化為固定大小的 patch。此設計提供了三項具體優勢:
- Local Semantic Retention: 本地模式在嵌入中得以保留。
- Computational Efficiency: 由於在 patch 之間使用 stride,注意力圖的記憶體與計算需求相較於回溯視窗呈二次方降低。
- Extended Context: 透過平衡 patch 長度(向量大小)與上下文長度(序列數),模型能夠關注更長的歷史序列。
通道獨立性
PatchTST 將每個通道視為單一的單變量時間序列。所有單變量序列共享相同的嵌入與 Transformer 權重,實際上作為一個全域的單變量模型運作。
模型能力與訓練策略
PatchTST 具備模組化設計,支援監督式預測與自監督式遮蔽時間序列預訓練。
直接預測
在監督式設定下,模型使用 patch 向量輸出特定預測長度的預測結果。於 Electricity 資料集上訓練時,模型取得了 0.131 的均方誤差(MSE),與原始研究論文報告的結果相符。
遷移學習與零樣本效能
PatchTST 展示了強大的遷移學習能力,允許在一個來源領域預訓練的模型應用於目標領域。在將模型從 Electricity 資料集遷移至 ETTh1 資料集的測試中,觀察到以下效能層級:
- Zero-Shot Forecasting: 在目標領域直接評估未經額外訓練的預訓練模型,得到 MSE 為 0.370。
- Linear Probing: 僅在凍結的預訓練骨幹上訓練線性層,將 MSE 降至 0.357。
- Full Fine-Tuning: 在目標資料上進行完整模型微調,MSE 為 0.354。
實作與整合
PatchTST 可透過 Hugging Face Transformers 套件取得。資料前處理方面,實作使用 IBM tsfm 套件。
PatchTSTConfig 的關鍵設定參數包括:
context_length:作為輸入的歷史資料量。patch_length:從上下文視窗中提取的 patch 長度。patch_stride:提取 patch 時使用的 stride。d_model:Transformer 層的維度。num_attention_heads:每層的注意力頭數。