獨家|當模型預測控制遇見機器學習
全文大綱:
一、模型預測控制原理及應用
二、淺談機器學習技術(shù)
三、基于機器學習的模型預測控制
四、總結(jié)
以下為正文內(nèi)容,約5000字干貨,建議收藏加關(guān)注,定期推送獨家好文!
(作者簡介位于文末)

最近幾年,人工智能和機器學習受到了各行各業(yè)的熱捧,已經(jīng)不再是計算機科學系(CS)的“專利”,甚至連我這個傳統(tǒng)的機械工程系(ME)研究生都跑來湊了個熱鬧。本文將不使用任何讓人敬而遠之的公式,試圖通過自然語言深入淺出的討論,當模型預測控制遇見機器學習,它們會擦出怎樣的思想火花。
一、模型預測控制原理及應用
凡學過自動控制原理的學生,或者從事控制系統(tǒng)開發(fā)工作的工程師應該對于PID(比例Proportional-積分Integral-微分Derivative)這種最為古老和成功的控制方法并不陌生,而對于MPC(模型Model-預測Predictive-控制Control)這種新興的強大的控制技術(shù)可能并不很熟悉。
國際自動控制聯(lián)合會(英文縮寫IFAC)每三年召開一次的世界大會是自動控制領(lǐng)域公認的頂級學術(shù)會議,其在2014年發(fā)布的一項調(diào)查報告顯示,PID仍然是在工業(yè)領(lǐng)域具有最大影響力的控制技術(shù),緊隨其后的就是MPC。

(來源: Tariq Samad, A Survey on Industry Impact and Challenges Thereof)
PID和MPC控制的共同之處在于其目的都是通過控制執(zhí)行器,例如電機,閥門等,使被控對象,如汽車,化學反應器等,跟隨一種期望的行為軌跡。
其不同之處在于,如圖所示,PID控制器使用通過傳感器采集到的被控對象當前的和過去的狀態(tài)來控制執(zhí)行器動作,而MPC控制器基于被控對象當前的狀態(tài),利用控制器內(nèi)部簡化的被控對象物理模型來預測被控對象在接下來一段時域內(nèi),一系列執(zhí)行器動作作用下的行為軌跡。
進而通過優(yōu)化工具搜索到能實現(xiàn)對期望軌跡最優(yōu)跟隨效果的一系列執(zhí)行器動作,然后只將第一步動作施加在被控對象上,被控對象執(zhí)行完畢后再次反饋其當前的狀態(tài)給MPC控制器,以重復這個控制過程。
兩種方法各有優(yōu)劣,PID控制方法簡單,工程實現(xiàn)容易,但存在超調(diào)問題,而且難以勝任多個輸入和輸出(Multi-Input and Multi-Output,簡稱MIMO)的復雜控制系統(tǒng)的多目標受限優(yōu)化問題;MPC理論上可以實現(xiàn)最優(yōu)的控制性能,并且可以輕松應對MIMO系統(tǒng)的挑戰(zhàn),但其性能非常依賴預測模型的精度。

(來源: Ylva Lindberg, A Comparison Between MPC and PID Controllers)

(來源: Melda?Ulusoy, Understanding Model Predictive Control)
學術(shù)界的讀者通常比較關(guān)心某個技術(shù)的理論和原理,而工業(yè)界的讀者可能更加關(guān)心這種技術(shù)的量產(chǎn)應用。相比PID這種已經(jīng)在產(chǎn)品控制器中大量使用的控制技術(shù),MPC的量產(chǎn)應用,特別是在我所熟悉的汽車領(lǐng)域可以說還處在早期階段。
這與MPC控制技術(shù)的研究起步較晚,技術(shù)門檻較高,以及量產(chǎn)控制器出于成本考慮所用芯片較為有限的計算能力和存儲資源有關(guān)。
令人振奮的是,通用汽車(GM)與ODYS公司合作,在2018年將MPC技術(shù)成功的應用到了GM 的量產(chǎn)控制器,用于發(fā)動機扭矩控制和變速箱速比控制,并取得了不錯的節(jié)油效果。
這是MPC在汽車工業(yè)界的第一次量產(chǎn)應用,感興趣的讀者可以閱讀GM 和 ODYS 在SAE上聯(lián)合發(fā)表的文章。另外,在百度Apollo開源自動駕駛平臺上,MPC被用于百度自動駕駛車輛的路徑跟蹤控制。感興趣的讀者可以在百度Apollo的網(wǎng)站上觀看相關(guān)培訓視頻和下載MPC代碼學習。
因此,總體而言,雖然MPC在汽車工業(yè)量產(chǎn)的應用案例還不多,但隨著芯片技術(shù)的飛速發(fā)展,可以預見未來會有越來越多的基于MPC的產(chǎn)品控制器落地。

