6.1 系統識別與 Koopman 算子理論#
6.1.1 前因:模型從哪裡來#
MPC 的一切優點都建立在「有模型」之上。傳統系統識別(System Identification)提供了兩類工具:
- 基於頻域/階梯響應:工業 MPC 的 DMC 即以階梯響應實驗建模,但實驗成本高、只能覆蓋局部工作區。
- 基於參數化模型:ARX、狀態空間的預測誤差法(PEM),本質上是對模型參數做非線性最小平方。
這些方法對線性系統已高度成熟,但面對非線性程序(聚合反應器、生物發酵、電力系統)時陷入兩難:黑箱非線性模型(如神經網路)難以納入 MPC 的最佳化框架;而局部線性化模型在大範圍操作下失真。2010 年代,Koopman 算子理論提供了第三條路:不改變系統的非線性本質,但把動力學表示為(無窮維)線性算子,再用資料有限維逼近。
6.1.2 Koopman 算子的基本思想#
考慮離散時間非線性系統:
Koopman(1931)的觀察是:與其在狀態空間中追蹤非線性演化,不如觀察觀測函數 \(g(x) \in \mathbb{R}^m\) 的演化。定義 Koopman 算子 \(\mathcal{K}\) :
\(\mathcal{K}\) 是線性算子(線性性直接由複合運算給出: \(\mathcal{K}(g_1 + g_2) = \mathcal{K}g_1 + \mathcal{K}g_2\) )。代價是 \(\mathcal{K}\) 作用於無窮維函數空間。控制版本則定義帶輸入的提升系統:若存在有限維觀測函數 \(\theta(x) \in \mathbb{R}^M\) 使
則非線性系統在提升空間(lifted space)中變為線性系統,5.2、5.3 節的線性 MPC 工具即可直接套用。
flowchart LR
A[非線性狀態 x] -->|觀測函數 θ 提升到高維| B[θ x 屬於 R^M]
B -->|Koopman 線性演化| C[A_K, B_K 線性模型]
C --> D[線性 MPC / LQR 直接套用]
D --> E[控制量 u 回到原空間]6.1.3 DMD:從資料中提取 Koopman 近似#
動態模態分解(Dynamic Mode Decomposition, DMD)是 Koopman 有限維逼近的主力演算法。給定快照對 \((x_j, x_j^+ = F(x_j))\) , \(j = 1, \dots, T\) ,堆疊成矩陣:
DMD 求解最小平方問題:
在實務中,先對 \(X\) 做截斷 SVD 降維( \(X \approx U_r \Sigma_r V_r^{\top}\) ),再計算:
\(\tilde{A}\) 的特徵值即 Koopman 特徵值的近似,對應系統的主導模態(衰減率、振盪頻率)。對受控系統,擴展 DMD with control(DMDc)同時估計 \(A_K\) 與 \(B_K\) ;延遲嵌入(time-delay embedding)則以過去狀態堆疊充當觀測函數,可證明在一般條件下收斂到真實 Koopman 模態。
6.1.4 觀測函數的選擇:從手挑到機器學習#
Koopman 方法成敗繫於觀測函數 \(\theta\) 。三代做法遞進:
- 手工基底:多項式(如 \(x, x^2, x_1 x_2\) )、傅立葉基底。簡單但未必完備。
- 字典學習:從候選函數庫中以稀疏回歸(如 SINDy)挑選最簡字典。
- 神經網路觀測函數(deep Koopman,2010 年代末):以自編碼器學習 \(\theta\) ,編碼器為 \(\theta\) ,解碼器為其反演,並對提升空間施加線性動力學損失:
第三代的意義深遠:神經網路在此不扮演控制器,而是扮演「把非線性問題整理成線性問題」的特徵學習者。這是資料驅動方法與經典控制理論的一次和平共處。
6.1.5 Koopman-MPC:理論回饋到控制#
在提升空間中,MPC 問題變為:
這仍是(若 \(\theta\) 為狀態的已知非線性函數,則約束為非線性;若以 \(\theta(x_k)\) 為線上量測,則)可用線性 QP 或以凸鬆弛求解的問題。相較於非線性 MPC(NMPC)所需的序列二次規劃(SQP),Koopman-MPC 保留了 5.3 節求解器生態的可用性,計算上佔盡便宜。
6.1.6 實例:軟體機器人與化工程序#
- 化工批式反應器:溫度-濃度動力學強非線性。以多項式字典 + DMD 建立提升模型,再設計 Koopman-MPC,能在寬廣操作區內跟蹤轉化率設定點,優於單點線性化 MPC。
- 軟體機器人(soft robot):材料大變形、難以物理建模。以深度 Koopman 從運動捕捉資料學習提升模型,實現了毫秒級的形狀閉環控制——傳統 NMPC 在同級硬體上無法達到此頻率。
兩例共同說明:Koopman 的價值在以資料換模型、以線性換計算。
小結#
Koopman 算子理論把「非線性系統的線性化」從局部切空間推廣到全局函數空間;DMD 及其延伸提供了資料驅動的有限維近似,而深度學習則自動化了觀測函數的設計。於是,非線性預測、非線性最佳化這兩大 NMPC 難題被同時迴避,線性 MPC 的理論與求解器基礎設施得以完整繼承。
延伸到下一節#
Koopman-MPC 仍是「有模型」的控制,只是模型改由資料學得。與此相對,強化學習社群在同期發展了完全不建模的路線:直接從與環境互動中學習控制策略。這條路看似更直接,但在控制場景中遇到了難以迴避的樣本效率與安全障礙——這是 6.2 節的主題。