天天看點

A Transformer-based Framework for Multivariate Time Series Representation LearningA Transformer-based Framework for Multivariate Time Series Representation Learning

文章目錄

  • A Transformer-based Framework for Multivariate Time Series Representation Learning
    • Related work(相關工作)
    • Motivation(問題背景)
    • Contribution(貢獻)
    • Model(模型)
      • Unsupervised (self-supervised) pre-training(無監督和自監督預訓練)
    • Regression and classification(回歸和分類)
    • Experiment(實驗)

A Transformer-based Framework for Multivariate Time Series Representation Learning

原文:A Transformer-based Framework for Multivariate Time Series Representation Learning | Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery & Data Mining

**出處:**KDD-2021

**摘要:**我們提出了一種基于Transformer編碼器架構的多變量時間序清單示學習的新架構。該架構包括一個無監督的預訓練方案,它在性能方面對下遊的監督學習任務有明顯的提升,無論是否使用利用額外的未标記資料,即通過重用現有的資料樣本。在我們的幾個來自不同領域和具有不同特征的公共多元時間序列資料集上評估架構,證明了它比目前可用最好的回歸和分類方法表現明顯更好,即使對于隻有幾百個訓練樣本組成的資料集也是如此。鑒于科學和工業中幾乎所有領域對無監督學習的顯著興趣,這些發現代表了一個重要的裡程碑,提出了第一個無監督方法,推動了多元時間序列回歸和分類的最先進性能的極限。

Related work(相關工作)

  • 目前的研究重點方向為:通過僅使用有限數量的标記資料或利用現有的大量未标記資料來提供高精度的方法
  • 與計算機視覺和自然語言處理領域不同,在時間序列資料上深度學習的優勢還遠遠建立
  • Transformer的成功之處在于可用獨立于任務進行進行資料表示的預訓練
  • 對于回歸和分類任務,目前,非深度學習方法如TS_CHIEF,HIVE-COTE和ROCKET基于公共評估基準成為了最先進的時間序列回歸和分類方法,其次是基于cnn的深度架構,如InceptionTime和ResNet。平均來說,ROCKET是最好的排名方法,包括在大量和各種随機卷積核提取的特征之上訓練線性分類器。MiniROCKET,在ROCKET的基礎上提高了他在時間次元的處理能力,同時提供了與ROCKET相同的精度。HIVE-COTE和TS_CHIEF模型的靈感來源于鄰近森林,模型很複雜且依賴于對時序資料的經驗,需要利用shapelet轉換、彈性相似度度量、光譜特征、随機區間、基于字典的分類器等等,這些方法計算複雜對具有大量樣本和長時間序列的資料集較差,且計算成本非常高。
  • Transformer模型基于一種多頭注意機制,該機制使它們特别适合時間序列資料:它們通過考慮每個輸入序列元素的上下文(未來-過去)來同時表示每個輸入序列元素,而多個注意頭可以考慮不同的表示子空間,即輸入元素之間的多個相關性。
  • 為了實作處理時間序列中缺失值的目标,使用堆疊雙向RNN作為編碼器和堆疊RNN作為解碼器來重構輸入資料,同時使用使用者提供的核矩陣作為先驗條件控制内部表示,并鼓勵學習輸入的相似性表示。
  • 為了實作聚類的目的,通過矩陣分解算法(DTW)來進行序列間距離的近似度量可用很好的保持時間序列之間的相似性
  • 一種語言時間序列異常檢測的方法,使用一個複合卷積LSTM網絡重建多元時間序列之間的相關矩陣
  • 依賴于三元組損失和時間接近性的想法(損失函數會獎勵近端段之間的表征相似性,并懲罰時間序列的遠端段之間的相似性)來進行音頻資料的無監督表示學習。
  • 時間序列在基于Transformer的編碼器使用方面

Motivation(問題背景)

深度學習的優勢在時間序列遠未建立

Contribution(貢獻)

  • 在這項工作中,首次提出了使用transformer作為編碼器進行多元時間序列無監督表示學習,并應用于時間序列回歸和分類任務
  • 第一次證明無監督學習在多元時間序列的分類和回歸方面即使沒有使用額外的未标記資料樣本也比監督學習更具優勢。
  • 提出了一種通用的多元時間序清單示學習架構TST,首先訓練Transformer使用自回歸的方法對輸入資料去噪,提取多元時間序列的密集向量表示。
  • 将Transformer使用從一個編碼器-解碼器的架構推廣到一個更廣泛的架構去适應無監督的與訓練過程,該架構可以通過修改輸出層服務于多種時間序列分析的下遊任務。

