Chapter 2 Sequence Modeling with State Space Models
Gu A. Modeling Sequences with Structured State Spaces[D]. Stanford University, 2023.
本文是MAMBA作者的博士畢業(yè)論文,為了理清楚MAMBA專門花時間拜讀這篇長達330頁的博士論文,由于知識水平有限,只能盡自己所能概述記錄,并適當補充一些相關(guān)數(shù)學(xué)背景,歡迎探討與批評指正。內(nèi)容多,分章節(jié)更新以免凌亂。
2.1 - 2.2
首先介紹了幾個基本概念,這里將其作為背景知識展開描述一下:
-
因果序列模型(Causal Sequence Model):是一種深度學(xué)習(xí)模型,主要用于處理和生成序列數(shù)據(jù),如文本、音頻或視頻序列。在這類模型中,“因果”(causal)一詞指的是模型在處理序列時,輸出僅依賴于先前的輸入,而不依賴于未來的輸入。這種特性使得因果序列模型非常適合用于生成任務(wù),如文本生成、語音合成等。舉個例子,當我們用因果序列模型來生成文本時,每一個新生成的單詞只依賴于之前的單詞,而不會依賴于之后的單詞。這就像人類寫作或說話時一樣,我們在說下一個詞之前通常不會知道后面的內(nèi)容。這與某些其他類型的序列模型(如雙向模型)不同,后者在處理每個序點時會考慮整個序列的上下文(包括未來的信息)。因此,因果序列模型特別適合于那些需要按照時間順序逐步生成輸出的場景。
-
連續(xù)狀態(tài)空間模型(continuous state space model (SSM)):
x ′ ( t ) = A ( t ) x ( t ) + B ( t ) u ( t ) y ( t ) = C ( t ) x ( t ) \begin{aligned} x^{\prime}(t) & =\boldsymbol{A}(t) x(t)+\boldsymbol{B}(t) u(t) \\ y(t) & =\boldsymbol{C}(t) x(t) \end{aligned} x′(t)y(t)?=A(t)x(t)+B(t)u(t)=C(t)x(t)?
其中: A ( t ) ∈ R N × N , B ( t ) ∈ R N × M , C ( t ) ∈ R M × N , D ( t ) ∈ R M × M \boldsymbol{A}(t) \in \mathbb{R}^{N \times N}, \boldsymbol{B}(t) \in \mathbb{R}^{N \times M}, \boldsymbol{C}(t) \in \mathbb{R}^{M \times N},\boldsymbol{D}(t) \in \mathbb{R}^{M \times M} A(t)∈RN×N,B(t)∈RN×M,C(t)∈RM×N,D(t)∈RM×M
-
狀態(tài)方程(State Equation): x ′ ( t ) = A x ( t ) + B u ( t ) x^{\prime}(t)=A x(t)+B u(t) x′(t)=Ax(t)+Bu(t) 這個方程描述了系統(tǒng)狀態(tài) x ( t ) x(t) x(t)隨時間的變化規(guī)律。這里, x ( t ) x(t) x(t)是狀態(tài)向量,它代表了系統(tǒng)在任何給定時間點的狀態(tài)。 A A A是狀態(tài)轉(zhuǎn)移矩陣,它定義了系統(tǒng)狀態(tài)的演變方式。 B B B 是輸入矩陣,它描述了外部輸入 u ( t ) u(t) u(t)(如控制信號或其他影響因素)如何影響系統(tǒng)狀態(tài)的變化。 x ′ ( t ) x^{\prime}(t) x′(t) 表示狀態(tài)向量隨時間的導(dǎo)數(shù),即狀態(tài)的變化率。
-
輸出方程(Output Equation): y ( t ) = C x ( t ) + D u ( t ) y(t)=C x(t)+D u(t) y(t)=Cx(t)+Du(t)這個方程定義了系統(tǒng)的輸出 y ( t ) y(t) y(t)。在這里, C C C是輸出矩陣,它將系統(tǒng)的當前狀態(tài)轉(zhuǎn)化為輸出。 D D D是直接傳遞矩陣,它定義了系統(tǒng)輸入如何直接影響輸出,而不經(jīng)過狀態(tài)變化。通常在許多系統(tǒng)中, D D D通常為零或者不被考慮,特別是在那些輸入不會立即影響輸出的系統(tǒng)中。
D D D這一項在模型中可以被看做不與狀態(tài) x x x有關(guān)系的skip-connection
這兩個方程共同定義了一個線性時不變(Linear Time-Invariant, LTI)系統(tǒng)的動態(tài)行為。在實際應(yīng)用中,這種模型被廣泛用于各種領(lǐng)域,如控制系統(tǒng)、信號處理、經(jīng)濟模型等。它們的優(yōu)勢在于簡潔性和易于分析,但也有局限性,主要是因為它們只能描述線性關(guān)系。在實際復(fù)雜系統(tǒng)中,可能需要更復(fù)雜的非線性模型來準確描述系統(tǒng)行為
-
-
線性時不變SSM(Linear Time Invariant (LTI) SSMs):
般而言,狀態(tài)空間模型(SSM)的動態(tài)可以隨時間變化,即矩陣 A ∈ R N × N \boldsymbol{A} \in \mathbb{R}^{N \times N} A∈RN×N和向量 B ∈ R N × 1 \boldsymbol{B} \in \mathbb{R}^{N \times 1} B∈RN×1, C ∈ R 1 × N \boldsymbol{C} \in \mathbb{R}^{1 \times N} C∈R1×N是時間 t t t的函數(shù)。然而,當它們是常數(shù)時,動態(tài)隨時間保持不變;這時的SSM被稱為線性時不變(LTI)系統(tǒng)。
-
SSM的卷積形式:這里補充展開一下
LTI SSM 作為映射 u ( t ) ? y ( t ) u(t) \mapsto y(t) u(t)?y(t) 可以表示為:
y ( t ) = ( K ? u ) ( t ) = ∫ 0 ∞ K ( s ) ? u ( t ? s ) d s ?where? K ( t ) = C e t A B y(t)=(K * u)(t)=\int_{0}^{\infty} K(s) \cdot u(t-s) d s \quad \text { where } \quad K(t)=\boldsymbol{C} e^{t \boldsymbol{A}} \boldsymbol{B} y(t)=(K?u)(t)=∫0∞?K(s)?u(t?s)ds?where?K(t)=CetAB
數(shù)學(xué)上,卷積是一種計算兩個函數(shù)相互作用產(chǎn)生第三個函數(shù)的操作,這在信號處理和系統(tǒng)理論中非常重要。 K ( t ) K(t) K(t) 是系統(tǒng)的沖擊響應(yīng)。 e t A e^{tA} etA是矩陣指數(shù),它是連續(xù)時間系統(tǒng)分析中的一個重要概念,用于描述系統(tǒng)狀態(tài)如何隨時間變化。
? 沖擊響應(yīng) K ( t ) K(t) K(t) : 在線性時不變(LTI)系統(tǒng)中,沖擊響應(yīng)是一個非常關(guān)鍵的概念。它描述了當系統(tǒng)輸入為沖擊信號(即狄拉克δ函數(shù),這是一個在零時刻具有無限大值而其他時刻為零的理想化信號)時,系統(tǒng)的輸出會如何響應(yīng)。換句話說,沖擊響應(yīng)表達了系統(tǒng)對突然沖擊的反應(yīng),它是理解系統(tǒng)動態(tài)特性的一個基本工具。
? 矩陣指數(shù) $e^{t \boldsymbol{A}} : 在這個公式中, : 在這個公式中, :在這個公式中,e^{t \boldsymbol{A}} $ 是一個矩陣指數(shù)運算,其中 A A A是系統(tǒng)矩陣。矩陣指數(shù)是連續(xù)時間系統(tǒng)分析中的重要概念,它提供了一種方法來描述系統(tǒng)狀態(tài)如何隨時間演變。在數(shù)學(xué)上,矩陣指數(shù)定義為冪級數(shù),類似于標量指數(shù)函數(shù)的泰勒級數(shù)展開。它是解決線性微分方程組的關(guān)鍵,這些方程組通常用來描述LTI系統(tǒng)的動態(tài)行為。
綜合來看, K ( t ) = C e t A B \quad K(t)=\boldsymbol{C} e^{t \boldsymbol{A}} \boldsymbol{B} K(t)=CetAB 表達了在LTI系統(tǒng)中,沖擊響應(yīng)如何隨時間演變,并且如何通過系統(tǒng)矩陣 A A A, 輸入矩陣 B B B, 和輸出矩陣 C C C 互動來定義。這是分析和設(shè)計此類系統(tǒng)的一個關(guān)鍵方程。
2.3 State Space Sequence Models
SSMs自20世紀60年代以來被廣泛應(yīng)用于多個科學(xué)領(lǐng)域,最初是從卡爾曼濾波器開始的。在本文中,SSMs被視為一種序列到序列的轉(zhuǎn)換模型,這種處理方式與傳統(tǒng)SSMs有本質(zhì)上的不同。詳細討論了狀態(tài)空間序列模型(SSMs)及其各種表現(xiàn)形式。
2.3.1 連續(xù)表示(離散化):
這一部分強調(diào)了將連續(xù)的狀態(tài)空間模型轉(zhuǎn)換為適應(yīng)離散數(shù)據(jù)的重要性,同時也展示了不同的離散化方法和它們的應(yīng)用。通過這種轉(zhuǎn)換,SSMs能夠更有效地處理和分析現(xiàn)實世界中的離散數(shù)據(jù)序列。
由于現(xiàn)實世界中的數(shù)據(jù)是離散的而不是連續(xù)的,因此需要對SSM的方程進行離散化處理。離散化后的輸入可以看作是從一個隱含的連續(xù)信號u(t)中均勻間隔采樣得到的。SSM可以通過遞歸或離散卷積的形式來計算。
論文配了一個很好的圖,表明連續(xù)SSMS、RNN方式離散化、CNN方式離散化的過程。這意味著,SSM可以根據(jù)實際應(yīng)用的需要,采取不同的計算方式。
為了說明離散化,文檔中提到了一個簡單的方法,即著名的歐拉方法。它將 ODE x ′ ( t ) = f ( x ( t ) ) x^{\prime}(t)=f(x(t)) x′(t)=f(x(t))轉(zhuǎn)換為一階近似 x k = x k ? 1 + Δ f ( x k ? 1 ) x_{k}=x_{k-1}+\Delta f\left(x_{k-1}\right) xk?=xk?1?+Δf(xk?1?)。在離散化過程中,論文引入了一個額外的步長參數(shù) Δ \Delta Δ,它代表輸入數(shù)據(jù)的分辨率。從概念上講,離散的輸入 u k u_k uk?可以被視為來自隱含的連續(xù)信號 u ( t ) u(t) u(t)的均勻間隔樣本,其中 u k = u ( k ? ) u_k = u(k?) uk?=u(k?),這被稱為時間尺度,是離散化的一個重要概念。
x k = x k ? 1 + Δ ( A x k ? 1 + B u k ) = ( I + Δ A ) x k ? 1 + ( Δ B ) u k = A  ̄ x k ? 1 + B  ̄ u k \begin{aligned} x_{k} & =x_{k-1}+\Delta\left(\boldsymbol{A} x_{k-1}+\boldsymbol{B} u_{k}\right) \\ & =(\boldsymbol{I}+\Delta \boldsymbol{A}) x_{k-1}+(\Delta \boldsymbol{B}) u_{k} \\ & =\overline{\boldsymbol{A}} x_{k-1}+\overline{\boldsymbol{B}} u_{k} \end{aligned} xk??=xk?1?+Δ(Axk?1?+Buk?)=(I+ΔA)xk?1?+(ΔB)uk?=Axk?1?+Buk??
其中: A  ̄ : = I + Δ A ?和? B  ̄ : = Δ B \overline{\boldsymbol{A}}:=\boldsymbol{I}+\Delta \boldsymbol{A} \text { 和 } \overline{\boldsymbol{B}}:=\Delta \boldsymbol{B} A:=I+ΔA?和?B:=ΔB是離散狀態(tài)參數(shù)
然而,歐拉方法可能不穩(wěn)定,通常使用更精確的方法,例如零階保持(ZOH)或雙線性變換(也稱為塔斯廷方法),這些只是提供 A 和 B 的替代公式,并且可以互換。
總的來說,可以將離散化視為 SS(S)M 前向傳遞中計算圖的第一步。它將連續(xù)參數(shù) ( Δ , A , B ) (\Delta, \boldsymbol{A}, \boldsymbol{B}) (Δ,A,B)轉(zhuǎn)換為離散參數(shù) ( A  ̄ , B  ̄ ) (\overline{\boldsymbol{A}}, \overline{\boldsymbol{B}}) (A,B),以便下游計算僅使用 ( A  ̄ , B  ̄ ) (\overline{\boldsymbol{A}}, \overline{\boldsymbol{B}}) (A,B)。此變換由公式 A  ̄ = f A ( Δ , A ) \overline{\boldsymbol{A}}=f_{A}(\Delta, \boldsymbol{A}) A=fA?(Δ,A) 和 B  ̄ = f B ( Δ , A , B ) \overline{\boldsymbol{B}}=f_{B}(\Delta, \boldsymbol{A}, \boldsymbol{B}) B=fB?(Δ,A,B) 定義,其中 ( f A , f B ) (f_A, f_B) (fA?,fB?) 是離散化規(guī)則,例如歐拉、ZOH 或雙線性 (Tustin)方法。
2.3.2 The Recurrent Representation (Efficient Inference)
這部分討論了狀態(tài)空間序列模型(SSMs)的循環(huán)表示(高效推理),從循環(huán)視圖出發(fā)的離散化,然后通過展開循環(huán)推導(dǎo)出離散卷積視圖。簡要總結(jié)如下:
離散化后的SSM定義
離散化后的SSM被定義為一個序列到序列的映射。具體來說,這個映射通過方程如下方程表示:
x k = A  ̄ x k ? 1 + B  ̄ u k y k = C x k \begin{aligned} x_{k} & =\overline{\boldsymbol{A}} x_{k-1}+\overline{\boldsymbol{B}} u_{k} \\ y_{k} & =\boldsymbol{C} x_{k} \end{aligned} xk?yk??=Axk?1?+Buk?=Cxk??
該方程表明,每一個當前狀態(tài)都是基于前一個狀態(tài)和當前輸入的線性組合。
參數(shù)形式的保持
離散化的SSM保留了其連續(xù)對應(yīng)部分的參數(shù)形狀。例如, A  ̄ ∈ R N × N , B  ̄ ∈ R N × M , u k ∈ R M , x k ∈ R N , y k ∈ R M \overline{\boldsymbol{A}} \in \mathbb{R}^{N \times N}, \overline{\boldsymbol{B}} \in \mathbb{R}^{N \times M}, u_{k} \in \mathbb{R}^{M}, x_{k} \in \mathbb{R}^{N}, y_{k} \in \mathbb{R}^{M} A∈RN×N,B∈RN×M,uk?∈RM,xk?∈RN,yk?∈RM。這意味著,盡管輸入和輸出被離散化處理,但是模型的參數(shù)形式保持不變。
循環(huán)模式的解釋
在循環(huán)模式中, x k ∈ R N x_{k} \in \mathbb{R}^{N} xk?∈RN可以被視為隱藏狀態(tài),具有轉(zhuǎn)換矩陣 A A A。這個隱藏狀態(tài)攜帶了截至?xí)r間 k k k之前所有輸入的上下文信息。換句話說,展開遞歸時,只需要維護當前狀態(tài)。因此,SSMs(以及一般的循環(huán)模型)具有高效和有狀態(tài)的推理能力:它們可以在每個時間步驟使用恒定的計算和空間來處理(潛在無限的)序列輸入。
與其他模型的對比
與像CNNs和Transformers這樣的模型不同,SSMs(和循環(huán)模型)可以處理潛在無限長的輸入序列,同時每個時間步只使用恒定的計算和空間。這使得SSMs在處理長序列數(shù)據(jù)時更加高效,特別是在需要持續(xù)跟蹤歷史信息的應(yīng)用場景中。
2.3.3 The Convolutional Representation (Efficient Training)
本節(jié)討論了使用卷積表示進行狀態(tài)空間模型(SSMs)高效訓(xùn)練的方法,總結(jié)如下:
循環(huán)SSM的低效率: 這一節(jié)首先指出了在現(xiàn)代硬件上訓(xùn)練循環(huán)狀態(tài)空間模型(SSMs)的實際挑戰(zhàn),主要是由于它們的順序性。這導(dǎo)致了探索更有效的替代方法。
遞歸的解析展開: 論文推導(dǎo)了如果初始狀態(tài)為零,SSM的離散遞歸可以解析地展開。這種展開過程結(jié)果是SSM的等效卷積形式,有效地將循環(huán)計算轉(zhuǎn)換為卷積計算。假設(shè)初始狀態(tài)為 x ? 1 = 0 x_{?1} = 0 x?1?=0。由于離散遞歸是線性的,因此可以通過解析方式展開它,從而得到 SSM 的等效卷積形式。
x 0 = B  ̄ u 0 x 1 = A B  ̄ u 0 + B  ̄ u 1 x 2 = A  ̄ 2 B  ̄ u 0 + A B  ̄ u 1 + B  ̄ u 2 y 0 = C B  ̄ u 0 y 1 = C A B  ̄ u 0 + C B  ̄ u 1 y 2 = C A  ̄ 2 B  ̄ u 0 + C A B  ̄ u 1 + C B  ̄ u 2 \begin{array}{lll} x_{0}=\overline{\boldsymbol{B}} u_{0} & x_{1}=\overline{\boldsymbol{A} \boldsymbol{B}} u_{0}+\overline{\boldsymbol{B}} u_{1} & x_{2}=\overline{\boldsymbol{A}}^{2} \overline{\boldsymbol{B}} u_{0}+\overline{\boldsymbol{A} \boldsymbol{B}} u_{1}+\overline{\boldsymbol{B}} u_{2} \\ y_{0}=\boldsymbol{C} \overline{\boldsymbol{B}} u_{0} & y_{1}=\boldsymbol{C} \overline{\boldsymbol{A} \boldsymbol{B}} u_{0}+\boldsymbol{C} \overline{\boldsymbol{B}} u_{1} & y_{2}=\boldsymbol{C} \overline{\boldsymbol{A}}^{2} \overline{\boldsymbol{B}} u_{0}+\boldsymbol{C} \overline{\boldsymbol{A} \boldsymbol{B}} u_{1}+\boldsymbol{C} \overline{\boldsymbol{B}} u_{2} \end{array} x0?=Bu0?y0?=CBu0??x1?=ABu0?+Bu1?y1?=CABu0?+CBu1??x2?=A2Bu0?+ABu1?+Bu2?y2?=CA2Bu0?+CABu1?+CBu2??
從而得到輸出序列的閉式表達: y k = C A  ̄ k B  ̄ u 0 + C A  ̄ k ? 1 B  ̄ u 1 + ? + C A B  ̄ u k ? 1 + C B  ̄ u k y_{k}=\boldsymbol{C} \overline{\boldsymbol{A}}^{k} \overline{\boldsymbol{B}} u_{0}+\boldsymbol{C} \overline{\boldsymbol{A}}^{k-1} \overline{\boldsymbol{B}} u_{1}+\cdots+\boldsymbol{C} \overline{\boldsymbol{A} \boldsymbol{B}} u_{k-1}+\boldsymbol{C} \overline{\boldsymbol{B}} u_{k} yk?=CAkBu0?+CAk?1Bu1?+?+CABuk?1?+CBuk?
進而通過顯式公式向量化為單個卷積: y = u ? K  ̄ ?where? K  ̄ = ( C B  ̄ , C A B  ̄ , … , C k B  ̄ , … ) y=u * \overline{\boldsymbol{K}} \quad \text { where } \quad \overline{\boldsymbol{K}}=\left(\boldsymbol{C} \overline{\boldsymbol{B}}, \boldsymbol{C} \overline{\boldsymbol{A} \boldsymbol{B}}, \ldots, \boldsymbol{C}^{k} \overline{\boldsymbol{B}}, \ldots\right) y=u?K?where?K=(CB,CAB,…,CkB,…)
換句話說,上面的式子是單個(非循環(huán))卷積,論文中簡稱為狀態(tài)空間內(nèi)核(SSK)。
卷積模式解釋: 作者將狀態(tài)空間序列模型(SSSMs)解釋為類似于卷積神經(jīng)網(wǎng)絡(luò)(CNNs)中的線性卷積層。然而,它們指出一個關(guān)鍵的不同點:SSSMs中的狀態(tài)空間核理論上是無限長的,盡管實際上受到輸入長度的限制。SSK可以進一步截斷為任何更短的長度,以更像傳統(tǒng)的 CNN(例如,為了強調(diào)局部性,或者為了提高計算效率)。后續(xù)論文中用如下符號引用輸入長度 L L L 的截斷版本SSK: K  ̄ : = K L ( A  ̄ , B  ̄ , C ) : = ( C A  ̄ k B  ̄ ) k ∈ [ L ] = ( C B  ̄ , C A B  ̄ , … , C A  ̄ L ? 1 B  ̄ ) . \overline{\boldsymbol{K}}:=\mathscr{K}_{L}(\overline{\boldsymbol{A}}, \overline{\boldsymbol{B}}, \boldsymbol{C}):=\left(\boldsymbol{C} \overline{\boldsymbol{A}}^{k} \overline{\boldsymbol{B}}\right)_{k \in[L]}=\left(\boldsymbol{C} \overline{\boldsymbol{B}}, \boldsymbol{C} \overline{\boldsymbol{A} \boldsymbol{B}}, \ldots, \boldsymbol{C} \overline{\boldsymbol{A}}^{L-1} \overline{\boldsymbol{B}}\right) . K:=KL?(A,B,C):=(CAkB)k∈[L]?=(CB,CAB,…,CAL?1B).
計算復(fù)雜性分析: 論文討論了不同卷積類型的計算復(fù)雜性,包括傳統(tǒng)的密集卷積( O ( L K ) O(L K) O(LK))和FFT卷積( O ( ( L + K ) log ? ( L + K ) ) O((L+K) \log (L+K)) O((L+K)log(L+K)))。特別強調(diào)FFT卷積的高效計算復(fù)雜性,這對于長序列是有益的。
隱含的卷積核: 這種情況下的卷積核是隱含的且無限長,由一組較小的參數(shù)生成( ( Δ , A , B , C ) → K  ̄ (\Delta, \boldsymbol{A}, \boldsymbol{B}, \boldsymbol{C}) \rightarrow \overline{\boldsymbol{K}} (Δ,A,B,C)→K)。這與傳統(tǒng)的CNNs形成對比,突出了SSSMs的獨特屬性。
馬爾可夫參數(shù)和術(shù)語: 最后,這一節(jié)澄清了論文所稱的狀態(tài)空間核在SSM文獻中被稱為“馬爾可夫參數(shù)”,這種區(qū)分強調(diào)了SSSMs與CNNs更緊密的關(guān)系。
2.3.4 Summary of SSM Representations
本節(jié)對ssm在序列模型中的不同表示方式進行了總結(jié),概述如下:
前向傳播的兩種模式: 在序列模型中,狀態(tài)空間模型(SSM)層的前向傳播包括離散化步驟和計算離散SSM的不同等效方法。將首先離散化然后計算方程的計算圖稱為“循環(huán)模式”。類似地,將首先離散化然后計算方程的計算圖稱為“卷積模式”。
注意,SSSM 層實際上并不是神經(jīng)網(wǎng)絡(luò),只是線性序列變換,因此其本身 不是 RNN,也不是 CNN。
2.3.5 A Note on SSM Dimensions
討論了狀態(tài)空間模型(SSMs)的不同維度變體及其特性。
定義 D D D 是模型尺寸或尺寸, N N N 是狀態(tài)大小或維度,或“SSM 狀態(tài)大小”以消除歧義, N H = N D / M NH = ND/M NH=ND/M 是“總狀態(tài)大小”。
多頭SSM的類比:
作者指出,將模型維度D劃分為M大小的部分,然后對每個部分獨立應(yīng)用SSM的做法,與多頭注意力機制的工作方式非常類似,這樣可以被解釋為多頭SSM,其中頭的數(shù)量H等于D/N。
SSM維度的定義:
論文詳細描述了具有不同模型維度的SSM變體,這些包括:
- 單輸入單輸出(SISO)SSM: 這種SSM的特點是M(模型維度)等于1。
- 多輸入多輸出(MIMO)SSM: 在這種SSM中,M大于1。
- 最大MIMO案例: 通常使用MIMO特指最大MIMO案例,即M等于D(輸入維度)。
- 多頭SSM: 當M小于D時,特別強調(diào)多頭SSM的情況,并定義頭的數(shù)量H為M/D。需要注意的是,單輸入單輸出SSM(SISO SSM)可以視為具有最大數(shù)量頭H等于D的多頭SSM。
與RNN的關(guān)系:
RNN 對應(yīng)于 MIMO( M = D M = D M=D 或 H = 1 H = 1 H=1)情況。總狀態(tài)維度為 N N N,是獨立于模型維度D的超參數(shù);輸入通過輸入/輸出投影矩陣 B B B 和 C C C 在這些維度之間進行轉(zhuǎn)換。
與CNN關(guān)系:
對于 M = D M = D M=D 的 MIMO SSM,則 C A  ̄ i B  ̄ ∈ R M × M \boldsymbol{C} \overline{\boldsymbol{A}}^{i} \overline{\boldsymbol{B}} \in \mathbb{R}^{M \times M} CAiB∈RM×M 并且 K  ̄ \overline{\boldsymbol{K}} K 是形狀為 ( L , M , M ) (L,M,M) (L,M,M) 的張量。 K  ̄ \overline{\boldsymbol{K}} K 卷積可以在標準 CNN 意義上進行解釋,其維度為(sequence, out channels, in channels)。
多頭 SSM 可被解釋為分組卷積。
當M = 1,或者輸入維度是不交互的獨立通道時,可為解釋為深度可分離卷積。
2.4 Interpreting SSM Representations
本節(jié)主要關(guān)注與相關(guān)序列模型相比如何解釋SSSM
2.4.1 SSMs as Continuous Models
解釋新引入的 Δ \Delta Δ參數(shù)的含義和作用
Δ \Delta Δ作為調(diào)節(jié)參數(shù):文檔提出一個觀點,即在所有標準離散化方法(例如歐拉法、后向歐拉法、廣義雙線性變換、零階保持法等)中,離散化系統(tǒng)僅通過 Δ \Delta Δ和 ( A , B ) (A, B) (A,B)的乘積 ( Δ A , Δ B ) (\Delta \boldsymbol{A}, \Delta \boldsymbol{B}) (ΔA,ΔB)來依賴 Δ \Delta Δ 和 和 和(A, B) 。這意味著 。這意味著 。這意味著\Delta$不僅僅代表固定的步長,而是可以作為一個額外的參數(shù)來調(diào)節(jié)核心的SSM參數(shù)(A, B)。
Δ \Delta Δ作為時間尺度: Δ \Delta Δ的調(diào)節(jié)解釋意味著它可以被視為控制輸入(離散)中依賴長度的參數(shù)。更具體地說,它捕捉與 1 Δ \frac{1}{\Delta} Δ1?成比例的長度依賴。這一點從線性常微分方程(ODE)的縮放保持相同動態(tài),但僅改變系統(tǒng)演化速率的觀點得到直觀理解。
調(diào)整采樣率與 Δ \Delta Δ:盡管 Δ \Delta Δ不被視為數(shù)據(jù)的步長,但它仍然可以作為相對量來解釋。例如,如果數(shù)據(jù)的步長縮放了 c c c(比如時間序列的采樣率縮放了 1 / c 1/c 1/c),那么模型的 Δ \Delta Δ參數(shù)也應(yīng)該按 c c c縮放。文檔中給出了一個具體的例子來說明這一點。
在其他連續(xù)模型中的 Δ \Delta Δ:在深度學(xué)習(xí)中存在其他連續(xù)時間模型,例如最初的RNN通常被解釋為連續(xù)動態(tài)系統(tǒng)的近似。這些模型中的離散化通常包括一個步長 Δ \Delta Δ,這是一個關(guān)鍵但非可訓(xùn)練的超參數(shù)。而與之相比,SSMs允許訓(xùn)練 Δ \Delta Δ以控制依賴長度。
在RNN和CNN中的 Δ \Delta Δ:文由于RNN和CNN的表達是離散化之后的產(chǎn)物,因此當直接將SSM視為RNN或CNN時, Δ \Delta Δ有額外的解釋。接下來的小節(jié)將展示在典型的RNN中作為門控機制學(xué)習(xí) Δ \Delta Δ的版本,以及在CNN中, Δ \Delta Δ可以被視為控制卷積核“寬度”的時間尺度。
2.4.2 SSMs as Recurrences
探討了狀態(tài)空間模型(SSMs)如何被解釋為重復(fù)模型,并與流行的RNN(遞歸神經(jīng)網(wǎng)絡(luò))模型進行了比較。
SSMs作為線性重復(fù):文檔先是討論了如何將狀態(tài)空間模型(SSM)解釋和計算為線性重復(fù)模型。雖然SSM本質(zhì)上是線性重復(fù)的,但流行的RNN模型是非線性序列模型,它們在每個時間步之間有激活函數(shù)。這提出了一個問題:SSMs在表達能力上與一般RNN相比如何。
RNN的門控機制:論文展示了兩個將RNN和常微分方程(ODE)聯(lián)系起來的結(jié)果。首先,RNN中普遍存在的“門控機制”實際上可以解釋為步長或時間尺度 Δ \Delta Δ的類比。舉例來說,一個一維的門控重復(fù)模型( x t = ( 1 ? σ ( z ) ) x t ? 1 + σ ( z ) u t x_{t}=(1-\sigma(z)) x_{t-1}+\sigma(z) u_{t} xt?=(1?σ(z))xt?1?+σ(z)ut?)可以被看作是一維線性O(shè)DE的后向歐拉離散化( x ˙ ( t ) = ? x ( t ) + u ( t ) \dot{x}(t)=-x(t)+u(t) x˙(t)=?x(t)+u(t))。
皮卡迭代作為非線性動力學(xué)的深度近似:第二個結(jié)果涉及使用皮卡迭代(一種經(jīng)典的ODE技術(shù))來近似連續(xù)系統(tǒng)。粗略地說,深度線性RNN的每一層可以被視為逐次皮卡迭代,近似一個由非線性O(shè)DE定義的函數(shù)。這表明使用線性重復(fù)而不是非線性重復(fù)不會損失建模能力,這些非線性可以轉(zhuǎn)移到深度神經(jīng)網(wǎng)絡(luò)的“深度”方向,而不會犧牲表達性。
補充一下皮卡迭代:
皮卡迭代(Picard iteration)是一種用于求解常微分方程(ODEs)初始值問題的數(shù)學(xué)方法。這種方法基于迭代逼近,用于尋找微分方程解的近似值。其基本思想和步驟可以概括如下:
常微分方程的初始值問題
常微分方程的一般形式為:
y ′ ( t ) = f ( t , y ( t ) ) , y ( t 0 ) = y 0 y^{\prime}(t)=f(t, y(t)), \quad y\left(t_{0}\right)=y_{0} y′(t)=f(t,y(t)),y(t0?)=y0?
其中 y ′ ( t ) y^{\prime}(t) y′(t)是未知函數(shù) y ( t ) y(t) y(t) 的導(dǎo)數(shù), f ( t , y ( t ) ) f(t, y(t)) f(t,y(t)) 是給定的函數(shù), t 0 t_{0} t0? 是初始時間, y 0 y_0 y0? 是初始條件。
皮卡迭代的基本步驟
初始化:從一個初始估計開始,通常選擇 y 0 ( t ) = y 0 y_{0}(t)=y_{0} y0?(t)=y0?,即初始條件。
迭代過程:使用下面的積分公式進行迭代:
y n + 1 ( t ) = y 0 + ∫ t 0 t f ( s , y n ( s ) ) d s y_{n+1}(t)=y_{0}+\int_{t_{0}}^{t} f\left(s, y_{n}(s)\right) d s yn+1?(t)=y0?+∫t0?t?f(s,yn?(s))ds
在這里, y n + 1 ( t ) y_{n+1}(t) yn+1?(t) 是第 n + 1 n+1 n+1次迭代的解,而 y n ( s ) y_{n}(s) yn?(s) 是第 n n n 次迭代的解。
收斂性:繼續(xù)迭代,直到解的近似值在一定的誤差范圍內(nèi)穩(wěn)定下來。
皮卡迭代的特點
- 收斂性:在某些條件下,皮卡迭代可以保證收斂到真實解。這通常要求函數(shù) f ( t , y ) f(t, y) f(t,y) 在某種意義上是“良好”的,比如滿足利普希茨條件。
- 計算成本:皮卡迭代可能需要多次迭代才能達到滿意的精度,這在計算上可能是昂貴的。
- 適用性:雖然在理論上是一個強大的工具,但在實際應(yīng)用中,特別是對于復(fù)雜或高度非線性的ODEs,直接應(yīng)用皮卡迭代可能不是最有效的方法。
在機器學(xué)習(xí)和深度學(xué)習(xí)的背景下,皮卡迭代有時被用來說明深度學(xué)習(xí)模型(如RNN)如何在某種意義上近似或模擬復(fù)雜的動態(tài)系統(tǒng)。通過將每一層或每個時間步驟視為迭代的一個步驟,深度模型可以被看作是通過連續(xù)逼近來解決復(fù)雜問題的方式。
庫普曼算子:論文還提及了通過庫普曼算子理論,線性和非線性動力系統(tǒng)之間的另一種聯(lián)系。在某些條件下,交替使用線性RNN層和非線性“前饋”塊足以近似高度非線性系統(tǒng)。
補充一下庫普曼算子:
庫普曼算子理論(Koopman operator theory)是一種分析動力系統(tǒng)的方法,它是由美國數(shù)學(xué)家Bernard Koopman在1931年引入的。這一理論提供了一種從線性算子的角度來研究非線性動力系統(tǒng)的框架。
基本概念
- 動力系統(tǒng):在數(shù)學(xué)中,動力系統(tǒng)是一個用來描述一個點在空間中隨時間演變的數(shù)學(xué)模型。這些系統(tǒng)可以是線性的,也可以是非線性的。
- Koopman算子:對于給定的動力系統(tǒng),Koopman算子是一個作用在觀測函數(shù)上的線性算子。這些觀測函數(shù)是系統(tǒng)狀態(tài)的函數(shù)。即使原始動力系統(tǒng)是非線性的,Koopman算子也是線性的。
Koopman算子的關(guān)鍵特性
- 線性:盡管Koopman算子用于分析非線性系統(tǒng),但它本身是線性的。這意味著它可以利用線性系統(tǒng)理論的工具和技術(shù)。
- 無限維:對于大多數(shù)非線性系統(tǒng),Koopman算子是無限維的,這反映了從非線性系統(tǒng)到線性算子表示的復(fù)雜性。
- 演化描述:Koopman算子描述了系統(tǒng)中每個點的時間演化。通過研究這個算子,可以獲得有關(guān)系統(tǒng)整體行為的信息。
應(yīng)用
Koopman算子理論在理論和應(yīng)用數(shù)學(xué)中都有廣泛的應(yīng)用,尤其是在動力系統(tǒng)、控制理論和流體力學(xué)等領(lǐng)域。近年來,它在機器學(xué)習(xí)和數(shù)據(jù)科學(xué)中的應(yīng)用也越來越受到關(guān)注,特別是作為分析復(fù)雜非線性系統(tǒng)的一種工具。
在深度學(xué)習(xí)中的應(yīng)用
在深度學(xué)習(xí)背景下,Koopman算子理論提供了一種理解和設(shè)計深度神經(jīng)網(wǎng)絡(luò)的新視角。例如,通過考慮網(wǎng)絡(luò)中的非線性動力學(xué),可以利用Koopman算子理論來設(shè)計能夠捕捉復(fù)雜系統(tǒng)行為的網(wǎng)絡(luò)架構(gòu)。這種方法在理解RNN和其他類型的深度學(xué)習(xí)模型在處理時間序列數(shù)據(jù)時的內(nèi)在動力學(xué)中尤其有用。
總的來說,Koopman算子理論是一種強大的分析工具,它允許研究者從一個新的角度來看待和分析復(fù)雜的非線性系統(tǒng),包括那些在機器學(xué)習(xí)和深度學(xué)習(xí)中遇到的系統(tǒng)。
討論:RNN作為SSMs:一般的RNN可以被表示為圍繞(線性)SSMs構(gòu)建的深度神經(jīng)網(wǎng)絡(luò)。雖然這些結(jié)果在概念上是堅實的,并為RNN與SSM之間的聯(lián)系提供了深刻的見解,但它們也有局限性。例如,當前SSMs(如S4)處理 Δ \Delta Δ的方式與門控RNN相比較為有限;而線性到非線性RNN的皮卡和庫普曼聯(lián)系更多是概念性的,例如僅在無限深度或?qū)挾鹊那闆r下適用。
2.4.3 SSMs as Convolutions
探討了狀態(tài)空間模型(SSMs)如何被解釋為卷積系統(tǒng),并與傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)(CNNs)進行了比較。
SSMs與卷積的關(guān)系:首先,l論文指出任何連續(xù)、線性時不變(LTI)的SSM都可以通過其系統(tǒng)的沖激響應(yīng) K K K 寫成卷積的形式: S S M ( A , B , C ) ( u ) = K ? u S S M(A, B, C)(u)=K * u SSM(A,B,C)(u)=K?u 其中 K ( t ) = C e t A B K(t)=\boldsymbol{C} e^{t \boldsymbol{A}} \boldsymbol{B} K(t)=CetAB。這表明SSMs可以被解釋為卷積系統(tǒng),其中卷積核 K K K 由SSM的參數(shù) A , B , C A, B, C A,B,C 確定。
卷積表示的SSMs:接下來,說明了任何度為 N N N 的有理函數(shù)形式的卷積濾波器 K ( t ) K(t) K(t) 都可以由一個維度為 N N N 的狀態(tài)空間模型表示。因此,(連續(xù)的)SSMs理論上可以表示任何(連續(xù)的)卷積模型,只要狀態(tài)大小 N N N 趨于無窮大。
SSMs作為卷積系統(tǒng)的解釋:論文定義了所謂的SSM基函數(shù),這是理解SSM的卷積核的關(guān)鍵。給定一個 ?T-SSM? ( A , B ) \text { T-SSM }(A, B) ?T-SSM?(A,B),表達式 e t A B e^{t A} B etAB 是一個包含 N N N 個函數(shù)的向量,稱為SSM基。每個基函數(shù) K n ( t ) K_{n}(t) Kn?(t) 定義為 K n ( t ) = e n ? e t A B K_{n}(t)=\boldsymbol{e}_{n}^{\top} e^{t \boldsymbol{A}} \boldsymbol{B} Kn?(t)=en??etAB,滿足 x n ( t ) = ( u ? K n ) ( t ) x_{n}(t)=\left(u * K_{n}\right)(t) xn?(t)=(u?Kn?)(t)。這個定義的動機是注意到 SSM 卷積核是由系數(shù)向量控制的 SSM 基的線性組合 C : K ( t ) = ∑ n = 0 N ? 1 C n K n ( t ) \boldsymbol{C}: K(t)=\sum_{n=0}^{N-1} \boldsymbol{C}_{n} K_{n}(t) C:K(t)=∑n=0N?1?Cn?Kn?(t)
SSMs與深度神經(jīng)網(wǎng)絡(luò)的比較:最后,文檔將基于SSMs的深度神經(jīng)網(wǎng)絡(luò)與CNNs進行了比較。這種比較是非常緊密的,因為卷積層本質(zhì)上是一個簡單的線性變換,就像SSM一樣;通過網(wǎng)絡(luò)深度的激活函數(shù),整個神經(jīng)網(wǎng)絡(luò)變得非線性。因此,一個深度SSM模型實際上就是一個具有全局、隱式卷積核的深度可分離卷積網(wǎng)絡(luò)(depthwise-separable CNN)。
總的來說,2.4.3節(jié)通過將SSMs與卷積的概念聯(lián)系起來,展示了SSMs在表示復(fù)雜數(shù)據(jù)結(jié)構(gòu)和模式方面的強大能力。這一點在深度學(xué)習(xí)和時間序列分析中尤為重要,因為它提供了一種理解和構(gòu)建能夠有效處理序列數(shù)據(jù)的模型的新方法。
2.5 Discussion: Naming Conventions for SSMs
本節(jié)主要區(qū)分傳統(tǒng)的統(tǒng)計SSM(例如卡爾曼濾波器)和深度學(xué)習(xí)中的SSM
經(jīng)典狀態(tài)空間模型(2.5.1):這些是像卡爾曼濾波器這樣的老式SSM,用于統(tǒng)計和工程學(xué)。它們的特點是定義數(shù)據(jù)生成的概率模型,通過統(tǒng)計推斷學(xué)習(xí)參數(shù),并且通常為了易于處理而保持簡單。
狀態(tài)空間序列模型(2.5.2):這些與經(jīng)典SSM不同,尤其是在深度學(xué)習(xí)環(huán)境中。它們定義確定性序列映射,通過梯度下降學(xué)習(xí)參數(shù),并且在非線性深度神經(jīng)網(wǎng)絡(luò)架構(gòu)中多次組合時非常有效。
深度狀態(tài)空間模型(2.5.3):被稱為深度SSM或狀態(tài)空間神經(jīng)網(wǎng)絡(luò)(SSNN),這些是圍繞SSM構(gòu)建的深度神經(jīng)網(wǎng)絡(luò)架構(gòu),將它們與其他神經(jīng)網(wǎng)絡(luò)組件(如殘差連接和非線性激活)結(jié)合。文章來源:http://www.zghlxwxcb.cn/news/detail-808115.html

其他神經(jīng)網(wǎng)絡(luò)系列用SSM方式解釋:文章來源地址http://www.zghlxwxcb.cn/news/detail-808115.html
- Transformer:是基于注意力層構(gòu)建的深度神經(jīng)網(wǎng)絡(luò)。
- CNN(卷積神經(jīng)網(wǎng)絡(luò)):是圍繞線性卷積層構(gòu)建的深度神經(jīng)網(wǎng)絡(luò)。
- SSNN(狀態(tài)空間神經(jīng)網(wǎng)絡(luò)):是基于線性SSSM/S4層構(gòu)建的深度神經(jīng)網(wǎng)絡(luò)。
到了這里,關(guān)于【長文閱讀】MAMBA作者博士論文<MODELING SEQUENCES WITH STRUCTURED STATE SPACES>-Chapter2的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!