段友祥 常 城 孫歧峰 杜承澤
(中國石油大學(華東)計算機科學與技術(shù)學院 青島 266580)
隨著物聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等新一代信息技術(shù)的迅猛發(fā)展和深入應用[1],以“全面感知、自動操控、預測趨勢、優(yōu)化決策”為目標的“智慧油田”正在油氣資源領域掀起新一輪的技術(shù)革命[2]。油氣生產(chǎn)智能化監(jiān)測和管理是智慧油田建設的重要內(nèi)容[3]。
有桿抽油機是目前石油生產(chǎn)的主要設備,分為游梁式和無游梁式兩種。隨著技術(shù)的進步,因常規(guī)游梁式抽油機長沖程時平衡效果差,效率低,能耗大等原因[4],立式抽油機應運而生。立式抽油機是一種無游梁塔架式抽油機,具有安全方便,節(jié)能降耗,適應性強等優(yōu)點[5],在我國西部油區(qū)和國外一些油田得到了很好的應用。本文的研究內(nèi)容是這款抽油機智能分析和決策中的故障診斷問題。
抽油機通常工作在外部環(huán)境惡劣,無人值守、工況復雜等情況下,經(jīng)常發(fā)生運行故障,嚴重影響生產(chǎn),甚至造成抽油機本身機械損傷[6]。因此,通過搭建立式智能抽油機大數(shù)據(jù)平臺,如圖1所示,進行數(shù)據(jù)分析和決策,對抽油機進行實時工況智能診斷,可以保障生產(chǎn)運行效率,延長抽油機的使用壽命。
圖1 立式智能抽油機大數(shù)據(jù)平臺
立式智能抽油機大數(shù)據(jù)平臺硬件部分主要包括抽油機主體、數(shù)據(jù)感知傳感器、遠程終端控制單元(Remote Terminal Unit,RTU)、數(shù)據(jù)傳輸單元(Data Transfer Unit,DTU)等;軟件主要包括生產(chǎn)動態(tài)分析與決策、故障智能分析、遙測、遙控等。平臺由RTU統(tǒng)一處理和暫存示功圖數(shù)據(jù),由DTU進行通訊,將數(shù)據(jù)通過網(wǎng)絡傳給云端服務器存儲,每隔30min,最新的示功圖數(shù)據(jù)通過網(wǎng)絡傳給云端服務器存儲,因此可以得到豐富的與功圖相關(guān)的大數(shù)據(jù)。數(shù)據(jù)的分析軟件部署在云端,分析結(jié)果的應用軟件部署在客戶端(含移動設備)。
目前最為先進和常見的抽油機故障分析和診斷模型是示功圖模型[7]。示功圖是抽油機在一個運動周期內(nèi)光桿下端懸點處載荷隨光桿下端懸點處位移變化形成的一條封閉曲線,其形狀特征能反映抽油機工況[8]。立式抽油機和游梁式抽油機雖然構(gòu)造不同,但示功原理一樣,因此也通過示功圖分析抽油機的運行狀況,進行故障診斷。但是結(jié)構(gòu)的不同使得示功圖的表現(xiàn)會有很大差異。如使用立式抽油機時“光桿打驢頭”這種故障不會出現(xiàn)。圖2是通過建立的數(shù)據(jù)平臺收集的立式抽油機幾種典型示功圖,其中圖2(a)是正常情況下的示功圖,圖2(b)是抽油桿斷脫的示功圖,圖2(c)是氣體影響的示功圖,圖2(d)是充不滿的示功圖。
圖2 立式抽油機示功圖
抽油機的故障分析和診斷一直是研究的熱點問題,專家系統(tǒng)、支持向量機、神經(jīng)網(wǎng)絡等研究成果都在抽油機故障智能分析中得到應用[9~10],但是應用效果還有一定的局限性。近幾年,大數(shù)據(jù)和深度學習技術(shù)的出現(xiàn),為抽油機故障智能分析提供新的解決思路[11]。
卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)是一種前饋神經(jīng)網(wǎng)絡,由卷積層、池化層、歸一化層、全連接層等構(gòu)成[12]。與其他圖像識別和分類方法不同,CNN可以自動學習并過濾特征而不需要人工和先驗知識來設計和提取特征。多次卷積能夠提取不同層次的特征,多次池化能夠?qū)μ卣鞑粩鄩嚎s,通過對不同層次特征持續(xù)提取和壓縮可獲得更高層次、更抽象的特征,利用最后得到的特征可以完成不同任務,在圖像處理方面有出色表現(xiàn)[13]。示功圖可以看作一種特殊的圖像,因此利用CNN對示功圖分析是可行的[14]。
根據(jù)立式抽油機故障診斷的實際需求,借鑒近幾年圖像識別和分類效果較好的ResNet模型、DenseNet模型和SENet模型[15~17],本文提出一種基于示功圖數(shù)據(jù)的特征重標定殘差卷積神經(jīng)網(wǎng)絡模型,其結(jié)構(gòu)如圖3所示。
本文模型共45層,其詳細結(jié)構(gòu)如圖3(b)所示,其中,第1個卷積層卷積核大小為3×3、數(shù)目為16;5個SE-殘差模塊(嵌入Sequeeze-and-Excitation子結(jié)構(gòu)的殘差模塊)中卷積核的數(shù)目依次為32、64、64、128、128;卷積層均加入L2正則化,步長均為1,激活函數(shù)均為LeakyReLu;池化層池大小為2×2,步長為2;前兩個全連接層有1024、512個神經(jīng)元,激活函數(shù)均為LeakyReLu,第三個全連接層有4個神經(jīng)元,激活函數(shù)為softmax,用于4種圖片的分類工作。模型的輸入為32×32像素的示功圖,輸出是示功圖的種類。
圖3 特征重標定殘差卷積神經(jīng)網(wǎng)絡模型
圖4中BN是批歸一化層,LeakyReLu是激活層,激活函數(shù)為LeakyReLu,Avg_pool是平均池化層。x為輸入,H(x)為輸出,F(xiàn)(x)為x和H(x)之間中間層的輸出。
圖4 殘差模塊
本文設計的殘差模塊由1×1卷積層、3×3卷積層、中間層(BN等)和在輸入輸出之間引入1條恒等映射(identity mapping)的直連通道組成,其結(jié)構(gòu)如圖4所示。與經(jīng)典的殘差網(wǎng)絡不同,此結(jié)構(gòu)在3×3卷積層之前加入1×1卷積層并且增加中間層,不但對輸入的特征降維、減小參數(shù)數(shù)目和計算量而且增加了更多非線性因素、加速網(wǎng)絡收斂,起到輕量化模型并且提高模型性能的作用。
圖5中,c為特征的通道數(shù),h為特征圖的高度,w為特征圖的寬度。
本文模型主要由SE-殘差模塊組成,在搭建完成殘差模塊之后嵌入SE子結(jié)構(gòu),其結(jié)構(gòu)如圖5所示。本文在addition前對分支上的殘差特征進行重標定即在x+F(x)前對分支上的F(x)進行操作,如果對addition后主支上的特征重標定,由于主干上存在0~1的Scale操作,在深層網(wǎng)絡反向傳播過程中會出現(xiàn)梯度彌散的現(xiàn)象,導致模型無法優(yōu)化。
圖5 SE-殘差模塊
在SE子結(jié)構(gòu)中,首先使用平均池化完成Se?queeze操作,將特征壓縮;之后經(jīng)過全連接層將特征維度降為輸入的1/16(16是設定的,可以改變),經(jīng)過激活層、全連接層再將特征維度升回到原維度,相比于一個全連接層,這樣不但可以增加更多的非線性,更好地擬合通道間的相關(guān)性還大大減小了參數(shù)數(shù)量;然后通過Sigmod函數(shù)完成Excitation操作,為每個特征通道計算權(quán)重,權(quán)重代表每個通道的重要程度;最后通過乘法逐通道加權(quán)到先前特征完成Scale操作,完成對原始特征重標定。
Sequeeze操作表達式如下:
Fsq為Sequeeze函數(shù)即平均池化,Uc是H×W的特征圖。公式是將H×W×C的輸入轉(zhuǎn)化為1×1×C的輸出。
Excitation操作表達式如下:
Fex為Excitation函數(shù),z是式(1)得到的結(jié)果zc,(W1z)是經(jīng)過第一個全連接時的運算,W1的維度為C/16×C,16是一個參數(shù)可以修改,本文取16是將通道個數(shù)降為原十六分之一,經(jīng)過ReLu激活層后再經(jīng)過第二個全連接層與W2相乘,W2的維度是C×C/16,因此輸出維度是C×1×1,最后經(jīng)過sigmod函數(shù)后得到s。
Scale操作的表達式如下:
Fscale為Scale函數(shù)是將uc與sc相乘,uc是二維矩陣,sc是權(quán)重(一個實數(shù))。
本文將殘差思想引入模型,改變了前向和后向信息傳遞的方式,模型訓練時,如果x代表的特征已經(jīng)十分成熟,即x增加或減小都會讓模型損失值變大,此時F(x)會趨向于0,x則從這條恒等映射路徑繼續(xù)傳遞信息,這有利于深度網(wǎng)絡的訓練,在一定程度上解決了梯度彌散問題,隨著模型深度的加深,其表達能力更強,測試集的分類準確率更高。
本文將SE子結(jié)構(gòu)嵌入殘差模塊中對特征重標定,其核心思想在于模型通過損失值學習特征權(quán)重,使得有效特征圖的權(quán)重不斷增大,無效或效果小特征圖的權(quán)重不斷減小,訓練出的模型效果更好。SE子結(jié)構(gòu)構(gòu)造簡單,容易嵌入到網(wǎng)絡模型中,不需要設計新的結(jié)構(gòu)。
模型選用LeakyReLu函數(shù)作為殘差模塊的激活函數(shù),相較于使用較多的ReLu函數(shù),LeakyReLu函數(shù)能夠修正數(shù)據(jù)分布,當輸入為負值時也能更新網(wǎng)絡參數(shù)[18]。在卷積層之間加入批歸一化層加快訓練速度、提高模型訓練精度、一定程度上減小梯度彌散問題;每個卷積層均加入L2正則化有效防止過擬合。
選用Adam作為優(yōu)化函數(shù),與SGD、Momentum、AdaGrad、RMSProp優(yōu)化器相比,Adam優(yōu)化器實現(xiàn)簡單、計算高效,超參數(shù)無需調(diào)整或者僅需微調(diào),更新步長能被限制在大致范圍內(nèi),能自動調(diào)整學習率,很適合大規(guī)模數(shù)據(jù)和參數(shù)的場景[19];選用方差縮放初始化作為模型的初始化權(quán)重方法,比常規(guī)的高斯分布初始化、截斷初始化的泛化能力更強;模型最后是全連接層,不僅起到分類器的作用,還可以大大減小特征的位置對分類的影響[20]。
本文使用的數(shù)據(jù)集來自國內(nèi)某油田,該油田使用新型的立式智能抽油機。數(shù)據(jù)采集時間為2019年1月1日0點至2019年6月7日21點,通過篩選、分類和數(shù)據(jù)增強共得到19038張示功圖,其中“工作正?!?094張、“充不滿”2707張、“氣體影響”8093張、“抽油桿斷脫”4144張。隨機抽取10%的數(shù)據(jù)作為測試集,90%的數(shù)據(jù)作為訓練集,供模型訓練和測試使用。
本文實驗基于NVIDIA Tesla P100 GPU硬件環(huán)境,使用TensorFlow、sklearn、tflearn作為開發(fā)平臺,分別搭建邏輯回歸模型,隨機森林模型,XGBoost模型,邏輯回歸、隨機森林、XGBoost集成學習模型,32層的ResNet模型、66層的DenseNet模型和本文提出的特征重標定殘差卷積神經(jīng)網(wǎng)絡模型。模型通過Softmax函數(shù)進行分類,使用交叉熵函數(shù)作為損失函數(shù),優(yōu)化函數(shù)為Adam。
準備數(shù)據(jù)集后,分別訓練邏輯回歸模型,隨機森林模型,XGBoost模型,邏輯回歸、隨機森林、XG?Boost集成學習模型,ResNet模型、DenseNet模型和特征重標定殘差卷積神經(jīng)網(wǎng)絡模型,并用得到的模型在訓練集和測試集進行示功圖分類實驗,本文通過多次實驗以減少結(jié)果的偶然性,具體見圖6、表1、表2。
表2 實驗結(jié)果對比
圖6 本文模型測試集準確率和損失率
表1 本文模型精度、召回率、f1得分
從圖6、表1和表2可得本文模型在測試集上的準確率、精度、召回率和f1得分最高,損失率最低,訓練時間短,訓練后的模型有較強的泛化能力,能夠很好地滿足立式抽油機實際故障監(jiān)測分析的應用要求。
立式智能抽油機作為新型產(chǎn)品在國內(nèi)外重要油區(qū)的使用越來越多。通過分析抽油機的運行狀態(tài)數(shù)據(jù)對采油生產(chǎn)進行監(jiān)控和優(yōu)化生產(chǎn)決策意義重大。本文把深度學習新技術(shù)應用于立式抽油機故障分析和診斷,建立了立式智能抽油機示功圖分類識別的特征重標定殘差卷積神經(jīng)網(wǎng)絡模型,實驗結(jié)果表明,相對于其他模型,該模型在測試集上的分類識別準確率、精度、召回率、f1得分最高,損失率最低,訓練時間短,能很好地滿足實際應用需求,為人工智能新技術(shù)在智慧油田建設中的應用進行了有益的嘗試。