朱順德,徐增興,劉一璠
(1.中國石油化工股份有限公司河南油田分公司a.信息化管理中心;b.油氣開發(fā)管理部,河南 南陽473132;2.山東科瑞油田服務集團股份有限公司,山東 東營 257000)
在石油工業(yè)采油生產(chǎn)過程中,示功圖圖形分析是技術人員了解抽油機井下管、桿、泵工作狀況的主要手段。由于石油生產(chǎn)中抽油機的數(shù)量巨大,每天產(chǎn)生大量的示功圖數(shù)據(jù),示功圖分析任務十分繁重,采用計算機圖像識別技術自動化處理示功圖圖像分類任務,日益引起石油工業(yè)領域科研人員的關注。實際工作中,受人員和成本的限制,通常僅能獲取和使用一個規(guī)模較小的示功圖標注數(shù)據(jù)集,而直接在小數(shù)據(jù)集上訓練神經(jīng)網(wǎng)絡模型,效果不是十分理想。
基于圖像識別具有一些公共特征的假設,提出基于深度學習模型遷移學習的示功圖分類識別方法,基于公開的大型圖像分類標注數(shù)據(jù)集——ImgeNet數(shù)據(jù)集構建基礎的CNN神經(jīng)網(wǎng)絡,然后令基礎神經(jīng)網(wǎng)絡學習示功圖樣本數(shù)據(jù),構建示功圖分類預警模型。
設示功圖分類的知識領域為 DT={XT,PT(X)},其中 XT=為示功圖圖形樣本的特征空間,PT(X)為示功圖樣本的邊緣概率分布;示功圖分類學習任務可表示為TT={YT,fT(x)},fT(x)是示功圖分類預測函數(shù),fT(x)=P(YT|XT),YT對應的抽油機工況類型標簽的空間。類似的,設存在一個圖像分類的源知識領域為 DS={XS,PS(X)},其中 XS={xS1,…,xSnT}源領域圖形樣本的特征空間,PS(X)源領域樣本的邊緣概率分布;源領域分類學習任務表示為 TS={Y,fS(x)},fS(x)是源領域的分類類預測函數(shù),fS(x)=P(YS|XS),YS對應源領域圖像類型標簽的空間。
通常情況下,DS≠DT,TS≠TT,且期望示功圖樣本數(shù)量 nT與源領域圖像樣本數(shù)量nT之間滿足0≤nT≤nS。
示功圖遷移學習的目標:將DS和TS上的知識變化推廣到DT領域中解決TT問題,即使得示功圖預測函數(shù)fT(·)的預測能力獲得提升。
由于示功圖分類知識領域DT中只有一小部分樣本和標簽是可得的,因此選取的源知識領域為DS中應能獲取較多圖像樣本數(shù)據(jù)和分類標簽數(shù)據(jù),便于在解決TS的過程中獲取圖像樣本分類所需的低層通用特征?;趫D像識別低層特征具有不變性的假設,在DT中直接使用DS中建立的圖片分類特征,然后對DT分類器的最后2層神經(jīng)元進行預測目標的微調(diào),即可實現(xiàn)將DS中的圖像分類知識遷移到DT中。
對于源領域,應當選擇為實施圖像分類識別任務而標注的大規(guī)模圖片數(shù)據(jù)集,本文采用的是ImageNet數(shù)據(jù)集。ImageNet項目是一個用于視覺對象識別軟件研究的大型可視化數(shù)據(jù)庫嗎,具有超過1 400萬的標注了物體類別名稱的圖片樣本數(shù)據(jù),包含2萬多個類別,因此基于ImageNet數(shù)據(jù)集訓練的神經(jīng)網(wǎng)絡可以學到圖像識別所需的低層基礎特征。示功圖圖像一般是封閉曲線,其圖像中的像素分布較為稀疏,可以看作一般圖像特征的子集。因此基于ImageNet數(shù)據(jù)集上學習的圖像識別特征進行遷移學習,進行示功圖圖像識別,符合遷移學習的特征相似、任務相近的原則。
基于示功圖遷移學習準則設計神經(jīng)網(wǎng)絡架構,可將源領域ImageNet數(shù)據(jù)集上的圖像識別知識推廣到示功圖圖像分類識別問題上。
在遷移學習準則下,神經(jīng)網(wǎng)絡首先通過學習源領域ImageNet數(shù)據(jù)集上的圖像特征,建立一個普通的物體圖像識別分類器,然后利用這個分類器對示功圖圖像進行特征提取,再利用最后兩層網(wǎng)絡對這些特征與示功圖對應的抽油機工況之間的關系進行學習,實現(xiàn)示功圖分類器的構造。由于神經(jīng)網(wǎng)絡需要學習兩個領域的圖像分類知識,因此必須具有一定的規(guī)模,從而保證其具有足夠的知識容量。
基本的CNN神經(jīng)網(wǎng)絡架構是卷積操作和池化操作的線性堆疊,最后通常利用全連接網(wǎng)絡構造一維輸出向量。
卷積操作是利用卷積核矩陣對圖片局部矩形區(qū)域的像素值進行加權求和,其本質(zhì)是一種線性濾波。
池化操作是選擇圖片局部矩形區(qū)域,選擇區(qū)域內(nèi)最大值或平均值作為特征圖的結果。
Inception網(wǎng)絡是在CNN基本架構的基礎上發(fā)展起來的,將基本模塊進行組合為Inception塊,增加模型的深度和寬度,提高模型性能。Inception塊主要考慮使用多個不同尺度的卷積核來增強網(wǎng)絡適應能力,而卷積核尺度越大,計算量也會急劇增加,為了避免全部卷積核都直接在上一層的輸出的高維張量上面進行計算,Inception塊在3×3卷積與5×5卷積操作之前都增加了1×1卷積核,從而降低了參與計算的張量的厚度,減少了卷積過程的計算量。同理,在3×3最大池化之后增加1×1卷積操作,也是為了降低Inception塊最終合并輸出的張量的厚度。
為了實現(xiàn)對圖像特征的逐層加深理解,增加整個網(wǎng)絡的深度,將多個Inception塊進行線性堆疊,并在最終的輸出環(huán)境增加全連接層,形成一個整體的CNN網(wǎng)絡架構,即GoogleNet網(wǎng)絡。GoogleNet的幾個特點:
(1)GoogleNet采用了模塊化結構,方便增添和修改。
(2)網(wǎng)絡最后增加全連接層,便于將學習了ImageNet數(shù)據(jù)集的GoogleNet在示功圖數(shù)據(jù)集上進行預測目標微調(diào),網(wǎng)絡的預測目標由物體種類置換為示功圖對應的抽油機的工況。
(3)為了避免梯度消失,網(wǎng)絡中額外增加了2個輔助的softmax輸出層,用于向前傳導梯度,可在實際測試的時候?qū)⑦@兩個輔助輸出層去掉。
GoogleNet是一個比較深的網(wǎng)絡,有約500多萬個內(nèi)部參數(shù),在ImageNet數(shù)據(jù)集上對網(wǎng)絡進行訓練,可學習ImageNet數(shù)據(jù)集中各類物體圖形的分類特征,之后,GoogleNet神經(jīng)網(wǎng)絡可作為示功圖圖像低層特征提取模塊。在此基礎上,為了讓神經(jīng)網(wǎng)絡學習示功圖圖像與抽油機工況之間的對應關系,在GoogleNet網(wǎng)絡之后增加一個兩層的全連接網(wǎng)絡作為示功圖工況學習子網(wǎng)絡,在學習示功圖圖像數(shù)據(jù)時,示功圖圖像數(shù)據(jù)流過GoogleNet網(wǎng)絡進行特征提取,但GoogleNet網(wǎng)絡的參數(shù)保持不變,只讓示功圖學習子網(wǎng)絡進行參數(shù)調(diào)整,建立示功圖圖像與抽油機工況之間的關聯(lián)關系。GoogleNet+示功圖學習子網(wǎng)絡即構成基于遷移學習的示功圖分類識別神經(jīng)網(wǎng)絡。
神經(jīng)網(wǎng)絡架構中的網(wǎng)絡層數(shù)、每層計算單元類型、每層計算單元數(shù)量等信息是構建神經(jīng)網(wǎng)絡模型所需的基礎參數(shù)?;谶@些參數(shù),可以利用專用神經(jīng)網(wǎng)絡算法計算平臺Tensorflow構建和訓練所需的神經(jīng)網(wǎng)絡。
在建立CNN神經(jīng)網(wǎng)絡架構設計的基礎上,對原始示功圖圖像數(shù)據(jù)進行預處理,制作示功圖樣本集,將數(shù)據(jù)輸入神經(jīng)網(wǎng)絡進行模型的迭代訓練,通過控制神經(jīng)網(wǎng)絡的超參數(shù)選擇效果最優(yōu)的模型作為最終的示功圖分類器,并在后期的業(yè)務應用中通過專家干預實現(xiàn)模型的更新學習。示功圖分類預測器構建的具體步驟如下。
示功圖圖像數(shù)據(jù)預處理主要是對原始示功圖數(shù)據(jù)進行工況標注、尺寸統(tǒng)一、圖像灰度化、噪聲濾波等操作,使之符合神經(jīng)網(wǎng)絡模型學習的規(guī)范性要求,并將示功圖數(shù)據(jù)集劃分為訓練集、驗證集和測試集。
按第2節(jié)建立的神經(jīng)網(wǎng)絡架構,在Tensorflow中調(diào)整神經(jīng)網(wǎng)絡基礎參數(shù),建立神經(jīng)網(wǎng)絡模型,將預處理后的示功圖圖像數(shù)據(jù)集輸入模型,利用Tensorflow的模型編譯和訓練功能,對神經(jīng)網(wǎng)絡進行網(wǎng)絡內(nèi)部權重參數(shù)的迭代優(yōu)化,得到所需的示功圖分類預警模型。
模型訓練完成后,在驗證集上對模型訓練的結果進行評估,調(diào)整神經(jīng)網(wǎng)絡架構參數(shù),選擇最優(yōu)模型。最終在測試集對模型的分類預測能力進行評估,確定構建模型的性能指標。
在模型應用過程中,對模型分類錯誤的示功圖,可通過專家干預來進行修正,主要干預方式是借助增量學習的方法。增量學習技術(Incremental Learning Technique)是一種得到廣泛應用的智能化數(shù)據(jù)挖掘與知識發(fā)現(xiàn)技術。其思想是當樣本逐步積累時,學習精度也要隨之提高。在示功圖分類模型的應用測試中,對錯誤樣本進行標注,歸集該類樣本,然后讓模型在該類樣本上進行增量學習,在新的訓練中不再重復歷史數(shù)據(jù)的學習,而是直接利用歷史的訓練結果,從而顯著地減少了后續(xù)訓練的時間,實現(xiàn)對新的示功圖分類知識的快速增量學習。
在 PC 機(處理器配置為 Intel Core(TM)i5-2500 @ 3.3GHz,內(nèi)存為16G)上,基于Tensorflow和Python實現(xiàn)了所述的神經(jīng)網(wǎng)絡模型。選取油田數(shù)生產(chǎn)監(jiān)控系統(tǒng)中的實際示功圖數(shù)據(jù),按常見的24種抽油機工況情況編制示功圖樣本數(shù)據(jù),共收集標注樣本數(shù)570個。利用本文算法對樣本數(shù)據(jù)進行了學習,構建了示功圖分類預警模型。將測試集示功圖樣本輸入模型,得到示功圖的分類結果,部分結果如圖1所示,可見模型大部分分類結果是正確的。
圖1 示功圖分類結果舉例
本文采用的示功圖標注樣本不僅總數(shù)較少,而且各類別中的樣本數(shù)量差別較大。從傳統(tǒng)機器學習的角度,無法用于訓練深度學習神經(jīng)網(wǎng)絡,然而,由于本文算法采用了遷移學習的思路,基礎神經(jīng)網(wǎng)絡已經(jīng)提前學習了大規(guī)模公共圖片數(shù)據(jù)集ImageNet中的圖像數(shù)據(jù),在學習示功圖分類任務時,基礎神經(jīng)網(wǎng)絡可直接利用從ImageNet上學習到的圖像特征提取的知識,再利用示功圖樣本集對模型最后幾層神經(jīng)網(wǎng)絡權重進行微調(diào),即使得模型將ImageNet中圖片分類的知識遷移到了示功圖分類領域,模型具備一定的示功圖分類能力。從圖1分類結果看,分類錯誤的圖1(e)、1(g)兩圖對應的實際故障類別——光桿打驢頭和油桿脫斷在樣本集合中占比例很少(光桿打驢頭為5/570,油桿脫斷為7/570),因此樣本數(shù)量占比少可能是導致模型分類錯誤的一個原因。
本文提出基于CNN遷移學習的示功圖圖形分類預警方法,試驗表明,本文方法可基于較小規(guī)模的示功圖樣本集合實現(xiàn)示功圖分類模型的訓練,所得的模型能夠?qū)κ竟D進行分類預警。若繼續(xù)增加人工標注的樣本的數(shù)量,并優(yōu)化模型參數(shù),本文方法的示功圖分類預警準確率有望繼續(xù)提高。在實際應用中,可采用專家干預、增量學習的方法,擴展本文的示功圖分類預警模型,實現(xiàn)模型的持續(xù)優(yōu)化。