劉芑辰 馮子明 蔣國斌 孫桐建 李琦
1. 東北石油大學機械科學與工程學院;2. 中國石油大慶油田有限責任公司采油工程研究院
采油工業中抽油井數量大、分布廣,人工監測油井工況所需人力成本高,需要一種自動化診斷方法,以提高人工檢修效率,避免日常維護作業的盲目性。1988 年,Derek 等[1]研制出有桿抽油井故障診斷專家系統,通過將地面實測的示功圖轉換成井下示功圖,然后與標準示功圖進行比較以判斷故障類型。1990 年,Rogers 等[2]將人工神經網絡理論引入示功圖識別領域,應用誤差反向傳播學習算法訓練神經網絡,能夠識別出所學習的15 類示功圖。但神經網絡結構較為簡單,使用效果并不理想。2008 年,楊洋[3]應用灰色理論成功提取示功圖特征,并實現示功圖分類識別。但由于求取灰度矩陣所需計算量較大、花費時間較長,使得灰色理論在實際應用中受到一定限制。2016 年,文必龍等[4]使用模糊神經網絡解決抽油機故障診斷問題,由于模糊理論的診斷方法需要先建立隸屬函數,而隸屬函數建立方法并未明確,限制了這一方法的廣泛應用。近年來相關研究進一步完善,Bezerra 等[5]將前饋神經網絡用于診斷示功圖,準確率達98%以上,但受限于神經網絡隱含層數限制,導致無法對更復雜的函數進行擬合,因此對實際工況的刻畫能力有限。2017 年,段友祥[6]應用簡化Alexnet 模型實現了對故障示功圖的識別,但分類僅為4 類,無法滿足實際使用需求。
基于卷積神經網絡模型提出一種有桿抽油系統的智能故障診斷方法。根據卷積神經網絡模型構建分析模型對抽油機懸點示功圖進行分類,對抽油機運行工況進行自動判斷。抽油設備運行工況有多種類型,不同工況具有各自的特征數據,因此設備工況可以被識別并區分。以大慶油田生產數據為例,應用卷積神經網絡建立診斷模型進行工況分析。
收集大慶油田故障診斷數據5 053 組,數據包含正常、上碰、下碰、嚴重供液不足、泵漏失、抽油桿斷脫、氣影響等共37 種類型。根據數據類型對生產數據進行篩選,將同類型生產數據不足10 組的類型歸類為其他,假設剩余數據類型為實際生產中主要故障類型,筆者主要考慮生產實際中主要工況共15 種。將存在缺陷的數據(如數據缺失、未解讀、明顯錯誤等)進行清洗后,有效數據共3 502 組分類存放。根據生產數據繪制示功圖如圖1 所示。

圖 1 示功圖示例Fig. 1 Example of indicator diagram
卷積神經網絡是一類包含卷積計算且具有深度結構的前饋神經網絡,是深度學習的經典算法之一。由于卷積神經網絡仿造生物視知覺進行構建,其內含的卷積層能夠以較小的計算量對圖片特征進行描述,因此其具有穩定的運行效果且不需要進行額外的特征工程[7]。卷積神經網絡由輸入層、隱含層和輸出層構成。以Le-Net 為例,數據經篩選后進入輸入層,由輸入層進行預處理將所有數據轉化為統一格式。將預處理完成的圖片輸入卷積層、池化層進行特征提取,經由卷積層、池化層的計算分析將待分類圖片轉化為特征圖,經過全連接層進行匹配,最終輸出目標值[8]。卷積神經網絡的輸入層可以依據結構接收一維至四維數組,在學習數據輸入隱含層之前需對數據進行歸一化,歸一化的數據可以提升算法準確率以及運行效率。
卷積神經網絡算法隱含層由卷積層、池化層和全連接層3 種結構構成,在更復雜的算法中還包括Inception 模塊和殘差塊等結構[9]。其中卷積層是對輸入數據進行特征提取,以筆者使用的二維卷積為例可表示為[7]

式中,S為特征系數;矩陣X為輸入矩陣;矩陣W為卷積核;(i, j)為變量在特征矩陣中的位置;(m, n)為卷積核元素的位置。
卷積層內部包含多個卷積核,類似于前饋神經網絡中的神經元。卷積層參數包括卷積核大小、步長和填充,三者共同決定了卷積層輸出特征圖的尺寸,卷積層中包含激勵函數以協助表達復雜特征。池化層是在卷積層進行特征提取后將特征圖進行特征選擇與過濾。通過預先設定的池化函數將特征圖中單個點的結果替換為其相鄰區域特征圖統計量。以混合池化為例,其一般形式可表示為[10]

式中,s0為步長;A為輸出值;f為池化層大?。籶為可選系數,p=1時,A(i,j)的值記作L1(A)稱均值池化;p=∞時,A(i,j)的 值記作L∞(A)稱為極大池化;μ為運行系數,取值由模型運行情況決定;l為回層位置;k為技術通道位置;式(3)即為混合池化。
卷積神經網絡的全連接層與傳統神經網絡中的隱含層結構相同,位于卷積神經網絡的隱含層末端,將特征圖展開為向量并經過激活函數傳入下一層。全連接層對所提取特征進行非線性組合,利用所提取的高階特征進行學習。
根據卷積神經網絡方法的原理,首先進行數據預處理,再根據數據集大小、形態確定各層結構,選擇激活函數,確定學習次數,進而輸入數據集進行訓練。實現過程如圖2 所示。

