許洪光,李鳳英,郭 茜
(河北東方學院,河北 廊坊 065000)
隨著化工生產規模的擴大,化工設備和系統結構日趨復雜,化工生產過程也逐漸趨于非線性、不確定性、不穩定性。這導致化工安全管理越來越困難,尤其是當系統出現故障時,若不能及時對故障進行辨別處理,不僅可能造成整個設備系統崩潰,甚至還可能導致生命財產無法挽回的損失。因此,為確保化工生產安全,加強化工過程的安全管理,有必要對化工故障進行及時準確地診斷。目前,化工故障診斷方法主要包括基于解析模型的方法和基于經驗知識的方法。基于解析模型方法中的在線壓縮KECA自適應算法,通過分析故障數據中的故障信息,實現了化工故障的檢測,一定程度上提高了故障檢測率。基于經驗知識法中的故障樹法,通過對設備故障檢測,完成了設備可靠性分析,提高了設備的安全性。上述方法雖可實現故障檢測,一定程度上提高設備安全性,但均存在計算量大且計算誤差較大的問題。近年來,隨著人工智能的發展,基于卷積神經網絡(CNN),由于其可提取高維非線性數據特征,并具有深度挖掘、計算過程簡單的特點,常用于故障診斷。因此,本研究選用CNN算法對化工故障進行診斷,并通過粒子群優化算法(PSO)改進CNN,提高化工故障診斷的準確性和檢出率,降低算法的誤報率,為化工故障診斷提供了一種新思路。
CNN算法是一種典型的機器學習算法,具有表征學習的能力,可根據階層結構實現平移信息,且可保證平移過程中信息分類不變,因此常用于計算機故障診斷等領域。標準的CNN網絡包括輸入層、卷積層、池化層、全連接層、輸出層5層結構,如圖1所示。

圖1 CNN網絡結構示意圖Fig.1 CNN network structure diagram
由于該網絡結果為前饋神經網絡結構,故其參數訓練過程包括前向傳播和反向傳播兩個過程。前向傳播過程即對輸入的數據通過卷積層進行卷積操作,然后通過池化層進行采樣處理,全連接層選取特征,最后通過輸出層輸出結果;反向傳播過程即通過梯度下降算法計算預期值與實際值的誤差,并依次從全連接層、池化層、卷積層,向輸入層反向傳播誤差,以調整各層參數值,直到模型收斂。
根據上述CNN網絡結構與參數訓練過程分析可知,CNN網絡結構復雜且其參數訓練過程參數的選擇主要根據人工經驗選擇,故存在不穩定的問題。因此,研究對CNN算法進行了改進。由于PSO算法具有操作簡單且容易實現的特點,故本研究采用PSO算法改進CNN網絡。
PSO算法改進CNN網絡主要是對其反向傳播過程進行改進。首先將CNN網絡需要運算的參數作為PSO算法的基本粒子,并根據前向傳播期望值與實際值誤差函數,如式(1),計算粒子的局部最優和全局最優;然后,根據基本PSO運算公式,如式(2)(3),更新粒子;最后,通過迭代運算,更新CNN網絡權值,再次進行前向傳播,直到誤差在設定閾值范圍內。


PSO改進CNN網絡的具體實現流程如下:
步驟1:初始化粒子群,包括粒子個數,加速常數、,慣性權重,粒子位置,粒子速度;
步驟2:對粒子群中每個粒子,采用式(4)計算其在CNN網絡中的前向傳播,根據式(1)計算預期值與實際值的誤差;

式中:f表示CNN各池化層激活函數,w表示各層連接權重。
步驟3:判斷與設定閾值*的大小,若>*,則根據式(2)(3)更新粒子,并將更新后的粒子信息返回CNN網絡,同時更新訓練權值,再次進行前向傳播與誤差計算,返回步驟2;若<*,則停止算法,輸出結果。
基于改進CNN算法的化工故障診斷主要包括離線訓練和在線監控兩部分。其中,離線訓練主要包括5個階段,數據采集與預處理、特征提取與學習、參數優化、模型訓練、故障分類;在線監控包括數據采集與預處理、特征學習、故障診斷分類3個階段。具體流程如下:
步驟1:采集化工過程數據,包括正常化工過程數據和故障數據;
步驟2:對采集的數據集進行預處理,如小波變換去噪和標準化處理等;
步驟3:構建CNN網絡模型;
步驟4:初始化PSO算法基本參數和迭代次數,以及CNN網絡的關鍵超參數作為PSO算法的粒子分量;
步驟5:采用CNN網絡模型對網絡參數訓練;
步驟6:采用PSO算法對CNN關鍵超參數進行調優訓練,得到最佳CNN模型;
步驟7:采用PSO優化后的最佳CNN模型對化工故障進行診斷,即實現了改進CNN算法對化工故障的診斷。
上述流程可用圖2示意。

圖2 改進CNN算法診斷化工故障流程Fig.2 Improved CNN algorithm for chemical fault diagnosis
本實驗在計算機模擬仿真程序TE過程中進行仿真,該工藝流程如圖3所示。

