智慧型控制 Intelligent Control

現代最佳化與調參

原課程的遺傳演算法、粒子群與蟻群最佳化都屬於「不需要梯度、只靠試誤」的演算法。這一章介紹這類方法在近二十年的發展,以及它們最常見的控制應用:自動調整控制器參數。

最佳化演算法提出下一組參數閉迴路實驗模擬或實機做一次計算成本例如 ITAEKp, Ki, Kd響應 y(t)一個數字 J(只知道好壞,沒有梯度)每評估一次=做一次實驗:模擬便宜就用 CMA-ES、GA、PSO;實機很貴就用貝氏最佳化

調 PID 時,我們能做的只是「給一組 \(K_p, K_i, K_d\),做一次步階實驗,算出一個成本」。成本對增益的關係寫不出公式,也沒有梯度,這就是黑箱最佳化。選哪種方法,主要看每做一次實驗要付出多少代價:

方法適合的情況通常需要的評估次數
Ziegler–Nichols 等經驗法則(PID 章)只需要一兩次實驗,求一組「可以用」的起點1~幾次
GA、PSO模擬很便宜、區域最小值很多數千~數萬
CMA-ES模擬便宜、參數彼此相關或各方向尺度差很多(連續參數的首選)數百~數萬
貝氏最佳化每次評估很貴(實機實驗、長時間模擬),參數少於約 20 個數十~數百
梯度法(自動微分穿過模擬)有可微分的模型,參數很多視問題而定,通常最少

本章用同一個例子比較這些方法:PID 章的受控體 \(G(s) = 1/(s+1)^3\),目標是讓步階響應的 ITAE 最小:

$$J(K_p, K_i, K_d) = \int_0^{20} t\,|e(t)|\,dt$$

ITAE 對很晚才消失的誤差懲罰較重,最佳解通常超越量小、安定快。Ziegler–Nichols 臨界增益法得到的增益 ITAE = 5.20、超越量 53%。

發展 Milestones

年里程碑
1942Ziegler–Nichols 調整法則
1960~70 年代演化策略(Rechenberg、Schwefel)、遺傳演算法(Holland)
1995粒子群最佳化(Kennedy 與 Eberhart)
1996~2001CMA-ES(Hansen 與 Ostermeier)
1998EGO:以高斯過程與期望改善量做最佳化(Jones 等人),貝氏最佳化的基礎
2010 年代貝氏最佳化用於機器人與實機控制器調參,安全版本 SafeOpt(2016)
2020 年代大型語言模型開始被用來寫控制程式、解讀規格、提議參數

本章內容 In This Chapter