圖 2 診斷模型建立過程Fig. 2 Establishment process of diagnosis model
將已初步分類的示功圖存于同一文件夾,并為文件夾內所有分類分配索引,如表1 所示。

表 1 標簽索引分配結果Table 1 Distribution result of label index
加載圖片后將圖片解碼為圖片張量,調整大小并進行歸一化處理。隨機抽取20%作為測試集數據,剩余80%作為訓練集。分割完成后將示功圖數據與標簽打包得到訓練用數據集。根據數據量將數據集進行分割,確保隱含層有序讀入數據避免占用內存過大,輸入數據集前充分打亂數據順序。
參照圖2 結構,建立深度為7 層的卷積神經網絡。其中5 層為提取圖片特征的單層卷積神經網絡,2 層全連接層將圖片特征與類別標簽對應。該模型的輸入量格式為(192,192,3)的圖片,模型的輸出量為一維向量。
筆者使用TensorFlow 開源機器學習平臺進行基于Le-Net 模型的示功圖分類識別實驗,實驗中使用的模型訓練數據為含有15 類共3 502 張圖片的有桿泵示功圖。為避免過擬合現象,采取減小訓練次數的措施,訓練模型100 次。卷積層激活函數選擇ReLU 函數以分散神經活躍度、簡化運算過程降低運算成本。全連接層激活函數使用ELU 函數,以加速學習速度,由于ELU 函數存在負值使其能夠像批標準化一樣使激活單元值接近于0,有利于梯度計算。函數圖像如圖3 所示,ReLU 函數和ELU函數表示為[11]

圖 3 激活函數圖像Fig. 3 Image of activation function

式中,x為神經網絡輸入參數; α為ELU 函數參數取值自擬,α >0。
于全連接層中添加dropout 層,以避免過擬合現象。設置初始學習率為0.001,隨訓練次數增加而縮小學習率,每30 次縮小為原學習的1/10,以避免陷入局部最優。確定卷積神經網絡各參數后,對網絡進行訓練。將訓練集15 類示功圖隨機打亂劃分為100 組輸入隱含層進行訓練,記錄每次訓練過后訓練集、驗證集準確率。根據驗證集準確率調整模型參數,最終得到收斂速度較快且準確率較好的模型。
訓練結果得到分類模型,訓練集圖片分類準確率最高可達93.59%,輸出損失為0.219。訓練過程如圖4 所示,可以看出,隨著模型訓練次數增加,訓練集與驗證集準確率不斷上升。準確率隨訓練次數增加呈穩定上升趨勢并逐步趨于穩定,在第90 次訓練后準確率不再明顯上升進入穩定區間,此時分類模型準確率達到峰值并保持在92%以上。驗證集準確率趨勢基本與訓練集一致,準確率穩定于90%以上。訓練結束后,使用測試集進行測試準確率可達92.53%,滿足油田生產的實際要求。

圖 4 訓練集、驗證集收斂曲線Fig. 4 Convergence curve of training set and verification set
通過查閱文獻,得到不同模型對示功圖識別的結果。段友祥[6]應用簡化Alexnet 模型實現了對故障功圖分類,李鈺[12]基于Alexnet 模型進行改進得到示功圖識別模型。如表2 所示,其中包括收斂步數、測試集準確率和分類情況。

表 2 模型性能對比Table 2 Model performance comparison
在對于模型的測試中可知,VGGNet 識別模型的準確率較高,但計算成本相較于Alexnet 模型更高、耗時更長;Alexnet 模型能較好解決少分類數問題,但對于多分類問題準確率明顯下降。由對比可知,較于先前模型,筆者所使用的基于Le-Net 識別模型收斂速度明顯高于傳統模型,同時使用ELU 函數作為激活函數以及dropout 層的設置,避免了過擬合現象。該模型能夠較好地處理多分類問題,能夠彌補數據不平衡的缺陷,基本滿足實際使用要求。同時筆者的驗證集準確率與測試集準確率均處于較好水平,證明筆者建立模型具有良好的泛化性,可以應對實際生產中不同工況。從收斂速度來看該模型計算成本較低,利于實際使用。
(1)實驗研究模型借鑒了Le-Net 模型思想,以簡化結構完成分類任務。利用測試集數據對訓練所得模型進行檢驗,結果基本符合預期。模型準確率隨訓練次數增加而穩定上升,隨后維持于一定水平。從訓練結果可以看出,模型具有良好的穩定性,能夠針對現場多種的工況進行分類,隨著數據不斷收集,該模型可以進一步完善。
(2)與其他分類方法相比,筆者建立的基于Le-Net 的卷積神經網絡模型能夠較好地完成多種類(15 種)的示功圖分類,準確率基本符合使用要求,準確率達到92%以上。簡化模型訓練時間縮短,并且計算成本相對較低,較實用。
(3)所建的卷積神經網絡預測效果滿足油田實際生產的要求,隨著數據收集、完善模型準確率可進一步提升。不同研究人員收集數據途徑、處理數據的方法不同,訓練所得模型可能不同;卷積神經網絡內部結構復雜,內部參數的選擇不同可能出現差異。