圖3 TE過程工藝流程Fig.3 TE process flow
原料通過進料口進入反應器發生化學反應,反應器中的冷凝器一方面移走反應產生的熱量,另一方面冷卻反應產生的惰性氣體、未反應組分、副產物,并輸送到氣液分離器。通過氣液分離器后,循環壓縮機對氣態成分進行壓縮并返回反應器進料口,解吸塔將未反應組分分離流入下一個工段,惰性氣體則直接排放到空氣中。TE過程具有時變性、非線性等特點,與實際化工過程相似,故研究選用該過程為實驗對象。
本實驗故障來自TE過程中的20個故障,故障類型具體如表1所示。實驗數據集為TE過程中測量變量獲取的仿真數據,包括訓練集和測試集。其中,訓練集由正常狀態下500組數據樣本和故障狀態下每種故障480組數據構成,共10 100組數據;測試集由正常狀態下960組數據樣本和故障狀態下每種故障960組數據構成,共20 160組數據。

表1 TE過程故障類型Tab.1 TE process failure types
考慮到TE過程產生的原始數據中存在噪聲,可能干擾數據特征,不利于數據的分析,故研究采用小波變換去除噪聲數據。首先,對采集的TE過程數據進行小波變換與多尺度分解,然后對小波系數進行處理,以去除噪聲數據的小波系數,最后通過信號重構即可得到無噪數據。
采用PSO優化CNN參數,首先將PSO算法的迭代次數設置為25,然后經過25次迭代后得到CNN算法參數結果,如圖4所示。隨著迭代次數的增加,CNN算法的全局適應值逐漸增大,直到迭代到10代后,逐漸趨于平緩,全局最優適應度值達到0.998。由此說明,本研究PSO可優化CNN算法,且設置的PSO迭代次數可滿足尋找全局最優的要求。

圖4 PSO優化CNN參數結果Fig.4 Results of CNN parameters optimized by PSO
經過PSO優化后的CNN算法最佳結構和超參數如表2所示。

表2 CNN最佳結構和超參數Tab.2 Best structure and superparameters for CNN
本研究選用故障檢出率(FDR)和誤報率(FAR)作為評估算法性能的指標,其計算方法如式(5)、式(6)。

3.5.1 算法驗證
為驗證改進CNN算法的有效性,研究采用標準CNN算法與提出改進CNN算法對測試集FDR進行十次故障檢測,結果如表3所示。

表3 CNN算法改進前后檢測結果Tab.3 Before and after improved detection results of CNN algorithm
由表3可知,標準CNN算法的平均故障檢出率為83.76%,誤報率為2.65%;改進CNN算法的平均故障檢出率為91.23%,誤報率為1.23%。由此說明,本研究改進CNN算法切實有效,可優化算法性能,避免了CNN算法在訓練過程中陷入局部最優解的問題。
3.5.2 實例結果
為驗證提出改進CNN算法在化工故障診斷中的實際應用效果,研究采用該方法對TE過程20個故障進行診斷,并與PCA算法、KPCA算法、MICA算法、CNN算法的化工故障診斷結果進行對比,結果如表4所示。

表4 不同算法對化工故障檢出率Tab.4 Chemical fault detection rate by different algorithms
由表4可知,不同算法對化工故障診斷結果不同,相較于對比算法,本研究改進CNN算法可檢測診斷出14種故障,具有較高的診斷檢出率;PCA算法、KPCA算法、MICA算法分別可檢測出8個、8個、5個故障,且對某些化工故障的檢出率低于10%,而CNN算法和改進CNN算法不存在低檢出率的情況,分析其原因是故障樣本與正常樣本差異性較小,PCA算法、KPCA算法、MICA算法難以區分數據間的細微差別,故其檢出率較低,而CNN算法和改進CNN算法通過多層卷積操作,提取并學習到數據特征,可靈敏感應到數據的微小變化,故其檢出率較高;相較于CNN算法,本研究模型的平均檢出率更高,其原因是引入的PSO算法優化了CNN算法結構和參數,減少了信息的損失。
為進一步驗證提出方法的優越性,研究采用上述與改進CNN算法檢測化工故障檢出率差異較小的CNN算法和改進CNN算法,再次對化工故障進行檢測,結果如表5所示。

表5 CNN算法與改進CNN算法對化工故障檢出點Tab.5 CNN Algorithm and improved CNN Algorithm for chemical fault detection points
由表5可知,相較于CNN算法,本研究改進CNN算法可更及時準確檢測到故障的出現,對故障3和故障5的檢出點提前4個點,對故障11和故障19的檢出點提前5個點,對故障15的檢出點提前8個點,對故障16的檢出點提前3個點;整體來看,本研究提出的改進CNN算法對故障更加敏感,可及時準確檢測出各種故障。
綜上所述,本研究基于改進CNN算法化工故障診斷方法,通過PSO算法優化CNN網絡結構和參數,可得到性能更好的故障檢測模型,該模型能及時有效對化工故障進行診斷,在TE過程案例上,該模型的平均故障檢出率達到91.23%,誤報率為1.23%,相較于標準CNN算法、PCA算法、KPCA算法、MICA算法,具有更高的平均故障檢出率和更低誤報率,且故障檢出速度更快。
整體而言,本研究基于改進CNN算法的化工故障診斷方法對化工故障診斷具有優越的性能,可及時檢測出化工故障,但仍存在一些問題待解決,如在CNN網絡改進過程中,本研究僅采用了PSO算法對其進行優化,忽略了諸多優秀的優化學習模型,可能錯失更好的優化方法。下一步,將從這方面進行深入研究,以期獲得更優秀的化工故障診斷模型,確保化工生產過程安全運行。