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