狀態空間模型 是什麼?

State Space Model:狀態空間模型 的完整解釋

狀態空間模型是一種數學模型,用於描述系統隨時間演變的狀態。它包含狀態方程和觀測方程,廣泛應用於控制、預測和訊號處理。

容易混淆

狀態空間模型 vs 差分整合移動平均 狀態空間模型:偏向 用隱藏狀態描述變化 差分整合移動平均:偏向 傳統時間序列模型 最關鍵的區別:狀態空間模型看的是「用隱藏狀態描述變化」,差分整合移動平均看的是「傳統時間序列模型」。

狀態空間模型 vs 馬可夫決策過程 狀態空間模型:偏向 用隱藏狀態描述變化 馬可夫決策過程:偏向 描述決策流程的數學框架 最關鍵的區別:狀態空間模型看的是「用隱藏狀態描述變化」,馬可夫決策過程看的是「描述決策流程的數學框架」。

記住這句就好

先估內部狀態,再看觀測值。

實際案例

案例:追蹤溫度或機械位置 先估內部狀態,再對照觀測數據修正

案例:分析經濟或感測序列 外部資料會吵,但內部狀態能幫你看趨勢

算法與應用

把看不見的狀態當成核心 用狀態方程描述變化,用觀測方程連到資料 適合時間序列、控制與追蹤

SSM 在做什麼

狀態空間模型的核心是一個隱藏狀態 h,它隨時間更新,把過去看過的所有東西壓縮進一個固定大小的向量裡。

連續形式寫成兩條式子:

h'(t) = A·h(t) + B·x(t) (狀態怎麼更新) y(t) = C·h(t) + D·x(t) (從狀態算出輸出)

A 決定舊資訊怎麼衰減與混合,B 決定新輸入怎麼寫進狀態,C 決定怎麼從狀態讀出答案。實作時會先離散化成一步一步的遞迴。

關鍵性質是:狀態大小固定,不會因為序列變長而變大。所以處理長序列時記憶體不會爆炸,這正是它最近重新受到重視的原因。

為什麼在 Transformer 之後又紅起來

項目 Transformer 的注意力 SSM
序列長度成本 與長度成平方 與長度成線性
推論時的記憶體 隨已生成長度線性增長(KV cache) 固定大小
平行訓練 天生可平行 需要特殊設計才能平行
抓長距離依賴 直接查表,很強 靠狀態壓縮,較難精準回頭找特定內容

這張表解釋了整條發展線。早期 SSM 的問題是訓練難以平行,而且狀態是固定的線性系統,沒辦法針對不同輸入調整要記住什麼。

S4 這一代用結構化的 A 矩陣解決了長距離記憶與計算效率的問題。Mamba 這一代進一步讓 A、B、C 隨輸入變化,也就是所謂的選擇性(selective)機制,模型因此能決定「這個 token 值得記住」或「這個可以忘掉」,同時搭配硬體友善的掃描演算法維持訓練速度。

現在的實務走向不是二選一,而是混合:多數長上下文模型把少量注意力層跟大量 SSM 層交錯排列,用注意力負責需要精準回查的部分,用 SSM 負責長距離的低成本記憶。

情境判斷

Q1(直覺題): 溫度資料一直上下跳,還能做預測嗎? → 可以,狀態空間模型會把噪聲和內部狀態分開看。

Q2(判斷題): 如果系統是高度非線性的,這種方法還有用嗎? → 看情況,非線性時通常要改用近似或擴展方法,模型會更複雜。

相關術語

常見問題

什麼時候比回歸更有用?

當資料有明顯時間順序,而且你想描述系統怎麼隨時間變化時,就很有用。

和神經網路有什麼關係?

它們都能處理序列,但狀態空間模型更強調可解釋的動態結構。

非線性時就不能用了嗎?

不是,非線性時可以改用擴展或近似方法,只是建模和估計會更複雜。