(來源: Alberto Bemporad, Supervisory Model Predictive Control of a Powertrain with a Continuously Variable Transmission)

(來源: Qi Luo, An Automated Learning-Based Procedure for Large-scale Vehicle Dynamics Modeling on Baidu Apollo Platform)
二、淺談機器學習技術(shù)
在過去的幾年,機器學習技術(shù)在不同的應用領(lǐng)域取得了巨大的成功,這主要歸功于大量可獲取的數(shù)據(jù),更加高效的算法,以及越來越強大的傳感器、芯片和通訊技術(shù)。機器學習(ML)是人工智能(AI)的一個分支,也是實現(xiàn)AI的一個途徑。大家可以在書籍或網(wǎng)上找到很多關(guān)于ML的定義。
我從工程系統(tǒng)的角度理解,用一句話解釋,那就是ML是利用數(shù)學(例如概率論)將工程系統(tǒng)的歷史數(shù)據(jù)(Data)轉(zhuǎn)換為數(shù)字(Numbers),并從中找出系統(tǒng)的行為模式(Patterns),以對其未來的行為進行預測(Prediction)。
如果只用一個詞解釋,那就是預測(Prediction)。ML跟MPC一樣,都是預測,只不過ML的預測是基于數(shù)據(jù)(Data-based),而MPC的預測是基于物理模型(Model-based or Physics-based)。
機器學習方法可以分為如下幾種類別:
監(jiān)督學習:從給定的訓練數(shù)據(jù)集中學習出一個函數(shù),當新的數(shù)據(jù)到來時,可以根據(jù)這個函數(shù)預測結(jié)果。監(jiān)督學習的訓練集要求是包括輸入和輸出,也可以說是特征和目標。訓練集中的目標是由人標注的。常見的監(jiān)督學習算法包括回歸分析和統(tǒng)計分類。
無監(jiān)督學習:與監(jiān)督學習相比,訓練集沒有人為標注的結(jié)果。常見的無監(jiān)督學習算法有生成對抗網(wǎng)絡(luò)(GAN)、聚類。
遷移學習:專注于存儲已有問題的解決模型,并將其利用在其他不同但相關(guān)問題上。比如說,用來辨識汽車的知識也可以被用來提升識別卡車的能力。
強化學習:機器為了達成目標,隨著環(huán)境的變動,而逐步調(diào)整其行為,并評估每一個行動之后所到的回饋是正向的或負向的。

