肖 翔
(中國(guó)科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院,安徽 合肥230026)
基于游梁式抽油機(jī)井的人工舉升法[1]是目前主流的采油法。人工舉升法以其結(jié)構(gòu)簡(jiǎn)單、成本低廉、適應(yīng)性強(qiáng)等優(yōu)點(diǎn)著稱(chēng)。據(jù)不完全統(tǒng)計(jì)[2],全球超過(guò)90%的油田以及國(guó)內(nèi)超過(guò)85%的油田都是采用這種方式進(jìn)行原油開(kāi)采。在油田開(kāi)采的過(guò)程中,地下深井作業(yè)的環(huán)境較為復(fù)雜,容易引起井下抽油泵從正常的狀態(tài)轉(zhuǎn)變?yōu)楣收系臓顟B(tài)。若抽油泵長(zhǎng)期處于故障狀態(tài),抽油泵設(shè)備會(huì)加速磨損使其生命周期驟縮,進(jìn)一步影響油田的開(kāi)采效率。由實(shí)時(shí)監(jiān)測(cè)的數(shù)據(jù)快速、準(zhǔn)確地診斷識(shí)別出抽油機(jī)井的工作狀態(tài),會(huì)給實(shí)際的開(kāi)采提供有價(jià)值的信息,實(shí)現(xiàn)高效開(kāi)采的同時(shí)將損耗降至最小。
基于示功圖[3]的故障診斷的方式是趨于成熟的一種診斷技術(shù)。示功圖是由地面驢頭懸點(diǎn)處的位移為橫坐標(biāo),以載荷為縱坐標(biāo)繪制而成的閉合曲線。泵功圖則描述抽油泵處位移、載荷的曲線。雖然泵功圖更能直接反映抽油泵在一次往復(fù)過(guò)程中的工作狀態(tài),然而直接測(cè)量井下的泵功圖數(shù)據(jù)比較困難。因此,在實(shí)際的工程中通常使用測(cè)量比較簡(jiǎn)單的示功圖代替井下泵功圖。示功圖具有實(shí)際的物理意義,不同工作狀態(tài)的示功圖在形狀上存在特定的差異。從示功圖的形狀輪廓識(shí)別出具體的所屬工況需要一定的專(zhuān)業(yè)知識(shí),早期是由有經(jīng)驗(yàn)的工程師協(xié)作完成,但是由于油井規(guī)模越來(lái)越大,采集得到的示功圖數(shù)以萬(wàn)計(jì),由人工來(lái)診斷十分繁瑣且枯燥。若能提升計(jì)算機(jī)識(shí)別的準(zhǔn)確率以滿(mǎn)足生產(chǎn)需要,則計(jì)算機(jī)可以完全取代工人診斷。
基于示功圖的計(jì)算機(jī)輔助診斷,近年來(lái)獲得學(xué)者與研究人員的高度重視,諸多方法如專(zhuān)家系統(tǒng)[4]、模糊理論[5]、神經(jīng)網(wǎng)絡(luò)[6]、支持向量機(jī)[7]等先后被挖掘并應(yīng)用于故障診斷任務(wù)。這些方法大多遵循先特征提取后模式分類(lèi)的原則。特征提取是對(duì)原始數(shù)據(jù)降維達(dá)到降低問(wèn)題的復(fù)雜度并能夠保留原始數(shù)據(jù)的有效信息的技術(shù),常用的方法有傅里葉描述子、不變矩理論、灰度矩陣特征提取[8];模式分類(lèi)是預(yù)測(cè)特征向量所屬類(lèi)型的技術(shù),可以通過(guò)建立專(zhuān)家?guī)煊?jì)算相似度或通過(guò)機(jī)器學(xué)習(xí)算法設(shè)計(jì)分類(lèi)器判別。然而,特征的選擇需要借助經(jīng)驗(yàn)和先驗(yàn)知識(shí),人工特征提取的過(guò)程中存在信息丟失,直接影響后續(xù)分類(lèi)器的最終性能。利用計(jì)算機(jī)出色的計(jì)算能力以及大量的歷史數(shù)據(jù)的深度學(xué)習(xí)[9],通過(guò)自動(dòng)特征學(xué)習(xí),剛好可以填補(bǔ)這一空缺。
受卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)在圖像處理的啟發(fā),本文提出基于卷積神經(jīng)網(wǎng)絡(luò)的示功圖工況診斷模型,通過(guò)實(shí)驗(yàn)分析網(wǎng)絡(luò)結(jié)構(gòu)對(duì)模型性能的影響,設(shè)計(jì)出一種基于貪心策略的局部最優(yōu)的卷積神經(jīng)網(wǎng)絡(luò)模型。實(shí)驗(yàn)結(jié)果表明,所提出的模型對(duì)未知的數(shù)據(jù)具有較強(qiáng)的預(yù)知能力,換言之,模型擁有優(yōu)良的泛化性能。
本文提出基于CNN的功圖工況診斷的方法,主要分為兩個(gè)部分:離線訓(xùn)練與在線診斷,對(duì)于要求實(shí)時(shí)性診斷的任務(wù),可以先離線利用歷史樣本將模型訓(xùn)練好,再對(duì)實(shí)時(shí)測(cè)量的新數(shù)據(jù)在線預(yù)測(cè)所屬工況,工作流程如圖1所示。
圖1 示功圖識(shí)別流程圖
首先介紹了本文的研究背景與現(xiàn)狀,接著簡(jiǎn)要闡述了卷積神經(jīng)網(wǎng)絡(luò),然后對(duì)本文的數(shù)據(jù)集進(jìn)行說(shuō)明并闡明預(yù)處理過(guò)程,并通過(guò)實(shí)驗(yàn)設(shè)計(jì)結(jié)構(gòu)最優(yōu)的網(wǎng)絡(luò)模型,最后對(duì)全文作出總結(jié)并提出了改進(jìn)方向。
在早期的圖像識(shí)別研究中,最大的挑戰(zhàn)是如何組織特征,因?yàn)閳D像數(shù)據(jù)不像其他類(lèi)型的數(shù)據(jù)那樣可以通過(guò)人為理解來(lái)提取特征,需要借助SIFT、HoG等算法提取具有區(qū)分性的特征,然后利用SVM等機(jī)器學(xué)習(xí)算法識(shí)別。CNN可以直接接受原始圖像作為輸入,不需將特征提取與分類(lèi)過(guò)程分離,其在訓(xùn)練時(shí)自動(dòng)提取最顯著的特征。
典型的CNN由輸入層、卷積層、池化層、全連接層和輸出層構(gòu)成。本文采用一種基于LeNet[10]的CNN網(wǎng)絡(luò)結(jié)構(gòu)作為圖像樣本的分類(lèi)器,如圖2所示。輸入層的大小由輸入圖像的分辨率決定,而輸出層的大小則由分類(lèi)任務(wù)的類(lèi)別數(shù)確定,激活函數(shù)一般為選擇為softmax,對(duì)應(yīng)屬于每個(gè)類(lèi)別的概率。卷積層的目的則是由卷積核操作提取上一層的最基礎(chǔ)的特征如點(diǎn)或邊,一般稱(chēng)之為特征圖,只要卷積核的數(shù)量足夠多,就可以將每個(gè)卷積核提取的基礎(chǔ)特征組合抽象成有效的高階特征,整個(gè)過(guò)程中卷積核權(quán)值共享,可以降低模型的復(fù)雜度,減小計(jì)算量的同時(shí)避免出現(xiàn)過(guò)擬合。為避免訓(xùn)練過(guò)程中出現(xiàn)梯度彌散和梯度爆炸的現(xiàn)象,卷積層的激活函數(shù)通常選擇為ReLU。一個(gè)卷積層后面連接一個(gè)池化層,一般采用最大池化操作降低維度,保留最顯著的特征,提升模型的抗形變能力。卷積池化層的多層堆疊抽象組合出更高階的特征,可以提升模型的表達(dá)能力。將最終提取的有效高階特征進(jìn)一步輸入全連接層進(jìn)行分類(lèi)識(shí)別。
圖2 LeNet-5結(jié)構(gòu)圖
在評(píng)估模型的泛化能力時(shí),不同的性能度量方式往往會(huì)得到不一樣的衡量結(jié)果,一般由任務(wù)需求決定。本文采用正確率和錯(cuò)誤率來(lái)評(píng)判算法性能的優(yōu)劣。
假設(shè)D={(x1,y1),(x2,y2),…,(xm,ym)}數(shù)據(jù)集,其中xi為樣本,yi為其對(duì)應(yīng)的標(biāo)簽,模型為f。
準(zhǔn)確率(Accuary)表示被分對(duì)的樣本數(shù)量占所有樣本數(shù)的比重,相應(yīng)地,錯(cuò)誤率(Error)表示分類(lèi)錯(cuò)誤的樣本占樣本總量的比重,計(jì)算公式為:
式中,I(·)表 示指示函數(shù)。
本文數(shù)據(jù)源于某油田2019.01~2019.03不同油井的作業(yè)監(jiān)測(cè)數(shù)據(jù),該數(shù)據(jù)集合了不同類(lèi)型傳感器的采集結(jié)果,主要為電參、力參及其他參數(shù),存儲(chǔ)于后端服務(wù)器的數(shù)據(jù)庫(kù)中。從數(shù)據(jù)庫(kù)中讀取無(wú)標(biāo)注的原始數(shù)據(jù),選取其中的光桿載荷和位移屬性后,對(duì)數(shù)據(jù)清洗與自行標(biāo)注。由于傳感器每隔30 min就會(huì)測(cè)量一次光桿的載荷和位移數(shù)據(jù),一般而言,前后測(cè)量的數(shù)據(jù)繪成功圖差異不大,直接使用這些樣本容易使模型對(duì)某些功圖形成特殊偏好。為突出樣本的多樣性,采用以下策略篩選樣本:
(1)保留去除重復(fù)值、異常值后的樣本集合;
(2)按日期和井號(hào)分組,提取每天不同井號(hào)的首個(gè)記錄、中間記錄、末尾記錄共三個(gè)記錄;
(3)檢查提取樣本的完整性,若出現(xiàn)缺省值,輕度缺省采用平均值填充,重度缺省則丟棄。
基于上述策略,共提取出9類(lèi)工況4 193份樣本,將樣本以8:2劃分為訓(xùn)練集與測(cè)試集。樣本分布如圖3所示,詳細(xì)分布見(jiàn)表1。
圖3 樣本分布圖
表1 數(shù)據(jù)集細(xì)分表
一般來(lái)說(shuō),樣本的好壞決定最終模型分類(lèi)性能的上限。對(duì)數(shù)據(jù)準(zhǔn)備工作中獲取的光桿載荷和位移向量,需要進(jìn)行預(yù)處理使之滿(mǎn)足某種協(xié)議,使處理后數(shù)據(jù)可直接作為后續(xù)模型的輸入。具體步驟概括如下:
(1)正則化
將信號(hào)的數(shù)值限制在[0,1]之間,可以降低計(jì)算的復(fù)雜度加速模型收斂,同時(shí)消除不同井號(hào)量綱的影響,對(duì)不同的新數(shù)據(jù)適應(yīng)性強(qiáng)。
(2)信號(hào)圖像轉(zhuǎn)化
CNN對(duì)2D圖像輸入數(shù)據(jù)的擴(kuò)展性強(qiáng),可通過(guò)2D卷積核進(jìn)行卷積操作直接獲取輸入圖像的特征圖。本文采用繪圖軟件,將兩個(gè)1D向量繪制成平面圖像,再保存成64×64分辨率的像素矩陣存儲(chǔ)在文件中,便于后續(xù)讀取。
(3)圖像二值化
設(shè)置像素矩陣的平均像素值為閾值,大于閾值的像素置為255,小于閾值的像素置為0。圖像二值化的目的是使像素矩陣稀疏化,優(yōu)化計(jì)算過(guò)程,加速模型收斂。
圖像處理過(guò)程如圖4~圖6所示。
圖4 原始圖像
圖5 灰度圖像
圖6 二進(jìn)制圖像
對(duì)于分類(lèi)任務(wù)而言,特征選取的好壞直接決定網(wǎng)絡(luò)最終性能的上限。因此對(duì)卷積核的探究顯得格外重要。本小節(jié)采用LeNet-5框架結(jié)構(gòu),在此基礎(chǔ)上細(xì)微改動(dòng)增加一個(gè)dropout層。該網(wǎng)絡(luò)結(jié)構(gòu)為卷積層與池化層交替堆疊兩次,再與全連接層交互,然后連接一個(gè)dropout層,最后通過(guò)softmax層輸出。
本小節(jié)的實(shí)驗(yàn)框架如圖7所示。
圖7 探究不同卷積核對(duì)實(shí)驗(yàn)影響
為更好地探究卷積核對(duì)網(wǎng)絡(luò)的影響,利用控制變量法將除卷積核外的參數(shù)設(shè)為一致:如設(shè)置隨機(jī)種子,使權(quán)值偽隨機(jī)初始化;預(yù)設(shè)置學(xué)習(xí)率為0.001,調(diào)用Adam優(yōu)化算法更新權(quán)值加快網(wǎng)絡(luò)收斂;池化操作選擇最大值池化,大小為2×2,步長(zhǎng)設(shè)置為2。分別將卷積核窗口尺寸設(shè)置為5×5、3×3、2×2,步長(zhǎng)為1;第一個(gè)卷積層卷積核數(shù)量設(shè)置為8,第二個(gè)卷積層卷積核數(shù)量設(shè)置為16;全連接層由128個(gè)神經(jīng)元節(jié)點(diǎn)構(gòu)成的隱含層與9個(gè)節(jié)點(diǎn)構(gòu)成的輸出層組成。
實(shí)驗(yàn)過(guò)程采用交叉驗(yàn)證的思想,將由留出法劃分的訓(xùn)練集樣本再次拆分為訓(xùn)練集與驗(yàn)證集,具體使用10折交叉驗(yàn)證實(shí)現(xiàn),將樣本分為10份,輪詢(xún)?nèi)∑渲?份為驗(yàn)證集,而剩余的9份自動(dòng)變?yōu)橛?xùn)練集。這樣拆分出10組訓(xùn)練集與驗(yàn)證集的不同組合,相應(yīng)地對(duì)應(yīng)10種不同的結(jié)果。分別對(duì)每組展開(kāi)訓(xùn)練,將10組訓(xùn)練結(jié)果的平均值作為最終的輸出,消除了隨機(jī)偶然性對(duì)網(wǎng)絡(luò)訓(xùn)練過(guò)程的影響,使結(jié)果更具有說(shuō)服力與代表性。
經(jīng)10折交叉驗(yàn)證后發(fā)現(xiàn),網(wǎng)絡(luò)在大約200次迭代后逼近收斂,訓(xùn)練樣本準(zhǔn)確率在94.5%上下波動(dòng),而驗(yàn)證樣本的準(zhǔn)確率較為平滑,且與訓(xùn)練樣本的準(zhǔn)確率偏差不大,說(shuō)明網(wǎng)絡(luò)在訓(xùn)練過(guò)程中擬合程度恰好;對(duì)于網(wǎng)絡(luò)輸出的交叉熵?fù)p失值,相較于準(zhǔn)確率訓(xùn)練樣本與驗(yàn)證樣本在損失函數(shù)曲線的逼近程度更高,幾近重合,收斂于0.13,進(jìn)一步證實(shí)了網(wǎng)絡(luò)的擬合性能恰好,未偏向過(guò)擬合或欠擬合任意一方。
通過(guò)測(cè)試集平均值得到最終的準(zhǔn)確率為97.7%,整個(gè)過(guò)程耗時(shí)63.03 min。訓(xùn)練過(guò)程如圖8所示。
圖8 卷積核為5×5的網(wǎng)絡(luò)訓(xùn)練過(guò)程
經(jīng)10折交叉驗(yàn)證后發(fā)現(xiàn),網(wǎng)絡(luò)在大約200次迭代后逼近收斂,訓(xùn)練樣本準(zhǔn)確率在97.5%上下波動(dòng),波動(dòng)較為明顯,且驗(yàn)證樣本的準(zhǔn)確率也呈現(xiàn)一定的輕微波動(dòng),但與訓(xùn)練樣本的準(zhǔn)確率偏差在可控的范圍內(nèi),說(shuō)明網(wǎng)絡(luò)在訓(xùn)練過(guò)程中穩(wěn)定性稍差,擬合程度較好;對(duì)于網(wǎng)絡(luò)輸出的交叉熵?fù)p失值,相較于準(zhǔn)確率訓(xùn)練樣本與驗(yàn)證樣本在損失函數(shù)曲線的更為貼近,偏差稍小,最終收斂于0.07,在性能方面與5×5相比較而言?xún)?yōu)越,從準(zhǔn)確率和損失曲線來(lái)看則在穩(wěn)定性與擬合程度方面差些。在滿(mǎn)足基本要求的前提下,為追求性能,選擇3×3卷積核是更好的選擇。
通過(guò)測(cè)試集平均值得到最終的準(zhǔn)確率為98.1%,整個(gè)過(guò)程耗時(shí)52.18 min。訓(xùn)練過(guò)程如圖9所示。
圖9 卷積核為3×3的網(wǎng)絡(luò)訓(xùn)練過(guò)程
經(jīng)10折交叉驗(yàn)證后發(fā)現(xiàn),網(wǎng)絡(luò)在大約200次迭代后逼近收斂,訓(xùn)練樣本準(zhǔn)確率在96.6%上下波動(dòng),波動(dòng)較為劇烈,說(shuō)明樣本在訓(xùn)練過(guò)程中極不穩(wěn)定,但驗(yàn)證樣本的準(zhǔn)確率相對(duì)比較平滑,導(dǎo)致訓(xùn)練樣本的準(zhǔn)確率與驗(yàn)證樣本的準(zhǔn)確率偏差在可控范圍內(nèi)。方差較大,說(shuō)明網(wǎng)絡(luò)在訓(xùn)練過(guò)程中擬合程度稍差,容易出現(xiàn)擬合不足的現(xiàn)象。該現(xiàn)象同樣體現(xiàn)在損失曲線上,對(duì)于網(wǎng)絡(luò)輸出的交叉熵?fù)p失值,訓(xùn)練樣本損失在0.09上下浮動(dòng),較為頻繁,但驗(yàn)證樣本的損失相對(duì)比較平滑。在性能方面,相較于5×5而言略微占優(yōu),從準(zhǔn)確率和損失曲線來(lái)看則在穩(wěn)定性與擬合程度方面明顯差距,導(dǎo)致一般情況下,極少直接使用2×2卷積核。
在測(cè)試集平均值得到最終的準(zhǔn)確率為97.8%,整個(gè)過(guò)程耗時(shí)47.32 min。訓(xùn)練過(guò)程如圖10所示。
圖10 卷積核為2×2的網(wǎng)絡(luò)訓(xùn)練過(guò)程
利用已有數(shù)據(jù),在文獻(xiàn)[11]提出的目前先進(jìn)的自編碼機(jī)算法作出一組對(duì)照實(shí)驗(yàn),具體數(shù)值見(jiàn)表2。
由表2可以看出,卷積核大小直接影響網(wǎng)絡(luò)最終的性能。在上述CNN三個(gè)實(shí)驗(yàn)中,網(wǎng)絡(luò)均處于正常擬合狀態(tài),性能都達(dá)到指標(biāo)要求,過(guò)程也都近似,譬如都通過(guò)大約200次迭代逼近收斂,收斂的過(guò)程中訓(xùn)練準(zhǔn)確率與驗(yàn)證準(zhǔn)確率偏差不大,訓(xùn)練損失與驗(yàn)證損失偏差也不大,較自編碼機(jī)500次迭代收斂效率更高。而差異更多體現(xiàn)在最終的性能指標(biāo)上,如5×5卷積核的訓(xùn)練準(zhǔn)確率在94.5%左右,3×3卷積核為97.5%左右,2×2卷積核為96.6%左右,在表現(xiàn)上3×3積核最優(yōu),5×5卷積核較差,但仍比自編碼機(jī)性能好。該結(jié)論也同樣適用于各卷積核中訓(xùn)練樣本損失值。不失一般性,測(cè)試集準(zhǔn)確率同樣遵循這一結(jié)論,5×5卷積核平均測(cè)試準(zhǔn)確性只有97.7%,CNN中三者最低,較于自編碼機(jī)泛化性能好得多。在時(shí)間復(fù)雜度上,與卷積核大小呈現(xiàn)正相關(guān),具體體現(xiàn)在計(jì)算的復(fù)雜性上,由模型的規(guī)模決定,而自編碼機(jī)實(shí)驗(yàn)計(jì)算卻復(fù)雜得多。
表2 不同結(jié)構(gòu)分類(lèi)器性能對(duì)比
實(shí)驗(yàn)結(jié)果表明,3×3卷積核實(shí)驗(yàn)中表現(xiàn)最佳,預(yù)測(cè)準(zhǔn)確率高達(dá)98%,驗(yàn)證了本方法的有效性與可行性。
顯然,由于本文主要針對(duì)有限、無(wú)標(biāo)注的數(shù)據(jù)進(jìn)行學(xué)習(xí)訓(xùn)練,預(yù)測(cè)的準(zhǔn)確度受輸入標(biāo)簽和算法的共同影響。若想要進(jìn)一步提升模型的準(zhǔn)確率,可以從兩個(gè)方面進(jìn)行擴(kuò)展:(1)為盡量減少人為標(biāo)注帶來(lái)的誤差,一方面通過(guò)挑選一部分有充分理由證明是正確的標(biāo)簽樣本為訓(xùn)練集,但訓(xùn)練集的數(shù)量必然不會(huì)多,另一方面對(duì)海量無(wú)標(biāo)簽的數(shù)據(jù)進(jìn)行半監(jiān)督學(xué)習(xí),設(shè)置閾值通過(guò)輪詢(xún)學(xué)習(xí)使得更多的樣本加入到訓(xùn)練集中,迭代一定次數(shù)獲得的訓(xùn)練集比人為模糊性標(biāo)注的樣本更具有說(shuō)服性;(2)改進(jìn)模型算法,對(duì)于數(shù)據(jù)多、分辨率大的圖像數(shù)據(jù),可以換用AlexNet[12]、VGG-16[13]甚至更復(fù)雜的ResNet[14]網(wǎng)絡(luò)解決。