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