比肩Transformer的Mamba在時間序列上有效嗎?
Mamba是最近最火的模型之一,更是被業(yè)內(nèi)認為可以有取代Transformer的潛力。今天介紹的這篇文章,探索了Mamba模型在時間序列預(yù)測任務(wù)上是有有效。本文首先給大家介紹Mamba的基礎(chǔ)原理,再結(jié)合這篇文章探索在時間序列預(yù)測場景中Mamba是否有效。
論文標(biāo)題:Is Mamba Effective for Time Series Forecasting?
下載地址:https://arxiv.org/pdf/2403.11144.pdf
1、Mamba基礎(chǔ)原理
Mamba是一種基于State Space Model的結(jié)構(gòu),和RNN非常像。Mamba相比Transformer,在訓(xùn)練階段和inference階段都有隨序列長度線性增長的時間復(fù)雜度,運算效率顯著由于Transformer這種結(jié)構(gòu)。
Mamba的核心可以分為以下4個部分:
State Space Model(SSM):狀態(tài)空間模型,用來刻畫上一個狀態(tài)對當(dāng)前狀態(tài)的影響,以及當(dāng)前狀態(tài)對輸出的影響;State Space Model中假設(shè)上一個狀態(tài)和當(dāng)前時刻的輸入會影響下一個狀態(tài),并且當(dāng)前的觀測結(jié)果是由當(dāng)前狀態(tài)決定的。SSM可以表示為如下形式,矩陣A、B、C、D為超參數(shù);
圖片
卷積表達:用卷積來表達SSM,實現(xiàn)訓(xùn)練階段的并發(fā)計算,通過將SSM中的計算輸出的公式按照時間展開,通過設(shè)計相應(yīng)的卷積核到一定的形式,可以利用卷積來表達每個時刻的輸出為前面3個時刻輸出的函數(shù):
圖片
Hippo Matrix:對于參數(shù)A,引入Hippo Matrix實現(xiàn)對歷史信息的衰減融合;
圖片
Selective模塊:對于參數(shù)B和參數(shù)C個性化的矩陣實現(xiàn)對歷史信息的個性化選擇,將每個時刻的參數(shù)矩陣轉(zhuǎn)換成關(guān)于輸入的函數(shù),實現(xiàn)每個時刻個性化的參數(shù)。
圖片
關(guān)于Mamba更詳細的模型解析,以及后續(xù)的Mamba相關(guān)工作,也更新到了知識星球中,感興趣的同學(xué)可以在星球中進一步深入學(xué)習(xí)。
2、Mamba時間序列模型
下面介紹一下這篇文章中提出的Mamba時間序列預(yù)測框架,整體基于Mamba,對時間序列數(shù)據(jù)進行適配。整體分為Embedding、S/D-Mamba layer、Norm-FFN-Norm Layer三個部分。
Embedding:類似iTransformer的處理方法,對每個變量單獨進行映射,生成每個變量的embedding,再將每個變量的embedding輸入到后續(xù)的Mamba中。因此本文也可以看成是對iTransformer的模型結(jié)構(gòu)的一個改造,改成了Mamba結(jié)構(gòu);
S/D-Mamba layer:Embedding的輸入維度為[batch_size, variable_number, dim],將其輸入到Mamba中,文中探索了S和D兩種Mamba層,分別表示每層用一個mamba還是兩個mamba,兩個mamba會將兩個的輸出相加得到每層的輸出結(jié)果;
Norm-FFN-Norm Layer:在輸出層,使用normalization層和FFN層對Mamba的輸出表征進行歸一化和映射,結(jié)合殘差網(wǎng)絡(luò),提升模型收斂性和穩(wěn)定性。
圖片
3、實驗效果
下圖是文中的核心實驗結(jié)果,對比了Mamba和iTransformer、PatchTST等業(yè)內(nèi)主流時間序列模型的效果。文中還對不同的預(yù)測窗口、泛化性等進行了實驗對比。實驗表明,Mamba不僅在計算資源上有優(yōu)勢,在模型效果上也可以比肩Transformer相關(guān)的模型,并且在長周期的建模上也很有前景。
圖片