張力凡,魏航信
(西安石油大學 機械工程學院,西安 710000)
石油、天然氣通常會用油氣管道運輸,但隨著使用時間的增加,由于磨損、腐蝕、意外損傷等原因會導致管道 產 生 缺 陷[1]。漏 磁 檢 測(Magnetic Flux Leakage,MFL)[2-5]是一種被廣泛的應用于檢測長輸油管道缺陷的無損檢測方式,通過對管道缺陷進行漏磁檢測試驗采集數據,從而為管道的缺陷識別、檢修、維護等提供可靠參考。
目前,管道缺陷尺寸的預測方式主要通過管道漏磁檢測數據中的徑向漏磁分量和軸向漏磁分量進行數據圖像可視化,根據漏磁一維圖像特征對管道缺陷尺寸進行預測。由于直接通過人工來進行管道缺陷尺寸識別,非常費時費力,且管道缺陷識別準確率大多依靠工程師的經驗而定,所以智能檢測管道缺陷方法應運而生。國內對于管道缺陷的智能檢測[6],主要應用的神經網絡方法有BP神經網絡、RBF神經網絡、支持向量機[7-9]等。國外對于焊接缺陷數據進行訓練和識別主要應用的方法為多層感知器神經網絡[10]。這些方法大都建立在一維的漏磁信號特征基礎上,缺少其他維度的特征信息,且信號特征提取信息有限,導致缺陷預測結果誤差較大,且精度不高。據此,本文提出一種基于改進的遷移學習[11-12]的Lenet卷積神經網絡模型TB-CNN,并且將此模型進行貝葉斯優化[13],最終得到最優的TB-CNN模型對管道漏磁圖像進行訓練,通過向最優TB-CNN模型輸入仿真和實驗數據進行訓練,建立管道漏磁缺陷尺寸預測系統,從而提升管道缺陷尺寸預測效率以及準確性。
本實驗所涉及到的管道漏磁信號[14]包括兩種:徑向漏磁信號和軸向漏磁信號。如圖1、2所示,通過改變缺陷的尺寸,得出管道缺陷在不同尺寸下的漏磁場分布規律。在相同寬度的條件下,隨著缺陷深度增加,缺陷的徑向漏磁分量、軸向漏磁分量的峰值明顯增大;在相同深度下,缺陷的徑向漏磁分量的正負極值間距隨著寬度增加而增大,軸向漏磁分量谷間距隨著寬度增加而增大[15]。圖1、2中,控制長度、寬度不變,只改變缺陷深度時,徑向和軸向漏磁分量的變化規律。
圖1 徑向漏磁曲線
圖2 軸向漏磁曲線
考慮深度學習模型從零開始訓練需要大量數據、相當大的計算成本和時間成本,而實際仿真模型的漏磁數據較少,應用實驗數據很難訓練出實際可行的網絡模型。遷移學習能減少神經網絡模型對數據量的依賴。因此,采用已經訓練好的Lenet網絡模型,通過遷移學習將預訓練模型的網絡結構、模型參數轉移到改進的神經網絡模型上,從而實現對管道漏磁缺陷尺寸的預測。
在遷移學習過程中,對Lenet卷積神經網絡模型進一步優化,主要包括:(1)添加批量歸一化層[16],可以加速卷積神經網絡的訓練;(2)添加Dropout層,有效地改變了迭代之間的底層網絡架構,有助于防止網絡過度擬合;(3)將原ReLU激活函數改進成leaky ReLU函數。再向卷積層導入已經訓練好的權重與參數,然后用新設計的全連接層代替原本的全連接層,組成新的卷積網絡模型TB-CNN,最后用仿真和實驗數據訓練新模型。改進的TB-CNN模型如圖3所示。
圖3 遷移學習并改進的TB-CNN神經網絡結構圖
改進的卷積神經網絡的具體結構主要包括1個輸入層,3個卷積層、3個批量歸一化層、2個池化層、1個Dropout層、1個全連接回歸層和1個輸出層。采用Leaky ReLU函數作為網絡層級之間的激活函數。
(1)卷積層
假設其位于網絡的第l層,則其輸出為:
式中:Zlj為第l層中第j個特征映射,j∈[1,n];Xl-1i為從l-1層獲取的第i個輸入特征;Mj為第l-1層中的第j個卷積區域;“*”代表式子做卷積運算;Klij為第l層在生成第j個生成特征映射時應用在第l-1層第i個特征輸入特征上的卷積核;blj為第l層輸出第j個特征映射時的偏置。
(2)批量歸一化層
為了加速網絡訓練速度并提高網絡泛化能力,在卷積計算之后進行批量歸一化處理:一個由m個樣本組成的小批量,仿射變換的輸出為Zlj。對小批量求均值和方差:
由此可推出批量歸一化的公式如下:
式中:μB為上一層輸出數據的均值;σ2B為上一層輸出數據的標準差;⊙為γ中的每個元素與歸一化之后的x按元素做乘法;γ和β是兩個需要學習的參數;Ylj為第l層的重構結果。
(3)LeakyReLU函數
激活函數采用LeakyReLU,可以使神經元不激活時仍會輸出一個小梯度的非零值,來防止ReLU可能出現的神經元“死亡”現象。ReLU函數、LeakyReLU函數為:
其中a是一個很小的常數,這樣保留了一些負軸的值,使負軸的信息不會全部丟失。
(4)池化層
池化層對卷積層的輸出進行壓縮:
式中:Xli+3為第l+3層中輸出的特征映射;ylj(r)為第i層第j個特征映射中第r個神經元的值。
(5)Dropout層
Dropout的直接作用是減少中間特征的數量,從而減少冗余,即增加每層各個特征之間的正交性。在每個訓練批次中,通過忽略一半數量的特征檢測器(讓一半的隱層節點值為0),可以明顯地減少過擬合現象。
(6)目標函數
選取均方根誤差(Root Mean Squared Error,RMSE)作為回歸預測模型的結果精度指標,如式(9)所示。將其作進一步改進:添加L2正則化項優化。它在保證訓練誤差盡量小的同時自動調節參數,優化網絡結構,同時盡量減小有效權值,提高網絡的泛化能力,如式(10)所示。式
中:yi為缺陷的真實尺寸;f(xi)為缺陷的預測尺寸;λ是正則化系數;ωj為網絡層待學習的參數。
(7)訓練算法
采用SGDM訓練網絡,每次從訓練集中隨機選擇一個樣本進行學習,計算梯度的指數加權平均數,并利用該梯度更新所取樣本的Kij、bj:
式中:η為CNN的學習率;vK()t、vb()t為第t次學習時兩個參數的動量;monentum為動量,它的取值范圍為monentum∈[0,1]。
具體流程包括:數據預處理、遷移學習和貝葉斯超參數優化[17-20]。算法整體框架如圖4所示。通過ANSYS仿真和實驗平臺收集漏磁數據。對數據進行預處理主要包括:將數據疊加合理大小的噪聲,來對數據集進行擴充。用格拉姆角場(GAF)算法將一維漏磁數據變換成二維圖像,并且將徑向漏磁分量和軸向漏磁分量的圖像進行特征融合。然后將Lenet模型進行遷移改進為TBCNN。考慮TB-CNN模型的超參數對管道缺陷識別預測結果的影響,使用貝葉斯優化對TB-CNN的學習率、SGDM的動量以及正則化強度進行超參數優化。
圖4 算法整體流程圖
TB-CNN模型的學習率η和SGDM的動量monentum的選取影響網絡訓練速度;合適的正則化系數λ可以很好解決過擬合問題。若采用手動調參,過程復雜,且難以得到最優模型。因此本文使用了貝葉斯優化算法優化TB-CNN的超參數。貝葉斯優化算法只需要經過有限次參數尋優就可以獲得較優的網絡模型。其流程如圖5所示。
圖5 貝葉斯優化算法流程
2.2.1 貝葉斯優化原理
貝葉斯優化算法根據貝葉斯定理來估計目標函數的后驗分布式,然后通過對未知的目標函數過去評估結果建立替代函數,尋找下一個最小化目標函數值的超參數組合。將網絡的學習率η和SGDM的動量monentum以及正則化系數λ設為超參數x1、x2、x3。令x1、x2、x3在各自不同范圍內形成的超參數組合為X={x1,x2,…,xn},對每個超參數組合進行評估,其評估結果設為f(xn),從而尋找最優超參數:
式中:x*為最優參數;f為目標函數等同于式(10)中的E;Dt-1為觀測集合,D={(x1,f(x1)),(x2,f(x2)),…,(xt-1,f(xt-1))};xt-1為觀測到的參數;yt-1為觀測值,yt-1=f(xt-1)+δ2,δ2為噪聲;p(f|D1:t-1)為f的后驗概率;p(f)為f的先驗概率,即對f狀態的假設;為y的似然分布;p(D1:t-1)為f的邊際似然分布。
2.2.2 概率代理模型
貝葉斯優化的概率代理模型采用高斯過程(Gaussian Processes,GPs)。假設待優化的超參數的組合是X={x1,x2,…,xn}。貝葉斯優化算法的目標函數是式(10)中的E,將其表示為f(x)。高斯過程可表現成如下形式:
式中:GP為高斯分布;μ為均值;k=(x,x′)為協方差函數。
在貝葉斯優化的第t-1次迭代后獲得一組數據(xt-1,f(xt-1)),此時有數據集D1:t-1={(x1,f(x1)),(x2,f(x2)),…,(xt-1,f(xt-1))},接下來需要預測點xt處的觀測值f(xt),一般認為這t個觀測點是某個t維高斯分布的一個樣本,即:
式中:K為協方差矩陣,
由此可得ft的分布:
式 中:u x()t=k K-1f1:t-1,u x()t為 預 測 均 值;δ2x()t=k xt,x( )t-k K-1kT,δ2x()t為 預測協方差。
由此可得第t個觀測點的數據(xt,f(xt))。
2.2.3 采集函數
采集函數的作用是確定下一個需要評價的點xt。使用EI(Expected Improvement)來確定下一次迭代的超參數xt。在第t次迭代中,EI的定義域是未遍歷的區域的集合以及目前已觀測到的所有目標函數中最優結果對應的xt的集合。最大化采集函數EI(x)的x就是被選取的下一個超參數取值:
式中:函數α是由決策空間、觀測空間和超參數空間映射到實數空間得到的。
使用ANSYSMAXWELL有限元仿真軟件搭建管道缺陷漏磁檢測模型,為后面基于深度學習神經網絡管道缺陷檢測系統的設計與缺陷尺寸的預測提供數據。為進一步驗證本文提出的方法在實際工程中的有效性,利用管道缺陷漏磁檢測實驗平臺得到現場缺陷漏磁數據。選取直徑203 mm、壁厚10 mm、長1 m的管道,采用人工方式制作管道缺陷,利用霍爾傳感器來檢測漏磁數據,并搭建實驗臺框架。最終收集到長度10~40 mm,寬度10~40 mm,深度2~10 mm范圍的缺陷尺寸數據。
對漏磁數據添加各類噪聲,將數據集進行數據增強操作,將漏磁數據擴充至10 000份。用格拉姆角場(GAF)算法將一維漏磁數據進行二維變換。由于需要徑向和軸向漏磁數據同時輸入,為了提升訓練效率,將徑向和軸向漏磁數據的二維圖像進行特征融合,并設置大小為32*32像素,如圖6所示。
圖6 二維圖像轉換流程圖
建立基于卷積神經網絡的管道漏磁曲線圖像數據集,每種缺陷的特征圖像素大小為32*32。將數據集按照9∶1的比例隨機劃分成訓練集和測試集。圖7為隨機選取不同特征圖所對應缺陷的尺寸。
圖7 不同缺陷尺寸對應的特征圖
(1)選取適當網絡的初始學習率LR。
(2)選取合適的隨機梯度下降的動量MT。
(3)選取合適的L2正則化系數λ。
上述3個參數相互影響,任意一個參數的變動都會導致其余參數對TB-CNN的最終效果產生變化,因此需要找到全局最優的參數組合。將數據集輸入TB-CNN模型,并使用貝葉斯優化算法對超參數進行選擇,設置最大迭代次數為30,在參數范圍的設置上,根據文獻[21]和經驗確定優化變量的搜索區間,具體各項變量范圍如表2所示。由表3可知,經過30次的迭代,第12次優化模型得到的RMSE最低,為0.069 1。最終確定網絡的初始學習率LR=0.000 8,隨機梯度下降的動量MT=0.822 4,L2正則化系數λ=0.009。
表2 優化變量的搜索區間
表3 貝葉斯超參數優化結果
圖8~10為貝葉斯優化過程中所搜索的參數曲線。圖11為貝葉斯優化結果曲線,從圖中可以看出當迭代至12次之后曲線逐漸收斂,此時表明貝葉斯已迭代至最佳,接下來的計算已經無法再改善目標函數,說明全局最優已經找到。
圖8 迭代搜索的學習率
圖11 最小目標函數值
為了驗證貝葉斯優化算法對TB-CNN模型結果的影響,設立未優化的模型,其結構與經過貝葉斯優化的TB-CNN的結構保持相同,選擇默認的神經網絡超參數,即LR=0.01,MT=0.8,λ=0.000 1。得到的RMSE對比結果如表4所示。從表中可以看出,與無貝葉斯優化的TB-CNN相比,經過貝葉斯優化的TB-CNN預測更為精準。
表4 有無貝葉斯優化的模型性能對比
圖9 迭代搜索的動量
圖10 迭代搜索的正則化系數
將經過貝葉斯優化之后的最優TB-CNN模型保存,并輸入測試集進行測試,其損失值曲線和RMSE曲線如圖12和13所示。從圖中可以明顯觀察到,當迭代到300次后,網絡的損失值和RMSE趨于穩定。如圖14~16所示為最終預測管道缺陷的長度、寬度、深度結果。
圖12 最優TB-CNN的損失曲線
圖13 最優TB-CNN的RMSE曲線
圖14 缺陷寬度量化結果
圖15 缺陷長度量化結果
圖16 缺陷深度量化結果
為驗證本文算法的有效性,將優化模型和傳統神經網絡進行對比,如表5所示。由表可知,未優化的CNN缺陷尺寸預測誤差大,因此對其進行優化具有必要性。經過利用貝葉斯優化算法優化遷移學習改進的神經網絡結構對于管道缺陷的預測更為精確,明顯優于未優化的CNN模型。
表5 不同網絡模型之間均方誤差的對比
針對人工判定管道缺陷效率低,和淺層網絡對于管道缺陷尺寸預測精度不高等問題,提出利用一種基于遷移學習的改進卷積神經網絡模型:TB-CNN。改進的TB-CNN模型中利用批量歸一化來提高模型訓練速度,添加dropout層來防止過擬合,且為了避免可能出現的神經元“死亡”現象,將激活函數ReLU改進為Leaky ReLU。
并且由于人工搜索超參數難以找到最優組合,提出利用貝葉斯優化算法自動尋找最優超參數組合的方法。利用貝葉斯優化算法在30次迭代中成功地找到了最優的網絡結構和超參數組合:網絡的初始學習率為0.000 8;隨機梯度下降的動量為0.822 4;L2正則化系數λ=0.009。
相比于傳統卷積神經網絡,TB-CNN方法具有更加精準的管道缺陷尺寸預測能力以及訓練效率,其綜合預測均方根誤差低至0.0691。結果表明,本文提出的方法為油氣管道漏磁檢測缺陷預測提供了一種綜合性能更好的思路。