李國(guó)友,張新魁,才士文,賈曜宇,寧澤
(燕山大學(xué)智能控制系統(tǒng)與智能裝備教育部工程研究中心,河北 秦皇島 066004)
近年來,化工生產(chǎn)行業(yè)爆炸事故引起了各界關(guān)注,由于其原料或產(chǎn)物易燃易爆的特性,化工過程一旦發(fā)生爆炸事故,便會(huì)對(duì)環(huán)境造成嚴(yán)重的污染,而且對(duì)人身安全也會(huì)產(chǎn)生巨大的隱患。因此為保證化工生產(chǎn)過程的安全高效,構(gòu)建一個(gè)針對(duì)化工過程的故障檢測(cè)與診斷模型顯得至關(guān)重要。隨著工控技術(shù)與儀器儀表技術(shù)的不斷完善與進(jìn)步,采集數(shù)據(jù)設(shè)備精確度隨之提高,基于數(shù)據(jù)驅(qū)動(dòng)的故障診斷技術(shù)應(yīng)運(yùn)而生。經(jīng)典的數(shù)據(jù)驅(qū)動(dòng)故障檢測(cè)方法有獨(dú)立主元法(independent component analysis,ICA)、主成分分析(principal component analysis, PCA)、支持向量機(jī)(support vector machines, SVM)、神經(jīng)網(wǎng)絡(luò)等。但是在實(shí)際化工過程中,采集到的數(shù)據(jù)一般都具有高維度、非線性、故障類別不易區(qū)分的特征,單一的PCA、線性判別分析(linear discriminant analysis,LDA)等降維算法針對(duì)一些簡(jiǎn)單的線性特征能夠很好地區(qū)分,但處理復(fù)雜的化工數(shù)據(jù)時(shí)并不能很好地提取出判別特征用于診斷模型進(jìn)行故障診斷,導(dǎo)致故障診斷準(zhǔn)確率下降。因此研究多算法相融合的化工過程故障檢測(cè)與診斷模型顯得尤為必要。
綜合上述分析,本文提出了一種基于改進(jìn)核Fisher 判別分析和差分進(jìn)化算法優(yōu)化自組織網(wǎng)絡(luò)(KFDA-DE-SOM)的故障診斷方法。該方法首先利用歐式距離改進(jìn)的KFDA算法從復(fù)雜的工業(yè)數(shù)據(jù)中提取判別特征矩陣用于后續(xù)診斷模型訓(xùn)練及測(cè)試,其次運(yùn)用DE優(yōu)化SOM網(wǎng)絡(luò)的診斷模型對(duì)故障數(shù)據(jù)集進(jìn)行訓(xùn)練分類,將這些高維的數(shù)據(jù)投影到二維平面,將正常工況與故障點(diǎn)劃分為不同的區(qū)域。通過TE過程的實(shí)驗(yàn)數(shù)據(jù)與PX歧化單元的數(shù)據(jù)進(jìn)行診斷測(cè)試,結(jié)果表明,本研究提出的方法較單一的SOM網(wǎng)絡(luò)算法具有較好的分類診斷性能。
KFDA-DE-SOM整體算法框架如圖1所示。
圖1 KFDA-DE-SOM故障診斷框圖
Fisher 判別分析作為一種有監(jiān)督學(xué)習(xí)的數(shù)據(jù)降維和特征提取方法,在模式識(shí)別和故障診斷領(lǐng)域應(yīng)用廣泛。但在實(shí)際化工過程中,F(xiàn)isher判別分析算法針對(duì)高維度、非線性的數(shù)據(jù)分析存在一定局限性,因此引入核函數(shù)相關(guān)理論進(jìn)行優(yōu)化,以解決上述問題。
式中,m為第類數(shù)據(jù)樣本映射后的均值;為總的數(shù)據(jù)樣本均值,計(jì)算方法分別如式(3)、式(4)所示。
在 特 征 空 間中,F(xiàn)isher 判 別 準(zhǔn) 則 為(),如式(5)。
式中,為任意非零列向量;KFDA 算法利用判別準(zhǔn)則函數(shù)()求得最優(yōu)的判別矢量。
根據(jù)判別準(zhǔn)則()求判別矢量等價(jià)于求廣義特征方程,如式(6)所示。
針對(duì)可能存在奇異矩陣的問題,可以采用奇異值分解的方法來處理,對(duì)奇異值分解如式(7)所示。
依據(jù)式(9)求得最優(yōu)核判別向量。
在實(shí)際情況中,由于數(shù)據(jù)類別間的距離差異過大會(huì)導(dǎo)致分類結(jié)果不準(zhǔn)確,為解決上述問題,采用歐氏距離對(duì)類間離散度進(jìn)行加權(quán),調(diào)整權(quán)重,優(yōu)化分類性能。改進(jìn)后的類間離散度如式(10)。
式中,m和m分別表示類別和類別的均值;d代表類別和類別間的距離;W(d)為權(quán)重函數(shù);
步驟1:選定恰當(dāng)?shù)暮撕瘮?shù),將原始故障數(shù)據(jù)利用核函數(shù)映射到高維空間得到新的數(shù)據(jù)矩陣。
步驟4:根據(jù)求解得到特征向量確定的判別矩陣=[,,···,α]。
步驟5:依據(jù)核處理后的數(shù)據(jù)矩陣與判別矩陣求出新的訓(xùn)練矩陣,計(jì)算方法如式(12)。
DE 算法是基于實(shí)數(shù)編碼的全局優(yōu)化算法,在尋優(yōu)計(jì)算過程中能夠跳出局部最優(yōu)值。它的基本原理為種群內(nèi)的個(gè)體經(jīng)過變異、交叉、選擇操作,迭代更新重組,實(shí)現(xiàn)種群的進(jìn)化,引導(dǎo)搜索結(jié)果朝全局最優(yōu)解靠近。
該算法主要訓(xùn)練步驟如下。
步驟1:種群初始化
初始化種群規(guī)模為個(gè)個(gè)體,縮放因子和交叉概率因子CR。
步驟2:變異操作
變異是差分進(jìn)化算法的核心思想,主要是在父代中選定的兩個(gè)個(gè)體,并對(duì)兩個(gè)個(gè)體采取差分操作,將差分操作形成的差分矢量加權(quán),并求解與其他父代個(gè)體的矢量和,公式如式(13)。
步驟3:交叉操作
交叉操作將種群的多樣性增加,選取目標(biāo)個(gè)體與變異個(gè)體交叉操作,生成新的個(gè)體。新個(gè)體的維度分量公式如式(14)。
式中,CR的范圍為[0,1];rnbr() ∈[1,2,…,];rand()隨機(jī)生成[0,1]范圍內(nèi)的實(shí)數(shù)。
步驟4:選擇操作
該操作主要是根據(jù)適應(yīng)度函數(shù)計(jì)算個(gè)體的適應(yīng)度值,通過適應(yīng)度值的比較選定較優(yōu)的個(gè)體作為下一代,計(jì)算方法如式(15)所示。
SOM 作為一種無監(jiān)督學(xué)習(xí)的競(jìng)爭(zhēng)神經(jīng)網(wǎng)絡(luò),有很強(qiáng)的自學(xué)習(xí)能力和良好的拓?fù)潢P(guān)系保持性能,并在可視化方面擁有很大的優(yōu)勢(shì),因此在模式識(shí)別分類領(lǐng)域應(yīng)用廣泛。該網(wǎng)絡(luò)結(jié)構(gòu)主要由輸入層和輸出層組成,輸入層接受高維數(shù)據(jù),通過競(jìng)爭(zhēng)學(xué)習(xí)機(jī)制將高維數(shù)據(jù)變?yōu)槎S數(shù)據(jù)可視化輸出。
SOM訓(xùn)練步驟如下。
步驟1:初始化
設(shè)定學(xué)習(xí)率初值(0)、鄰域半徑初值(0),神經(jīng)元權(quán)值向量w。
步驟2:尋找獲勝神經(jīng)元
計(jì)算輸入向量與輸出神經(jīng)元的距離d,找出獲勝神經(jīng)元。
式中,x為選定的向量;w為輸入層的第個(gè)神經(jīng)元與輸出層的第個(gè)神經(jīng)元的權(quán)值。距離最小的就是獲勝神經(jīng)元。該神經(jīng)元滿足式(17)。
步驟3:鄰域半徑內(nèi)的獲勝神經(jīng)元權(quán)值更新,權(quán)向量的學(xué)習(xí)調(diào)整如式(18)、式(19)。
式中,表示輸出層神經(jīng)元;為獲勝神經(jīng)元;r(t)為獲勝鄰域。
步驟4:更新學(xué)習(xí)率和鄰域半徑
步驟5:判斷訓(xùn)練次數(shù)是否達(dá)到預(yù)設(shè)值,若達(dá)到則結(jié)束訓(xùn)練;否則繼續(xù)訓(xùn)練。
SOM網(wǎng)絡(luò)算法流程圖如圖2所示。
圖2 SOM算法流程圖
鑒于單一的SOM 神經(jīng)網(wǎng)絡(luò)在,在故障診斷識(shí)別領(lǐng)域的效果并不是非常理想,因此提出一種基于差分進(jìn)化算法改進(jìn)的SOM 網(wǎng)絡(luò),在很大程度上避免了產(chǎn)生死神經(jīng)元陷入局部最優(yōu)的問題,提高分類精度。
具體步驟如下。
步驟1:數(shù)據(jù)預(yù)處理
采集生產(chǎn)工藝原始數(shù)據(jù),利用改進(jìn)后的KFDA算法對(duì)原始故障數(shù)據(jù)進(jìn)行特征提取,將得到樣本特征矩陣劃分為兩類:測(cè)試數(shù)據(jù)集與訓(xùn)練數(shù)據(jù)集。
步驟2:將作為SOM 網(wǎng)絡(luò)的輸入進(jìn)行訓(xùn)練,獲得初始權(quán)值。
步驟3:用DE 算法參數(shù)尋優(yōu)得到最優(yōu)權(quán)值向量,將其作為SOM 網(wǎng)絡(luò)的權(quán)值向量,搭建DESOM模型
步驟4:運(yùn)用DE-SOM 網(wǎng)絡(luò)模型對(duì)訓(xùn)練數(shù)據(jù)集進(jìn)行訓(xùn)練。
步驟5:輸出訓(xùn)練數(shù)據(jù)集故障分類結(jié)果。
步驟6:利用測(cè)試數(shù)據(jù)集對(duì)DE-SOM 診斷模型進(jìn)行驗(yàn)證。
步驟7:算法結(jié)束。
DESOM算法流程圖如圖3所示。
圖3 DE-SOM算法流程圖
為了驗(yàn)證上述基于KFDA 與DE 優(yōu)化SOM 算法在故障診斷與識(shí)別方面的可行性,將該方法應(yīng)用于TE過程與PX歧化工藝流程。
TE 過程是一個(gè)典型的化工過程,主要包括反應(yīng)器、冷凝器、氣液分離器、汽提塔、循環(huán)壓縮機(jī)5 個(gè)操作單元,流程如圖4 所示。該過程包括53個(gè)變量,其中41 個(gè)測(cè)量變量、12 個(gè)操作變量,故障數(shù)據(jù)集是由21類預(yù)設(shè)故障和正常工況仿真而得。數(shù)據(jù)集中的測(cè)試樣本集包括正常工況樣本960 個(gè),每類故障點(diǎn)包括160個(gè)正常樣本和800個(gè)故障樣本。
圖4 TE化工過程工藝流程圖
本案例中選取兩種屬性的故障(表1),故障點(diǎn)1、故障點(diǎn)2 和故障點(diǎn)6 是原材料的供給發(fā)生變化,故障點(diǎn)4和故障點(diǎn)5是溫度發(fā)生變化,故障點(diǎn)14 屬于閥門位置發(fā)生黏滯型故障,每個(gè)故障點(diǎn)采取的樣本為[361,960]共600 個(gè),構(gòu)成3600×52 的故障數(shù)據(jù)矩陣。
表1 過程故障點(diǎn)
3.1.1 單一SOM算法
將選定的六類故障點(diǎn)數(shù)據(jù)組成一個(gè)3600×52矩陣,利用改進(jìn)的KFDA 算法對(duì)矩陣進(jìn)行特征提取得到新的特征矩陣,然后將提取到的特征矩陣輸入到DE-SOM 網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,最后輸出診斷結(jié)果如圖5所示。
圖5 基于SOM算法對(duì)故障點(diǎn)1、2、4、5、6、14數(shù)據(jù)的映射
根據(jù)圖5(a)可以看出,整塊區(qū)域被分割成五部分,其中亮的部分代表不同故障數(shù)據(jù)的分割線。圖5(b)為映射標(biāo)簽圖,圖中網(wǎng)格內(nèi)的符號(hào)代表每類故障點(diǎn)在該區(qū)域所映射的次數(shù),例如F6(23)表示故障點(diǎn)6 即A 進(jìn)料損失在該網(wǎng)格中映射的數(shù)據(jù)數(shù)量為23。結(jié)合圖5(a)、(b)可以看出,六類故障點(diǎn)被分成五個(gè)區(qū)域,并不能將六個(gè)故障有效地區(qū)分開,其中故障點(diǎn)4和故障點(diǎn)5分布的區(qū)域重疊,故障點(diǎn)14分布的區(qū)域與故障點(diǎn)4、故障點(diǎn)5 分布的區(qū)域邊界部分不是特別明顯。圖5(c)為單一SOM 網(wǎng)絡(luò)對(duì)TE 數(shù)據(jù)的測(cè)試效果圖,由圖中可以看出故障點(diǎn)4和故障點(diǎn)5 的測(cè)試數(shù)據(jù)并不能很好地映射在對(duì)應(yīng)區(qū)域內(nèi)。因此對(duì)于單一的SOM 算法在故障診斷中的精度還不能夠滿足化工安全生產(chǎn)需要,還需要對(duì)SOM 算法進(jìn)行改進(jìn)。
3.1.2 KFDA-DE-SOM組合算法
由于KFDA算法能夠?qū)⒉煌N類數(shù)據(jù)之間的距離增大,因此用該算法對(duì)故障數(shù)據(jù)集進(jìn)行特征提取,增大不同類別故障點(diǎn)間的距離,以便獲得更好的分類效果。其次SOM 算法本身的框架在訓(xùn)練過程中易產(chǎn)生“死神經(jīng)元”陷入局部最優(yōu),利用DE算法對(duì)該網(wǎng)絡(luò)的權(quán)值動(dòng)態(tài)的調(diào)整在很大程度上避免了這個(gè)問題。
利用改進(jìn)后的KFDA-DE-SOM 算法對(duì)數(shù)據(jù)集訓(xùn)練,訓(xùn)練后的結(jié)果如圖6所示,故障點(diǎn)1、故障點(diǎn)2、故障點(diǎn)4、故障點(diǎn)5、故障點(diǎn)6和故障點(diǎn)14 可以很好地區(qū)分開。與圖5(a)相比,圖6(a)的矩陣圖邊界線的區(qū)分程度大大增加,能夠清晰地分辨出每類故障點(diǎn)所屬的區(qū)域。圖6(c)為測(cè)試效果圖,測(cè)試數(shù)據(jù)都分布在對(duì)應(yīng)的區(qū)域內(nèi),同時(shí)根據(jù)表2算法的診斷精確度驗(yàn)證了該算法在故障診斷方面的有效性。
圖6 基于KFADA-DE-SOM算法對(duì)故障點(diǎn)1、2、4、5、6、14數(shù)據(jù)的映射
表2 不同算法的故障診斷精確度 單位:%
PX 生產(chǎn)過程中,歧化反應(yīng)過程屬于高危單元,單元中參與反應(yīng)的化學(xué)物質(zhì)多為有毒的危險(xiǎn)性物質(zhì),且在高溫高壓條件下易發(fā)生爆炸,因此對(duì)PX歧化單元的故障診斷至關(guān)重要。圖7為PX生產(chǎn)過程的歧化單元工藝流程圖,該工藝主要是以來自抽提裝置和吸附分離裝置的甲苯和芳烴分餾裝置的C芳烴以及壓縮機(jī)升壓后的氫氣為原料,混合后經(jīng)換熱器、加熱爐等裝置反應(yīng)后,最后進(jìn)入歧化反應(yīng)器反應(yīng)。反應(yīng)產(chǎn)品部分返回到原循環(huán)系統(tǒng),部分進(jìn)入下一階段反應(yīng)單元。
圖7 PX歧化單元
PX 歧化單元工藝常見的故障為歧化反應(yīng)進(jìn)料變化、汽提塔氣體流速過快、氫氣補(bǔ)充量不足、歧化反應(yīng)壓力變化以及加熱爐溫度過高五種,如表3所示。
表3 過程故障點(diǎn)
3.2.1 單一SOM算法
將PX 歧化單元中選定的5 個(gè)故障點(diǎn)數(shù)據(jù)組成一個(gè)矩陣,利用單一的SOM 網(wǎng)絡(luò)對(duì)其進(jìn)行訓(xùn)練,訓(xùn)練映射效果如圖8 所示。根據(jù)圖8(a)、(b)可以看出整個(gè)區(qū)域被分割為4部分,其中故障點(diǎn)4和故障點(diǎn)5分布的區(qū)域有重合的部分,在圖中不能夠清晰地辨別兩故障。圖8(c)為PX 測(cè)試集的映射效果圖,從圖中可以看出故障點(diǎn)4和故障點(diǎn)5并不能很好地區(qū)分開。因此單一的SOM 網(wǎng)絡(luò)分類效果并不是很理想。
圖8 基于SOM算法對(duì)故障點(diǎn)1、2、3、4、5數(shù)據(jù)的映射
3.2.2 KFDA-DE-SOM組合算法
首先將PX 歧化單元選定的五種故障數(shù)據(jù)組成的矩陣經(jīng)改進(jìn)后的KFDA 算法進(jìn)行特征提取,得到新的數(shù)據(jù)矩陣,其次將數(shù)據(jù)矩陣輸入到DE-SOM網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
訓(xùn)練映射結(jié)果如圖9 所示,從圖9(a)可以看出整個(gè)區(qū)域被邊界線分割成5 部分,與圖8(a)相比,改進(jìn)后算法映射的矩陣圖故障點(diǎn)4 和故障點(diǎn)5 之間的邊界線清晰度較高,通過圖9(b)可以清晰地看出歧化反應(yīng)進(jìn)料F(1)、汽提塔氣體流速過快F(2)、氫氣補(bǔ)充量不足F(3)、歧化反應(yīng)器壓力變化F(4)以及加熱爐溫度過高F(5)五類故障所屬的區(qū)域,驗(yàn)證了該算法對(duì)于PX歧化單元故障分類診斷的有效性。圖9(c)為測(cè)試效果圖,5 類故障點(diǎn)測(cè)試數(shù)據(jù)分布在對(duì)應(yīng)的區(qū)域,表4為不同算法的診斷精度,與以往算法相比,精確度提高,說明診斷模型的有效性。
圖9 基于KFDA-DE-SOM算法對(duì)故障點(diǎn)1、2、3、4、5數(shù)據(jù)的映射
表4 不同算法的故障診斷精確度 單位:%
本文所提出的KFDA-DE-SOM 故障診斷方法有效結(jié)合了KFDA對(duì)高維非線性數(shù)據(jù)特征提取的能力,DE算法的優(yōu)化局部極值的能力以及SOM網(wǎng)絡(luò)聚類可視化的能力。首先利用歐氏距離對(duì)KFDA算法的類間距進(jìn)行改進(jìn),改善數(shù)據(jù)投影重疊的問題,然后利用DE算法全局尋優(yōu)的能力對(duì)SOM網(wǎng)絡(luò)的權(quán)值進(jìn)行動(dòng)態(tài)調(diào)整優(yōu)化,最后基于優(yōu)化的DE-SOM網(wǎng)絡(luò)對(duì)故障數(shù)據(jù)進(jìn)行分類。運(yùn)用TE過程與PX歧化反應(yīng)過程的數(shù)據(jù)進(jìn)行了驗(yàn)證,實(shí)驗(yàn)結(jié)果表明,本研究提出的KFDA-DE-SOM 算法相比于傳統(tǒng)SOM 故障診斷方法,診斷精度明顯提高,能夠明顯診斷出故障類型。
對(duì)于一些復(fù)雜的故障,本文所提出的算法診斷精度仍相對(duì)較低,在今后的研究中可以考慮與其他的故障診斷算法相融合以提高診斷精度。