Model(模型)

A Transformer-based Framework for Multivariate Time Series Representation LearningA Transformer-based Framework for Multivariate Time Series Representation Learning
  • 模型隻使用了Transformer的編碼器部分,沒有使用解碼器,這樣得到的架構對于時間序列任務是通用的。這樣做可以減少大量的參數,節約算力避免過拟合。模型對Transformer做出了改變,使得原本适用于離散的單詞索引序列轉變為可以适用于多元時間序列。
  • 對于多元時間序列,原始特征向量首先标準化(在訓練集樣本對于每個次元,減去均值和除以方差),然後線性投影到𝑑維向量空間,其中𝑑為Transformer模型序列元素表示的次元。
  • 對于資料 W p ∈ R d × m W_p\in \mathbb{R}^{d\times m} Wp​∈Rd×m,當 m = 1 m=1 m=1時,該模型即可用于單維的時間序列。

對于每個訓練樣本 X ∈ R w × m X\in \mathbb{R}^{w \times m} X∈Rw×m,是一個長度為 w w w,變量個數為 m m m的多元時間序列,構成一個多元時間序列特征向量 x t ∈ R m : X ∈ R w × m = [ x i , x 2 , … , x w ] x_t \in \mathbb{R}^{m}:X\in\mathbb{R}^{w \times m}=[x_i,x_2,\dots,x_w] xt​∈Rm:X∈Rw×m=[xi​,x2​,…,xw​],對原始特征向量 x t x_t xt​首先進行标準化(對于每個次元,減去均值和除以方差)然後線性映射到 d d d維向量空間,其中 d d d為Transformer模型序列元素表示的次元。

u t = W p x t + b p u_t=W_px_t+b_p ut​=Wp​xt​+bp​

其中, W p ∈ R d × m W_p\in \mathbb{R}_{d\times m} Wp​∈Rd×m​, b p ∈ R d b_p\in R_d bp​∈Rd​是可以學習的參數, u t ∈ R d , t = 0 , … , w u_t\in\mathbb{R}^d,t=0,\dots ,w ut​∈Rd,t=0,…,w,是模型的輸入向量(上式顯示了單個時間步長的操作,但所有的輸入向量都通過一個矩陣-矩陣乘法同時嵌入),對應于NLP任務的詞向量。在添加位置編碼并乘以相應的矩陣之後,這些将成為自注意層的查詢向量、鍵向量和值向量。

此外還可以注意到輸入向量 u t u_t ut​不一定在時間步長為 t t t時從特征向量中獲得,模型的計算複雜度為 O ( ω 2 ) O(\omega^2) O(ω2)對于某些參數(可學習的位置編碼、批處理規範化和輸出層),輸入序列長度為 ω \omega ω,為確定資料粒度(資料分辨率)較好,可以使用一個一維卷積層(1個輸入和d個輸出通道),卷積核 K i K_i Ki​的大小為 ( k , m ) (k,m) (k,m),其中k是時間步長的寬度,i是輸出通道

u t i = u ( t , i ) = ∑ j ∑ h x ( t = j , h ) K i ( j , h ) ,   i = 1 , … , d u_t^i=u(t,i)=\sum_j{\sum_h{x(t=j,h)K_i(j,h)}}, \ i=1,\dots,d uti​=u(t,i)=j∑​h∑​x(t=j,h)Ki​(j,h), i=1,…,d

這樣就可以使用大于1的步幅或擴張因子來控制時間分辨率,雖然在該工作中隻使用到了第一個公式,但可以使用第二個公式作為輸入來計算查詢向量和值向量,并使用第一個公式來計算自注意力層的值。這在單變量時間序列的情況下特别有用,否則自注意将比對(考慮相關/相容)所有時間步長。雖然我們觀察到,對于某些由更長和更低維時間序列組成的資料集,使用一維卷積層的性能有所提高,但在目前的工作中,為了提出一個單一的架構架構,我們放棄了這些結果。

