當模型預測控制遇見機器人學習

2020-12-05 深藍學院

喻超深藍學院

作者簡介:

作者喻超,加拿大滑鐵盧大學在讀博士,主要研究方向:基於機器學習的模型預測控制技術,及其在車輛動力學、自動駕駛規劃和控制領域的應用,碩士畢業於上海交通大學,擁有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。

受限於篇幅,本文沒有展開討論Learning-based MPC技術及其研究進展。

本文來自作者喻超的投稿文章,作者承諾文章為原創文章,如文章有任何版權問題請及時聯繫我們,我們會第一時間處理。

深藍學院誠邀大家投稿,為人工智慧貢獻自己的一份力量!

相關焦點

  • 機器人強化遷移學習指南:架設模擬和現實的橋梁
    機器人強化學習中的遷移學習稱為「模擬到現實(Sim-to-real)方法」,具體是指首先在模擬環境中收集數據並訓練機器人控制策略,然後進行遷移學習,將訓練獲得的控制策略(新技能)應用於物理現實中的機器人。
  • 模型預測控制在溫度調節中的應用
    模型預測控制(MAC)用脈衝響應建立預測模型,按預測值反饋計算下一步控制量,因而可大大提高控制速度。溫度對象的脈衝響應容易在線測取,現場整定參數只有一個,使用方便,仿真和試用結果令人滿意。
  • 機器人阻抗控制概念
    對焊接、搬運、噴漆等工作,機器人的末端執行器在運動過程中不與外界物體相接觸,機器人只需位置控制就夠了,而對於切削、磨光、裝配作業,僅有位置控制難以完成工作任務,還必須控制機器人與操作對象間的作用力以順應接觸約束。機器人採用力控制可以控制機器人在具有不確定性的約束環境下實現與該環境相順應的運動,從而可以適應更複雜的操作任務。
  • 強化學習機器人也有很強環境適應能力,伯克利AI實驗室賦能元訓練+...
    另一方面,機器人通常被部署了固定行為(無論編碼還是學習),這讓它們在特定的環境中做的很好,但也導致了它們在其他方面做不好:系統故障、遇到陌生地帶或是碰上環境改變(比如風)、需要處理有效載荷或是其他意料之外的變化。BAIR 最新研究的想法是,在目前階段,預測和觀察之間的不匹配應該告訴機器人,讓它去更新它的模型,去更精確地描述現狀。
  • 使用PyTorch進行主動遷移學習:讓模型預測自身的錯誤
    在當前的機器學習中,遷移學習通常是指獲取一個現有的神經模型,然後對最後一層 (或最後幾層) 進行再訓練,以完成新的任務,它可以表示為:遷移學習的一個例子。模型預測標籤為「a」、「B」、「C」或「D」,單獨的數據集標籤為「W」、「X」、「Y」和「Z」。再訓練模型的最後一層模型現在能夠預測標籤「W」、「X」、「Y」和「Z」。
  • 清華大學馮珺:當強化學習遇見自然語言處理有哪些奇妙的化學反應?|...
    雷鋒網AI科技評論按:隨著強化學習在機器人和遊戲 AI 等領域的成功,該方法也引起了越來越多的關注。在近期雷鋒網GAIR大講堂上,來自清華大學計算機系的博士生馮珺,為大家介紹了如何利用強化學習技術,更好地解決自然語言處理中的兩個經典任務:關係抽取和文本分類。 本文根據視頻直播分享整理而成,內容若有疏漏,以原視頻嘉賓所講為準。
  • 從腦電波到機器人運動——深度學習:介紹
    由此,產生了一個巨大的挑戰:如何對這些EEG掃描結果進行「解碼」,從而通過非侵入式的腦機接口(BCI)控制機器人假肢或者其他設備。我們稍後在精確度預測時可以看到,腦電波的個體差異性很強,對於同一個人,模型可以以很高的準確率預測它所沒有見過的片段,但如果對一個新的受試者進行這樣的預測卻可能有較大難度。因此我們的目標就是創建一個神經網絡,將讀取到的EEG信號作為輸入,輸出受試者想要完成的6種可能動作的概率分布。
  • 美陸軍開發出高效機器人訓練模型
    美國陸軍面向未來多域作戰概念研發了一種高效的地面機器人學習模型,該模型提出基於強化學習的策略,可有效減少當前訓練強化學習策略的不可預測性,使自主智能體能夠推理並適應不斷變化的戰場條件
  • 根據HE染色切片即可預測微衛星不穩定性的深度學習模型!
    檢測結直腸癌微衛星不穩定性(MSI)對臨床決策至關重要,因為它可以區分預測不同治療反應和預後的患者。臨床推薦結直腸癌患者進行通用的MSI檢測,但許多患者仍未進行檢測。迫切需要可廣泛使用的、成本效益高的工具來幫助患者選擇進行檢測。
  • 水下機器人a_水下機器人a星算法路徑規劃 - CSDN
    基於確定性策略梯度定理和神經網絡逼近,提出了一種無模型強化學習算法,該算法從水下機器人的採樣軌跡中學習狀態反饋控制器。為了提高反向學習算法的性能,我們進一步提出了一種通過重放先前的優先軌跡的批量學習方案。我們通過仿真說明,我們的無模型方法甚至可以與基於模型的控制器相媲美。此外,在中國南海採集的海底數據集上驗證了該算法的有效性。
  • 數據建模中分類與預測模型
    因此,本文基於上期數據預處理部分之後,介紹如何在清洗過後的數據基礎之上建立分類與預測模型,為此種模型的構建方法進行簡單介紹,輔助投資者對自身分析邏輯中的分析框架進行量化分析,方便其多元化的交易分析。  一、分類與預測的介紹  數據建模中分類與預測模型主要是尋求合適的分類模型並在此基礎之上進行未來預測。
  • 強化學習與3D視覺結合新突破:高效能在線碼垛機器人
    作者團隊還將訓練模型部署到了工業機器人上,實現了業界首個高效能(連續碼放 50 個以上隨機尺寸箱子,空間利用率大於 70%)無序混合碼垛機器人。在物流倉儲場景中,無序混合紙箱碼垛機器人有著大量的應用需求。對於亂序到來的、多種尺寸規格的箱子,如何用機器人實現自動、高效的碼垛,節省人力的同時提升物流周轉效率,是物流倉儲自動化的一個難點問題。
  • 手把手:教你如何用深度學習模型預測加密貨幣價格
    實際上,我並沒有持有任何加密貨幣,但說起憑藉深度學習、機器學習以及人工智慧成功預測加密貨幣的價格,我覺得自己還算是個老司機。一開始,我認為把深度學習和加密貨幣結合在一起研究是個非常新穎獨特的想法,但是當我在準備這篇文章時,我發現了一篇類似的文章。那篇文章只談到比特幣。
  • 科普貼|孩子如何接觸和學習機器人教育?
    孩子們在玩機器人的時候,其實是在嘗試把模仿學習模式轉化成試錯學習模式。以前在課堂上學生總是模仿學習,這種學習模式不能說不好,但卻不利於調動起他們學習的內在動力。試錯學習則給了他們一個很好的補充方式。對於這一年齡段的孩子,機器人教育機構也都以搭建樂高大顆粒模型為主,雖有濃鬱的學習氛圍,但初級階段不需要太多有難度的指導,若家長有時間陪伴孩子的話,懂一點點理科知識的家長完全可以勝任引導工作。這樣一來,家長最清楚孩子的學習狀況,也省下了這幾年昂貴的費用。
  • 深度學習預測RNA二級結構,螞蟻金服提出端到端模型E2Efold
    本文將介紹一種用於預測 RNA 二級結構的端到端深度學習模型 E2Efold,在結構預測方面具有顯著更優表現,同時大大縮短新冠病毒 RNA 二級結構預測時間,為病毒研究、藥物篩選、疫苗研製等工作提供更多助力。這項成果來自螞蟻金服的研究團隊,目前這篇論文已被 ICLR 2020 接收為 Talk 論文。
  • 機器人的控制系統由什麼組成的
    控制系統是工業機器人的重要組成部分,它的作用相當於人腦。擁有一個功能完善、靈敏可靠的控制系統是工業機器人與設備協調動作、共同完成作業任務的關鍵。工業機器人的控制系統一般由對其自身運動的控制和工業機器人與周邊設備的協調控制兩部分組成。
  • 感覺自已像機器人作文_rviz中的機器人模型怎麼跟著自己的機器人...
    然後,介紹了目前較為常用的生成型聊天機器人的模型以及評估方法,其中,對作為很多模型基礎的Encoder-decoder模型做了詳細介紹和分析,以及在此基礎上完成的幾個優化模型系統。最後,給出了一些參考的開源框架以及可使用的數據以供讀者使用。研究背景目前市面上主要的智能聊天機器人可以分為如下兩類:目標驅動型聊天機器人和無目標驅動型聊天機器人。
  • 數學模型對於預測、控制疾病爆發將至關重要!
    今天博科園就來談談數學在預測和控制疾病爆發這方面的應用:根據一項新的研究,隨著數學模型的廣泛應用,預測和控制疾病暴發將至關重要,同時也變得更容易和更可靠,其研究成果發表在《自然微生物學》期刊上。滑鐵盧應用數學系的教授Chris Bauch說:疾病傳播的數學模型在理解和控制傳染病方面非常有益。在嘗試使用數學建模時,必須克服某些挑戰。此外,需要良好的數據,以達致建模的目標,以及最有效地控制傳染病。
  • 【AI-機器人】具有任務縮放和運動約束的冗餘機械手預測逆運動學
    ,在運動約束和任務優先條件下,求解冗餘機器人的逆運動學問題。當軌跡對於機器人能力不可行時,實現以任務縮放來保持期望的幾何任務。仿真結果驗證了該方法的有效性。    該方法的基本思想在於將預測IK(逆運動學)問題的解決方案公式化,再添加約束。這些方法必須融入到時間中解決。然後,本著水平控制的標準,將序列的第一個輸入應用於系統,並重複該過程,直到軌跡結束。    B.
  • 如何使用XGBoost模型進行時間序列預測
    XGBoost也可以被用於時間序列預測,儘管它需要將時間序列數據集先轉換成監督學習問題。它需要用到一種被稱為前進式驗證的特殊方法來評估模型,因為使用k折驗證來評估模型容易導致偏向樂觀的結果。本教程中,你將探索如何為時間序列預測開發一個XGBoost模型。