時(shí)序預(yù)測(cè)中的多類型模型組合建模方案
時(shí)間序列建模中很多種類型的結(jié)構(gòu)可以選擇,比如Transformer、CNN、RNN,以及最近被驗(yàn)證有效的MLP、Mamba等結(jié)構(gòu)。然而,不同模型都有特定的潛在優(yōu)勢(shì)和劣勢(shì)。因此,現(xiàn)在越來越多的時(shí)序預(yù)測(cè)模型優(yōu)化工作,采用了多模型組合的建模方式。
今天這篇文章,就給大家介紹一下多模型組合建模的核心思路,以及幾篇近期發(fā)表的多模型組合時(shí)序預(yù)測(cè)工作,在一個(gè)模型中同時(shí)使用不同類型的模型結(jié)構(gòu),實(shí)現(xiàn)各個(gè)結(jié)構(gòu)之間的優(yōu)勢(shì)互補(bǔ)。
1.早期模型組合建模方案
在Transformer應(yīng)用到時(shí)間序列預(yù)測(cè)建模后,越來越多的模型組合方法被挖掘并應(yīng)用。例如RNN+Transformer、CNN+Transformer等結(jié)構(gòu)。這主要是因?yàn)門ransformer和CNN、RNN等模型可以實(shí)現(xiàn)比較好的優(yōu)勢(shì)互補(bǔ)。Transformer的優(yōu)勢(shì)在于長(zhǎng)周期的attention建模,但是由于其只通過位置編碼獲取時(shí)序關(guān)系,對(duì)時(shí)序建模的能力并不強(qiáng)。而RNN、CNN則比較擅長(zhǎng)時(shí)序數(shù)據(jù)的處理,但是對(duì)于長(zhǎng)周期的建模能力較弱。因此,RNN/CNN配合Transformer的建模方法逐漸走進(jìn)研究者視野。
比如在Enhancing the Locality and Breaking the Memory Bottleneck of Transformer on Time Series Forecasting這篇文章中,在Transformer底層加一個(gè)CNN,利用CNN的序列建模能力讓輸入的時(shí)序樣本點(diǎn)感知到上下文信息。Temporal Fusion Transformers for Interpretable Multi-horizon Time Series Forecasting也是類似的思路,在Transformer底層加一個(gè)RNN,將RNN的序列建模能力和Transformer的長(zhǎng)周期建模能力結(jié)合起來。

除了CNN和RNN外,現(xiàn)在很多工作將MLP和Transformer結(jié)合在一起。MLP的作用和CNN非常相似,也是將單個(gè)樣本點(diǎn)的信息,通過臨近點(diǎn)的整體編碼,形成語(yǔ)義更強(qiáng)的時(shí)序表征,再輸入到后續(xù)Transfomrer模型中。PatchA Time Series is Worth 64 Words: Long-term Forecasting with Transformers中提出的PatchTST就是這個(gè)建模思路。

2.近期模型組合新工作
接下來給大家介紹2篇近期的時(shí)間序列預(yù)測(cè)多模型組合工作。這兩篇文章都融合了包括Transformer、CNN、RNN、Mamba、MLP等結(jié)構(gòu)中的至少3個(gè)。
第一篇是Mamba or Transformer for Time Series Forecasting? Mixture of Universals (MoU) Is All You Need。這篇文章提出了一種多模型融合的建模方法,實(shí)現(xiàn)對(duì)時(shí)間序列長(zhǎng)短期信息的綜合利用。模型中引入了包括Mamba、Transformer、CNN等多種模型結(jié)構(gòu)進(jìn)行不同維度的時(shí)間序列信息抽取。
文中的核心優(yōu)化點(diǎn)包括2個(gè)方面,一個(gè)是在底層時(shí)間序列的patch處理上進(jìn)行了優(yōu)化,另一個(gè)是模型結(jié)構(gòu)上的多種結(jié)構(gòu)融合思路。在patch處理上,將時(shí)間序列分成多個(gè)patch后,一般使用一個(gè)MLP進(jìn)行映射,文中進(jìn)一步使用MoA結(jié)構(gòu)處理patch。MoA是一個(gè)多個(gè)子模塊組成的patch信息處理器,每個(gè)子模塊使用一個(gè)稀疏門控網(wǎng)絡(luò),對(duì)表征的部分元素進(jìn)行激活。通過多組這種子模塊的融合,每一組實(shí)現(xiàn)不同類型pattern的信息提取,最后加到一起,作為patch的表征。
在模型結(jié)構(gòu)方面,整體是Mamba->FFN->CNN->Transformer的組織方式。Mamba用來提取時(shí)序相關(guān)的基礎(chǔ)信息,F(xiàn)FN增加非線性,CNN擴(kuò)大每個(gè)patch的視野,Transformer最終進(jìn)行長(zhǎng)周期的時(shí)間序列建模。
第二篇是PRformer: Pyramidal Recurrent Transformer for Multivariate Time Series Forecasting。這篇文章提出了一種融合Transformer、RNN、CNN的時(shí)間序列預(yù)測(cè)模型,其中RNN+CNN用來進(jìn)行每個(gè)變量時(shí)間序列的時(shí)序維度編碼,Transformer用來進(jìn)行變量間關(guān)系的建模,類似iTransformer的形式。
文中的核心是RNN+CNN構(gòu)建的層次時(shí)序編碼網(wǎng)絡(luò)。由于時(shí)間序列存在不同粒度的周期性,不同的粒度之間又存在關(guān)系著一定的關(guān)系。為了刻畫這種多頻率信息,文中采用了層次CNN的方式進(jìn)行建模。對(duì)于每一層CNN,使用不同的kernel size和stride size,提取不同粒度的信息,并通過CNN起到了縮短序列長(zhǎng)度的作用。
在進(jìn)行每個(gè)層次的CNN編碼后,每一層的CNN編碼輸入與上一層CNN編碼融合后,輸入到GRU中,利用GRU的時(shí)序建模能力編碼每個(gè)粒度的序列。不同粒度的GRU編碼結(jié)果最后通過加權(quán)融合的方式,生成每個(gè)變量時(shí)間序列的最終表征結(jié)果。
在得到單變量的時(shí)序表征后,Transformer進(jìn)行變量間關(guān)系建模。將每個(gè)變量時(shí)間序列的表征看成是一個(gè)token,使用self-attention在變量維度計(jì)算相關(guān)性并進(jìn)行融合,類似iTransformer中的方式。

3.總結(jié)
組合模型是時(shí)間序列預(yù)測(cè)中的一個(gè)重要研究問題。沒有一種模型結(jié)構(gòu)可以完美解決時(shí)間序列預(yù)測(cè)面臨的任何問題,通過各類模型結(jié)構(gòu)的組合,讓各個(gè)模型實(shí)現(xiàn)優(yōu)勢(shì)互補(bǔ),可以很大程度上提升時(shí)間序列預(yù)測(cè)模型的性能。
本文轉(zhuǎn)載自 ??圓圓的算法筆記??,作者: Fareise

