最後,由于Transformer是一個對輸入順序不敏感的前饋體系結構,為了了解時間序列的序列性質,我們将位置編碼 𝑊 p o s R 𝑤 × 𝑑 𝑊_{pos} \mathbb R_{𝑤×𝑑} Wpos​Rw×d​添加到輸入向量 U ∈ R w × b = [ u 1 , … , u w ] : U = U ′ + W p o s U\in \mathbb R^{w \times b}=[u_1,\dots,u_w]:U=U'+W_{pos} U∈Rw×b=[u1​,…,uw​]:U=U′+Wpos​。

相比于确定性的正弦編碼,使用完全可學習的位置編碼對本工作中提出的所有資料集表現更好。基于模型的性能,觀察到位置編碼通常不會對時間序列的數值資訊産生顯著幹擾,類似于詞嵌入的情況;假設這是因為位置資訊被學習,進而占據一個不同的近似正交的子空間,來投影時間序列樣本所在的子空間。這種近似正交條件在高維空間中更容易滿足。

時間序列資料的一個重要因素是單個樣本可能有相當大的長度變化。在該模型中首先得到資料集中最大的序列長度,較短的樣本用任意值進行填充,在之後的注意力機制中利用生成的一個填充掩碼,為填充布馮的之以利分數添加一個較大的負值,之後使用softmax函數計算自注意力的分布,使得模型可以忽略填充部分的值。

NLP中的Transformer在計算自注意後和每個編碼器塊的前饋部分後使用層歸一化,導緻比批歸一化有顯著的性能提高。然而,在這裡使用批歸一化,這可以減輕時間序列中離群值的影響,這是在NLP詞嵌入中沒有出現的問題。NLP任務批歸一化的性能較差主要歸因于樣本長度的極端變化(即在大多數應用程式中的句子長度),而在我們在這裡研究的資料集中,這種變化要小得多。通過實驗證明了批處理歸一化确實可以比層歸一化提供顯著的性能好處,而其程度可能會根據資料集的特性而有所不同。

Unsupervised (self-supervised) pre-training(無監督和自監督預訓練)

作為模型的無監督與訓練過程,使用了自回歸任務做時間序列的降噪輸入,具體做法為:将輸入資料的某些值設定為0,使用模型去預測這些資料。每個訓練樣本和epoch獨立建立一個二進制噪聲 M ∈ R w × m M\in\mathbb R^{w\times m} M∈Rw×m,輸入任務通過元素乘法 X ~ = M ⨀ X \widetilde X=M\bigodot X X

=M⨀X進行,平均而言,通過長度為0s和1s的交替,每個長度為w的序列(多變量時間序列中的一個序列)被掩蓋的比例為r。

我們選擇狀态轉換機率,這樣每個掩碼段(序列為0s)的長度遵循平均 l m l_m lm​的幾何分布,然後是一個平均長度為 l u = 1 − r r l m l_u= {1-r\over r}l_m lu​=r1−r​lm​的未掩碼段(序列為 1 s 1_s 1s​)。我們在所有提出的實驗中都選擇了 𝑙 𝑚 = 3 𝑙_𝑚=3 lm​=3。

我們希望控制掩蔽序列的長度,而不是簡單地使用參數𝑟的伯努利分布來獨立設定所有掩蔽元素随機,原因是輸入中非常短的掩蔽序列(例如,1掩蔽元素)通常可以通過複制前面或之後的值或其平均值來進行簡單的近似預測。為了獲得足夠長的具有相對較高可能性的掩蔽序列,需要一個非常高的掩蔽比例𝑟,這将使整個任務具有不利的挑戰性。為了獲得足夠長的具有較高可能性的掩蔽序列,需要非常高的掩蔽比例𝑟,這将使整個任務具有不利的挑戰性。按照上述過程,在每個時間步長,平均𝑟·𝑚變量将被掩蓋。我們根據經驗發現𝑟=0.15工作良好,并将其用于所有提出的實驗。這個輸入掩蔽過程不同于BERT等NLP模型使用的“阻塞類型”掩蔽,在BERT中,一個特殊的标記,是以單詞嵌入向量替換了原始單詞嵌入,即在受影響的時間步長的整個特征向量。我們選擇這種掩蔽模式是因為它鼓勵模型學習關注單個變量的之前和後續部分,以及時間序列中其他變量的現有當代值,進而學習對變量之間的互相依賴關系進行模組化。在表3中,我們顯示了這種掩蔽方案比其他去噪輸入的可能性更有效。

