基于深度學(xué)習(xí)的電熔鎂爐工況智能診斷
1.???? 引言
電熔鎂砂(Fused magnesium furnace,F(xiàn)MF)熔點高、抗氧化、耐腐蝕性強,是一種優(yōu)良的耐高溫化工材料,應(yīng)用前景廣闊,在現(xiàn)代工業(yè)中有著舉足輕重的地位[1]。目前,我國電熔鎂砂的工藝流程主要是以菱鎂礦石通過三相交流電熔鎂爐(簡稱電熔鎂爐)進行加熱熔煉來生產(chǎn)制備[2]。熔煉期間,由于原料雜質(zhì)成分導(dǎo)致局部熔點升高,以及不適當(dāng)?shù)碾娏髟O(shè)定值使局部熔煉區(qū)溫度低于原料熔化溫度,設(shè)備容易發(fā)生欠燒工況。欠燒工況發(fā)生時,高溫溶液容易穿透爐殼保護層與鐵質(zhì)爐殼直接接觸,造成爐殼溫度過高至燒紅燒透,若處理不及時會造成設(shè)備燒漏、溶液溢出。目前,由于超高溫電熔鎂爐熔液溫度不直接可測,欠燒異常工況主要通過現(xiàn)場工人定期觀察爐殼特征來診斷。但人工巡檢工作強度大、危險性高,且準(zhǔn)確性高度依賴操作人員的經(jīng)驗和狀態(tài),滯后性大, 處理不及時會導(dǎo)致漏檢[3]。因此,亟需一種自動且快速有效的電熔鎂爐工況診斷方法。
針對以上問題,本文使用一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的電熔鎂爐欠燒工況識別技術(shù),對欠燒工況進行智能識別分類,并在簡單電熔鎂爐工況數(shù)據(jù)集SAPI-FMF。SAPI-FMF數(shù)據(jù)集源自工業(yè)相機錄制的同一批爐次下的爐況實際運行的視頻片段中經(jīng)過部分截取篩選以及圖像增強處理(左右翻轉(zhuǎn)、區(qū)域截取、顏色變換、噪聲擾動)后的子數(shù)據(jù)(即32*32*3的RGB圖像),利用深度學(xué)習(xí)技術(shù)提取圖像特征,實現(xiàn)爐溫工況端到端的故障識別與診斷,可以提高工況識別的準(zhǔn)確率,降低人工勞動強度,提高電熔鎂砂產(chǎn)品質(zhì)量。
本文使用了一種多尺度卷積神經(jīng)網(wǎng)絡(luò),并用一種簡單的卷積神經(jīng)網(wǎng)絡(luò)進行對比實驗。與簡單卷積神經(jīng)網(wǎng)絡(luò)相比,使用預(yù)訓(xùn)練的網(wǎng)絡(luò)結(jié)構(gòu)GoogLeNet[4], 是2014年Christian Szegedy提出的一種全新的深度學(xué)習(xí)結(jié)構(gòu),在這之前的AlexNet、VGG等結(jié)構(gòu)都是通過增大網(wǎng)絡(luò)的深度(層數(shù))來獲得更好的訓(xùn)練效果,但層數(shù)的增加會帶來很多負作用,比如overfit、梯度消失、梯度爆炸等。inception的提出則從另一種角度來提升訓(xùn)練結(jié)果:能更高效的利用計算資源,在相同的計算量下能提取到更多的特征,從而提升訓(xùn)練結(jié)果,提高卷積神經(jīng)網(wǎng)絡(luò)在數(shù)據(jù)集上的特征提取和泛化性能。
?
2.???? 技術(shù)路線
? ? ?本文主要使用MATLAB完成數(shù)據(jù)集處理和MSCNN的搭建和訓(xùn)練,與在python下主流的深度學(xué)習(xí)工作流類似,只不過在python下數(shù)據(jù)的運算是以特殊的數(shù)據(jù)類型Tensor(張量)進行運算,在網(wǎng)絡(luò)訓(xùn)練以及GPU硬件加速方面比較友好;MATLAB作為成熟的商業(yè)軟件,已經(jīng)進行深度封裝,同樣支持GPU硬件加速。針對電熔鎂爐的欠燒工況識別,可以借助于深度學(xué)習(xí)或者遷移學(xué)習(xí)快速構(gòu)建和訓(xùn)練網(wǎng)絡(luò)。與傳統(tǒng)的機器學(xué)習(xí)相比,深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)具有良好的特征提取能力,不需要相關(guān)領(lǐng)域的先驗知識。MATLAB下進行深度學(xué)習(xí)的圖像識別的工作流一般包括數(shù)據(jù)集的導(dǎo)入、模型的搭建和訓(xùn)練、驗證并測試。
? ? 為了方便訓(xùn)練,首先要準(zhǔn)備數(shù)據(jù)集,這里需要將train*.mat文件依次導(dǎo)入,并將相應(yīng)的數(shù)據(jù)和標(biāo)簽合并成訓(xùn)練數(shù)據(jù)集。同樣可以將train_*label.mat導(dǎo)入并制作驗證數(shù)據(jù)集。在MATLAB中,標(biāo)簽label必須為categorical數(shù)據(jù)類型。選取其中的部分工況圖片,如圖2.1所示:

