馬天壽,張東洋,陳穎杰,楊赟,韓雄
(1.西南石油大學(xué) 油氣藏地質(zhì)及開發(fā)工程全國重點(diǎn)實(shí)驗(yàn)室,四川 成都,610500;2.中國石油西南油氣田分公司 致密油氣勘探開發(fā)項(xiàng)目部,四川 成都,610056;3.中國石油川慶鉆探工程有限公司 鉆采工程技術(shù)研究院,四川 廣漢,618300)
地層破裂壓力是鉆井、固井、水力壓裂設(shè)計(jì)與施工的重要基礎(chǔ)參數(shù),在石油工程各個(gè)環(huán)節(jié)都有非常重要的作用[1-5]。在鉆井過程中,如果井筒壓力高于地層破裂壓力,則井壁可能發(fā)生拉伸破壞,造成地層破裂和井漏復(fù)雜事故;在固井注水泥過程中,如果井筒壓力超過地層破裂壓力,會(huì)發(fā)生固井水泥漿漏失,導(dǎo)致水泥漿無法返至設(shè)計(jì)深度,并可能造成固井失??;在水力壓裂過程中,如果井底壓力達(dá)不到破裂壓力,可能無法壓裂地層;在注水井或巖屑回注井中,如果注入壓力低于地層破裂壓力,可能無法注入廢棄液體和固體。因此,地層破裂壓力是井身結(jié)構(gòu)設(shè)計(jì)、鉆井液密度優(yōu)化、固井設(shè)計(jì)與施工、水力壓裂設(shè)備選型、水力壓裂設(shè)計(jì)與施工、注水或巖屑回注井注入能力評(píng)估的重要基礎(chǔ)依據(jù)。因此,地層破裂壓力的準(zhǔn)確獲取對(duì)于石油工程非常重要[6]。
目前,獲取破裂壓力的方法主要有兩大類:第一類方法通過礦場試驗(yàn)直接測(cè)試破裂壓力,主要有地層完整性測(cè)試(FIT)和地破試驗(yàn)(LOT)[7],這種方法主要用于測(cè)試每一開次裸眼井段頂部的破裂壓力,得到的破裂壓力精度較高,但這種方法費(fèi)用較高、實(shí)測(cè)數(shù)據(jù)少;第二類方法通過地球物理測(cè)井解釋預(yù)測(cè)破裂壓力,先通過測(cè)井解釋預(yù)測(cè)地層巖石力學(xué)、孔隙壓力和地應(yīng)力等地質(zhì)力學(xué)參數(shù),然后將地質(zhì)力學(xué)參數(shù)帶入到破裂壓力計(jì)算模型,從而可以預(yù)測(cè)出破裂壓力剖面[8],這種方法費(fèi)用較低,而且可以獲得相對(duì)連續(xù)的單井剖面,因而被廣泛采用,但該方法的精度仍然較低、普適性不強(qiáng)。通過地球物理測(cè)井解釋預(yù)測(cè)破裂壓力的關(guān)鍵之一在于準(zhǔn)確的破裂壓力理論計(jì)算模型。為了預(yù)測(cè)斜井和水平井破裂壓力,國外學(xué)者基于線彈性力學(xué)理論,建立了任意斜井井周應(yīng)力計(jì)算模型,并結(jié)合巖石最大拉應(yīng)力準(zhǔn)則,建立了適合于斜井和水平井的破裂壓力理論計(jì)算方法[1-2],但這種方法高度依賴準(zhǔn)確的地質(zhì)力學(xué)參數(shù),而且計(jì)算過程復(fù)雜,現(xiàn)場工程師很難掌握。近年來,機(jī)器學(xué)習(xí)技術(shù)在石油工程領(lǐng)域的應(yīng)用越來越廣泛,國內(nèi)外學(xué)者開展了機(jī)器學(xué)習(xí)識(shí)別儲(chǔ)層流體[9]、機(jī)器學(xué)習(xí)識(shí)別斷裂系統(tǒng)[10]、機(jī)器學(xué)習(xí)識(shí)別地層巖性[11-14]、機(jī)器學(xué)習(xí)預(yù)測(cè)油田采收率[15]、機(jī)器學(xué)習(xí)補(bǔ)齊補(bǔ)全測(cè)井曲線[16-17]、機(jī)器學(xué)習(xí)預(yù)測(cè)地層孔隙壓力[18-20]、機(jī)器學(xué)習(xí)預(yù)測(cè)地層地應(yīng)力[21-22]等多個(gè)方面的研究。一些學(xué)者也開展了機(jī)器學(xué)習(xí)預(yù)測(cè)破裂壓力方面的技術(shù)研究,夏宏泉等[23]基于灰色靜態(tài)模型和BP神經(jīng)網(wǎng)絡(luò)模型,綜合利用礦場試采測(cè)壓和測(cè)井資料,建立了地層破裂壓力的灰色BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)方法,證實(shí)了該方法的可行性和準(zhǔn)確性;李昌盛等[24]以地層深度、孔隙壓力和巖石密度作為輸入?yún)?shù),建立了遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)(GABP)預(yù)測(cè)地層破裂壓力的模型,通過塔里木YB1井?dāng)?shù)據(jù)驗(yàn)證了模型的預(yù)測(cè)效果;李華洋等[25]以井深、孔隙壓力和巖石密度作為輸入?yún)?shù),提出了基于LightGBM機(jī)器學(xué)習(xí)算法的破裂壓力智能預(yù)測(cè)模型,通過S區(qū)塊相鄰的3口直井?dāng)?shù)據(jù)驗(yàn)證了模型的預(yù)測(cè)效果;于成海等[26]利用收集的200余組煤層氣井的實(shí)際資料,采用徑向基函數(shù)(RBF)神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)了煤層氣井破裂壓力,其預(yù)測(cè)精度為89.85%;ABDULMALEK等[27-28]根據(jù)地面錄井參數(shù),使用功能網(wǎng)絡(luò)算法和人工神經(jīng)網(wǎng)絡(luò)算法預(yù)測(cè)了直井破裂壓力。
傳統(tǒng)破裂壓力預(yù)測(cè)方法存在參數(shù)獲取難、計(jì)算過程繁瑣、普適性較差、計(jì)算精度較低等問題,通過機(jī)器學(xué)習(xí)方法預(yù)測(cè)破裂壓力可以避免衍生參數(shù)計(jì)算、簡化計(jì)算過程、提升計(jì)算精度,但是,現(xiàn)有研究主要采用BP神經(jīng)網(wǎng)絡(luò)模型,而且只能適用于直井破裂壓力預(yù)測(cè)。因此,本文作者以測(cè)井?dāng)?shù)據(jù)作為輸入?yún)?shù),采用不同的神經(jīng)網(wǎng)絡(luò)模型建立水平井測(cè)井?dāng)?shù)據(jù)與破裂壓力之間的非線性關(guān)系,通過預(yù)測(cè)結(jié)果的對(duì)比分析優(yōu)選適合的神經(jīng)網(wǎng)絡(luò)模型,對(duì)優(yōu)選后的模型結(jié)構(gòu)和超參數(shù)進(jìn)行優(yōu)化,進(jìn)而利用優(yōu)化后的神經(jīng)網(wǎng)絡(luò)模型和常規(guī)測(cè)井?dāng)?shù)據(jù)直接預(yù)測(cè)水平井破裂壓力。本文研究對(duì)于準(zhǔn)確預(yù)測(cè)破裂壓力、簡化破裂壓力計(jì)算過程、推廣機(jī)器學(xué)習(xí)在石油工程領(lǐng)域的應(yīng)用具有重要的作用和意義。
使用測(cè)井資料計(jì)算破裂壓力,需要先建立地質(zhì)力學(xué)模型[29],計(jì)算巖石力學(xué)參數(shù)、孔隙壓力和地應(yīng)力等基礎(chǔ)數(shù)據(jù),然后采用破裂壓力計(jì)算模型計(jì)算得到破裂壓力。
1.1.1 巖石力學(xué)參數(shù)計(jì)算模型
聲波時(shí)差是計(jì)算巖石力學(xué)參數(shù)的重要基礎(chǔ)數(shù)據(jù),受限于成本和測(cè)井安全,大部分測(cè)井作業(yè)都無法獲得橫波時(shí)差數(shù)據(jù)。因此,需要通過測(cè)井?dāng)?shù)據(jù)重構(gòu)的方法來估算橫波時(shí)差,根據(jù)工區(qū)縱橫波測(cè)井?dāng)?shù)據(jù)擬合的回歸關(guān)系如下:
式中:?tc為縱波時(shí)差,μs/m;?ts為橫波時(shí)差,μs/m。
根據(jù)縱橫波時(shí)差及其他測(cè)井?dāng)?shù)據(jù),便可以計(jì)算出地層的巖石力學(xué)參數(shù)。表1所示為與破裂壓力相關(guān)的巖石力學(xué)參數(shù)計(jì)算公式[2,30]。
表1 巖石力學(xué)參數(shù)計(jì)算公式Table 1 Calculation formula of rock mechanics parameters
在計(jì)算出巖石力學(xué)參數(shù)后,還需要對(duì)動(dòng)態(tài)彈性模量和泊松比進(jìn)行動(dòng)靜態(tài)轉(zhuǎn)換。根據(jù)室內(nèi)巖石力學(xué)試驗(yàn),確定了動(dòng)、靜態(tài)彈性模量及泊松比轉(zhuǎn)換關(guān)系為[31-32]:
式中:Es為靜態(tài)彈性模量,GPa;Ed為動(dòng)態(tài)彈性模量;μs為靜態(tài)泊松比;μd為動(dòng)態(tài)泊松比。
1.1.2 垂向應(yīng)力和孔隙壓力模型
垂向地應(yīng)力可由密度測(cè)井曲線直接積分求得:
式中:σv為垂向地應(yīng)力,MPa;ρ0為無測(cè)井資料的上覆巖層平均密度,g/cm3;HD為測(cè)點(diǎn)垂深,m;H0為測(cè)井?dāng)?shù)據(jù)初始垂深,m;
地層孔隙壓力的計(jì)算方法主要包括伊頓法、等效深度法和有效應(yīng)力法,本文采用伊頓法進(jìn)行孔隙壓力的預(yù)測(cè)。首先,建立正常壓實(shí)趨勢(shì)線,目標(biāo)區(qū)塊正常壓實(shí)趨勢(shì)線可表示為:
式中:?tnc為正常趨勢(shì)線上對(duì)應(yīng)的縱波時(shí)差,μs/m。
然后根據(jù)伊頓法計(jì)算地層孔隙壓力[33]:
式中:pp為地層孔隙壓力,MPa;pw為靜水液柱壓力,MPa;e為伊頓指數(shù)。
1.1.3 水平地應(yīng)力計(jì)算模型
考慮到目標(biāo)區(qū)塊的地質(zhì)特征,本文采用黃氏地應(yīng)力模型計(jì)算水平地應(yīng)力[34]:
式中:σH為最大水平地應(yīng)力,MPa;σh為最小水平地應(yīng)力,MPa;ω1為最大水平地應(yīng)力方向構(gòu)造應(yīng)力系數(shù);ω2為最小水平地應(yīng)力方向構(gòu)造應(yīng)力系數(shù)。
構(gòu)造應(yīng)力系數(shù)可通過目標(biāo)區(qū)塊地應(yīng)力實(shí)測(cè)數(shù)據(jù)反演得到,根據(jù)目標(biāo)工區(qū)地應(yīng)力室內(nèi)測(cè)試結(jié)果反演得到的構(gòu)造應(yīng)力系數(shù)分別為ω1=0.505和ω2=0.424。
井壁破裂壓力可通過井周應(yīng)力分布模型和井壁拉應(yīng)力狀態(tài)結(jié)合井壁破裂判據(jù)確定。其中,斜井井壁應(yīng)力模型可表示為[35]
其中,
式中:σrr、σθθ、σzz分別為井壁徑向、切向和軸向應(yīng)力分量,MPa;τθz、τrθ、τrz分別為井壁3個(gè)剪應(yīng)力分量,MPa;pm為井筒壓力,MPa;δ為井壁滲透系數(shù),介于0~1之間;?為孔隙度,%;ψ為井斜角,(°);Ω為井斜方位與水平最大地應(yīng)力方位夾角,(°);θ為井周角,(°);K1為滲流效應(yīng)系數(shù)。
于是,根據(jù)材料力學(xué)理論,井壁可能出現(xiàn)的拉應(yīng)力可表示為
式中:σt為井壁可能出現(xiàn)的拉應(yīng)力,MPa。
最后,將井壁可能出現(xiàn)的拉應(yīng)力代入到最大拉應(yīng)力準(zhǔn)則,如式(11)所示:
式中:ff為井壁破裂破壞函數(shù)。
將全部的巖石力學(xué)、孔隙壓力、地應(yīng)力參數(shù)代入模型中,僅假設(shè)井筒壓力為未知參數(shù),聯(lián)立式(8)~(11)進(jìn)行求解,可求解得到井壁破裂的臨界井筒壓力,即為破裂壓力。
因此,先根據(jù)表1中的公式計(jì)算得到基礎(chǔ)巖石力學(xué)參數(shù),再結(jié)合式(2)~(3)進(jìn)行彈性模量和泊松比的動(dòng)靜態(tài)轉(zhuǎn)換,其次結(jié)合式(4)~(6)計(jì)算垂向應(yīng)力及地層孔隙壓力,然后根據(jù)式(7)計(jì)算水平地應(yīng)力,最后根據(jù)式(8)~(11)計(jì)算得到水平井破裂壓力。
以目標(biāo)區(qū)塊一口水平井為例,取該井3 390.7~5 525.7 m測(cè)井?dāng)?shù)據(jù)進(jìn)行破裂壓力的測(cè)井解釋,測(cè)井解釋結(jié)果如圖1所示。從圖1可以看出:隨著垂深的增加,破裂壓力整體上呈逐漸增加的趨勢(shì),其值從96.472 MPa增加至121.769 MPa,破裂壓力梯度介于2.844 MPa/(100 m)至3.001 MPa/(100 m)之間;在水平段,破裂壓力在116.435~123.816 MPa之間波動(dòng),破裂壓力梯度介于2.870 MPa/(100 m)~3.030 MPa/(100 m)之間,局部存在一些小的突變點(diǎn),但整體上沒有發(fā)生劇烈波動(dòng)。因此,破裂壓力與井深直接相關(guān),在破裂壓力預(yù)測(cè)時(shí),應(yīng)該將井深作為重要的輸入?yún)?shù)。本文將以該井測(cè)井解釋結(jié)果作為神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練和測(cè)試的樣本。
圖1 測(cè)井解釋結(jié)果Fig.1 Log interpretation results
數(shù)據(jù)集質(zhì)量對(duì)模型的性能有顯著的影響,復(fù)雜的數(shù)據(jù)集會(huì)給神經(jīng)網(wǎng)絡(luò)模型帶來不利影響。為此,通過選取特征數(shù)據(jù),可以消除無關(guān)或弱相關(guān)參數(shù)的影響,從而提高模型的預(yù)測(cè)精度。本文采用皮爾遜相關(guān)系數(shù)表征測(cè)井參數(shù)與破裂壓力的相關(guān)性,其計(jì)算公式為[36]
式中:ρX,Y為皮爾遜相關(guān)系數(shù);cov(X,Y)為X和Y的協(xié)方差;σX和σY分別為X和Y的標(biāo)準(zhǔn)差;X、Y為樣本參數(shù);n為樣本數(shù)量;為樣本參數(shù)X的平均值;-Y為樣本參數(shù)Y的平均值。
圖2所示為測(cè)井參數(shù)與破裂壓力的相關(guān)系數(shù)分析結(jié)果。從圖2可以看出:不同測(cè)井參數(shù)與破裂壓力之間的相關(guān)性存在較大的差異,其中,破裂壓力與井深、井斜角、自然伽馬呈正相關(guān)關(guān)系,與巖性密度、縱波時(shí)差、橫波時(shí)差、井徑和補(bǔ)償中子呈負(fù)相關(guān)關(guān)系;根據(jù)表2所示的相關(guān)性強(qiáng)弱判別標(biāo)準(zhǔn)[37],破裂壓力與井斜角、縱波時(shí)差和橫波時(shí)差表現(xiàn)為極強(qiáng)相關(guān),與井深、巖性密度和補(bǔ)償中子表現(xiàn)為強(qiáng)相關(guān),與自然伽馬和井徑表現(xiàn)為弱相關(guān)。整體來看,破裂壓力與不同測(cè)井參數(shù)之間均存在一定的相關(guān)性,相關(guān)性弱的參數(shù)輸入模型,可能會(huì)影響模型的預(yù)測(cè)精度,需要給予適當(dāng)?shù)膶?duì)比和優(yōu)選。
圖2 測(cè)井參數(shù)相關(guān)性分析Fig.2 Correlation analysis of logging parameters
表2 相關(guān)性強(qiáng)弱判斷標(biāo)準(zhǔn)[37]Table 2 Correlation strength criterion[37]
由于深部地層巖性和地質(zhì)情況復(fù)雜,加之測(cè)量儀器自身存在一定誤差,使得測(cè)井?dāng)?shù)據(jù)包含明顯的噪聲信號(hào)。因此,首先采用滑動(dòng)平均濾波對(duì)測(cè)井參數(shù)進(jìn)行濾波降噪,以提高數(shù)據(jù)質(zhì)量?;瑒?dòng)平均濾波通過滑動(dòng)采樣,使用數(shù)據(jù)平均值來替代原有數(shù)據(jù),從而降低原始數(shù)據(jù)的噪聲,測(cè)井參數(shù)滑動(dòng)平均濾波表達(dá)式為[38]
式中:Xk為濾波后的參數(shù)值;L為滑動(dòng)窗口寬度;k為第k個(gè)樣本數(shù)據(jù);m為滑動(dòng)窗口的樣本容量。
滑動(dòng)平均濾波前后的結(jié)果對(duì)比如圖3所示。從圖3可以看出:經(jīng)過濾波降噪后,測(cè)井?dāng)?shù)據(jù)整體趨勢(shì)顯得更加平滑,明顯消除了測(cè)井?dāng)?shù)據(jù)中的噪聲信息。
圖3 測(cè)井參數(shù)濾波前后對(duì)比Fig.3 Comparison of logging parameters before and after filtering
進(jìn)一步,將測(cè)井參數(shù)進(jìn)行歸一化處理,將輸入?yún)?shù)歸一化至0和1之間,從而消除不同測(cè)井參數(shù)之間的維度差異。最大最小歸一化可表示為[39]
式中:X*為歸一化的參數(shù)值;Xmax和Xmin分別為參數(shù)的最大和最小值。
最后,將處理好的數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集,其中,訓(xùn)練集為3 390.7~5 098.7 m井段的測(cè)井?dāng)?shù)據(jù)和破裂壓力測(cè)井解釋數(shù)據(jù),在訓(xùn)練集中隨機(jī)抽取30%的數(shù)據(jù)作為驗(yàn)證集,而測(cè)試集為5 098.7~5 525.7 m井段的測(cè)井?dāng)?shù)據(jù)和破裂壓力測(cè)井解釋數(shù)據(jù)。訓(xùn)練集和驗(yàn)證集用于建立和評(píng)估模型,測(cè)試集用于測(cè)試模型的預(yù)測(cè)準(zhǔn)確性。因此,在使用訓(xùn)練集和驗(yàn)證集構(gòu)建和評(píng)估模型之后,保留性能最佳的模型參數(shù)并將其用于測(cè)試。
常見的神經(jīng)網(wǎng)絡(luò)有前饋神經(jīng)網(wǎng)絡(luò)、反饋神經(jīng)網(wǎng)絡(luò)和圖神經(jīng)網(wǎng)絡(luò)3種,考慮到破裂壓力的預(yù)測(cè)屬于回歸問題,重點(diǎn)在于建立測(cè)井?dāng)?shù)據(jù)與破裂壓力之間的非線性映射關(guān)系。因此,選擇前饋神經(jīng)網(wǎng)絡(luò)和反饋神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)地層破裂壓力。為此,本文選擇多層感知機(jī)(MLP)和深度神經(jīng)網(wǎng)絡(luò)(DNN)2種典型的前饋神經(jīng)網(wǎng)絡(luò)模型、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)2種典型的反饋神經(jīng)網(wǎng)絡(luò)模型,進(jìn)行地層破裂壓力的預(yù)測(cè),進(jìn)而優(yōu)選出適合的神經(jīng)網(wǎng)絡(luò)模型。
MLP模型是一種全連接神經(jīng)網(wǎng)絡(luò),通過調(diào)整神經(jīng)元權(quán)重,使模型的預(yù)測(cè)誤差最小,從而實(shí)現(xiàn)模型的訓(xùn)練并用于結(jié)果預(yù)測(cè)[40]。MLP模型在感知機(jī)模型的基礎(chǔ)上增加了神經(jīng)元的疊加嵌套程度,并且在每一層的輸入輸出之間引入激活函數(shù),使得MLP模型獲得了強(qiáng)大的學(xué)習(xí)能力。由于MLP的嵌套特性,也使其模型的復(fù)雜度較高,參數(shù)數(shù)量較大,會(huì)出現(xiàn)梯度消失和梯度爆炸問題。圖4所示為一個(gè)具有2個(gè)隱層的MLP模型網(wǎng)絡(luò)結(jié)構(gòu),其輸入數(shù)據(jù)通過隱層進(jìn)行計(jì)算后,由輸出層神經(jīng)元進(jìn)行輸出。隱層的計(jì)算過程可表示為fm(WmX+bm),其中,fm為MLP模型的激活函數(shù),Wm為MLP模型的權(quán)重矩陣,X為輸入測(cè)井?dāng)?shù)據(jù),bm為MLP模型的偏置矩陣。將測(cè)井?dāng)?shù)據(jù)經(jīng)輸入層輸入到MLP模型中,通過激活函數(shù)建立測(cè)井?dāng)?shù)據(jù)與破裂壓力之間的非線性映射關(guān)系,在輸出層將得到破裂壓力預(yù)測(cè)結(jié)果Y。
圖4 MLP網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 MLP network structure
DNN模型[41]的網(wǎng)絡(luò)結(jié)構(gòu)與MLP模型基本相同,但整體結(jié)構(gòu)更為復(fù)雜,擁有更多的隱層和激活函數(shù),而且包含了前向和反向傳播兩個(gè)過程,能夠有效解決MLP模型中存在的梯度消失和梯度爆炸的問題,但與MLP模型相同,DNN模型也無法對(duì)時(shí)間序列上的變化進(jìn)行建模。圖5所示為一個(gè)具有4個(gè)隱層的DNN模型網(wǎng)絡(luò)結(jié)構(gòu),其中,前向傳播是利用權(quán)重矩陣Wd和偏置矩陣bd對(duì)輸入?yún)?shù)X進(jìn)行處理,通過多個(gè)隱層的激活方式處理后,將最終計(jì)算結(jié)果作為結(jié)果輸出;而反向傳播是通過梯度下降法迭代優(yōu)化求解損失函數(shù)最小值,找到隱層和輸出層對(duì)應(yīng)的權(quán)重Wd和偏置bd,使所有訓(xùn)練樣本輸入計(jì)算的輸出盡可能接近樣本真實(shí)值。DNN模型的計(jì)算公式可以表示為
圖5 DNN網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 DNN network structure
式中:fd為DNN模型激活函數(shù);aj-1為第j-1層特征向量;a1為輸入向量X;bd(j-1)為第j-1層的偏置矩陣;Wd(j-1)為第j-1層的權(quán)重矩陣;Y為輸出向量;j為DNN模型的隱層數(shù)量。
RNN模型與普通全連接神經(jīng)網(wǎng)絡(luò)不同,RNN模型隱層中的輸入輸出是具有時(shí)序性的[42],即隱層的輸出值受到輸入值和上一時(shí)刻輸出值的影響。相比于全連接神經(jīng)網(wǎng)絡(luò)模型,RNN模型能夠更有效地進(jìn)行序列數(shù)據(jù)的回歸預(yù)測(cè),但基礎(chǔ)的RNN模型能處理一定的短期依賴,無法處理長期依賴問題,當(dāng)序列較長時(shí),序列后部的梯度很難反向傳播到前面的序列,產(chǎn)生了梯度消失問題。圖6所示為RNN模型的網(wǎng)絡(luò)結(jié)構(gòu)和循環(huán)單元結(jié)構(gòu),圖中{X1,X2,…,Xn}為輸入向量,Y為輸出向量,S表示隱層的狀態(tài)矩陣。RNN中的隱層狀態(tài)和輸出值由下式進(jìn)行計(jì)算:
圖6 RNN網(wǎng)絡(luò)結(jié)構(gòu)及循環(huán)單元結(jié)構(gòu)Fig.6 RNN network structure and recurrent unit structure
式中:Xt為t時(shí)刻的輸入向量;Yt為t時(shí)刻的輸出向量;St、St-1分別為t時(shí)刻和t-1時(shí)刻隱層的狀態(tài)矩陣;fr、gr分別為RNN模型隱層和輸出層的激活函數(shù);U、Wr、V分別為輸入層、隱層、輸出層的權(quán)重矩陣;bS、bY分別為隱層、輸出層的偏置矩陣。
LSTM模型通過循環(huán)單元中輸入門、遺忘門和輸出門來更新細(xì)胞狀態(tài),解決了RNN模型中存在的梯度消失與爆炸問題[43],但是LSTM的結(jié)構(gòu)表明,模型中每個(gè)神經(jīng)元都有4個(gè)全連接層,如果時(shí)間序列跨度較大,且網(wǎng)絡(luò)層數(shù)較多,則會(huì)出現(xiàn)計(jì)算量大、耗時(shí)多的問題。LSTM模型的循環(huán)單元結(jié)構(gòu)如圖7所示,主要包括遺忘階段、選擇記憶階段、更新階段和輸出階段4個(gè)過程[44]。
圖7 LSTM循環(huán)單元結(jié)構(gòu)Fig.7 Recurrent unit structure of LSTM
遺忘階段可定義為對(duì)輸出數(shù)據(jù)進(jìn)行選擇性遺忘,決定從細(xì)胞狀態(tài)中丟棄的信息。計(jì)算公式為
選擇記憶階段有選擇地確定存放在細(xì)胞狀態(tài)中的新信息,計(jì)算公式可表示為:
更新階段通過結(jié)合遺忘門、上一層細(xì)胞記憶值和細(xì)胞記憶候選值來決定和更新當(dāng)前細(xì)胞狀態(tài),計(jì)算公式可表示為
輸出階段將決定當(dāng)前狀態(tài)的輸出值,計(jì)算公式如下:
式中:Ft為t時(shí)刻遺忘門的狀態(tài)矩陣;σ為Sigmoid函數(shù);ht-1為上一時(shí)刻隱層的狀態(tài)矩陣;WF、WI、WC、Wo分別為Ft、It、、ot的權(quán)重矩陣;bF、bI、bC、bo分別為Ft、It、、ot的偏置矩陣;Xt為t時(shí)刻的輸入向量;It為t時(shí)刻輸入門的狀態(tài)矩陣;為t時(shí)刻的候選值矩陣;Ct為t時(shí)刻更新后細(xì)胞的狀態(tài)矩陣;Ct-1為t-1時(shí)刻細(xì)胞的狀態(tài)矩陣;ot為t時(shí)刻輸出門的狀態(tài)矩陣;ht為t時(shí)刻隱層的狀態(tài)矩陣。
為了分析和評(píng)價(jià)水平井破裂壓力預(yù)測(cè)結(jié)果的優(yōu)劣,選用決定系數(shù)、均方誤差、平均絕對(duì)誤差和平均絕對(duì)百分比誤差4個(gè)指標(biāo)來評(píng)估模型預(yù)測(cè)性能,破裂壓力預(yù)測(cè)結(jié)果的評(píng)價(jià)指標(biāo)可表示為[45]:
式中:R2為決定系數(shù);EMSE為均方誤差,MPa2;EMAE為平均絕對(duì)誤差,MPa;EMAPE為平均絕對(duì)百分比誤差,%;Yi為破裂壓力實(shí)際值,MPa;為破裂壓力預(yù)測(cè)值,MPa。
在上述4個(gè)評(píng)價(jià)指標(biāo)中,決定系數(shù)越接近于1,均方誤差、平均絕對(duì)誤差和平均絕對(duì)百分比誤差越接近于0,模型的預(yù)測(cè)精度越高。
對(duì)于神經(jīng)網(wǎng)絡(luò)模型,預(yù)測(cè)結(jié)果的準(zhǔn)確與否很大程度上取決于訓(xùn)練數(shù)據(jù)樣本的質(zhì)量,而且,不同神經(jīng)網(wǎng)絡(luò)模型的適用性也存在差異。因此,為了選取最優(yōu)的輸入?yún)?shù)組合以及最合適的神經(jīng)網(wǎng)絡(luò)模型,首先,分析了不同相關(guān)程度的輸入?yún)?shù)組合對(duì)破裂壓力預(yù)測(cè)的影響,如表3所示,組合1選取的是與破裂壓力表現(xiàn)為極強(qiáng)相關(guān)的參數(shù)組合,組合2選取的是與破裂壓力表現(xiàn)為極強(qiáng)和強(qiáng)相關(guān)的參數(shù)組合,組合3選取的是與破裂壓力表現(xiàn)為極強(qiáng)、強(qiáng)和弱相關(guān)的參數(shù)組合;其次,為了驗(yàn)證MLP、RNN、DNN和LSTM這4種模型在不同輸入?yún)?shù)組合下的破裂壓力預(yù)測(cè)效果,將3種參數(shù)組合分別輸入4種模型進(jìn)行破裂壓力預(yù)測(cè),預(yù)測(cè)結(jié)果如表4所示。從表4可以看出:1) 在采用相同神經(jīng)網(wǎng)絡(luò)模型的情況下,輸入?yún)?shù)組合2的預(yù)測(cè)效果最好,其次為輸入?yún)?shù)組合3,輸入?yún)?shù)組合1的預(yù)測(cè)效果最差,說明加入弱相關(guān)參數(shù)或去除強(qiáng)相關(guān)參數(shù)后,神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)結(jié)果均會(huì)明顯增大,因此,在輸入?yún)?shù)選擇時(shí),應(yīng)盡可能選擇相關(guān)性較強(qiáng)的參數(shù)和組合,本文建議采用參數(shù)組合2:井斜、橫波時(shí)差、縱波時(shí)差、井深、巖性密度、補(bǔ)償中子作為破裂壓力預(yù)測(cè)的輸入?yún)?shù);2) 在輸入?yún)?shù)相同的情況下,MLP模型預(yù)測(cè)效果最差,其次為DNN模型和RNN模型,LSTM模型的預(yù)測(cè)效果最好,說明LSTM模型更適合用于水平井破裂壓力的預(yù)測(cè),因此,本文建議采用LSTM模型預(yù)測(cè)水平井破裂壓力。
表3 輸入?yún)?shù)組合Table 3 Input parameters combinations
表4 各模型不同輸入?yún)?shù)組合預(yù)測(cè)結(jié)果Table 4 Prediction results of different input parameters of each model
神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對(duì)LSTM模型的預(yù)測(cè)性能具有顯著的影響,選擇合適的隱層和神經(jīng)元數(shù)量可以使模型具有最佳的綜合性能。為此,通過改變LSTM模型隱層的層數(shù)以及各層神經(jīng)元的數(shù)量,分別比較了隱層1~4層、神經(jīng)元數(shù)量50~300情況下LSTM模型的破裂壓力預(yù)測(cè)結(jié)果,結(jié)果如圖8所示。從圖8可以看出:在每層神經(jīng)元數(shù)量相同的情況下,隨著隱層數(shù)量的增加,LSTM模型預(yù)測(cè)的平均絕對(duì)誤差、平均絕對(duì)百分比誤差和均方誤差表現(xiàn)為先降低后增加,而決定系數(shù)表現(xiàn)為先增加后降低,當(dāng)隱層數(shù)量為3層時(shí),LSTM模型的預(yù)測(cè)誤差最低;在隱層數(shù)量相同的情況下,隨著神經(jīng)元數(shù)量的增加,LSTM模型預(yù)測(cè)的平均絕對(duì)誤差、平均絕對(duì)百分比誤差和均方誤差也表現(xiàn)為先降低后增加,而決定系數(shù)表現(xiàn)為先增加后降低,當(dāng)神經(jīng)元數(shù)量為200個(gè)時(shí),LSTM模型的預(yù)測(cè)誤差最低;因此,當(dāng)LSTM模型網(wǎng)絡(luò)結(jié)構(gòu)中隱層數(shù)量為3層,神經(jīng)元數(shù)量為200個(gè)時(shí),LSTM模型預(yù)測(cè)破裂壓力的效果最好。
圖8 不同網(wǎng)絡(luò)結(jié)構(gòu)LSTM模型的評(píng)價(jià)指標(biāo)Fig.8 Evaluation index of LSTM model under different structure
圖9所示為不同網(wǎng)絡(luò)結(jié)構(gòu)LSTM模型訓(xùn)練所需的時(shí)間。從圖9可以看出:隨著隱層數(shù)量和神經(jīng)元數(shù)量的增加,模型的計(jì)算時(shí)間呈階梯增長,說明隱層數(shù)量和神經(jīng)元數(shù)量的增加會(huì)導(dǎo)致模型訓(xùn)練效率的迅速下降。因此,綜合考慮LSTM模型的預(yù)測(cè)效果和計(jì)算效率,建議選擇隱層數(shù)量為3層、每層所含神經(jīng)元數(shù)量為200個(gè)的LSTM模型進(jìn)行破裂壓力預(yù)測(cè)。
圖9 不同結(jié)構(gòu)下模型的計(jì)算時(shí)間Fig.9 Calculation time of models with different structures
除了網(wǎng)絡(luò)結(jié)構(gòu)參數(shù),模型的超參數(shù)也會(huì)影響LSTM模型的預(yù)測(cè)精度和性能,尤其是模型的學(xué)習(xí)率、迭代次數(shù)以及批尺寸等超參數(shù)。為了優(yōu)化模型的超參數(shù),通常采用網(wǎng)格搜索、貝葉斯優(yōu)化、遺傳算法等方法進(jìn)行優(yōu)化[46]。本文選擇網(wǎng)格搜索法進(jìn)行超參數(shù)優(yōu)化,根據(jù)參數(shù)的一般范圍,設(shè)置學(xué)習(xí)率為0.005、0.010、0.015和0.020,迭代次數(shù)為100、150、200和250,批尺寸為16、32、64和128,然后對(duì)設(shè)定參數(shù)進(jìn)行循環(huán)遍歷計(jì)算,最后選擇均方誤差最小的超參數(shù)作為優(yōu)化的超參數(shù)組合。網(wǎng)格搜索優(yōu)化結(jié)果如圖10所示,為了便于觀察,使用不同顏色將均方誤差的值劃分為8個(gè)區(qū)間,從紅色到藍(lán)色均方誤差逐漸增大;通過氣泡大小表示均方誤差的相對(duì)大小,氣泡越小則均方誤差越小、模型性能越好。由圖10可以看出:顏色為紅色且氣泡最小的點(diǎn)即為最佳超參數(shù)組合,網(wǎng)格搜索得到的最佳超參數(shù)組合如下:學(xué)習(xí)率為0.005、迭代次數(shù)為200次、批尺寸為64。
圖10 網(wǎng)格搜索結(jié)果Fig.10 Grid search results
在LSTM模型超參數(shù)優(yōu)化的基礎(chǔ)上,采用參數(shù)優(yōu)化前后的LSTM模型分別預(yù)測(cè)測(cè)試集井段的地層破裂壓力,并評(píng)估模型的預(yù)測(cè)指標(biāo),結(jié)果如圖11和表5所示。從圖11和表5可以看出:經(jīng)過超參數(shù)優(yōu)化后,LSTM模型的預(yù)測(cè)精度顯著改善,其平均絕對(duì)誤差由優(yōu)化前的0.135 MPa降低至0.124 MPa,均方誤差由0.199 MPa2降低至0.011 MPa2,平均絕對(duì)百分比誤差至0.175%降低至0.106%,決定系數(shù)至0.913上升至0.996,說明通過網(wǎng)格搜索法優(yōu)化的超參數(shù)組合可以有效提升模型預(yù)測(cè)效果和準(zhǔn)確性。推薦采用的超參數(shù)為:學(xué)習(xí)率0.005、迭代次數(shù)200次、批尺寸64。
圖11 超參數(shù)優(yōu)化前后破裂壓力預(yù)測(cè)對(duì)比結(jié)果Fig.11 Comparison of prediction results of fracture pressure before and after hyperparameter optimization
表5 超參數(shù)優(yōu)化前后模型預(yù)測(cè)指標(biāo)對(duì)比Table 5 Comparison of model prediction indices before and after hyperparameter optimization
1) 破裂壓力與井深、井斜角、自然伽馬等測(cè)井參數(shù)呈正相關(guān)關(guān)系,與橫波時(shí)差、巖性密度、井徑、縱波時(shí)差和補(bǔ)償中子等測(cè)井參數(shù)呈負(fù)相關(guān)關(guān)系;破裂壓力與井斜角、橫波時(shí)差和縱波時(shí)差之間呈現(xiàn)為極強(qiáng)相關(guān),與井深、巖性密度和補(bǔ)償中子呈現(xiàn)為強(qiáng)相關(guān),與井徑和自然伽馬呈現(xiàn)為弱相關(guān)。
2) 無論采用何種神經(jīng)網(wǎng)絡(luò)模型,輸入?yún)?shù)組合2的預(yù)測(cè)效果均最好,建議采用井斜、橫波時(shí)差、縱波時(shí)差、井深、巖性密度、補(bǔ)償中子等6種測(cè)井參數(shù)預(yù)測(cè)地層破裂壓力;在輸入?yún)?shù)相同的情況下,MLP模型預(yù)測(cè)效果最差,其次為DNN模型和RNN模型,而LSTM模型的預(yù)測(cè)效果最好,說明LSTM模型更適合用水平井破裂壓力的預(yù)測(cè)。
3) 在神經(jīng)元數(shù)量相同的情況下,隨著隱層數(shù)量的增加,LSTM模型預(yù)測(cè)誤差先降低后增加,而決定系數(shù)先增加后降低,當(dāng)隱層數(shù)量為3層時(shí),LSTM模型的預(yù)測(cè)誤差最低;在隱層數(shù)量相同的情況下,隨著神經(jīng)元數(shù)量的增加,LSTM模型預(yù)測(cè)誤差先降低后增加,而決定系數(shù)先增加后降低,當(dāng)神經(jīng)元數(shù)量為200個(gè)時(shí),LSTM模型的預(yù)測(cè)誤差最低;推薦LSTM模型的隱層數(shù)量為3層,神經(jīng)元數(shù)量為200個(gè)。
4) 經(jīng)過超參數(shù)優(yōu)化后,LSTM模型預(yù)測(cè)的平均絕對(duì)誤差由優(yōu)化前的0.135 MPa降低至0.124 MPa,均方誤差由0.199 MPa2降低至0.011 MPa2,平均絕對(duì)百分比誤差至0.175%降低至0.106%,決定系數(shù)至0.913上升至0.996,說明超參數(shù)優(yōu)化可以顯著提升LSTM模型的預(yù)測(cè)效果,推薦采用的超參數(shù)為:學(xué)習(xí)率0.005、迭代次數(shù)200次、批尺寸64。
中南大學(xué)學(xué)報(bào)(自然科學(xué)版)2024年1期