標籤:

關於化工中機理模型和黑箱模型的思考

關於化工中機理模型和黑箱模型的思考

來自專欄 沈鑫的化學工程學習筆記

原問題:

原貼鏈接:

數據挖掘技術是不是飲鴆止渴?現時中企業和工業是怎麼看待和使用數據挖掘所得到的結果的?

數據挖掘技術現在非常火熱,在我所在的領域(化工),使用數據挖掘技術來分析和回歸所得到數據被認為是一種「先進」的做法,與此相關的項目和paper也在逐漸增加。

我所看到的技術,都將數據挖掘當做一個黑箱,似乎把什麼樣的數據放入其中,都能闡明變數間的聯繫大小,得到一個回歸得不錯的模型。

然而我很懷疑這種將內在聯繫當成黑箱的建模的做法預測的精度是否真如傳說中那麼可信,也在懷疑不經過真正的機理和原理研究所得到的結果將來會不會遇到很大的阻礙。所以有如下問題:

1 數據挖掘技術是否是為了實現數據回歸所作的妥協。過度依賴它是不是一種飲鴆止渴?

2 企業是如何看待數據挖掘技術所得到的結果,依據的標準是什麼?

我的想法:

個人覺得工業界和學術界的目的不一樣,也決定了對待這樣的數據挖掘出來的模型的有不一樣的態度。學術界的目的就是發paper,所以嘗試新鮮想法,蹭熱點,目的都是為了發paper 。工業界的目的是利潤,有時候只要能解決問題,不管它黑貓還是白貓。一切都是以成本,利潤為主要考量的。模型的具體選擇,需要隨著場景,目的,成本,精確度等的變化來考量。

我偏個題,歪個樓,談化工過程式控制制的模型的例子。例子來源是,我們化工系的大三年級,過程式控制制(Process Control)的課程。在化工的自動控制問題中,經典PID控制需要控制對象的數學模型。對於化工而言,就是各種動態化工過程的模型。

很多簡單的化工的動態過程,可以用簡單的常微分建立出機理模型,比如連續攪拌過程:

Q流量;u(t)進料濃度;y(t)出料濃度;V槽內液體體積

其機理模型,用簡單的常微分方程,就可以得到:(1) Quleft( t 
ight)-Qyleft( t 
ight)=Vfrac{dyleft( t 
ight)}{dt}

經典控制理論中,常用(1)式的Laplace變換形式,即該過程的傳遞函數:(2) frac{Y}{U} = frac{1}{frac{V}{Q}s+1}

然後就可以根據這個傳遞函數,去設計PID控制。這樣的課經常會讓很多我們化工系的學生誤以為,化工過程的控制,都是化工工程師先根據化工的知識去建立機理模型,再和控制工程師合作設計控制系統。

事實上,這是大三年級化工系的學生的常見的誤解,只有這樣比較簡單的化工系統可能會才去用機理建模的方式,去設計控制系統。今天的絕大多數化工過程都不是這樣去設計控制器的。實際的化工過程,往往非常複雜,其機理模型不見得可以用簡單的線性常微分方程組去表達,建立複雜的模型費時費力。一些化工過程需要分布參數模型(Distributed Parameter System)才能表達,這時需要一些非常複雜的偏微分方程組來建立模型,這種分布參數模型的化工過程在傳遞過程這門課中可以看到。一個好的機理模型,需要能把系統的各種動態特性,比如非最小相位(局部有正反饋)、大慣性、時滯、非線性特點,包含進去。這還是非常困難的,非常費時費事的。很多機理建模,是在一定程度的理想化假設下,盡量去逼近現實模型的。舉個這樣的例子,簡單換熱器的動態過程建模:


ho_LC_LS_Lfrac{partial T_L}{partial t} = -
ho_LC_LS_L vfrac{partial T_L}{partial z} + h_LA_Lleft( T_W - T_L 
ight)


ho_WC_WS_Wfrac{partial T_W}{partial t} = h_SA_Sleft( T_S - T_W 
ight) - h_LA_Lleft( T_W - T_L 
ight)

可以看到換熱器的動態方程複雜程度,比(1)式大幅增加。某些化工過程的機理模型,比這個簡單換熱器動態方程還要複雜的多得多。稍微想一下精餾塔的動態模型,就會明白機理建模對於一些複雜系統,是非常費時費力費錢的,但絕對不是不可以建。相對理想化一些的模型還是有辦法建的,但不一定能夠很好地反映系統動態特性。雖然根據偏微分方程組,也有辦法設計控制器,但這種分布參數模型不是那麼容易得到的。這種方法的建模成很高,而且模型往往很複雜,不方便使用,工業界不喜歡。除非那個問題真的很難控制,但又十分重要,十分值得,才會值得考慮機理建模。這種情況,而選擇機理建模的例子也是有的,但在國內不是那麼多。

