狀態空間模型 是什麼?
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(判斷題): 如果系統是高度非線性的,這種方法還有用嗎? → 看情況,非線性時通常要改用近似或擴展方法,模型會更複雜。
相關術語
常見問題
什麼時候比回歸更有用?
當資料有明顯時間順序,而且你想描述系統怎麼隨時間變化時,就很有用。
和神經網路有什麼關係?
它們都能處理序列,但狀態空間模型更強調可解釋的動態結構。
非線性時就不能用了嗎?
不是,非線性時可以改用擴展或近似方法,只是建模和估計會更複雜。