每個時間步長中,在 z t ∈ R d z_t\in \mathbb R^d zt​∈Rd的線形層使用參數 W o ∈ R m × d W_o\in R_{m\times d} Wo​∈Rm×d​, b o ∈ R m b_o\in \mathbb R^m bo​∈Rm,同時,模型會輸出完整的輸入向量的估計值 x ^ t \hat x_t x^t​,但是在這個過程中隻考慮了設定的掩碼噪聲對資料樣本的均方誤差損失

x ^ t = W o z t + b o L M S E = 1 ∣ M ∣ ∑ ( t , i ) ∑ ∈ M ( x ^ ( t , i ) − x ( t , i ) ) 2 \hat x_t=W_oz_t+b_o \\ \mathcal L_{MSE}={1\over |M|}\sum_{(t,i)}\sum_{\in M}(\hat x(t,i)-x(t,i))^2 x^t​=Wo​zt​+bo​LMSE​=∣M∣1​(t,i)∑​∈M∑​(x^(t,i)−x(t,i))2

這個目标與去噪自動編碼器所使用的目标不同,後者的損失考慮在(通常是高斯)噪聲破壞下的整個輸入的重建。此外,我們注意到,上述方法不同于簡單的dropout在輸入嵌入上,這與掩碼值的統計分布有關,以及在這裡掩碼也決定了損失函數這一事實。事實上,我們在訓練所有的有監督和無監督模型時,還使用了10%的dropout。

Regression and classification(回歸和分類)

TST為一個統一的時間序列預訓練模型,在将其應用于分類任務時需要對模型做出以下修改:

所有時間步長的最終表示向量 z t ∈ R d z_t\in \mathbb R^d zt​∈Rd連接配接到一個向量 z ˉ ∈ R d ⋅ w = [ z 1 ; …   ; z W ] \bar z\in \mathbb R^{d\cdot w}=[z_1;\dots;z_W] zˉ∈Rd⋅w=[z1​;…;zW​]作為參數為 W o ∈ R n × ( d ⋅ w ) W_o\in \mathbb R^{n\times(d\cdot w)} Wo​∈Rn×(d⋅w)和 b o ∈ R n b_o\in \mathbb R^n bo​∈Rn的線性輸出層的輸入,其中n為回歸問題的标量數或分類問題的類數

y ^ = W O z ˉ + b o \hat y = W_O\bar z+b_o y^​=WO​zˉ+bo​

将回歸問題的損失定義為均方誤差 L = ∥ y ^ − y ∥ 2 \mathcal L=\|\hat y -y\|^2 L=∥y^​−y∥2,其中 y ∈ R n y\in \mathbb R^n y∈Rn為為分類準确性。

在分類問題中, y ^ \hat y y^​通過一個softmax函數獲得類上的分布。使用預測标簽與真實标簽的交叉熵作為分類損失。

Experiment(實驗)

資料集資訊:

A Transformer-based Framework for Multivariate Time Series Representation LearningA Transformer-based Framework for Multivariate Time Series Representation Learning

**問題1:**給定一個有部分标簽的資料集,額外的标簽将如何影響性能?

監督學習和無監督預訓練都會随着标簽的增加表現出更好地性能,但是無監督預訓練的表現要好于監督學習

A Transformer-based Framework for Multivariate Time Series Representation LearningA Transformer-based Framework for Multivariate Time Series Representation Learning

**問題2:**給定一個帶标簽的資料集,額外的未帶标簽的資料集将如何影響性能?

對于無監督預訓練,使用額外的未帶标簽的資料越多,均方誤差越小

A Transformer-based Framework for Multivariate Time Series Representation LearningA Transformer-based Framework for Multivariate Time Series Representation Learning

模型在回歸和分類任務上的表現

A Transformer-based Framework for Multivariate Time Series Representation LearningA Transformer-based Framework for Multivariate Time Series Representation Learning

模型與Baseline的對比實驗結果

A Transformer-based Framework for Multivariate Time Series Representation LearningA Transformer-based Framework for Multivariate Time Series Representation Learning

繼續閱讀