張瑞程,王新穎,胡磊磊,林振源,黃旭安,趙 斌
(常州大學 環境與安全工程學院,江蘇 常州 213164)
城市燃氣管道作為城市能源重要生命線,一旦發生泄漏,將引發火災爆炸等安全事故,造成人員傷亡與財產損失[1-2]。由于管網建設標準、時間、規格不同,輸送介質多為易燃易爆氣體,大部分管網深埋地下導致日常檢修困難,使城市燃氣管道穩定、安全運營面臨巨大考驗[3]。
目前,國內外主要通過采集管道故障產生的聲發射信號,人為提取管道故障特征參數,并采用人工神經網絡或支持向量機等模式識別法診斷管道故障,但故障診斷模型仍存在數據預處理繁瑣,欠擬合及難以收斂等問題[4-6];卷積神經網絡在圖像識別領域的成功應用,為故障診斷提供新的研究思路[7];文獻[8-9]通過將故障信號進行時頻變換,滿足二維卷積神經網絡對二維輸入的要求,可實現較高準確率的故障診斷,但沒有最大化發揮卷積神經網絡對原始信號的特征自提取優勢[8-9];Cho等[10]通過測試數據銳化,利用高斯濾波器提高活動識別精度,并采用一維卷積核處理一維數據;Ince等[11]將一維卷積用于通用智能軸承故障診斷系統,以原始時間序列傳感器數據作為輸入,通過適當訓練學習最優特征;劉星辰等[12]針對旋轉機械智能診斷方法計算量大與抗噪能力差等問題,在經典LeNet-5基礎上提出基于一維卷積神經網絡的故障診斷算法;吳春志等[13]提出基于一維卷積神經網絡的齒輪箱故障診斷模型,該模型可直接從原始振動信號中學習特征并完成故障診斷,且對于單一與復合故障診斷的準確率均高于傳統診斷方法。已有故障診斷模型測試集較少,測試集樣本豐富度較低,測試結果不能充分反應故障診斷模型的穩定與普適性[14]。
卷積神經網絡故障診斷模型準確率較高,部分診斷準確率可達100%,但應用于管道聲發射信號預測識別方面的研究較少[15-17]。因此,在前人研究成果基礎上提出基于一維卷積神經網絡的燃氣管道故障診斷模型,將一維卷積核與池化層直接作用于原始聲發射信號,利用偏移采樣技術擴充測試數據集,并通過生成器的方式讀取訓練樣本,減少訓練時間,實現端到端的燃氣管道故障診斷。
20世紀60年代,Hubel和Wiesel通過研究貓腦皮層中用于局部敏感和方向選擇的神經元發現,其獨特的網絡結構可有效降低反饋神經網絡的復雜性,并提出卷積神經網絡(Convolutional Neural Networks,CNN)[18]的概念。卷積神經網絡是前饋神經網絡,人工神經元可響應周圍單元,處理大型圖像,尤其在模式分類領域表現突出。
卷積神經網絡除全連接層外還包括卷積層和池化層。卷積層用于提取特征,關鍵參數為步長和padding:步長用于控制卷積核移動距離,padding用于對數據進行操作。padding包括2種:1種是不進行操作,另外1種是補0,使卷積后的激活映射保持不變。池化層用于減少參數量。卷積神經網絡可分為一維卷積神經網絡、二維卷積神經網絡和三維卷積神經網絡:一維卷積神經網絡用于分析傳感器數據時間序列;二維卷積神經網絡用于計算機視覺與圖像處理;三維卷積神經網絡主要用于醫學圖像及視頻類數據識別。針對管道泄漏產生的一維聲發射信號,采用一維卷積神經網絡進行分析。
在計算機視覺領域,卷積適用于邊緣查找、特征檢測、運動檢測、圖像匹配等任務。在信號處理領域,卷積是執行平滑或銳化的任何物理設備或計算程序的核心。對于連續變量x的函數f(x)和g(x),卷積定義如式(1)所示:
(1)
式中:*表示卷積運算;τ表示時間常數;f(τ),g(τ)為時間常數τ的函數;g(x-τ)為g(τ)經翻轉平移后的結果。對于所有實數x,上述積分是存在的。
隨x取值不同,積分定義新的函數即f(x)和g(x)的卷積。卷積是2個變量在某范圍內相乘然后求和的結果。對于離散變量x的函數,卷積定義如式(2)所示:
(2)
式中:k為時序;f[x]和g[x]表示不同序列;f[k]為時序k的序列;當x=0時,序列g[-k]為g[k]時序k取反的結果;g[x-k]為x使g[-k]位移的量,x取值不同,卷積結果不同。
一維卷積神經網絡能識別序列中局部模式。對每個序列段執行相同輸入變換,在序列中某個位置學到的模式可以在其他位置被識別,使一維卷積神經網絡具有平移不變性(針對時間平移而言)。一維卷積神經網絡工作原理如圖1所示。利用一維卷積,從時間序列中提取局部一維序列段,進行卷積和池化操作,提取序列特征。
圖1 一維卷積神經網絡工作原理Fig.1 Working principle of one-dimensional convolution neural network
傳統故障診斷技術采用聲發射等監測儀器獲取一維故障數據,通過對故障數據時域與能量域進行分析,得到單變量與多變量特征,并利用人工神經網絡、決策樹、支持向量機等模式識別技術對故障進行分類識別。但傳統故障診斷技術存在準確率低、魯棒性差、特征提取困難及數據預處理過程復雜等問題。卷積神經網絡能有效提高故障診斷準確率,其中二維卷積神經網絡需要將一維信號通過時頻變換轉換為二維時頻圖,以實現二維卷積神經網絡的圖像識別優勢。本文提出的一維卷積神經網絡,直接從原始一維數據出發分類識別故障數據,讓一維卷積核對一維數據進行特征自提取,省略復雜的數據預處理過程。一維卷積與其他故障診斷方法對比如圖2所示。
圖2 一維卷積與其他故障診斷方法對比Fig.2 Comparison of one-dimensional convolution and other fault diagnosis methods
VGGNet是牛津大學計算機視覺組和Google DeepMind公司研究員共同研發的深度卷積神經網絡,用來探索神經網絡深度與性能間相關關系。通過對大小相同卷積核和最大池化核重復堆疊方式加深網絡結構,并進行性能對比,最終構建出16~19層深層卷積神經網絡結構。卷積神經網絡結構的加深能有效提升模型性能,而網絡參數量并沒有顯著增加,因為最后3個全連接層占據大量參數。
VGGNet網絡深度由11層到19層不等,其中VGGNet-16和VGGNet-19較常用。VGGNet把網絡劃分為5段,每段由多個3*3卷積網絡串聯組成,每段卷積后面連接1個最大池化層,其次為3個全連接層和1個Softmax層。
本文實驗模型在VGG-16模型基礎上做了部分改進:共有4段卷積,每段卷積由2層卷積層和1個最大池化層構成;同段卷積層的卷積核長度相同,前3段卷積步長均為2,即卷積核每次移動步長為2,經過3段卷積,數據長度不斷減小,所以將第4段卷積步長設置為1,確保能夠更好地提取樣本特征。Padding方式為same,即在數據外層補0,避免數據邊緣特征遺失;激活函數均設置為Relu,加快收斂速度;全連接層采用4分類的Softmax Classifier,設置Dropout為0.3,隨機去除30%神經元,防止模型過度擬合。
一維卷積神經網絡燃氣管道故障診斷流程如圖3所示。首先采集管道聲發射信號,將數據集分為訓練集和測試集;在Keras上建立一維卷積神經網絡模型,根據數據集大小選擇網絡參數,訓練完成后輸出準確率與損失函數變化曲線;將400組測試數據集與經偏移采樣技術擴充后的4 004組數據集輸入訓練好的模型中,輸出故障診斷結果,并通過混淆矩陣、召回率、精準度等多個指標評價模型效果。
圖3 燃氣管道故障診斷流程Fig.3 Flow chart of fault diagnosis on gas pipeline
燃氣管道故障模擬實驗模型主要包括管道輸運、數據采集和儀表儀器3個單元,故障模擬實驗臺如圖4所示。
圖4 燃氣管道故障模擬實驗臺Fig.4 Simulation test bench of gas pipeline fault
管道輸運單元包括閥門、空氣壓縮機和輸運管道。其中,無縫鋼管用來模擬燃氣管道,輸運管道上設4個模擬故障點(泄漏閥)模擬管道故障,空氣壓縮機提供的空氣代替燃氣。數據采集單元由工業計算機、聲發射卡、濾波范圍為20~120 kHz的聲發射前置放大器、聲發射傳感器以及對應處理軟件組成。儀器儀表單元主要由壓力表、轉子流量計、溫度傳感器組成。
由空氣壓縮機為燃氣管道提供進口壓力,模擬燃氣管道運行情況。通過調節泄漏閥開度模擬管道正常、輕微故障、中度故障及重度故障4種運行狀態:泄漏閥全閉,管道為正常運行狀態,采集數據為背景噪聲信號;泄漏閥打開,采集數據為背景噪聲和泄漏引發聲發射信號。4種運行狀態下采集到的部分實驗數據如圖5所示。
圖5 4種運行狀態下部分實驗數據Fig.5 Partial experimental data under four operating states
每種狀態選取200個樣本,樣本集共包含800個樣本。每個樣本包含5 000個采樣點,對應一維卷積神經網絡輸入維度為5 000,輸出維度為4,將70%樣本作為模型訓練集,30%樣本作為模型驗證集。
為保證測試結果可靠性,利用偏移采樣技術對長度為505 000的聲發射信號進行擴充,每次偏移500個單位長度,最終生成1 001個樣本,4種故障類型原始聲發射信號,共生成4 004個樣本。
改進后的一維卷積神經網絡模型結構,見表1。數據經預處理,每條聲發射數據包含有5 000個時間點,得到1個5 000×1的矩陣,設置卷積核大小為16,移動的步長為2,第1個卷積層輸出矩陣2 497×16;第2個卷積層步長與卷積核大小與第1層相同,輸出矩陣大小為1 249×16。為降低輸出復雜度,在2個卷積后添加1個大小為2的最大池化層,輸出矩陣的大小變為輸入矩陣的1/2。為提取更多特征,減少卷積核長度增大卷積核個數,以同樣方式堆疊3層,并在第4個最大池化層之后添加1個均值池化層和Dropout層,避免過擬合的發生,最終輸出矩陣的大小為1×512,最后1層向量長度由512降為4。Softmax作為激活函數,由于強制神經網絡4個輸出值和為1,所以,輸出值可代表4種運行情況出現概率。
表1 模型結構參數Table 1 Structure parameters of model
實驗共采集800組數據,其中,560組作為模型訓練集,240組作為模型驗證集。將所有數據輸入一維卷積神經網絡模型,批處理量20,共執行50個訓練周期。訓練完成后,用Matplotlib對訓練數據集與驗證數據集準確率和損失函數做可視化處理,準確率和損失函數變化曲線如圖6所示。
圖6 準確率和損失函數變化曲線Fig.6 Variation curves of accuracy and loss function
由圖6可知,當訓練處于第6世代時,訓練集與驗證集準確率第1次同時達到90%以上;當大于第10世代,小于第30世代時,模型基本趨于穩定,準確率與損失函數在最大值附近小幅度波動;當訓練處于31、39、48世代時,驗證集準確率和損失函數曲線波動幅度較大,擬合程度相對較低,驗證集準確率約為80%,損失函數值約為0.6。原因是批處理量值過小,網絡收斂不穩定,收斂速度慢。將批處理量由20調整為30,優化后的模型準確率和損失函數變化曲線如圖7所示。
圖7 優化后的模型準確率和損失函數變化曲線Fig.7 Variation curves of accuracy and loss function after model optimization
由圖7可知,5世代之后曲線逐漸趨于穩定,準確率保持在98%左右,模型擬合程度較高,訓練集與驗證集基本持平;損失函數值在0~0.2小范圍波動,魯棒性較高;根據數據集大小適當增大批處理量值,使大矩陣乘法并行化效率提高,損失函數下降趨勢明確,能有效解決驗證集曲線波動幅度過大的問題。訓練集和驗證集準確率均大于98%。因此,采用以VGG16為基礎的一維卷積神經網絡識別管道原始聲發射信號,可有效提高燃氣管道故障診斷準確率。將未經訓練的400組測試數據集輸入保存好的一維卷積神經網絡模型中進行故障識別,得到混淆矩陣如圖8所示。
圖8 400組測試集的混淆矩陣Fig.8 Confusion matrix of 400 groups test sets
由圖8可知,一維卷積神經網絡模型對管道4種運行狀態識別準確率較高;其中,對于正常、重度故障的識別準確率達到100%;僅在輕微故障、中度故障之間發生混淆。但由于測試數據集樣本量較少,不能充分驗證模型的泛化性與普適性。因此,將經過偏移采樣技術的4 004組數據輸入一維卷積神經網絡模型中,得到混淆矩陣如圖9所示。
圖9 4 004組測試集的混淆矩陣Fig.9 Confusion matrix of 4 004 groups test sets
由圖9可知,模型對管道正常運行情況的識別準確率達到100%,混淆主要發生在輕微故障、中度故障和重度故障之間,且相鄰故障之間更容易發生混淆,僅有少量輕微故障和重度故障之間發生混淆。模型故障診斷準確率平均值達98%,對比小樣本測試集并沒有發生明顯變化,說明一維卷積神經網絡能夠有效診斷燃氣管道故障,且不需進行復雜的數據預處理。
為進一步評價模型性能,根據混淆矩陣計算得到模型對管道4種運行狀態識別的精準率、召回率、特異度以及F1分數等指標,見表2。其中,精準率表示預測為該類故障樣本中實際為該類故障樣本的概率;召回率表示實際為該類故障的樣本中被預測為該類故障的概率;特異度表示實際不是該類故障樣本中預測為不是該類故障樣本的概率;F1分數指標綜合精準率與召回率的產出結果。F1分數指標取值范圍為0~1,1表示模型輸出結果最好,0表示模型輸出結果最差。
由表2可知,一維卷積神經網絡故障診斷模型的精準率、召回率、特異度均大于96%;F1分數均趨近于1。其中管道正常運行指標最高,其次是輕微故障和重度故障,中度故障相較于其他3種運行情況指標較低,但F1分數高達0.97。結果表明:一維卷積神經網絡的燃氣管道故障診斷模型,不僅能準確判斷管道是否出現故障,對管道運行過程中的故障程度也能準確區分。
表2 模型評價指標Table 2 Evaluation indexes of model
1)通過適當調整批處理量值,可有效解決模型在訓練過程中驗證集曲線波動幅度較大問題;在一定范圍內,批處理量值越大,下降趨勢越明確,訓練波動幅度越小。
2)一維卷積神經網絡模型可直接將原始聲發射信號作為輸入項,進行訓練與測試,有效解決燃氣管道故障診斷過程中數據預處理復雜、特征提取困難等問題,實現端到端的準確故障診斷。
3)采用偏移采樣技術對測試數據集進行擴充,解決傳統模式識別方法局限于較小數據集的問題,并采用準確率、損失函數、混淆矩陣、精準率、召回率等多種評價指標對故障診斷模型評估,提高模型測試結果的可信度。