(來源: Daniel?Bourke, Introducing the 2020 Machine Learning Roadmap)
這些ML的基礎(chǔ)知識并非本文討論的重點,僅作為接下來要討論的內(nèi)容的鋪墊。
2020年9月份,計算機科學領(lǐng)域的世界知名學者、加州大學洛杉磯分校計算機科學教授朱松純,以國家戰(zhàn)略科學家的身份回國并任教清華大學自動化系。我讀過他在2017年寫的一篇很有意思的科普文章,中文題目為《人工智能的現(xiàn)狀、任務(wù)、構(gòu)架與統(tǒng)一》,英文題目為“AI:The Era of Big Integration”。
在這篇文章里,首先講了一個“聰明的烏鴉”的故事來啟示讀者,然后科普了AI涉及到的六大學科的前沿問題,包括計算機視覺、自然語言理解與交流、認知與推理、機器人學、博弈與倫理以及機器學習,最后總結(jié)了一個很有意思的觀點,在此先按下不表。
讓我們先看看這只烏鴉是何等聰明。事實上,這是日本東北大學的一項研究,圖a是一只烏鴉,它找到了一個堅果,然而砸碎堅果吃到果肉超出了它自己的物理動作能力。于是,它想到一個辦法,那就是飛到高處,然后把堅果丟到地面上,試圖砸開果殼。
這是在利用堅果自身的重力勢能砸碎果殼。很可惜,這個辦法不行(圖b)。于是,它通過觀察,又想到另一個辦法,那就是飛到馬路上的斑馬線上空,然后把堅果丟到斑馬線上讓汽車軋過去。這其實是在利用汽車的重量軋碎果殼。這個方法成功了(圖c和圖d)。
生物都有趨利避害的本能,烏鴉知道如果在車輛穿過斑馬線時去吃果肉,自己很可能會被軋死。但它觀察到一個現(xiàn)象,那就是當允許行人通行的指示燈亮起時(圖e),汽車都會停在斑馬線前方。于是它選擇在這個時候飛到斑馬線上,安全的吃到了果肉(圖f)。
我們不難發(fā)現(xiàn),在這個過程中,烏鴉巧妙的利用了物理學中的重力。
朱松純教授認為,物理學往往把生物智能排除在研究之外,而人工智能也很少關(guān)注物理學,但兩者本質(zhì)上是相通的:當你有了一個概率分布,你就有了勢能函數(shù),然后就有了相互作用,也就是力和場。
因此,他認為人工智能本質(zhì)上必將是以牛頓和達爾文為代表的物理學和進化論兩大理論的統(tǒng)一。

(來源: Song-Chun?Zhu, AI:?The?Era of Big Integration)

(來源: Song-Chun?Zhu, AI:?The?Era of Big Integration)
三、基于機器學習的模型預測控制
寫到這里,終于可以毫無違和感的引出本文的主題——基于機器學習的模型預測控制,英文名為Learning-based MPC。
前面講了傳統(tǒng)的MPC是在控制器內(nèi)部基于牛頓力學搭建了一個簡化的被控對象物理模型以用于預測,并基于預測,在一定的約束條件下搜索最優(yōu)的控制解。通過合理的設(shè)置約束條件,MPC可以確保控制行為的安全性(Safety Guarantees)。
然而,這種控制方法的性能(Performance)非常依賴于物理模型的精度。為了提高控制性能,通常的做法是搭建更加復雜的物理模型,或者使用非線性的優(yōu)化求解器。
這些做法面臨幾大挑戰(zhàn),一是難以通過物理學方法(例如牛頓力學)對越來越復雜的工程系統(tǒng)(例如自動駕駛)進行足夠精確的建模,特別是當被控對象的運行環(huán)境存在較大不確定性;
另一方面,過于復雜的物理模型和非線性優(yōu)化必然帶來過高的計算負荷和存儲需求,導致這種方法通常止步于計算機仿真和實驗室用于學術(shù)研究的高性能控制器,難以進一步走向能大規(guī)模量產(chǎn)的低成本控制器;
此外,傳統(tǒng)的MPC控制是不具有進化能力的,其物理模型和控制參數(shù)并不會隨被控對象和運行環(huán)境的變化(例如產(chǎn)品的老化)做出自適應的調(diào)整。
ML是基于數(shù)據(jù)來進行預測,隨著有效數(shù)據(jù)的積累,理論上ML的預測能力可以持續(xù)的進化。
ML也存在一些問題,一是其預測性能非常依賴于訓練數(shù)據(jù)的數(shù)量,然而,在很多的應用領(lǐng)域難以獲取大量有效的訓練數(shù)據(jù),這就極大的限制了ML的應用。
另一方面,很多的ML方法(例如深度神經(jīng)網(wǎng)絡(luò)DNN)被視為黑盒子,其預測性能難以被解釋。還有很重要的一點,一旦學習失敗,ML通常難以保證安全(No Safety Guarantees),這種失效對于很多安全性要求比較高(Safety Critical)的工程應用是難以接受的。
基于上述討論不難看出,MPC的不足剛好是ML的優(yōu)勢,而ML的不足又剛好是MPC的優(yōu)勢。
因此,加州大學伯克利分校的學者在2012年首次提出了一種基于機器學習的模型預測控制方法,把MPC和ML兩種技術(shù)完美的結(jié)合起來,并通過理論和試驗證明了該方法的安全性,以及比傳統(tǒng)MPC更優(yōu)的控制性能。這種新的方法的提出如同打開了一扇門,讓牛頓和達爾文走到了一起。
從此之后,越來越多的學者開始研究這種新的控制方法,設(shè)計出了不同的變種,并探索了不同的ML方法(如回歸,強化學習,深度學習等)在MPC控制問題上的應用。
我在今年7月份參加了IFAC 2020國際會議(自動控制領(lǐng)域的頂級會議)。在該會議上,Alberto Bemporad 教授受邀做了題為Machine Learning: A New ICE (Identification, Control, Estimation) Age 的主題報告。
Alberto Bemporad 是意大利Lucca IMT先進技術(shù)研究院的教授,MATLAB MPC 工具箱的作者,MPC研究領(lǐng)域的專家,同時也是上文提到的是與GM合作率先實現(xiàn)MPC控制技術(shù)在汽車工業(yè)量產(chǎn)應用的ODYS公司的創(chuàng)始人。
Alberto Bemporad 教授的報告內(nèi)容非常精彩,受限于篇幅,我這里只引用其中兩頁紙并略作解釋。
在第一頁報告里,Bemporad教授認為ML可以在三個方面賦能MPC,分別是:
1)利用ML算法(例如非線性回歸)從數(shù)據(jù)中學習預測模型,以提高預測模型的精度,進而實現(xiàn)更優(yōu)的控制;
2)利用ML算法(例如強化學習)從數(shù)據(jù)中直接學習并生成MPC控制策略,以及MPC控制參數(shù)標定;
3)利用ML算法(例如深度神經(jīng)網(wǎng)絡(luò))從數(shù)據(jù)中學習和重構(gòu)不可直接測量,而需要估計的MPC控制所需的狀態(tài)量。
在總結(jié)報告中,Bemporad教授認為ML和MPC的結(jié)合會產(chǎn)生“化學反應”,并會極大的提高控制系統(tǒng)的設(shè)計和開發(fā)水平,同時指出單獨使用ML搭建的黑盒模型(例如DNN)不能替代自動控制技術(shù),因此應盡量使用灰盒模型(即ML+MPC)以實現(xiàn)可解釋的最優(yōu)性能,同時確??刂葡到y(tǒng)的穩(wěn)定性和安全性。
感興趣的讀者可以閱讀Bemporad 教授發(fā)表的一系列文章。朱松純教授和Alberto Bemporad 教授,一位是ML領(lǐng)域的知名學者,一位是MPC領(lǐng)域的頂級專家,他們的觀點居然不謀而合,何其妙哉!

