李帥,劉明言,2,馬永麗
(1 天津大學(xué)化工學(xué)院,天津 300350;2 化學(xué)工程聯(lián)合國(guó)家重點(diǎn)實(shí)驗(yàn)室(天津大學(xué)),天津 300350)
我國(guó)具有豐富的地?zé)豳Y源和能源,開發(fā)利用潛力大[1-3]。但是,在地?zé)衢_發(fā)利用過(guò)程中,遇到的主要技術(shù)難題是地?zé)崃黧w在井筒或地面系統(tǒng)中的結(jié)垢和腐蝕問(wèn)題[4-6],從而制約著地?zé)豳Y源和能源的高效可持續(xù)開采和利用。地?zé)峋仓械牧黧w結(jié)垢可以顯著減小井筒的流通截面,降低地?zé)崮艿牟沙雎屎屠寐蔥7-8],因清洗而增加額外運(yùn)行維護(hù)成本等[9-10],還有可能形成生產(chǎn)安全問(wèn)題[11-13]。故需要準(zhǔn)確預(yù)測(cè)地?zé)崃黧w在井筒中的結(jié)垢位置,為下沉潛水泵及阻垢劑加注等提供指導(dǎo)。地?zé)崃黧w的結(jié)垢是一個(gè)非常復(fù)雜的動(dòng)態(tài)過(guò)程[14-15],預(yù)測(cè)結(jié)垢位置主要應(yīng)通過(guò)機(jī)理建模等方法實(shí)現(xiàn)[16-18]。然而,現(xiàn)有的機(jī)理模型還難以預(yù)測(cè)地?zé)崃黧w結(jié)垢過(guò)程的全部特征,預(yù)測(cè)精度也不夠理想。因此,如何建立準(zhǔn)確、可靠的地?zé)崃黧w結(jié)垢模型是目前亟待解決的問(wèn)題之一。國(guó)內(nèi)外研究者基于化學(xué)熱力學(xué)和相關(guān)實(shí)驗(yàn)研究[19-20],開發(fā)了許多軟件和相關(guān)程序模擬地?zé)崃黧w在井筒中的結(jié)垢過(guò)程[21-29]。Pátzay 等[24]使用Davies 和Pitzer 活度系數(shù)計(jì)算方法開發(fā)了用于CaCO3-H2O-CO2系統(tǒng)中方解石結(jié)垢形成的平衡模擬算法和計(jì)算機(jī)程序,用于確定地?zé)峋谥胁煌瑲怏w(如CO2、CH4和N2)濃度下的地?zé)崃黧w在井筒中的閃蒸點(diǎn)位置和氣體分壓的分布情況。Akin 等[25-26]利用PHREEQC 軟件,計(jì)算出土耳其Kizildere地?zé)崽锏奶妓徕}在閃蒸點(diǎn)之上80m 處左右產(chǎn)生結(jié)垢。HOLA[27]和WELLSIM[28]等軟件程序也可以計(jì)算地?zé)峋仓虚W蒸點(diǎn)的位置,兩種軟件的區(qū)別只是在于前者沒有考慮地?zé)崃黧w中鹽分和不凝氣體含量對(duì)閃蒸點(diǎn)位置的影響,而后者則需要同時(shí)考慮這兩個(gè)參數(shù)的影響。Garg等[29]則利用新建立的相含率經(jīng)驗(yàn)關(guān)聯(lián)式,模擬分析地?zé)峋仓袦囟群蛪毫﹄S著井筒深度的變化規(guī)律,以判斷閃蒸點(diǎn)的位置。
人工神經(jīng)網(wǎng)絡(luò)(artificial neural networks,ANNs)是一種仿照生物大腦神經(jīng)元運(yùn)行的學(xué)習(xí)算法,因?yàn)槠渚哂休^好的非線性擬合效果和對(duì)不相關(guān)變量的抗干擾能力,而且其只需要依據(jù)含有輸入和輸出變量的訓(xùn)練數(shù)據(jù)集進(jìn)行相關(guān)模型訓(xùn)練以便建立準(zhǔn)確的預(yù)測(cè)模型,通過(guò)選擇最優(yōu)的訓(xùn)練算法和不同激活函數(shù),就可以較好地達(dá)到所預(yù)期的精度要求,無(wú)須對(duì)具體過(guò)程進(jìn)行特別復(fù)雜的數(shù)學(xué)推導(dǎo)[30]。故在許多研究領(lǐng)域,ANNs 是一種有效的計(jì)算工具,用于建模和預(yù)測(cè),以解決復(fù)雜的實(shí)際問(wèn)題[31]。在地?zé)犷I(lǐng)域中也有利用人工神經(jīng)網(wǎng)絡(luò)對(duì)各種變量進(jìn)行預(yù)測(cè)的報(bào)導(dǎo)[32-34]。地?zé)崃黧w在井筒中的結(jié)垢是一個(gè)復(fù)雜的化學(xué)熱力學(xué)和化學(xué)動(dòng)力學(xué)過(guò)程,受到多種因素的共同影響,如地?zé)崃黧w的溫度、壓力以及流量等,具有非線性度高和耦合性強(qiáng)等一系列特征。因此,可以嘗試將ANNs可擬合非線性函數(shù)的功能應(yīng)用到地?zé)崃黧w在井筒中的結(jié)垢位置預(yù)測(cè)中。鑒于此,本文提出基于BP 人工神經(jīng)網(wǎng)絡(luò)對(duì)地?zé)崃黧w在井筒中的結(jié)垢位置進(jìn)行預(yù)測(cè),主要研究BP 人工神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)、預(yù)測(cè)結(jié)果和特點(diǎn)等,為之后在井筒內(nèi)地?zé)崃黧w結(jié)垢位置以下注入阻垢劑和物理增壓潛水泵的下入深度等提供依據(jù)。所采用的ANNs 模型適用于Windows的MATLAB軟件進(jìn)行仿真,該軟件是推薦用于可視化和高性能數(shù)值分析的計(jì)算機(jī)程序。
本文研究的兩口地?zé)峋挥诤颖笔〔┮翱h,井深結(jié)構(gòu)皆為四開。其中第一口地?zé)峋慕Y(jié)構(gòu)如圖1所示,具體的結(jié)構(gòu)及數(shù)據(jù)如表1所示。本地?zé)峋娜∷畬訛殪F迷山組白云巖含水層,在2019 年11 月完井,最終的成井深度為3860m,3275.00~3860.00m 為所利用地?zé)峋木紊疃?,該地?zé)峋暮畬涌偣矠?1 層,總厚度為38.10m,其中有總厚度為9.1m 的兩層二類裂隙縫層,總厚度為29.0m的九層三類裂隙縫層?,F(xiàn)場(chǎng)放噴實(shí)驗(yàn)出現(xiàn)了明顯的結(jié)垢問(wèn)題。在距離地面1.5m 處開始在井筒的泵管中結(jié)垢,即結(jié)垢位置為1.5m。通過(guò)SEM 和XRD 的分析結(jié)果可知,垢樣中的碳酸鈣質(zhì)量分?jǐn)?shù)大于96%[35]。
表1 地?zé)峋拈_的井深結(jié)構(gòu)數(shù)據(jù)
圖1 博野縣某地?zé)峋木罱Y(jié)構(gòu)
地?zé)崃黧w的井口溫度和壓力、井底溫度和壓力等參數(shù)是利用測(cè)井儀器設(shè)備對(duì)現(xiàn)場(chǎng)地?zé)峋M(jìn)行探測(cè)獲得的。測(cè)試從井底到井口的溫度和壓力,每隔10m記錄一套數(shù)據(jù)。對(duì)該井的井口流體溫度進(jìn)行采樣分析可知,在井口溫壓測(cè)點(diǎn)測(cè)得的溫度為95℃,壓力為0.186MPa。液態(tài)地?zé)崃黧w的流量為100m3/h,井底溫度為116℃,壓力為28MPa。
地?zé)崃黧w經(jīng)過(guò)億萬(wàn)年的地質(zhì)運(yùn)動(dòng),已經(jīng)變?yōu)镃O2的過(guò)飽和溶液,故地?zé)崃黧w中存在著大量的HCO-3。當(dāng)?shù)責(zé)崃黧w沿地?zé)峋采仙龝r(shí),隨著地?zé)崃黧w在井筒內(nèi)壓力的不斷降低,當(dāng)其液相中地?zé)崴姆謮旱陀谏仙龝r(shí)溫度所對(duì)應(yīng)的飽和蒸汽壓時(shí),會(huì)出現(xiàn)閃蒸現(xiàn)象。當(dāng)閃蒸發(fā)生以后,地?zé)崃黧w會(huì)從原來(lái)的單相流動(dòng)變?yōu)闅庖簝上嗔鲃?dòng),而此時(shí)氣相中的水蒸氣含量會(huì)迅速增加,稀釋氣相中的CO2。同時(shí)還有其他氣體(如CH4、N2和H2S 氣體)侵入和地?zé)峋驳母g,也會(huì)導(dǎo)致原來(lái)氣相中的CO2氣體減少。這樣,氣相中的CO2分壓會(huì)迅速降低。同時(shí),地?zé)崃黧w中溶解的CO2氣體就會(huì)大量釋放到氣相中,使反應(yīng)式(1)向右進(jìn)行,使得地?zé)崃黧w中的pH增大,將地?zé)崃黧w中存在過(guò)飽和的HCO3-解離出的H+中和[反應(yīng)式(2)向右進(jìn)行],最終導(dǎo)致地?zé)崃黧w中產(chǎn)生大量的CO32-,和地?zé)崃黧w中原來(lái)就存在的大量Ca2+進(jìn)行結(jié)合,導(dǎo)致碳酸鈣沉淀析出,發(fā)生結(jié)垢現(xiàn)象[反應(yīng)式(3)向右進(jìn)行],從而附著在地?zé)峋木矁?nèi)壁上。地?zé)崃黧w在井筒中的實(shí)際結(jié)垢位置由現(xiàn)場(chǎng)測(cè)得。
ANNs 是將人腦結(jié)構(gòu)組織和運(yùn)行機(jī)制進(jìn)行了某種抽象、簡(jiǎn)化和模擬[36]。BP(back propagation)人工神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),并且可以按照誤差逆向傳播算法進(jìn)行訓(xùn)練,是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)之一[37-38]。基于BP人工神經(jīng)網(wǎng)絡(luò)對(duì)地?zé)崃黧w在井筒中的結(jié)垢位置預(yù)測(cè)的結(jié)構(gòu)分為3 層:8 個(gè)輸入層、13 個(gè)隱含層和1 個(gè)輸出層,稱為8-13-1 網(wǎng)絡(luò)結(jié)構(gòu),具體結(jié)構(gòu)見圖2。8 個(gè)輸入層的變量具體為井底溫度和壓力、井口溫度和壓力以及井筒深度(井筒為四開井,4個(gè)變量)。
圖2 BP人工神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)
在已知博野地?zé)峋膶?shí)際結(jié)垢位置為距離地面的1.5m處后,利用BP人工神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練集的訓(xùn)練。之后,由于該地?zé)峋囊恍﹨?shù)發(fā)生改變,進(jìn)而地?zé)崃黧w在該井筒中的結(jié)垢位置會(huì)發(fā)生改變。利用BP 人工神經(jīng)網(wǎng)絡(luò),基于地?zé)峋淖兓瘏?shù),可預(yù)測(cè)出地?zé)崃黧w在這口井內(nèi)新的結(jié)垢位置。
在利用BP 人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)地?zé)崃黧w結(jié)垢位置時(shí),使用的誤差函數(shù)是Mu參數(shù)。在基本的神經(jīng)網(wǎng)絡(luò)權(quán)重基礎(chǔ)上Mu參數(shù)可再加一個(gè)調(diào)節(jié)調(diào)制,這樣就可以在訓(xùn)練的過(guò)程中避免陷入局部最小值,從而導(dǎo)致找到的最優(yōu)值發(fā)生嚴(yán)重的錯(cuò)誤。Mu 參數(shù)的范圍為0~1。預(yù)測(cè)地?zé)崃黧w在井筒中的結(jié)垢位置時(shí),選擇的訓(xùn)練函數(shù)是Levenberg-Marquardt 算法(即L-M 算法),這也是最優(yōu)化算法中的一種。LM算法是介于牛頓法與梯度下降法之間的一種非線性優(yōu)化方法。神經(jīng)網(wǎng)絡(luò)的性能主要通過(guò)均方差來(lái)進(jìn)行評(píng)價(jià)。L-M 算法是將被估計(jì)量和估計(jì)量之間進(jìn)行差異化度量。
預(yù)測(cè)地?zé)崃黧w在井筒中的結(jié)垢位置時(shí),其BP人工神經(jīng)網(wǎng)絡(luò)中神經(jīng)元的激活函數(shù)是輸入信號(hào)xi和權(quán)重因子wji的加權(quán)和,如式(4)。
由式(4)可知,Aj僅與xi和wji相關(guān),輸出函數(shù)(即Oj)假設(shè)不發(fā)生變化,則可以認(rèn)為該神經(jīng)元函數(shù)是線性函數(shù)。但是這樣的神經(jīng)元函數(shù)其局限性比較大。輸出函數(shù)在神經(jīng)網(wǎng)絡(luò)中經(jīng)常使用的是S型函數(shù),如式(5)。
Oj只與Ai有關(guān),而Aj又與xi和與其相對(duì)應(yīng)的wji有關(guān)。誤差值(即Ej)是真實(shí)值(即Oj)與預(yù)期值(即dj)的差,并且wji強(qiáng)烈地影響著dj,所以可以通過(guò)改變wji來(lái)使dj最小化。對(duì)每個(gè)神經(jīng)元函數(shù)的誤差值進(jìn)行定義,如式(6)。
Ej越大,則可以知道Oj與dj之間產(chǎn)生的差值越大。在輸出層上神經(jīng)元函數(shù)的所有誤差進(jìn)行求和就可以得到神經(jīng)網(wǎng)絡(luò)整體的Ej, 如式(7)。
所調(diào)整的相關(guān)權(quán)值則是利用梯度下降法來(lái)進(jìn)行的,如式(8)。
wji與Ej的改變將會(huì)調(diào)整每個(gè)神經(jīng)元的Δwji,而對(duì)神經(jīng)元函數(shù)的調(diào)整是E關(guān)于wji的導(dǎo)數(shù)。每次對(duì)神經(jīng)元誤差的調(diào)整步長(zhǎng)為η。而對(duì)Ej影響大的wji相比于影響小的wji,所進(jìn)行調(diào)整的值也相應(yīng)地變大。
循環(huán)計(jì)算公式(4)~(8)直到遇見合適的wji停止進(jìn)行運(yùn)算。BP 人工神經(jīng)網(wǎng)絡(luò)算法的主要目的是對(duì)E關(guān)于wji的導(dǎo)數(shù)進(jìn)行求解。首先對(duì)E關(guān)于Oj的函數(shù)進(jìn)行求導(dǎo)運(yùn)算,如式(9)。
故,將每個(gè)wji調(diào)整,如式(12)。
以上各式可以用來(lái)對(duì)含有兩層的ANNs 進(jìn)行訓(xùn)練。
(1)線性函數(shù),如式(13)。
在利用BP 人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)地?zé)崃黧w在井筒中的結(jié)垢位置時(shí),所使用的激活函數(shù)主要是線性函數(shù)和Tanh函數(shù)。
當(dāng)預(yù)測(cè)地?zé)崃黧w在井筒中的結(jié)垢位置時(shí),其使用的BP 人工神經(jīng)網(wǎng)絡(luò)需要進(jìn)行歸一化處理,這樣可以將輸入信號(hào)通過(guò)神經(jīng)網(wǎng)絡(luò)得到輸出結(jié)果的最優(yōu)值。BP 人工神經(jīng)網(wǎng)絡(luò)的歸一化主要是將輸入信號(hào)映射到[0,1]或[-1,1]區(qū)間或其他的區(qū)間。但是因?yàn)樗褂幂斎胄盘?hào)的單位不同,輸入信號(hào)的區(qū)間有些會(huì)比較大,最后會(huì)有訓(xùn)練時(shí)間長(zhǎng)和收斂慢的結(jié)果產(chǎn)生。在模式分類中區(qū)間大的輸入信號(hào)產(chǎn)生的作用可能會(huì)偏大。因此對(duì)BP 人工神經(jīng)網(wǎng)絡(luò)的歸一化處理也主要是為了防止數(shù)據(jù)湮滅等現(xiàn)象的產(chǎn)生。輸出層激活函數(shù)的值域是需要進(jìn)行制約的,主要是為了將訓(xùn)練的目標(biāo)信號(hào)可以在激活函數(shù)的值域中得到很好的映射。
在用MATLAB 來(lái)實(shí)現(xiàn)BP 人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)地?zé)崃黧w在井筒中的結(jié)垢位置時(shí),歸一化處理數(shù)據(jù)可以采用postmnmx、tramnmx這兩個(gè)函數(shù)。
BP 人工神經(jīng)網(wǎng)絡(luò)是一種有導(dǎo)師的機(jī)器學(xué)習(xí),其所需要的數(shù)據(jù)集通常被分為2~3 個(gè),即訓(xùn)練集、驗(yàn)證集和測(cè)試集。其中,在BP 人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)地?zé)崃黧w在井筒中的結(jié)垢位置時(shí),所給出的訓(xùn)練集與測(cè)試集都是圍繞著河北省博野縣某地?zé)峋邢嚓P(guān)數(shù)據(jù),在一定范圍內(nèi)隨機(jī)取出的樣本;訓(xùn)練集是用來(lái)提高神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)垢位置的準(zhǔn)確性;而測(cè)試集主要是用來(lái)檢驗(yàn)最終選擇的最優(yōu)模型的性能如何,即檢驗(yàn)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)垢位置的準(zhǔn)確性,檢測(cè)其準(zhǔn)確性是否達(dá)標(biāo)。在這個(gè)過(guò)程中沒有用到驗(yàn)證集。表2 為使用MATLAB 實(shí)現(xiàn)BP 人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)地?zé)崃黧w在井筒中的結(jié)垢位置里輸入訓(xùn)練集時(shí),所需要考慮的訓(xùn)練方法及其對(duì)應(yīng)的函數(shù)。對(duì)地?zé)崃黧w在井筒中的結(jié)垢位置預(yù)測(cè)時(shí),所采用的訓(xùn)練及算法為L(zhǎng)evenberg-Marquardt(L-M),L-M 算法是在高斯-牛頓法的基礎(chǔ)上加入了一個(gè)變量因子,進(jìn)而預(yù)測(cè)得到進(jìn)一步改善。
表2 訓(xùn)練方法及其函數(shù)
影響結(jié)垢位置的關(guān)鍵影響因素主要有井口的溫度和壓力、井底溫度和壓力以及井筒的結(jié)構(gòu)深度。但是還有一些其他相較而言影響不是很明顯甚至可以忽略的因素,例如,井口中所測(cè)得的不凝氣體的含量等非常復(fù)雜的因素,還會(huì)涉及鈣離子和碳酸根離子的活度,甚至地?zé)崃黧w的酸堿度也會(huì)影響其在井筒中的結(jié)垢位置。
在BP 人工神經(jīng)網(wǎng)絡(luò)中隱含層節(jié)點(diǎn)個(gè)數(shù)對(duì)其識(shí)別率影響不是很大。但是,如果節(jié)點(diǎn)個(gè)數(shù)過(guò)多,則會(huì)相應(yīng)增加神經(jīng)網(wǎng)絡(luò)的運(yùn)算量,這樣產(chǎn)生的直接后果就是訓(xùn)練時(shí)間特別長(zhǎng)。然而激活函數(shù)無(wú)論對(duì)于識(shí)別率還是訓(xùn)練時(shí)間都有著明顯的差異。在擬合高次函數(shù)時(shí),函數(shù)所需要的精度越高,其進(jìn)行的計(jì)算量也會(huì)相應(yīng)越大。學(xué)習(xí)率會(huì)影響訓(xùn)練時(shí)間和BP 人工神經(jīng)網(wǎng)絡(luò)能否最終收斂。如果將學(xué)習(xí)率設(shè)置比較小,則可以保證神經(jīng)網(wǎng)絡(luò)最后收斂,但是收斂速度將會(huì)特別慢。
利用MATLAB 實(shí)現(xiàn)BP 人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)地?zé)崃黧w在井筒中的結(jié)垢位置的計(jì)算機(jī)程序如圖3 所示。采用的學(xué)習(xí)率為0.0001,系統(tǒng)誤差小于0.01。BP 神經(jīng)網(wǎng)絡(luò)在經(jīng)過(guò)300000 多次迭代后收斂。此時(shí),訓(xùn)練學(xué)習(xí)階段結(jié)束。訓(xùn)練結(jié)束后的BP 神經(jīng)網(wǎng)絡(luò)就可以用來(lái)預(yù)測(cè)地?zé)崃黧w在井筒中的結(jié)垢位置。
圖3 BP人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)地?zé)崃黧w在井筒中結(jié)垢位置的程序框圖
3.1.1 訓(xùn)練集和測(cè)試集中的預(yù)測(cè)值與實(shí)際值的分析
圖4為訓(xùn)練集中的結(jié)果對(duì)比,其中(a)為訓(xùn)練集中實(shí)際值與預(yù)測(cè)值的對(duì)比,其均方差為0.0043;(b)為神經(jīng)網(wǎng)絡(luò)中預(yù)測(cè)值與實(shí)際值之間的擬合效果;(c)為最終得到的結(jié)垢位置的相對(duì)誤差。可以看到圖4中預(yù)測(cè)值與實(shí)際值的擬合效果非常吻合,說(shuō)明利用BP 人工神經(jīng)網(wǎng)絡(luò)所預(yù)測(cè)的地?zé)崃黧w在井筒中的結(jié)垢位置和實(shí)際結(jié)果達(dá)到了很好的匹配。根據(jù)圖4 可知,隨機(jī)抽取的800 個(gè)樣本已經(jīng)很好地預(yù)測(cè)了地?zé)崃黧w在井筒中的結(jié)垢位置。
圖4 訓(xùn)練集中的結(jié)果對(duì)比
圖5為測(cè)試集中的結(jié)果對(duì)比,其中(a)為訓(xùn)練集中實(shí)際值與預(yù)測(cè)值的對(duì)比,其均方差為0.0047;(b)為神經(jīng)網(wǎng)絡(luò)中預(yù)測(cè)值與實(shí)際值之間的擬合效果;(c)為最終得到的結(jié)垢位置的相對(duì)誤差。通過(guò)對(duì)訓(xùn)練集中的800 個(gè)樣本的訓(xùn)練,BP 人工神經(jīng)網(wǎng)絡(luò)可以很好地對(duì)不在訓(xùn)練集中的樣本進(jìn)行較為準(zhǔn)確地?cái)M合。圖5的擬合效果非常好。所以,當(dāng)?shù)責(zé)崃黧w在井筒中結(jié)垢時(shí),其在井筒底部的溫度和壓力以及井深和井口溫度發(fā)生變化時(shí),地?zé)崃黧w的結(jié)垢位置會(huì)隨著這些參數(shù)的變化而發(fā)生變化,進(jìn)而達(dá)到對(duì)地?zé)崃黧w結(jié)垢位置的準(zhǔn)確預(yù)測(cè)。
圖5 測(cè)試集中的結(jié)果對(duì)比
3.1.2 訓(xùn)練集、測(cè)試集和總體的均方差隨訓(xùn)練次數(shù)的變化
訓(xùn)練集、測(cè)試集和總體的均方差隨訓(xùn)練次數(shù)的變化如圖6所示。由圖6可知,訓(xùn)練集和測(cè)試集在訓(xùn)練開始時(shí)其均方差比較大。之后,隨著訓(xùn)練次數(shù)的增加,其均方差逐漸減小,最終到達(dá)目標(biāo)值。圖6 中的小圓圈位置代表終止的訓(xùn)練次數(shù)(即代數(shù))處的均方差。當(dāng)訓(xùn)練次數(shù)為2次時(shí)其均方差就達(dá)到了目標(biāo)值。
圖6 訓(xùn)練集、測(cè)試集和總體的均方差隨訓(xùn)練次數(shù)的變化
3.1.3 BP神經(jīng)網(wǎng)絡(luò)各階段的訓(xùn)練
圖7 為BP 人工神經(jīng)網(wǎng)絡(luò)在各個(gè)階段時(shí)的訓(xùn)練結(jié)果。
圖7 BP神經(jīng)網(wǎng)絡(luò)各階段的訓(xùn)練
可以看出,隨著訓(xùn)練次數(shù)的增加,L-M 算法的梯度從開始下降的速度越來(lái)越快,到之后下降速度逐漸變緩;而誤差精度曲線則呈階梯式下降,表明該算法的誤差精度越來(lái)越精確。
3.1.4 各個(gè)樣本集合總體的相關(guān)性分析
圖8 為各個(gè)樣本集合總體的相關(guān)性分析結(jié)果。從圖8 可知R=0.986,說(shuō)明在地?zé)崴Y(jié)垢位置的預(yù)測(cè)中,其各個(gè)樣本集合總體相關(guān)性的擬合性很好,說(shuō)明所取的樣本數(shù)據(jù)相關(guān)性很好。即通過(guò)地?zé)崴诰缀途诘膮?shù)以及其井深參數(shù)與最終的結(jié)垢位置有很好的相關(guān)性。
圖8 各個(gè)樣本集合總體的相關(guān)性分析圖
3.1.5 地?zé)峋畠?nèi)地?zé)崃黧w結(jié)垢位置的預(yù)測(cè)
根據(jù)BP 人工神經(jīng)網(wǎng)絡(luò)算法,輸入層有8 個(gè)變量,分別是井底溫度和壓力、井口溫度和壓力以及井筒深度(井筒結(jié)構(gòu)為四開,相當(dāng)于四個(gè)變量)。如表3第一行所示為根據(jù)河北省博野縣第一口地?zé)峋玫降膶?shí)際數(shù)據(jù),而第二行則為博野縣第二口地?zé)峋玫降膶?shí)際數(shù)據(jù)(作為對(duì)比數(shù)據(jù)),目的是為了驗(yàn)證當(dāng)初始條件(地?zé)崃黧w在井口和井底的溫度壓力以及井深的相關(guān)數(shù)據(jù))發(fā)生變化后,地?zé)崃黧w在井筒中的結(jié)垢位置與實(shí)際的結(jié)垢位置是否相差很大,進(jìn)而測(cè)試BP 人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)地?zé)崃黧w在井筒中的結(jié)垢位置的相對(duì)誤差。輸出層則為預(yù)測(cè)地?zé)崃黧w在井筒中的結(jié)垢位置,如表4所示。表3里的內(nèi)容是利用MATLAB 所形成的BP 人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)地?zé)崃黧w在井筒中的結(jié)垢位置的輸入數(shù)據(jù),而表4則是根據(jù)BP人工神經(jīng)網(wǎng)絡(luò)在將表3的數(shù)據(jù)輸入之后得到的最終結(jié)果。因此,表3是表4所對(duì)應(yīng)的條件。將輸入變量歸一化在封閉的計(jì)算域中[-1,1](也就是基于輸入變量分布的標(biāo)準(zhǔn)偏差和等于零的平均值)中工作。為了確定BP 人工神經(jīng)網(wǎng)絡(luò)的最佳結(jié)構(gòu),所采用的靈敏度分析是通過(guò)調(diào)整所需的樣本數(shù)、訓(xùn)練次數(shù)和激活函數(shù)的類型來(lái)執(zhí)行的。測(cè)試中不包括傳統(tǒng)的線性激活函數(shù),因?yàn)榈責(zé)崃黧w的結(jié)垢位置預(yù)測(cè)是高度非線性的。
表3 數(shù)據(jù)庫(kù)輸入數(shù)據(jù)
河北博野現(xiàn)場(chǎng)下泵的深度近200m,泵管的直徑為159mm。當(dāng)?shù)責(zé)峋\(yùn)行半個(gè)月后,泵管在井下1.5m左右可以看到厚度約10mm的垢層。由于碳酸鈣結(jié)垢有一個(gè)誘導(dǎo)期和生長(zhǎng)過(guò)程,由此可推測(cè)井壁上的結(jié)垢發(fā)生可能更早,開始結(jié)垢的位置更深。若取結(jié)垢位置為1.5m時(shí)(即利用BP人工神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)地?zé)崃黧w的結(jié)垢位置時(shí)需提前輸入其大致的結(jié)垢位置來(lái)進(jìn)行目標(biāo)訓(xùn)練),通過(guò)BP人工神經(jīng)網(wǎng)絡(luò)計(jì)算出的預(yù)測(cè)結(jié)垢位置為表4所示,其相對(duì)誤差在10%以內(nèi)。所以,利用BP 人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)地?zé)崴诰仓械慕Y(jié)垢位置是可行的。
表4 預(yù)測(cè)結(jié)果值與實(shí)際值的對(duì)比
因?yàn)檫B續(xù)監(jiān)測(cè)地?zé)峋木讛?shù)據(jù)是不切實(shí)際的,而且地?zé)衢_發(fā)人員通常對(duì)井口的流動(dòng)壓力、溫度和流量更感興趣。而隨著地?zé)崃黧w的回注,地?zé)醿?chǔ)層以及井底和井口的溫度和壓力也會(huì)產(chǎn)生明顯的下降行為,所以此時(shí)地?zé)崃黧w在井筒中的結(jié)垢位置也會(huì)發(fā)生相應(yīng)的變化,這時(shí)可利用BP 人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)地?zé)崃黧w在井筒中的新的結(jié)垢位置,這樣可節(jié)省因使用設(shè)備重新檢測(cè)地?zé)崃黧w在井中結(jié)垢位置的成本、時(shí)間和精力。但是,地?zé)峋矁?nèi)的兩相流具體結(jié)垢位置的判斷較為復(fù)雜,取決于流型、生產(chǎn)數(shù)據(jù)和井筒幾何形狀以及流體特性等多個(gè)變量。因此,BP 人工神經(jīng)網(wǎng)絡(luò)并不能取代正常的數(shù)值建模預(yù)測(cè),而是旨在快速獲得新的結(jié)垢位置,這在很大程度上有助于日常的決策過(guò)程,而且不至于使地?zé)峋V惯\(yùn)行,產(chǎn)生不必要的成本。利用BP 人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)地?zé)峋仓械慕Y(jié)垢位置,為地?zé)衢_采中的結(jié)垢預(yù)測(cè)提供了一種新的思路和方法。
需要說(shuō)明的是,BP 人工神經(jīng)網(wǎng)絡(luò)更適合于對(duì)同一口地?zé)峋?,因?yàn)榫诇囟群蛪毫熬跍囟群蛪毫Πl(fā)生變化而產(chǎn)生的新的結(jié)垢位置的預(yù)測(cè),也就是對(duì)于同一口地?zé)峋幸虿僮鳁l件等改變后的再次結(jié)垢位置的預(yù)測(cè)。但是,由于缺少改變井口操作條件后的現(xiàn)場(chǎng)結(jié)垢位置數(shù)據(jù),因此,沒有進(jìn)行這方面的預(yù)測(cè)對(duì)比研究,可作為今后進(jìn)一步研究的一個(gè)方向。
(1)開發(fā)了一種ANNs 代理模型,該模型由8個(gè)輸入層、13個(gè)隱藏層和1個(gè)輸出層組成,用于根據(jù)井口和井底數(shù)據(jù)以及事先測(cè)得的井筒中的實(shí)際結(jié)垢位置預(yù)測(cè)當(dāng)條件發(fā)生變化后,地?zé)崃黧w新的結(jié)垢位置。輸入層由一系列可選擇的變量組成(井口溫度、壓力,井底溫度、壓力和四開井中每開井的深度),而輸出層只有一個(gè),就是預(yù)測(cè)的結(jié)垢位置。使用800個(gè)訓(xùn)練樣本進(jìn)行訓(xùn)練,使該模型的預(yù)測(cè)更加準(zhǔn)確。利用位于河北省博野縣的地?zé)峋當(dāng)?shù)據(jù)展示了該代理模型的用途和優(yōu)勢(shì),得到了較好的結(jié)果。
(2)BP 人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)方法不能代替地?zé)峋步Y(jié)垢位置的具體模擬程序預(yù)測(cè)方法,而是旨在獲得已知地?zé)峋Y(jié)垢位置的基礎(chǔ)上的快速結(jié)垢位置計(jì)算。有助于日常的決策過(guò)程,可以節(jié)省昂貴的勘測(cè)以及試井費(fèi)用。但是,在準(zhǔn)確性方面,該模型不能替代實(shí)際的操作程序,而是在無(wú)法試井或由于各種原因無(wú)法測(cè)量時(shí),作為預(yù)測(cè)模型的補(bǔ)充。
(3)利用BP 人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)地?zé)崃黧w在井筒中的結(jié)垢位置與實(shí)際值的誤差在10%以下??梢钥吹?,兩口井的預(yù)測(cè)結(jié)果誤差都很小,可以認(rèn)為對(duì)于同一口井,改變操作條件,其預(yù)測(cè)結(jié)果是準(zhǔn)確的。應(yīng)用人工神經(jīng)網(wǎng)絡(luò)分析地?zé)峋驳慕Y(jié)垢情況后表明:BP 人工神經(jīng)網(wǎng)絡(luò)無(wú)須建立復(fù)雜的流體流動(dòng)和傳熱以及化學(xué)反應(yīng)數(shù)學(xué)模型。其學(xué)習(xí)過(guò)程主要是通過(guò)自動(dòng)調(diào)節(jié)神經(jīng)元之間的連接權(quán)值完成,在選取有代表性的訓(xùn)練樣本情況下,人工神經(jīng)網(wǎng)絡(luò)能夠成功地預(yù)測(cè)和評(píng)判地?zé)峋驳慕Y(jié)垢情況。
(4)人工神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)是:誤差小,實(shí)測(cè)數(shù)據(jù)與預(yù)測(cè)結(jié)果很接近,在預(yù)測(cè)碳酸鈣結(jié)垢時(shí)取得了較好的效果。其不足是:樣本數(shù)據(jù)依賴于以往所進(jìn)行的監(jiān)控地?zé)峋驳臏囟群蛪毫?shù)據(jù),樣本數(shù)據(jù)采集困難,所以應(yīng)用不廣泛。但是,人工神經(jīng)網(wǎng)絡(luò)具有強(qiáng)大的自組織和自學(xué)習(xí)的能力,利用它預(yù)測(cè)評(píng)判地?zé)崃黧w的結(jié)垢情況,能夠因此而解決由于尋找各種復(fù)雜因素對(duì)結(jié)垢影響規(guī)律的難題。
符號(hào)說(shuō)明
Aj——神經(jīng)元激活函數(shù)
dj——神經(jīng)元的期望函數(shù)
Ej——神經(jīng)元的誤差函數(shù)
Oj——神經(jīng)元的輸出函數(shù)
wji——神經(jīng)元的權(quán)重系數(shù)
xi——神經(jīng)元的輸入變量
η——神經(jīng)元中梯度下降法的步長(zhǎng)
下角標(biāo)
i——第i個(gè)神經(jīng)元
j——第j個(gè)神經(jīng)元