高學(xué)金, 劉爽爽, 高慧慧
(1. 北京工業(yè)大學(xué) 信息學(xué)部, 北京 100124; 2. 數(shù)字社區(qū)教育部工程研究中心, 北京 100124;3. 城市軌道交通北京實驗室, 北京 100124; 4. 計算智能與智能系統(tǒng)北京市重點實驗室, 北京 100124)
發(fā)酵過程是現(xiàn)代流程工業(yè)中常見的一種生產(chǎn)方式[1],通常表現(xiàn)出動態(tài)性、非線性等固有特性,難以建立模型在線監(jiān)測。因此,亟需建立合適的監(jiān)測模型實現(xiàn)過程安全穩(wěn)定運行?;跀?shù)據(jù)驅(qū)動的多元統(tǒng)計方法在工業(yè)過程領(lǐng)域取得廣泛應(yīng)用,典型方法有主成分分析(principal component analysis,PCA)[2-3]、獨立分量分析(independent component analysis, ICA)[4-5]、時間片典型相關(guān)分析(canonical correlation analysis,CCA)[6],但傳統(tǒng)多元統(tǒng)計方法模型較為簡單,不能自適應(yīng)提取數(shù)據(jù)深層特征,在當今的大數(shù)據(jù)背景下,面對數(shù)據(jù)量大、數(shù)據(jù)復(fù)雜多變等問題,監(jiān)測能力遠遠不足。
深度學(xué)習(xí)[7-9]在大數(shù)據(jù)特征提取上具有其他算法不可比擬的優(yōu)勢,通過逐層的非線性特征提取能深入挖掘數(shù)據(jù)內(nèi)在信息,表現(xiàn)出強大的信息學(xué)習(xí)能力和表達能力,并且對時序相關(guān)的序列數(shù)據(jù)同樣具有較強的適用性。近年來深度學(xué)習(xí)方法因優(yōu)越性能被廣泛用于工業(yè)過程,如深層置信網(wǎng)絡(luò)[10]、循環(huán)神經(jīng)網(wǎng)絡(luò)[11]、堆疊去噪自編碼[12]和卷積神經(jīng)網(wǎng)絡(luò)(convolution neural network,CNN)[13],尤其是CNN 優(yōu)越的特征提取能力越來越受到科研人員的青睞。Lee 等[14]提出故障檢測和分類卷積神經(jīng)網(wǎng)絡(luò)方法,應(yīng)用于半導(dǎo)體制造過程。Zhang 等[15]提出一種第一層寬卷積核的深度卷積神經(jīng)網(wǎng)絡(luò)方法,解決CNN 應(yīng)用于故障診斷準確率不高的問題。Jiang 等[16]針對齒輪箱振動信號固有的多尺度特性,提出一種多尺度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),實現(xiàn)齒輪箱振動信號的多尺度特征提取和分類。但多數(shù)學(xué)者直接處理原數(shù)據(jù)訓(xùn)練模型用于軸承、齒輪等故障診斷。
過程擾動實際上發(fā)生在不同的時間尺度上,即測量過程數(shù)據(jù)具有時序相關(guān)性[17]。數(shù)據(jù)的動態(tài)特性對于統(tǒng)計量的統(tǒng)計特性影響很大,進而影響過程的監(jiān)測結(jié)果[18]。Zhang 等[19-21]研究討論了此問題,但研究中仍然假設(shè)不同時間段提取的潛在變量特征為獨立狀態(tài),與變量先前值和其他變量之間不相關(guān)。Zhao 等[22-23]提出慢特性分析挖掘批處理過程時變動態(tài)信息,依賴于復(fù)雜的核計算,并且不能自動學(xué)習(xí)內(nèi)在時變特征。
鑒此,本文提出一種多變量深度卷積神經(jīng)網(wǎng)絡(luò)(multivariable deep convolution neural network,MDCNN)故障監(jiān)測方法。利用深度卷積神經(jīng)網(wǎng)絡(luò)提取分解變換后數(shù)據(jù)的高層次特征。該方法對具有動態(tài)性的多個過程變量進行時頻分析,更完整地表征數(shù)據(jù)特征,使模型監(jiān)測準確性大大提高。
卷積神經(jīng)網(wǎng)絡(luò)最早于20 世紀 80 年代末提出,隨后幾年卷積神經(jīng)網(wǎng)絡(luò)性能持續(xù)提升[24]。LeNet-5[25]是典型的 CNN 模型,包含輸入層,2 個交替的卷積和池化層,2 個全連接層,用于分類的輸出層。LeNet-5 卷積網(wǎng)絡(luò)模型如圖1 所示。
圖1 卷積神經(jīng)網(wǎng)絡(luò)模型Fig.1 Schematic diagram of the convolutional neural network model
發(fā)酵過程數(shù)據(jù)為三維數(shù)據(jù)結(jié)構(gòu),還有變量間和時刻間耦合相關(guān)特性,需將三維數(shù)據(jù)X(I×J×K)按變量方向展開為二維矩陣X(KI×J),其中,I、J、K 分別為批次數(shù)、過程變量、采樣時刻。
滑動窗在很多領(lǐng)域用來分析動態(tài)信號。采用滑窗對測量的所有變量在采樣時間上進行滑動截取,如圖2所示。對一個批次,令滑動窗的大小為k×j,k 為截取的采樣時刻數(shù),j 為所有測量變量數(shù),滑動步長為1,可以獲得所有變量每個采樣時刻的時序相關(guān)性,直至獲得所有批次數(shù)據(jù)。
圖2 按變量展開數(shù)據(jù)滑窗獲取Fig.2 Schematic diagram of expand data window acquisition by variables
當工業(yè)過程發(fā)生故障時,信號的幅值、相位和頻率都會發(fā)生變化,故障監(jiān)測實質(zhì)上也是信號分析處理的過程。希爾伯特-黃變換(Hilbert-Huang transform,HHT)[26]是性能較好的時頻分析方法。它包含2部分:經(jīng)驗?zāi)B(tài)分解(empirical mode decomposition,EMD)和希爾伯特變換。HHT 方法在機械等方面對單變量進行分析,本文針對發(fā)酵過程多批次的多個變量進行時頻分析,具體步驟如下:
1) 首先利用 EMD 方法對滑窗獲得數(shù)據(jù)中每個變量分解為有限個本征模態(tài)函數(shù)(intrinisic mode function,IMF),所分解出來的各IMF 分量包含原信號的一段時間尺度的局部特征信號;公式為
如圖3 所示為EMD 分解圖和多個變量m 個時刻的時頻圖。
圖3 EMD 分解圖和多變量 m 個時刻的時頻圖Fig.3 EMD decomposition diagram and time-frequency diagram of multivariable at m-times
針對發(fā)酵過程特有的動態(tài)性和非線性,本文提出MDCNN 的網(wǎng)絡(luò)如圖4 所示。
圖4 MDCNN 網(wǎng)絡(luò)Fig.4 Schematic diagram of mDCNN network
CNN 輸入層每個輸入分布并不一致,批量歸一化(BN)[27]層旨在減少內(nèi)部協(xié)方差的轉(zhuǎn)移,加速深層神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程。在本節(jié)中,基于LeNet-5 模型加入BN 層來提高模型訓(xùn)練精度,在第2 層卷積層之后加入BN 層。批量歸一化操作為
在大型網(wǎng)絡(luò)訓(xùn)練中容易產(chǎn)生過擬合,dropout 通過在訓(xùn)練階段的迭代中省略一些節(jié)點來避免過擬合現(xiàn)象,在實驗中設(shè)置dropout 率ρ=0.5 在全連接層使用,卷積層沒有很多參數(shù),不設(shè)置dropout。
MDCNN 監(jiān)測方法的結(jié)構(gòu)決定著特征提取的完整與否和模型訓(xùn)練時間;參數(shù)、深度和神經(jīng)元個數(shù)直接影響實驗結(jié)果的精度。實驗多種MDCNN 網(wǎng)絡(luò),其模型結(jié)構(gòu)如表1 所示。網(wǎng)絡(luò)的深度實驗在表1中從1 層卷積到4 層卷積層,更深層次的網(wǎng)絡(luò)監(jiān)測時間會大大提高,耗時較多,但監(jiān)測準確性提高不明顯。所以在其合適的范圍內(nèi)設(shè)計實驗,表1 中列出7 個模型進行對比分析,具有最好故障監(jiān)測性能的網(wǎng)絡(luò)作為實驗?zāi)P汀τ诰W(wǎng)絡(luò)參數(shù)的確定,以發(fā)酵過程的數(shù)據(jù)特性和訓(xùn)練模型的精確度與耗時長短為依據(jù)研究網(wǎng)絡(luò)的參數(shù)大小選擇。參數(shù)主要包括每個卷積層的濾波器數(shù)量和FC 層的輸出長度。
一個樣本為采用滑窗截取大小為 32×10 的二維輸入數(shù)據(jù)序列,例如模型5,包含2 個卷積層(C),2 個池化層(P),1 個全連接層(FC)和 1 個輸出層(O)。在 2 個卷積層中,內(nèi)核大小為5×5,步幅為 1。第 1 個卷積層包含64 個濾波器,第2 個卷積層包含32 個濾波器;BN 層加在第2 個卷積層之后進行映射;2 個最大池化層位于第1 和第2 卷積層之后,2×2 為在2 個池化層中的內(nèi)核大小;FC 層的輸入是一維向量,大小為(20×8×32);20 為FC 層的輸出行,“dropout”用于該層。輸出層具有“softmax”函數(shù)的樣本矩陣類,模型的輸出長度為2 的向量,表示監(jiān)測結(jié)果的二分類。
表1 用于發(fā)酵過程故障監(jiān)測的MDCNN 模型結(jié)構(gòu)設(shè)計Table 1 Design of MDCNN network structure for fault monitoring of fermentation processes
發(fā)酵過程具有周期性,在監(jiān)測過程中,樣本分為正常批次和故障批次,在建立模型時分為離線和在線階段。訓(xùn)練階段樣本既包含正常批次也包含故障批次,經(jīng)過數(shù)據(jù)預(yù)處理變換之后的數(shù)據(jù)作用于監(jiān)測過程樣本?;贛DCNN 故障監(jiān)測方法如圖5 所示。
圖5 基于MDCNN的故障診斷方法框架Fig.5 Fault diagnosis framework based on MDCNN
離線階段:
步驟1:從發(fā)酵過程數(shù)據(jù)庫中獲取歷史數(shù)據(jù);
步驟2:將三維數(shù)據(jù)變量方法展開為二維數(shù)據(jù),采用滑動窗采集m×n 的數(shù)據(jù)矩陣,進行時頻分析,獲得所需樣本,并用相應(yīng)的類別標記,包括“正?!奔啊肮收稀鳖悇e標簽;
步驟3:將包括其相應(yīng)標簽的樣本分為訓(xùn)練集和測試集;
步驟4:設(shè)計網(wǎng)絡(luò)模型,輸入訓(xùn)練樣本進行模型訓(xùn)練;
步驟5:輸入測試樣本進行模型測試;
步驟 6:如果測試結(jié)果精確度較高,輸出測試結(jié)果,用于在線故障監(jiān)測;否則,重新設(shè)計網(wǎng)絡(luò)進行訓(xùn)練。
在線監(jiān)測:
步驟1:從發(fā)酵過程獲取新批次的m 時刻數(shù)據(jù);
步驟2:對獲得的變量數(shù)據(jù)采用離線模型數(shù)據(jù)處理方式獲得所需樣本;
步驟3:將在線獲得樣本輸入模型測試其監(jiān)測結(jié)果,分為有故障和無故障類型;
步驟4:監(jiān)測結(jié)束之后,若測試結(jié)果準確度較高,在線數(shù)據(jù)可作為歷史數(shù)據(jù)訓(xùn)練模型。
青霉素是人類大規(guī)模用于臨床的一種抗生素[28],其發(fā)酵過程是一種典型的生化反應(yīng)過程。復(fù)雜工業(yè)過程中一個變量的波動可能會引起其他多個變量的波動,采用單變量監(jiān)控會導(dǎo)致各監(jiān)測結(jié)果之間難以綜合考慮,影響監(jiān)測的質(zhì)量。所以實驗選取發(fā)酵過程的 10 個變量(x1,x2,……x10)進行監(jiān)測,實現(xiàn)對過程運行在線監(jiān)測。所選變量如表2 所示。
青霉素發(fā)酵過程每個批次的反應(yīng)時間為400 h,采樣間隔為0.5 h。實驗數(shù)據(jù)集使用Pensim 2.0 平臺仿真得到的5 批正常工況數(shù)據(jù)和5 批故障數(shù)據(jù)作為訓(xùn)練樣本,3 批不同于訓(xùn)練樣本的故障數(shù)據(jù)作為測試樣 本 , 即 三 維 數(shù) 據(jù) X(10×10×800)、Y(3×10×800),實驗進行二分類,測試結(jié)果分為有故障和無故障。發(fā)酵過程故障大致分為 3 大類:傳感器故障、過程故障(包括誤操作)、機械與電氣故障。目前仿真的故障主要集中在過程故障和機械故障上。Pensim 可以設(shè)定的故障變量和故障擾動類型如表3 所示。
表2 青霉素發(fā)酵過程變量Table 2 Process variables of penicillin fermentation
表3 青霉素實驗故障類型Table 3 Fault types of penicillin fermentation
在完成MDCNN 網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)建之后,為了顯示故障監(jiān)測的實驗結(jié)果,定義實驗的精確度計算。所有訓(xùn)練數(shù)據(jù)集都訓(xùn)練一次,稱為epoch,批次大小設(shè)為256。訓(xùn)練階段,1 個批次樣本通過網(wǎng)絡(luò)訓(xùn)練一次,包含一次前向傳播和一次后向傳播,每迭代一次權(quán)重更新一次;測試階段,1 個批次樣本通過網(wǎng)絡(luò)測試一次包含一次前向傳播,一次epoch 需要完成的批次數(shù)量等于迭代次數(shù)。對于不同的數(shù)據(jù)集,數(shù)據(jù)的多樣性會影響合適的 epoch 數(shù)量,隨著epoch 的增加,訓(xùn)練和測試的樣本集呈現(xiàn)不同精確度,如圖6 所示。
當網(wǎng)絡(luò)訓(xùn)練次數(shù) epoch>100 時,精確度為飽和狀態(tài),每訓(xùn)練一次耗時將增加,實驗設(shè)為 epoch=90,訓(xùn)練樣本精確度為98.05%,測試樣本精確度為 95.2%。在達到訓(xùn)練的快速性的同時保證精確度。
表4 列出了表1 中模型的測試平均精確度和訓(xùn)練時間。模型6 訓(xùn)練和測試平均精確度最高(98.05%、95.2%),訓(xùn)練時間30 s×90=45 min。模型1 和2 淺層的結(jié)構(gòu)具有較低的故障監(jiān)測精確度,相對于模型4,在卷積層之后加入BN 層。雖然訓(xùn)練時間相對增加,但測試精確度卻大幅度提高。模型 5 訓(xùn)練精確度與模型6 相近,但測試精確度低。綜合比較,選擇模型6 為下面實驗?zāi)P汀Mㄟ^實驗,將模型 6 的參數(shù)設(shè)置為{C(64)、C(64)、C(32)、FC(20)}。
圖6 迭代過程的訓(xùn)練精度和測試精度Fig.6 Training accuracy and testing accuracy of the iteration processes
圖7 多個模型監(jiān)測結(jié)果Fig.7 Monitoring results of multiple models
表4 模型平均監(jiān)測精度Table 4 Average monitoring accuracy of different models
在工業(yè)過程故障診斷研究中,Wu 等[29]提出的基于 DCNN 的模型用于田納西伊斯曼(tennessee eastman, TE)過程取得了很好的診斷結(jié)果。為了說明本文方法的性能,將實驗?zāi)P秃推渌P陀糜诎l(fā)酵過程數(shù)據(jù)的結(jié)果進行比較,如圖7 所示。對于訓(xùn)練數(shù)據(jù)集,基于支持向量機(support vector machine,SVM)、BP 神經(jīng)網(wǎng)絡(luò)的模型,訓(xùn)練精確度在90%以下?;贒CNN 的模型在訓(xùn)練數(shù)據(jù)集的故障監(jiān)測表現(xiàn)出了較高準確度,而本文提出MDCNN 模型精確度高達98.05%,比DCNN 模型精確度高2.91%,比標準CNN模型精確度高出4.99%。對于測試數(shù)據(jù)集,本文方法平均精確度達到95%以上,表現(xiàn)出優(yōu)異的監(jiān)測性能。
如圖8 所示為發(fā)酵過程二分類可視化結(jié)果,圖(a)~(d)分別為SVM,CNN,DCNN,MDCNN 監(jiān)測結(jié)果。圖中框圖表示為期望(標簽)測試集分類結(jié)果,星號表示實際測試集分類結(jié)果,橫坐標為樣本個數(shù),如果框圖和星號重疊度越高表明監(jiān)測的精確度越高。從圖中可以看出本文方法基本沒有錯分和漏分情況,其測試精確度高達95%以上,說明將滑動窗和時頻分析綜合考慮之后采用深度卷積神經(jīng)網(wǎng)絡(luò)進行模型訓(xùn)練,測試精確度更高,更貼近實際生產(chǎn)過程。
圖8 青霉素發(fā)酵過程監(jiān)測可視化結(jié)果Fig.8 Visual monitoring results of penicillin fermentation processes
用于大腸桿菌發(fā)酵過程故障監(jiān)測的實驗數(shù)據(jù)來源于工廠,實際的生產(chǎn)環(huán)境往往存在諸多不確定因素,對于算法研究更具有現(xiàn)實意義[30]。
實驗選用來源于北京某生物制藥廠的大腸桿菌發(fā)酵數(shù)據(jù)。發(fā)酵罐容量15 L,發(fā)酵時間為6~7 h,采樣間隔為5 min。由于實際數(shù)據(jù)批次之間的差異,本實驗采取批次之間的等長78 時刻樣本數(shù)據(jù),選取了7 個主要過程變量,變量名如表5 所示。
為驗證所研究監(jiān)測方法的有效性,用于模型訓(xùn)練和測試的數(shù)據(jù)共15 批,包含7 批正常數(shù)據(jù)和8 批故障數(shù)據(jù),其中,6 批正常數(shù)據(jù)和6 批故障數(shù)據(jù)用于訓(xùn)練;1 批正常數(shù)據(jù)和2 批故障數(shù)據(jù)用于測試。測試所用故障類型如表 6 所示,分別模擬大腸桿菌發(fā)酵過程中可能發(fā)生的攪拌電機故障和蒸汽管道故障。用于實驗的MDCNN的網(wǎng)絡(luò)結(jié)構(gòu)為模型6。
表7 是作用于實際大腸桿菌數(shù)據(jù)的模型監(jiān)測結(jié)果,從結(jié)果中可以看出,在測試實際生產(chǎn)數(shù)據(jù)中,與其他模型相比,本文提出的模型取得了較好的結(jié)果。平均監(jiān)測精度高達93.42%,優(yōu)于其他所有方法。其他模型只有DCNN 達到90% 以上,基于SVM 和BP 神經(jīng)網(wǎng)絡(luò)模型監(jiān)測效果較差,足以證明本文提出方法具有顯著的實際監(jiān)測性能。
表5 大腸桿菌發(fā)酵過程變量Table 5 Variables of E.coli fermentation processes
表6 大腸桿菌實驗故障類型Table 6 Fault types of E.coli fermentation
表7 實驗?zāi)P团c其他模型監(jiān)測結(jié)果Table 7 Monitoring results of current model and other models
如圖9 所示為大腸桿菌發(fā)酵過程監(jiān)測可視化結(jié)果,圖(a)~(d)為SVM,CNN,DCNN,MDCNN 模型監(jiān)測結(jié)果。從圖中可以看出本文方法分類準確度最高,具有較好的監(jiān)測結(jié)果。
圖9 大腸桿菌發(fā)酵過程監(jiān)測可視化結(jié)果Fig.9 Visual monitoring results of Escherichia coli fermentation processes
本文提出一種基于多變量深度卷積神經(jīng)網(wǎng)絡(luò)的故障監(jiān)測方法。該方法針對具有動態(tài)性和非線性的發(fā)酵過程,利用希爾伯特-黃變換提取多變量動態(tài)數(shù)據(jù)的初級特征,更好地表征了數(shù)據(jù)時頻域信息;然后輸入卷積神經(jīng)網(wǎng)絡(luò)自動學(xué)習(xí)數(shù)據(jù)的高層特征,提高了分類準確度和監(jiān)測性能。本文在青霉素發(fā)酵過程和大腸桿菌生產(chǎn)數(shù)據(jù)上分別進行了實驗驗證。結(jié)果證明本文所提方法具有更高的監(jiān)測精度,在實際工業(yè)生產(chǎn)中有較強的應(yīng)用價值。