為了提高網(wǎng)絡(luò)的提取能力,使用了GoogLeNet的Inception[4]模塊構(gòu)建MSCNN進行遷移學(xué)習(xí),Inception中將多個尺寸的卷積核組裝成一個網(wǎng)絡(luò)模塊,設(shè)計神經(jīng)網(wǎng)絡(luò)時以模塊為單位去組裝整個神經(jīng)網(wǎng)絡(luò)。

在MATLAB中使用layerGraph函數(shù)構(gòu)建復(fù)雜網(wǎng)絡(luò)。layerGraph可以指定深度學(xué)習(xí)網(wǎng)絡(luò)的架構(gòu),具有更復(fù)雜的圖形結(jié)構(gòu),其中層可以具有來自多個層的輸入,并且輸出到多個圖層。具有這種結(jié)構(gòu)的網(wǎng)絡(luò)稱為有向無環(huán)圖(DAG)網(wǎng)絡(luò)。創(chuàng)建layerGraph對象后,可以使用對象功能是繪制圖形并通過添加、刪除、連接和斷開層的連接。這里定義的網(wǎng)絡(luò)結(jié)構(gòu)是基于GoogLeNet的結(jié)構(gòu)進行遷移學(xué)習(xí),將最后的全連接層修改為輸出為2,應(yīng)為整個數(shù)據(jù)集的類別為2分類(0或1)并將輸入層進行修改(32*32*3)。整個網(wǎng)絡(luò)的模型結(jié)構(gòu)如圖2.3。? ?

這里為了做對比實驗,使用了一種簡單的卷積神經(jīng)網(wǎng)絡(luò),它的網(wǎng)絡(luò)結(jié)構(gòu)如圖2.4所示。

3.???? 實驗結(jié)果
3.1.? 實驗步驟
首先準(zhǔn)備數(shù)據(jù)集,包括測試集和驗證集,如圖3.1所示。

然后使用MATLAB的Deep Learning Toolbox中的layerGraph搭建MSCNN網(wǎng)絡(luò)結(jié)構(gòu),參見圖2.4和文獻[4]。搭建完成后,可以使用plot(layerGraph)查看,如圖3.2所示。

進行網(wǎng)絡(luò)訓(xùn)練,選擇相應(yīng)的模型優(yōu)化器、損失函數(shù),設(shè)置學(xué)習(xí)率等超參數(shù)。
這里MSCNN:SGDM優(yōu)化器,學(xué)習(xí)率0.001,采用交叉熵損失函數(shù),batch_size=128,epoch=20;
簡單二維卷積神經(jīng)網(wǎng)絡(luò):SGDM優(yōu)化器,學(xué)習(xí)率0.001,采用交叉熵損失函數(shù),batch_size=128,epoch=20;
進行網(wǎng)絡(luò)訓(xùn)練并保存結(jié)果。
3.2.? 實驗環(huán)境
本次實驗的硬件環(huán)境是win10 臺式機,使用的顯卡(GPU)是NVIDIA GeForce RTX 3060 ,顯存大小為12 GB,顯卡可以用來實現(xiàn)深度卷積網(wǎng)絡(luò)訓(xùn)練加速。實驗軟件環(huán)境為MATLAB R2022b,其中包含搭建和訓(xùn)練神經(jīng)網(wǎng)絡(luò)必須的工具箱Deep Learning Toolbox。Deep Learning Toolbox? 包含一系列算法、預(yù)訓(xùn)練模型和應(yīng)用程序,為設(shè)計和實現(xiàn)深度神經(jīng)網(wǎng)絡(luò)提供框架。它支持與常用的深度學(xué)習(xí)框架Pytorch、Tensorflow 2、ONNX(開放式神經(jīng)網(wǎng)絡(luò)交換)模型進行交互;同時,它支持在單GPU或多GPU工作站進行模型訓(xùn)練[5]。
3.3.? 實驗結(jié)果及對比
MSCNN的訓(xùn)練過程如圖3.3所示。簡單卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程如圖3.4所示。


