陳佳樂,高鵬,朱丹丹,金學鋒,朱麗萍,張戰(zhàn)敏
(1. 中國石油大學(北京) 信息科學與工程學院,北京 102249;2. 中國石油華北油田公司 工程技術(shù)研究院,河北 任丘 062552)
降低能耗、提高開發(fā)效率一直是油田開發(fā)的方向和目標[1],因此,快速、準確的泵效在線監(jiān)測是油田生產(chǎn)管理的重要環(huán)節(jié)。泵效η指的是實際產(chǎn)量qV和理論產(chǎn)量qVt的比值,計算如式(1)所示[2-4]:
η=qV/qVt
(1)
式中:qV——實際產(chǎn)量,m3/d;qVt——理論產(chǎn)量,m3/d。
單井的實際產(chǎn)量大多采用有效沖程法計算,該方法通過對井下泵示功圖的分析,確定柱塞的有效沖程,從而計算出油井的折算產(chǎn)液量[5-6]。但地面示功圖轉(zhuǎn)換為井下泵示功圖過程需要求解波動方程,計算速度慢,難以滿足油田實時在線計算的要求。
本文針對以上問題,提出一種基于卷積神經(jīng)網(wǎng)絡(luò)CNN(convolutional neural network)的泵效計算方法,挖掘油井多源生產(chǎn)數(shù)據(jù)與泵效之間的非線性映射關(guān)系,避免了理論產(chǎn)量和實際產(chǎn)量的復雜計算過程。該方法通過卷積操作自動提取地面示功圖的特征圖,并融合沉沒度、油氣比和含水率等油井參數(shù),以及泵徑、沖程和沖次等抽油機參數(shù),可以實現(xiàn)抽油機泵效的快速計算。此外,井下泵示功圖作為先驗知識的引入,更是有助于泵效計算精度的提升。
CNN是一種專門用來處理具有類似網(wǎng)格結(jié)構(gòu)的數(shù)據(jù)的前饋人工神經(jīng)網(wǎng)絡(luò),它的神經(jīng)元可以響應(yīng)一部分覆蓋范圍內(nèi)的周圍單元,在圖像處理方面有出色表現(xiàn),廣泛應(yīng)用于目標檢測、實例分割和圖像生成等諸多領(lǐng)域。
油井地面示功圖數(shù)據(jù)是由多個載荷位移采樣點構(gòu)成,由這些采樣點可繪制成地面示功圖,即像素矩陣,使用CNN可從圖像中提取有用的信息,進而計算出泵效。卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖1所示。
圖1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意
泵效計算模型的整體框架如圖2所示,主要包括特征提取、泵示功圖生成和特征融合三大模塊。特征提取模塊的輸入為地面示功圖像素矩陣,由多個示功圖采樣點繪制而成,然后通過一系列卷積層將少通道大尺寸的圖像轉(zhuǎn)化為多通道小尺寸的特征圖;泵示功圖生成模塊采用一系列與特征提取模塊對稱的反卷積層,從特征圖生成井下泵示功圖;特征融合模塊通過一系列卷積層將特征圖轉(zhuǎn)換為通道更多、尺寸更小的特征圖,再通過全局的平均池化操作將其轉(zhuǎn)化為特征向量,然后通過全連接層融合特征向量和油井參數(shù)、抽油機參數(shù),進而計算出泵效。
圖2 泵效計算模型整體框架示意
特征提取網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,其輸入為地面示功圖像素矩陣,圖像的尺寸為224×224像素,由多個示功圖采樣點繪制而成,網(wǎng)絡(luò)輸出為128×28×28像素的特征圖。特征提取網(wǎng)絡(luò)由一個卷積層和4個卷積模塊組成,卷積模塊結(jié)構(gòu)如圖3所示,由兩層卷積核尺寸為3×3的卷積層和一個直連結(jié)構(gòu)組成,輸出通過一個線性整流函數(shù)(圖3中的relu),該結(jié)構(gòu)可以有效地解決網(wǎng)絡(luò)梯度消失問題,加快訓練速度。
圖3 特征提取網(wǎng)絡(luò)結(jié)構(gòu)示意
地面示功圖通過理論計算可以得到井下泵示功圖,若從地面示功圖提取的特征圖能夠轉(zhuǎn)換為井下泵示功圖,則可認為這些特征圖保留了地面示功圖比較全面的有效信息。因此,模型引入該先驗知識,在網(wǎng)絡(luò)中添加了生成泵示功圖的分支,也可認為是用光桿的理論知識對模型的一種約束,增強模型的合理性。
生成泵示功圖的網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示,該分支輸入為128×28×28像素的特征圖,輸出為224×224像素泵示功圖。網(wǎng)絡(luò)由4個反卷積模塊與一個反卷積層組成,和特征提取的網(wǎng)絡(luò)層對稱,目的是由特征圖生成井下泵示功圖。反卷積模塊拓撲結(jié)構(gòu)和前面卷積模塊基本相同。
圖4 生成泵示功圖的網(wǎng)絡(luò)結(jié)構(gòu)示意
實際生產(chǎn)中,影響實際產(chǎn)量小于泵理論排量的因素分別有: 沖程損失、泵充滿程度、氣體影響、泵漏失等[7-9],這些因素大都可以從示功圖中定性地分析出來,為了提高模型泵效計算的精度,將沉沒度、油氣比和含水率等油井參數(shù),以及泵徑、沖程和沖次等抽油機參數(shù)融入模型。
特征融合網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示,特征融合網(wǎng)絡(luò)的輸入包括特征圖及沉沒度、油氣比、含水率等油井參數(shù),以及泵徑、沖程和沖次等抽油機參數(shù),輸出是泵效,即最終的計算結(jié)果。該網(wǎng)絡(luò)結(jié)構(gòu)由4個卷積模塊和3層全連接層組成,卷積模塊的結(jié)構(gòu)同特征提取網(wǎng)絡(luò),卷積層的最后再加上全局平均池化層,這樣可以降低特征的維度,提高網(wǎng)絡(luò)的魯棒性。而全連接層將卷積層提取的特征和油井參數(shù)、抽油機參數(shù)充分融合到一起,進而計算出產(chǎn)液量。
圖5 特征融合網(wǎng)絡(luò)結(jié)構(gòu)示意
本文提出的泵效計算模型的損失函數(shù)L由兩部分組成:
L=λL1+μL2
(2)
式中:L1——網(wǎng)絡(luò)生成的泵示功圖與理論計算得到的泵示功圖之間的損失;L2——網(wǎng)絡(luò)輸出的泵效與實際泵效之間的損失,兩部分損失通過兩個參數(shù)λ,μ整合到一起。
兩部分的損失函數(shù)均采用平方損失作為損失函數(shù),即對于給定的一組訓練樣本,模型的訓練目標是最小化預測值和預測目標的平方誤差L0如式(3)所示:
(3)
式中:n——樣本數(shù)量;f——網(wǎng)絡(luò)模型;y——要預測的值。
L1可以使得模型能夠從特征圖生成接近于理論計算結(jié)果的泵示功圖,而這一先驗知識的加入,有助于卷積層提取到更加全面的特征,進而更準確地計算出泵效。
網(wǎng)絡(luò)模型參數(shù)優(yōu)化算法采用自適應(yīng)矩估計Adam(adaptive moment estimation)[10]。Adam是一種基于梯度下降(SGD)的方法,它利用梯度的一階矩估計和二階矩估計動態(tài)調(diào)整每個參數(shù)的學習率。Adam的優(yōu)點主要在于經(jīng)過偏置校正后,每一次迭代學習率都有個確定范圍,使得參數(shù)比較平穩(wěn)。計算公式如式(4)~式(8)所示:
mk=β1mk-1+(1-β1)gk
(4)
(5)
(6)
(7)
(8)
在某油田現(xiàn)場試驗井應(yīng)用本文提出的泵效計算方法進行了測試。測試結(jié)果見表1所列,8口試驗井采用本文提出的泵效計算模型計算出的泵效與實際測量的泵效誤差均小于10%,平均誤差為3.83%,模型達到了較高的精度,驗證了該泵效計算方法的合理性。此外,將井下泵示功圖作為先驗知識引入,有效地提高了泵效計算的精度。GPU支持的前提下,單井泵效計算速度可達到毫秒級別,滿足油井在線計算的要求。應(yīng)用效果如圖6泵效曲線所示。
表1 8口試驗井實驗結(jié)果
圖6 泵效曲線示意
本文提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的泵效計算方法,該方法是數(shù)據(jù)驅(qū)動的,通過大量數(shù)據(jù)的訓練,模型可以達到比較高的精度,驗證了基于卷積神經(jīng)網(wǎng)絡(luò)的泵效計算方法的合理性。該方法具有計算簡單、速度快、并行能力強的特點,滿足油田實時計算的要求。