丁慧慧,邵婷婷,2,喬 曦
(1.延安大學 物理與電子信息學院,陜西 延安 716000;2.陜西省能源大數(shù)據(jù)智能處理省市共建重點實驗室,陜西 延安 716000)
井眼軌跡的控制精度對提高油氣產(chǎn)量尤為重要。定向井井眼軌跡誤差主要來自施工現(xiàn)場的測量數(shù)據(jù)誤差[1]。測斜儀可測量出井眼軌跡,計算所需的井斜角和方位角,其測量結(jié)果直接影響到井眼軌跡的可靠性。影響測斜儀精度的因素包括傳感器數(shù)據(jù)測量精度、傳感器安裝誤差[2]和計算姿態(tài)的數(shù)學模型誤差、傳感器溫度漂移等[3]。方位角是井眼軌跡上某點切線方向在水平面的投影與磁北方向的夾角[4],反映了被測井眼偏離磁北方向的程度。測斜儀方位角的測量范圍為0°~360°。國外測斜儀方位角的測量精度為±1°[5],陜北石油基地廣泛使用的磁性電子測斜儀方位角的測量精度為±2°。在井斜角較小時,方位角的姿態(tài)提取計算式中分子和分母都將同時趨于零[6],降低了測量精度,其誤差與常規(guī)井斜時方位角誤差相比更大。
在提高測斜儀測量精度方面,研究人員進行了大量的研究。文獻[7]通過姿態(tài)解算對安裝誤差進行校正,從理論上構建靜態(tài)的數(shù)學模型及存在安裝誤差時的數(shù)學模型,并利用仿真軟件構建物理模型驗證測試精度。文獻[1]將光纖陀螺隨鉆測斜儀測量結(jié)果的不確定性傳遞到井眼軌跡的不確定性,提出了基于誤差傳遞函數(shù)的井眼軌跡校正方法,校正后的井眼軌跡精度可提升一個數(shù)量級。文獻[8]針對礦井磁阻式測斜儀經(jīng)過鐵磁性物質(zhì)干擾后會出現(xiàn)方位角測量不準確的情況,通過建立全空間誤差校正表模型,用兩次線性插值的方法計算出方位角校正系數(shù),最后用該校正系數(shù)校準實際測量的方位角。使用該方法校正后,方位角的誤差明顯降低。文獻[9]考慮到隨鉆測斜儀姿態(tài)測量模塊多傳感器之間校正對準、傳感器坐標系與載體坐標系的校正對準等問題,建立基于遞推最小二乘的誤差補償數(shù)學模型,采用橢球擬合法、點積不變法和旋轉(zhuǎn)平面擬合法的聯(lián)合校正方法完成對隨鉆測斜儀的校正,校正后測量精度提高了一個等級。
神經(jīng)網(wǎng)絡技術是近年來發(fā)展較快的智能補償校正技術之一,它不需要建立準確的數(shù)學模型[10],也不需要考慮誤差來源,只需要對大量的測試數(shù)據(jù)與理論數(shù)據(jù)進行學習,找到輸入到輸出的映射關系,通過神經(jīng)網(wǎng)絡強大的非線性擬合能力預測輸出[11]。神經(jīng)網(wǎng)絡在油井測斜誤差校正方面的研究比較有限。文獻[12]基于徑向基函數(shù)(Radial Basis Function,RBF)神經(jīng)網(wǎng)絡對1°~70°井斜下方位角誤差建模補償,并將補償結(jié)果與雙線性插值結(jié)果進行比較。大部分情況下RBF神經(jīng)網(wǎng)絡效果優(yōu)于雙線性插值法,但需要大量建模數(shù)據(jù)才能保證精度。
反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡能較好地預測未知樣本,因此本文建立BP神經(jīng)網(wǎng)絡模型針對小角度井斜(5°~10°)下測得的方位角進行校正。仿真實驗結(jié)果表明,該BP神經(jīng)網(wǎng)絡誤差校正模型泛化能力強,誤差補償效果較好,可將小井斜下方位角的測量精度從±5.3°提高至±1.7°以內(nèi)。
BP神經(jīng)網(wǎng)絡具有強大的非線性映射能力[13],其按照誤差逆向傳播算法訓練,屬于有監(jiān)督學習。BP神經(jīng)網(wǎng)絡由輸入層、隱含層和輸出層組成[14]。隱含層傳輸函數(shù)可用S型轉(zhuǎn)移函數(shù)logsig或tansig。輸出層為線性層,使用傳輸函數(shù)purelin。輸出層有一個標準的期望輸出值,使用newff函數(shù)創(chuàng)建網(wǎng)絡后對權重進行初始化,逐層傳遞輸出值。將輸出值與標準值的誤差設為損失函數(shù),若損失函數(shù)未達到要求精度便將誤差反向傳播,通過調(diào)整權重與偏置來縮小輸出值與標準值誤差,直到誤差減小到可接受的程度或達到迭代次數(shù)[15]。BP神經(jīng)網(wǎng)絡結(jié)構圖如下圖1所示。
圖1 BP神經(jīng)網(wǎng)絡結(jié)構圖Figure 1. Structure chart of BP neural network
圖1中,x1、x2為輸入變量,w11,w12,…,w1n,w21,w22,…,w2n為輸入層與隱含層之間的權值wij,b1,b2,…,bn為各隱含層的閾值,hout1,hout2,…,houtn分別為各隱含層神經(jīng)元的輸出。將隱含層激活函數(shù)設為f,則有
hout1=f(x1×w11+x2×w21+b1)
(1)
hout2=f(x1×w12+x2×w22+b2)
(2)
?
houtn=f(x1×w1n+x2×w2n+bn)
(3)
用矩陣形式表達為式(4)。
hout=f(wij×x+b)
(4)
將隱含層與輸出層之間權值用wjk表示,閾值為θ,輸出層激活器函數(shù)為g,神經(jīng)元輸出為Y,標準輸出為T,輸出層誤差為E,則有式(5)和式(6)。
Y=g(wjk×hout+θ)
(5)
E=(T-Y)2
(6)
BP神經(jīng)網(wǎng)絡的訓練過程包含前向傳輸和逆向反饋,網(wǎng)絡訓練過程的流程如圖2所示。
推薦理由:本書由雀巢童書獎評委會主席,朱莉婭·??酥x爾主持編選。她邀請世界各地三十余位杰出的作家與插畫家共襄盛舉,對人類歷史上最優(yōu)秀的童書進行梳理,甄選了1001種被廣泛認可的童書,并加以解讀與評介。本書為父母和孩子展現(xiàn)一個豐富多彩的世界,是一部可以擺在所有家庭書架上的理想?yún)⒖紩?,是可以陪伴孩子成長的貼心禮物。
圖2 BP神經(jīng)網(wǎng)絡的訓練過程流程圖Figure 2. Flow chart of training process of BP neural network
調(diào)整權重的過程采用梯度下降法,可類比于下山的過程,若要一步一步走向山底,只需求解當前位置的梯度,沿著梯度的負方向向下走一步,循環(huán)這個步驟直至走到山底。由于損失函數(shù)是自變量為權重與偏置的非線性函數(shù),在神經(jīng)網(wǎng)絡中需要找到損失函數(shù)的最小值。梯度是損失函數(shù)對權重和偏置求偏導。沿著梯度向量相反的方向為梯度下降最快的方向。根據(jù)微積分的鏈式規(guī)則,梯度可表示為
(7)
由輸出層神經(jīng)元輸出與輸出層誤差的計算式可以得到
(8)
(9)
由此輸出層誤差可展開至隱含層,如式(10)所示。
(10)
更新的權重即為原先權重減去當前梯度的值。為了更加平滑地改變權重使用學習率l,隱含層與輸出層權重更新為式(11)。
(11)
隱含層誤差同樣可展開至輸入層,但隱含層沒有標準值。可根據(jù)隱含層與輸出層的權重wjk拆分輸出誤差E,并為每個隱含層節(jié)點重新組合誤差[16]。隱含層輸出誤差如式(12)所示。
errorhout=wjkT×E
(12)
隱含層誤差展開至輸入層,如式(13)所示。
(13)
隱含層與輸出層權重更新為式(14)所示。
(14)
對小角度井斜下方位角測量進行誤差校正,首先建立以實測井斜與方位角為輸入,以理論方位角為輸出的神經(jīng)網(wǎng)絡模型。這里在井斜角為5°、 5.4°、5.8°、6°、6.3°、6.7°、7°、7.4°、7.8°、8°、8.3°、 8.7°、9°、9.3°、9.8°、10°時,方位角在0°~ 360°時,每隔30°獲取取樣測試點。將井斜角與對應實測方位角構成的192組二維輸入數(shù)據(jù)保存在工作區(qū)內(nèi),同時將理論方位角作為一維輸出保存在工作區(qū)中。導入數(shù)據(jù)后,利用randperm函數(shù)使訓練集在工作區(qū)中隨機選取產(chǎn)生,并將剩余的一小部分作為測試集用來測試模型泛化能力。本文分別對訓練集與測試集作歸一化處理,以免影響訓練速度與精度[17]。
一般單隱層神經(jīng)網(wǎng)絡可逼近任何連續(xù)函數(shù)[18],若提高隱層層數(shù)或隱層神經(jīng)元個數(shù)會使神經(jīng)網(wǎng)絡容量變大,空間表達力變強。但隱含層層數(shù)過多會產(chǎn)生過擬合問題,應進行多次調(diào)整試驗,這里選用3層,即隱含層層數(shù)為兩層。隱含層節(jié)點數(shù)=(輸入層節(jié)點數(shù)+輸出層節(jié)點數(shù))1/2+(0 ~ 10),利用試湊法將兩個隱含層節(jié)點數(shù)定為2和9。輸出層節(jié)點數(shù)根據(jù)一維輸出數(shù)據(jù)定為1個。各層傳輸函數(shù)為tansig、tansig、purelin,并指定訓練參數(shù)為trainlm。
經(jīng)過多次嘗試與訓練后發(fā)現(xiàn),將訓練次數(shù)設置為10 000,訓練目標設置為10-5時的建模時間為1 s。經(jīng)92次迭代后訓練結(jié)束,補償精度為9.89×10-6。該條件下,收斂速度快但補償效果不好,補償后最大誤差為4.428 7°。將訓練次數(shù)設置為10 000,訓練目標設置為10-6時,運行時間會稍長,但誤差補償可控制在2°以內(nèi)。從誤差補償?shù)男Ч瑏砜催@種代價是值得的。因此,本文將訓練次數(shù)設置為10 000,訓練目標設置為10-6。學習速率類似于下山過程中的步長,步長過大會在一直徘徊在最低點附近產(chǎn)生動蕩,從而無法收斂;步長太小則容易落入錯誤的函數(shù)最小值。經(jīng)多次試驗將學習速率設置為0.01。為了避免落入錯誤函數(shù)最小值,可使用不同的權重初始值訓練網(wǎng)絡。
井斜角分別為5°、 5.4°、5.8°、6°、6.3°、6.7°、7°、7.4°、7.8°、8°、8.3°、 8.7°、9°、9.3°、9.8°、10°時,隨機選取180組方位角數(shù)據(jù)作為訓練樣本。這些井斜角下具有最大誤差的方位角測量值、標準值及其誤差如表1所示。
表1 井斜角下具有最大誤差的方位角樣本
學習樣本的選擇既反映了測斜儀輸出數(shù)據(jù)的特點,也涵蓋了小井斜(5°~10°)方位角的測量范圍[19]。由表1可以看出,測斜儀在井斜為6.7°,方位角為270°時誤差絕對值最大,最大為5.3°。
將訓練集和測試集的所有方位角數(shù)據(jù)均作為建立的BP神經(jīng)網(wǎng)絡誤差校正模型的輸入,來測試該模型的誤差校正精度。由于每次運行產(chǎn)生的方位角訓練樣本不同,校正模型權值和閾值的初始值不同,方位角的誤差校正精度也略有不同。運行10次的測試結(jié)果表明,方位角的誤差均可控制在±2°以內(nèi),平均誤差為1.04°,運行結(jié)果比較穩(wěn)定。取接近于平均誤差的一次進行分析,分為訓練集方位角誤差測試和測試集方位角測試。
此次訓練集方位角訓練點與對應的誤差在補償前后的對比如圖3所示。
圖3 訓練集方位角訓練點的誤差對比Figure 3. The error comparison of azimuth training point in training set
由圖3可以看出,訓練集補償前最大誤差絕對值為5.3°,補償后最大誤差絕對值未超過2°,訓練集精度由±5.3°提高至±1.614 48°,訓練效果較好。
測試集方位角訓練點與對應的誤差在補償前后的對比如圖4所示。
圖4 測試集方位角訓練點的誤差對比Figure 4. The error comparison of azimuth training point in test set
由圖4可以看出,測試集補償前最大誤差達到1.7°,經(jīng)訓練好的BP神經(jīng)網(wǎng)絡校正后的誤差由±1.7°縮減到±0.869°;第7個樣本點處誤差絕對值由±1.3°補償?shù)健?.188°;測試集最大誤差絕對值為1.188°,補償效果較好,模型泛化能力較強。
針對陜北地區(qū)常用的磁性電子測斜儀在小角度井斜(5°~10°)下,方位角測量誤差相對常規(guī)井斜更大而導致測量精度不高的問題,本文基于BP神經(jīng)網(wǎng)絡算法建立誤差校正模型,對測斜儀在5°~10°小角度井斜下方位角的測量數(shù)據(jù)進行補償校正。本文建立了以實測井斜角和方位角為輸入且以理論方位角為輸出的雙入單出網(wǎng)絡模型,用訓練好的模型對訓練集和測試集數(shù)據(jù)均進行仿真測試。測試結(jié)果表明,該BP神經(jīng)網(wǎng)絡誤差校正模型可將小井斜下方位角的測量精度從±5.3°提高至±1.7°以內(nèi),測量精度得到改善,誤差補償效果較好。