對比圖3.3、圖3.4可知,簡單二維卷積神經(jīng)網(wǎng)絡(luò)由于模型結(jié)構(gòu)簡單(層數(shù)較少),參數(shù)量少,所以訓(xùn)練時間較短,在訓(xùn)練集上收斂較快,但后期波動較大,而MSCNN由于網(wǎng)絡(luò)深、參數(shù)量大,訓(xùn)練時間較長,在訓(xùn)練集上收斂較慢,但訓(xùn)練過程相對穩(wěn)定,在驗證集的準(zhǔn)確率為82.21%,高于簡單卷積神經(jīng)網(wǎng)絡(luò)的74.87%。MSCNN在驗證集上的混淆矩陣如圖3.5所示,簡單二維卷積神經(jīng)網(wǎng)絡(luò)在驗證集的混淆矩陣如圖3.6所示。


由圖3.5和圖3.6知,MSCNN在預(yù)測類為1(欠燒)的工況全部正確(即預(yù)測為1且真實類也為1),而簡單卷積神經(jīng)網(wǎng)絡(luò)存在預(yù)測為1卻實際為0(非欠燒),同時在預(yù)測類為0的類中,MSCNN的誤識別率為27.8%,而簡單卷積神經(jīng)網(wǎng)絡(luò)的誤識別率為35.1%(這里誤識別指預(yù)測為0而實際為1)。
4.???? 結(jié)論
本文針對電熔鎂砂的熔煉欠燒工況過程提出了一種多尺度的卷積神經(jīng)網(wǎng)絡(luò),使用已有的GoogLeNet網(wǎng)絡(luò)結(jié)構(gòu)進行遷移學(xué)習(xí),并在SAPI-FMF數(shù)據(jù)集上進行驗證,與簡單卷積神經(jīng)網(wǎng)絡(luò)相比有更好的特征提取和泛化能力。深度學(xué)習(xí)的智能診斷方法處理圖像數(shù)據(jù)準(zhǔn)確性高,是研究和解決工業(yè)故障診斷的重要手段。以上都是基于二維卷積神經(jīng)網(wǎng)絡(luò)的診斷方法,如果考慮實際工業(yè)生產(chǎn)過程,生產(chǎn)過程大部分時刻工作于正常狀態(tài),故障或異常工況只是突發(fā)情況,可以采用三維卷積神經(jīng)網(wǎng)絡(luò)將多幀圖片滾動預(yù)測,考慮工況的時序信息,將會進一步提高識別正確率。
5.???? 參考文獻
[1]盧紹文,王克棟,吳志偉等.基于深度卷積網(wǎng)絡(luò)的電熔鎂爐欠燒工況在線識別[J].控制與決策,2019,34(07):1537-1544.
[2]李軍,宋偉.電熔鎂產(chǎn)業(yè)發(fā)展研究[J].冶金能源,2010,29(04):8-10.
[3]吳高昌, 劉強, 柴天佑, 等. 基于時序圖像深度學(xué)習(xí)的電熔鎂爐異常工況診斷[J]. 自動化學(xué)報, 2019, 45(8): 1475-1485.
[4] Szegedy C, Liu W, Jia Y, et al. Going deeper with convolutions[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2015: 1-9.
[5] https://ww2.mathworks.cn/products/deep-learning.html,2023.03.01