絕大多數化工系統的控制,真正最廣泛採用的方法是——實驗法,或者說某種意義上的系統識別(系統辨識)。(現在還有很多高大上的系統辨識方法,但工業界接受很慢)。這類比較傳統的實驗方法,常見的有響應曲線法(階躍、脈衝、方波響應)、頻域法、相關統計法。某種意義上說,這裡提到的基本方法中,響應曲線法和頻域法很low,但簡單粗暴實用相關統計法,能做到更好的品質,也要複雜一些或者很多。響應曲線法和頻域法最常見。響應曲線法可以簡單理解成,把一些人造的信號,比如階躍,送入化工系統(系統在開環下測試),去測系統的輸出;頻域法,可以理解成將不同頻率的正弦信號送入系統,然後分別測量輸出的信號的幅值變化和相位變化,然後得到Bode圖或者Nyquist圖,然後根據頻域信息設計控制系統。這類方法都是,給定一些輸入,來實驗測其輸出,不考慮系統的機理。根據輸出和輸入的關係來計算、擬合、近似當前這個系統在set point的動態特徵。舉例,階躍響應曲線法,某化工系統的溫度,對流量的階躍響應如下:

這幅圖裡,根據這個階躍響應的圖像,我們就大體上可以用一階系統去近似這個響應:

frac{T}{W}=frac{K}{	au s + 1}

這類實驗方法最大的特點,就跟題主講的「黑箱」很像。這個例子中可以看到,我們根本不知道是什麼化工過程,沒有用到系統的化工知識去建模。我們只知道流量w階躍輸入到系統中,溫度T發生了一個升高。這個溫度T升高的曲線,像一階系統,然後就用一階系統去近似。提到的頻域法,在一些滯後嚴重、慣性大的系統,比如精餾塔中,還不實用。化工系統中,滯後嚴重、慣性大的、非線性、非最小相位(局部有正反饋現象),並不少見。

問題來了?如何評價上面化工中的「黑箱」模型的廣泛應用呢,和機理模型的式微呢?從上面的例子來看,對比換熱器的例子和攪拌的例子,可以很清楚地看到機理建模的弊端,費時、費力、費錢、複雜,但是適用範圍會比這種最原始的響應曲線法好,也可以更加精確,控制品質也會更好。機理建模,也未必就能夠很好地反映系統的動態特性。所以我們可以看到一個現象,建模並不是工業界為了好的品質的首選項。

這種「黑箱」模型的特點剛好反過來,容易實踐、容易掌握,對於絕大多數化工問題控制品質也過得去,然後簡單、省錢。這不就是一開始提到的工業界想要的嗎?(工業界就是像低投入,高回報、快回報。這無可厚非)它的缺點就是,控制品質難提高,適用範圍就是那個set point附近。另外,有不考慮機理的「黑箱」效果也非常好,比如神經網路和模型預測控制(MPC)。

化工中除了黑箱和機理,還有一類半經驗-半理論的模型。最好的例子就是化工里的各種准數的關聯圖和關聯式。這類模型的的廣泛普及,就可以側面看到,工程學科的一個特點:一切以實用出發,能夠弄懂機理當然更好。

綜上,個人淺見,模型的選擇,還是應該從實際出發,綜合考慮成本、需求、精度等因素。對於值得花大力氣,花錢解決,以獲得更好的品質,可能建機理模型會是一個好選項。對於很多常見問題,可能沒有這個必要,「簡單粗暴」可能更好。個人還是蠻期待有人能去挖掘下化工自動控制儀錶的數據,能不能挖出點「寶藏」來。

這是我導師很喜歡引用的一句話,與大家分享:

Wiechert : 「As a rule, a model should always be as simple as possible and as complex as necessary.」

推薦一篇,我有同感的文章,跟主題有一定相關性:

控制如何不死?-- 8. 控制人還是少耍點小聰明

我的其他帖子:

化工《傳遞過程原理》?

化工模擬軟體研發工作,公司為啥招聘化工專業的呢?化工專業的又不會編寫代碼,軟體專業不是對口嗎?

知乎用戶:化工傳遞用書推薦?

想問一下matlab在化學製藥領域用的到嗎?

有什麼與流體力學相關的python庫嗎?


推薦閱讀:

為什麼工業製取過氧化鈣是氫氧化鈣、過氧化氫、水反應,而不是加入氧化鈣、過氧化氫、水反應?
不同物質混合後沸點的變化是怎麼樣的 可以用蒸餾完全分離嗎?
如何廉價且安全的在家自製氧氣?
如何優雅的寫化學實驗報告(包括預習報告)?
風暴瓶的原理是什麼?

TAG:化工 |