乾貨文稿|當模型預測控制遇見機器學習

本文來自深藍投稿作者喻超。加拿大滑鐵盧大學在讀博士,主要研究方向:基於機器學習的模型預測控制技術,及其在車輛動力學、自動駕駛規劃和控制領域的應用,碩士畢業於上海交通大學,擁有8年電動汽車控制系統開發工作經驗,曾擔任上汽通用汽車電氣化控制架構開發經理,美國通用汽車高級控制系統工程師。
最近幾年,人工智慧和機器學習受到了各行各業的熱捧,已經不再是電腦科學系(CS)的「專利」,甚至連我這個傳統的機械工程系(ME)研究生都跑來湊了個熱鬧。本文將不使用任何讓人敬而遠之的公式,試圖通過自然語言深入淺出的討論,當模型預測控制遇見機器學習,它們會擦出怎樣的思想火花。
一、模型預測控制原理及應用
凡學過自動控制原理的學生,或者從事控制系統開發工作的工程師應該對於PID(比例Proportional-積分Integral-微分Derivative)這種最為古老和成功的控制方法並不陌生,而對於MPC(模型Model-預測Predictive-控制Control)這種新興的強大的控制技術可能並不很熟悉。
國際自動控制聯合會(英文縮寫IFAC)每三年召開一次的世界大會是自動控制領域公認的頂級學術會議,其在2014年發布的一項調查報告顯示,PID仍然是在工業領域具有最大影響力的控制技術,緊隨其後的就是MPC。
圖片
圖1. 影響工業界的控制技術
(來源: Tariq Samad, A Survey on Industry Impact and Challenges Thereof)
PID和MPC控制的共同之處在於其目的都是通過控制執行器,例如電機,閥門等,使被控對象,如汽車,化學反應器等,跟隨一種期望的行為軌跡。
其不同之處在於,如圖所示,PID控制器使用通過感測器採集到的被控對象當前的和過去的狀態來控制執行器動作,而MPC控制器基於被控對象當前的狀態,利用控制器內部簡化的被控對象物理模型來預測被控對象在接下來一段時域內,一系列執行器動作作用下的行為軌跡。
進而通過優化工具搜索到能實現對期望軌跡最優跟隨效果的一系列執行器動作,然後只將第一步動作施加在被控對象上,被控對象執行完畢後再次回饋其當前的狀態給MPC控制器,以重複這個控制過程。
兩種方法各有優劣,PID控制方法簡單,工程實現容易,但存在超調問題,而且難以勝任多個輸入和輸出(Multi-Input and Multi-Output,簡稱MIMO)的複雜控制系統的多目標受限優化問題;MPC理論上可以實現最優的控制性能,並且可以輕鬆應對MIMO系統的挑戰,但其性能非常依賴預測模型的精度。
圖片
圖2. PID控制與MPC控制效果的差別
(來源: Ylva Lindberg, A Comparison Between MPC and PID Controllers)
圖片
圖3. MPC控制原理示意
(來源: Melda Ulusoy, Understanding Model Predictive Control)
學術界的讀者通常比較關心某個技術的理論和原理,而工業界的讀者可能更加關心這種技術的量產應用。相比PID這種已經在產品控制器中大量使用的控制技術,MPC的量產應用,特別是在我所熟悉的汽車領域可以說還處在早期階段。
這與MPC控制技術的研究起步較晚,技術門檻較高,以及量產控制器出於成本考慮所用晶片較為有限的計算能力和存儲資源有關。
令人振奮的是,通用汽車(GM)與ODYS公司合作,在2018年將MPC技術成功的應用到了GM 的量產控制器,用於發動機扭矩控制和變速箱速比控制,並取得了不錯的節油效果。
這是MPC在汽車工業界的第一次量產應用,感興趣的讀者可以閱讀GM 和 ODYS 在SAE上聯合發表的文章。另外,在百度Apollo開源自動駕駛平台上,MPC被用於百度自動駕駛車輛的路徑跟蹤控制。感興趣的讀者可以在百度Apollo的網站上觀看相關培訓影片和下載MPC程式碼學習。
因此,總體而言,雖然MPC在汽車工業量產的應用案例還不多,但隨著晶片技術的飛速發展,可以預見未來會有越來越多的基於MPC的產品控制器落地。
圖片
圖4. MPC 用於GM量產發動機控制器扭矩控制和變速箱控制器速比控制
(來源: Alberto Bemporad, Supervisory Model Predictive Control of a Powertrain with a Continuously Variable Transmission)
圖片
圖5. MPC用於百度Apollo自動駕駛車輛路徑跟蹤控制
(來源: Qi Luo, An Automated Learning-Based Procedure for Large-scale Vehicle Dynamics Modeling on Baidu Apollo Platform)
二、淺談機器學習技術
在過去的幾年,機器學習技術在不同的應用領域取得了巨大的成功,這主要歸功於大量可獲取的數據,更加高效的演算法,以及越來越強大的感測器、晶片和通訊技術。機器學習(ML)是人工智慧(AI)的一個分支,也是實現AI的一個途徑。大家可以在書籍或網上找到很多關於ML的定義。
我從工程系統的角度理解,用一句話解釋,那就是ML是利用數學(例如概率論)將工程系統的歷史數據(Data)轉換為數字(Numbers),並從中找出系統的行為模式(Patterns),以對其未來的行為進行預測(Prediction)。
如果只用一個詞解釋,那就是預測(Prediction)。ML跟MPC一樣,都是預測,只不過ML的預測是基於數據(Data-based),而MPC的預測是基於物理模型(Model-based or Physics-based)。
機器學習方法可以分為如下幾種類別:
監督學習從給定的訓練數據集中學習出一個函數,當新的數據到來時,可以根據這個函數預測結果。監督學習的訓練集要求是包括輸入和輸出,也可以說是特徵和目標。訓練集中的目標是由人標註的。常見的監督學習演算法包括回歸分析和統計分類。
無監督學與監督學習相比,訓練集沒有人為標註的結果。常見的無監督學習演算法有生成對抗網路(GAN)、聚類。
遷移學習:專註於存儲已有問題的解決模型,並將其利用在其他不同但相關問題上。比如說,用來辨識汽車的知識也可以被用來提升識別卡車的能力。
強化學習機器為了達成目標,隨著環境的變動,而逐步調整其行為,並評估每一個行動之後所到的回饋是正向的或負向的。
圖片
圖6. ML方法及問題分類
(來源: Daniel Bourke, Introducing the 2020 Machine Learning Roadmap)
這些ML的基礎知識並非本文討論的重點,僅作為接下來要討論的內容的鋪墊。
2020年9月份,電腦科學領域的世界知名學者、加州大學洛杉磯分校電腦科學教授朱松純,以國家戰略科學家的身份回國並任教清華大學自動化系。我讀過他在2017年寫的一篇很有意思的科普文章,中文題目為《人工智慧的現狀、任務、構架與統一》,英文題目為「AI:The Era of Big Integration」。
在這篇文章里,首先講了一個「聰明的烏鴉」的故事來啟示讀者,然後科普了AI涉及到的六大學科的前沿問題,包括電腦視覺、自然語言理解與交流、認知與推理、機器人學、博弈與倫理以及機器學習,最後總結了一個很有意思的觀點,在此先按下不表。
讓我們先看看這隻烏鴉是何等聰明。事實上,這是日本東北大學的一項研究,圖a是一隻烏鴉,它找到了一個堅果,然而砸碎堅果吃到果肉超出了它自己的物理動作能力。於是,它想到一個辦法,那就是飛到高處,然後把堅果丟到地面上,試圖砸開果殼。
這是在利用堅果自身的重力勢能砸碎果殼。很可惜,這個辦法不行(圖b)。於是,它通過觀察,又想到另一個辦法,那就是飛到馬路上的斑馬線上空,然後把堅果丟到斑馬線上讓汽車軋過去。這其實是在利用汽車的重量軋碎果殼。這個方法成功了(圖c和圖d)。
生物都有趨利避害的本能,烏鴉知道如果在車輛穿過斑馬線時去吃果肉,自己很可能會被軋死。但它觀察到一個現象,那就是當允許行人通行的指示燈亮起時(圖e),汽車都會停在斑馬線前方。於是它選擇在這個時候飛到斑馬線上,安全的吃到了果肉(圖f)。
我們不難發現,在這個過程中,烏鴉巧妙的利用了物理學中的重力。
朱松純教授認為,物理學往往把生物智慧排除在研究之外,而人工智慧也很少關注物理學,但兩者本質上是相通的:當你有了一個概率分布,你就有了勢能函數,然後就有了相互作用,也就是力和場。
因此,他認為人工智慧本質上必將是以牛頓和達爾文為代表的物理學和進化論兩大理論的統一。
圖片
圖7. 牛頓(物理學)和達爾文(進化論)
(來源: Song-Chun Zhu, AI: The Era of Big Integration)
圖片
圖8. 牛頓和達爾文
(來源: Song-Chun Zhu, AI: The Era of Big Integration)
三、基於機器學習的模型預測控制
寫到這裡,終於可以毫無違和感的引出本文的主題——基於機器學習的模型預測控制,英文名為Learning-based MPC。
前面講了傳統的MPC是在控制器內部基於牛頓力學搭建了一個簡化的被控對象物理模型以用於預測,並基於預測,在一定的約束條件下搜索最優的控制解。通過合理的設置約束條件,MPC可以確保控制行為的安全性(Safety Guarantees)。
然而,這種控制方法的性能(Performance)非常依賴於物理模型的精度。為了提高控制性能,通常的做法是搭建更加複雜的物理模型,或者使用非線性的優化求解器。
這些做法面臨幾大挑戰,一是難以通過物理學方法(例如牛頓力學)對越來越複雜的工程系統(例如自動駕駛)進行足夠精確的建模,特別是當被控對象的運行環境存在較大不確定性;
另一方面,過於複雜的物理模型和非線性優化必然帶來過高的計算負荷和存儲需求,導致這種方法通常止步於電腦模擬和實驗室用於學術研究的高性能控制器,難以進一步走向能大規模量產的低成本控制器;
此外,傳統的MPC控制是不具有進化能力的,其物理模型和控制參數並不會隨被控對象和運行環境的變化(例如產品的老化)做出自適應的調整。
ML是基於數據來進行預測,隨著有效數據的積累,理論上ML的預測能力可以持續的進化。
ML也存在一些問題,一是其預測性能非常依賴於訓練數據的數量,然而,在很多的應用領域難以獲取大量有效的訓練數據,這就極大的限制了ML的應用。
另一方面,很多的ML方法(例如深度神經網路DNN)被視為黑盒子,其預測性能難以被解釋。還有很重要的一點,一旦學習失敗,ML通常難以保證安全(No Safety Guarantees),這種失效對於很多安全性要求比較高(Safety Critical)的工程應用是難以接受的。
基於上述討論不難看出,MPC的不足剛好是ML的優勢,而ML的不足又剛好是MPC的優勢。
因此,加州大學伯克利分校的學者在2012年首次提出了一種基於機器學習的模型預測控制方法,把MPC和ML兩種技術完美的結合起來,並通過理論和試驗證明了該方法的安全性,以及比傳統MPC更優的控制性能。這種新的方法的提出如同打開了一扇門,讓牛頓和達爾文走到了一起。
從此之後,越來越多的學者開始研究這種新的控制方法,設計出了不同的變種,並探索了不同的ML方法(如回歸,強化學習,深度學習等)在MPC控制問題上的應用。
我在今年7月份參加了IFAC 2020國際會議(自動控制領域的頂級會議)。在該會議上,Alberto Bemporad 教授受邀做了題為Machine Learning: A New ICE (Identification, Control, Estimation) Age 的主題報告。
Alberto Bemporad 是義大利Lucca IMT先進技術研究院的教授,MATLAB MPC 工具箱的作者,MPC研究領域的專家,同時也是上文提到的是與GM合作率先實現MPC控制技術在汽車工業量產應用的ODYS公司的創始人。
Alberto Bemporad 教授的報告內容非常精彩,受限於篇幅,我這裡只引用其中兩頁紙並略作解釋。
在第一頁報告里,Bemporad教授認為ML可以在三個方面賦能MPC,分別是:
1)利用ML演算法(例如非線性回歸)從數據中學習預測模型,以提高預測模型的精度,進而實現更優的控制;
2)利用ML演算法(例如強化學習)從數據中直接學習並生成MPC控制策略,以及MPC控制參數標定;
3)利用ML演算法(例如深度神經網路)從數據中學習和重構不可直接測量,而需要估計的MPC控制所需的狀態量。
在總結報告中,Bemporad教授認為ML和MPC的結合會產生「化學反應」,並會極大的提高控制系統的設計和開發水平,同時指出單獨使用ML搭建的黑盒模型(例如DNN)不能替代自動控制技術,因此應盡量使用灰盒模型(即ML+MPC)以實現可解釋的最優性能,同時確保控制系統的穩定性和安全性。
感興趣的讀者可以閱讀Bemporad 教授發表的一系列文章。朱松純教授和Alberto Bemporad 教授,一位是ML領域的知名學者,一位是MPC領域的頂級專家,他們的觀點居然不謀而合,何其妙哉!
圖片
圖9. ML如何賦能MPC
(Source: Alberto Bemporad, Presentation at IFAC 2020)
圖片
圖10. 當MPC遇到ML
(Source: Alberto Bemporad, Presentation at IFAC 2020)
四、總結
本文首先介紹了模型預測控制技術(MPC)的原理,及其在汽車控制領域的應用。然後簡要的談了談機器學習技術(ML)的基本概念,引用了全球著名的人工智慧專家朱松純教授的科普文章中「聰明的烏鴉」的故事,並借用他的觀點「人工智慧本質上必將是達爾文與牛頓為代表的兩大理論的統一」引出了本文重點討論的基於機器學習的模型預測控制技術(Learning-based MPC)這一前沿的技術方向。
最後結合MPC領域專家Alberto Bemporad 教授在IFAC 2020國際會議上的報告,討論了ML將如何賦能MPC。