最近朋友圈AI刷屏,我在這裡拋磚引玉,隨便說說為什麼我看好模型預測控制(MPC)在工業上的應用前景。

首先,神經網路和MPC都是80年代成熟起來的技術。說起神經網路,據我從各種網路野史考證,它在50年代的時候就火過一次,但是因為當時計算能力的計算能力限制,不能實現承諾的功能,被很多學者攻擊,如過街老鼠,大家避之不及。後來Stanford有個叫Widrow做了一個分類器,因為神經網路當時名聲不好,Widrow又是EE出身,就不提神經網路了。為了硬體實現方便,Widrow乾脆把Sigmoid函數改寫成了y=x,做成線性系統,只保存學習辦法。這是第一個在商業上運用的神經網路,用來消除電話里的回聲。這就是EE裡面著名的自適應數字濾波器 (Adaptive filter),直到今天大家還在使用。

其實數字濾波器的源頭就是神經網路,但是受當時條件的限制,沒法大規模的使用,後來有了大規模集成電路,可以學習了。數據科學,沒數據,再好的演算法都沒用。

故事說道這裡,相信熟悉控制論的同學都會一拍大腿,神經網路就是線性系統+激活函數+MSE求梯度嘛!原來天下武功出少林,大家都是從一個理論演化出來,只是後來流派不同,差不多的招式,各有各的名字。你的自適應濾波就是我的神經網路。MPC控制的基礎LQR (Linear–quadratic regulator)跟這也差不多,一個線性系統加個Quadratic 優化方程。只不過神經網路的系統是通過數據學出來的,LQR的系統是線性化求R2倒出來了。

現在神經網路為什麼又火了,還得從2012年說起,Geoffrey Hinton大神的學生Alex在那一年做出AlexNet,一下子在ImageNet大賽上把各路機器學習演算法流派打的落花流水,一戰封神。這個演算法就是現在大名鼎鼎的CNN,這一下子深度學習開始火了。後來2015年的時候有個叫DeepMind的英國小公司把CNN和強化學習Q-learning結合起來了,將CNN+ Q-learning作為決策網路和蒙特卡羅樹相結合,開發出來了一個叫Alpha Go的模型,後來的故事大家都知道了。

這一波人工智慧熱潮就被帶起來了,神經網路最大的特點就是簡單粗暴,知道點python,會調用三方的庫,分分鐘訓練出一個模型。於是乎各行各業,不管有沒有用,都得有個神經網路模型,不然你就不是大數據,人工智慧,跟不上時代。魯迅說過,「世上本沒有路,走的人多了,也就成了路。」神經網路特點就是簡單,不費腦子,費硬體。本來MPC最大的瓶頸就是硬體太貴,我們這小眾領域姥姥不疼,舅舅不愛。沒人給你的演算法優化硬體。這波神經網路熱一起來,大家開始對矩陣運輸優化處理器了,不管是CPU, GPU還是TPU。都得是生物晶元的,為神經網路設計,不然就不是先進技術,沒人要。

感謝人工智慧的東風,一直以來制約MPC或者LQR的計算瓶頸有望解決的。但是既然叫模型預測控制,那還得預測是不,一直以來感測器也是個問題。這裡感謝人工智慧帶來的另一個熱點:無人駕駛。這波無人駕駛車火起來以後,不管是不是泡沫,有沒有真車,激光雷達的價格倒是大跳樓了。每個試驗車頂上都得放幾個雷達轉來轉去,不然顯得不夠專業。反正現在買激光雷達就跟買白菜一樣。

這下子制約MPC技術的兩大瓶頸都有解決的希望了,有了為矩陣優化的處理器和便宜的雷達,模型預測控制MPC的春天可能就不遠了!由於deep Q-learning還不靠譜 (總不能靠撞人來學習駕駛吧?) 如果不存在硬體制約,MPC在控制上當對PID的優勢就大了。因為PID本質上一個沒有模型的單輸入單輸出系統,比如現在飛機的飛控系統,汽車的自動巡航和風機的槳葉控制。以前硬體貴,這種簡單可靠的技術非常受歡迎。後來大家以PID為核心,用軟體工程的思路設計控制系統,開發了一些列先進功能。但是核心思想還是必須簡化成單輸入單輸出系統。因為基礎差,各個系統必須解耦,在上面改來改去非常不方便。MPC本身就是個模型預測系統,這個模型可以是物理模型,也可以是神經網路,或者深學+物理模型。反正都是矩陣的表現形式,輸入輸出也沒有限制,向加多少個就加多少個(前提是優化方程得有梯度)。再加個感測器預測,把預測周期加上,上優化方程每個步長算出最優的解。以後在不同的環境下也不用人去調試了,MPC本身具有自適應的能力。

最後,推薦一篇deep MPC的好文:Ian Lenz et la, DeepMPC: Learning Deep Latent Features for Model Predictive Control, 2015.


推薦閱讀:
查看原文 >>
相关文章