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