時間序列分析的表示學(xué)習(xí)時代來了?
表示學(xué)習(xí)作為深度學(xué)習(xí)中的核心,近期越來越多的被應(yīng)用到了時間序列領(lǐng)域中,時間序列分析的表示學(xué)習(xí)時代已經(jīng)來了。本文為大家?guī)砹?020年以來頂會的5篇時間序列表示學(xué)習(xí)相關(guān)的核心工作梳理。
1.Unsupervised Scalable Representation Learning for Multivariate Time Series(NIPS'20)
本文的時間序列表示學(xué)習(xí)方法思路來源于經(jīng)典的詞向量模型CBOW。CBOW中的假設(shè)是,一個單詞的上下文表示應(yīng)該和該單詞的表示比較近,同時和其他隨機(jī)采樣的單詞表示比較遠(yuǎn)。本文將這種思路應(yīng)用到時間序列表示學(xué)習(xí)中,首先需要構(gòu)造CBOW中的上下文(context)和隨機(jī)負(fù)樣本,構(gòu)造方法如下圖所示。首先選擇一個時間序列xref,以及xref中的一個子序列xpos。,xref可以看成是xpos的context。同時,隨機(jī)從其他時間序列,或者當(dāng)前時間序列的其他時間片段中采樣多個負(fù)樣本xneg。這樣就可以構(gòu)造類似CBOW的損失函數(shù)了,讓xref和xpos離得近,同時讓xref和其他負(fù)樣本xneg距離遠(yuǎn)。
在模型結(jié)構(gòu)上,本文采用了多層空洞卷積的結(jié)構(gòu),這部分模型結(jié)構(gòu)在之前的文章中有過詳細(xì)介紹。
2.Unsupervised representation learning for time series with temporal neighborhood coding(ICLR'21)
本文提出的方法在正負(fù)樣本的選擇上和損失函數(shù)的設(shè)計(jì)上相比上一篇文章有一定區(qū)別。首先是正負(fù)樣本的選擇,對于一個以時刻t為中心的時間序列,文中采用一個高斯分布來劃定其正樣本的采樣范圍。高斯分布以t為中心,另一個參數(shù)是時間窗口的范圍。對于時間窗口范圍的選擇,文中采用了ADF檢驗(yàn)的方法選擇最優(yōu)的窗口跨度。如果時間窗口范圍過長,可能導(dǎo)致采樣的正樣本和原樣本不相關(guān)的情況;如果時間窗口過小,會導(dǎo)致采樣的正樣本和原樣本重疊部分太多。ADF檢驗(yàn)可以檢測出時間序列在保持穩(wěn)定的時間窗口,以此選擇最合適的采樣范圍。
在損失函數(shù)方面,文中主要解決的是偽負(fù)樣本的問題。如果將上面選定的窗口外的樣本都視為負(fù)樣本,很有可能會出現(xiàn)偽負(fù)樣本的情況,即本來是和原樣本相關(guān)的,但因?yàn)榫嚯x原樣本比較遠(yuǎn)而被誤認(rèn)為是負(fù)樣本。例如時間序列是以年為周期的,時間窗口選擇的是1個月,可能會把去年同期的序列認(rèn)為是負(fù)樣本。這會影響模型訓(xùn)練,使模型收斂困難。為了解決這個問題,本文將窗口外的樣本不視為負(fù)樣本,而是視為沒有無label樣本。在損失函數(shù)中,給每個樣本設(shè)定一個權(quán)重,這個權(quán)重表示該樣本為正樣本的概率。這種方法也被稱為Positive-Unlabeled (PU) learning。最終的損失函數(shù)可以表示為如下形式:
3. A transformer-based framework for multivariate time series representation learning(KDD'22)
這篇文章借鑒了預(yù)訓(xùn)練語言模型Transformer的思路,希望能夠在多元時間序列上通過無監(jiān)督的方法,借助Transformer模型結(jié)構(gòu),學(xué)習(xí)良好的多元時間序列表示。本文重點(diǎn)在于針對多元時間序列設(shè)計(jì)的無監(jiān)督預(yù)訓(xùn)練任務(wù)。如下圖右側(cè),對于輸入的多元時間序列,會mask掉一定比例的子序列(不能太短),并且每個變量分別mask,而不是mask掉同一段時間的所有變量。預(yù)訓(xùn)練的優(yōu)化目標(biāo)為還原整個多元時間序列。通過這種方式,讓模型在預(yù)測被mask掉的部分時,既能考慮前面、后面的序列,也能考慮同一時間段沒有被mask的序列。
下圖展示了無監(jiān)督預(yù)訓(xùn)練時間序列模型對時間序列預(yù)測任務(wù)帶來的效果提升。左側(cè)的圖表示,不同有l(wèi)abel數(shù)據(jù)量下,是否使用無監(jiān)督預(yù)訓(xùn)練的RMSE效果對比??梢钥吹剑瑹o論有l(wèi)abel數(shù)據(jù)量有多少,增加無監(jiān)督預(yù)訓(xùn)練都可以提升預(yù)測效果。右側(cè)圖表示使用的無監(jiān)督預(yù)訓(xùn)練數(shù)據(jù)量越大,最終的時間序列預(yù)測擬合效果越好。
4. Time-series representation learning via temporal and contextual contrasting(IJCAI'21)
本文采用對比學(xué)習(xí)的方式進(jìn)行時間序列表示學(xué)習(xí)。首先對于同一個時間序列,使用strong和weak兩種數(shù)據(jù)增強(qiáng)方法生成原始序列的兩個view。Strong Augmentation指的是將原始序列劃分成多個片段后打亂順序,再加入一些隨機(jī)擾動;Weak Augmentation指的是對原始序列進(jìn)行縮放或平移。
接下來,將strong和weak兩個增強(qiáng)的序列輸入到一個卷積時序網(wǎng)絡(luò)中,得到每個序列在每個時刻的表示。文中使用了Temporal Contrasting和Contextual Contrasting兩種對比學(xué)習(xí)方式。Temporal Contrasting指的是用一種view的context預(yù)測另一種view在未來時刻的表示,目標(biāo)是讓該表示和另一種view對應(yīng)的真實(shí)表示更接近,這里使用了Transformer作為時序預(yù)測的主體模型,公式如下,其中c表示strong view的Transformer輸出,Wk是一個映射函數(shù),用于將c映射到對未來的預(yù)測,z是weak view未來時刻的表示:
Contextual Contrasting則是序列整體的對比學(xué)習(xí),拉近相同序列生成的兩個view的距離,讓不同序列生成的view距離更遠(yuǎn),公式如下,這里和圖像對比學(xué)習(xí)的方式類似:
5. TS2Vec: Towards Universal Representation of Time Series(AAAI'22)
TS2Vec核心思路也是無監(jiān)督表示學(xué)習(xí),通過數(shù)據(jù)增強(qiáng)的方式構(gòu)造正樣本對,通過對比學(xué)習(xí)的優(yōu)化目標(biāo)讓正樣本對之間距離,負(fù)樣本之間距離遠(yuǎn)。本文的核心點(diǎn)主要在兩個方面,第一個是針對時間序列特點(diǎn)的正樣本對構(gòu)造和對比學(xué)習(xí)優(yōu)化目標(biāo)的設(shè)計(jì),第二個是結(jié)合時間序列特點(diǎn)提出的層次對比學(xué)習(xí)。
對于正樣本對構(gòu)造方法,本文提出了適合時間序列的正樣本對構(gòu)造方法:Contextual Consistency。Contextual Consistency的核心思路是,兩個不同增強(qiáng)視圖的時間序列,在相同時間步的表示距離更接近。文中提出兩種構(gòu)造Contextual Consistency正樣本對的方法。第一種是Timestamp Masking,在經(jīng)過全連接后,隨機(jī)mask一些時間步的向量表示,再通過CNN提取每個時間步的表示。第二種是Random Cropping,選取有公共部分的兩個子序列互為正樣本對。這兩種方法都是讓相同時間步的向量表示更近,如上圖所示。
TS2Vec的另一個核心點(diǎn)是層次對比學(xué)習(xí)。時間序列和圖像、自然語言的一個重要差異在于,通過不同頻率的聚合,可以得到不同粒度的時間序列。例如,天粒度的時間序列,按周聚合可以得到周粒度的序列,按照月聚合可以得到月粒度的序列。為了將時間序列這種層次性融入對比學(xué)習(xí)中,TS2Vec提出了層次對比學(xué)習(xí),算法流程如下。對于兩個互為正樣本對的時間序列,最開始通過CNN生成每個時間步向量表示,然后循環(huán)使用maxpooling在時間維度上進(jìn)行聚合,文中使用的聚合窗口為2。每次聚合后,都計(jì)算對應(yīng)時間步聚合向量的距離,讓相同時間步距離近。聚合的粒度不斷變粗,最終聚合成整個時間序列粒度,逐漸實(shí)現(xiàn)instance-level的表示學(xué)習(xí)。