(Source: Alberto Bemporad,?Presentation at IFAC 2020)

(Source: Alberto Bemporad,?Presentation at IFAC 2020)
四、總結(jié)
本文首先介紹了模型預測控制技術(shù)(MPC)的原理,及其在汽車控制領(lǐng)域的應用。
然后簡要的談了談機器學習技術(shù)(ML)的基本概念,引用了全球著名的人工智能專家朱松純教授的科普文章中“聰明的烏鴉”的故事,并借用他的觀點“人工智能本質(zhì)上必將是達爾文與牛頓為代表的兩大理論的統(tǒng)一”引出了本文重點討論的基于機器學習的模型預測控制技術(shù)(Learning-based MPC)這一前沿的技術(shù)方向。
最后結(jié)合MPC領(lǐng)域?qū)<褹lberto Bemporad 教授在IFAC 2020國際會議上的報告,討論了ML將如何賦能MPC。
受限于篇幅,本文沒有展開討論Learning-based MPC技術(shù)及其研究進展。
作者喻超,加拿大滑鐵盧大學在讀博士,主要研究方向:基于機器學習的模型預測控制技術(shù),及其在車輛動力學、自動駕駛規(guī)劃和控制領(lǐng)域的應用,碩士畢業(yè)于上海交通大學,擁有8年電動汽車控制系統(tǒng)開發(fā)工作經(jīng)驗,曾擔任上汽通用汽車電氣化控制架構(gòu)開發(fā)經(jīng)理,美國通用汽車高級控制系統(tǒng)工程師。