查文舒,喬 奇,劉子雄,李道倫
(1.合肥工業(yè)大學(xué) 數(shù)學(xué)學(xué)院,安徽 合肥 230601; 2.中海油田服務(wù)股份有限公司 油田生產(chǎn)研究院,天津 300450)
測(cè)井?dāng)?shù)據(jù)在研究地層結(jié)構(gòu)和地下油氣資源分布起到至關(guān)重要的作用,地質(zhì)勘探工程師通過對(duì)測(cè)井?dāng)?shù)據(jù)的分析可以清晰地摸清地下油氣儲(chǔ)層集的狀況,并以測(cè)井?dāng)?shù)據(jù)為基礎(chǔ)建立更為準(zhǔn)確的地質(zhì)模型。然而在現(xiàn)實(shí)開采的過程中,由于地殼自然變動(dòng)和一些人為干預(yù),經(jīng)常會(huì)出現(xiàn)測(cè)井?dāng)?shù)據(jù)與真實(shí)數(shù)據(jù)相差很大或者缺失的情況,重新測(cè)井會(huì)付出很多人力和物力。為了避免資源浪費(fèi),研究者根據(jù)已獲得的數(shù)據(jù)生成目標(biāo)測(cè)井曲線。在沒有機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的情況下,研究者提出根據(jù)地質(zhì)信息建立一些模型預(yù)測(cè)油氣田產(chǎn)量[1]和反演測(cè)井曲線[2]。然而有些物理模型是在研究者自己定義的很多假設(shè)情況下建立的,沒有以真實(shí)的復(fù)雜地層情況為依據(jù),在建立模型時(shí)也摻雜著研究者的主觀考慮,可能導(dǎo)致生成的測(cè)井曲線與真實(shí)的測(cè)井曲線存在較大差異。此外,由于各種測(cè)井?dāng)?shù)據(jù)之間存在不同的內(nèi)在聯(lián)系,部分研究者應(yīng)用一些傳統(tǒng)的分析方法(如回歸分析法、GIS組件技術(shù)等)完成對(duì)測(cè)井曲線的生成[3-4]。但是,由于地下情況和地質(zhì)存在很強(qiáng)的不確定性,數(shù)據(jù)間的映射關(guān)系也表現(xiàn)得極其復(fù)雜,傳統(tǒng)方法的預(yù)測(cè)效果不是很理想。
近年來,隨著機(jī)器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)的發(fā)展,人工神經(jīng)網(wǎng)絡(luò)方法逐漸在科學(xué)和工程領(lǐng)域得到廣泛的應(yīng)用,不少研究者使用人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)測(cè)井曲線[5]、氣井積液[6]、碳酸鹽巖儲(chǔ)層孔隙度[7]和水合物的生成[8]。人工神經(jīng)網(wǎng)絡(luò)是一種點(diǎn)對(duì)點(diǎn)的映射關(guān)系,與傳統(tǒng)的預(yù)測(cè)方法相比,這種方法能夠反映測(cè)井?dāng)?shù)據(jù)之間存在的非線性關(guān)系。但是這種方法忽略了測(cè)井曲線隨深度變化的影響和數(shù)據(jù)的前后聯(lián)系,尤其是無法有效處理序列數(shù)據(jù)問題[9],違背了地質(zhì)學(xué)分析思想,因此生成的測(cè)井曲線的準(zhǔn)確性需要進(jìn)一步提高。
人工神經(jīng)網(wǎng)絡(luò)對(duì)先前的信息無法進(jìn)行保存和利用,不能預(yù)測(cè)與序列有關(guān)的數(shù)據(jù),有研究者通過結(jié)合小波變換[10]、奇異譜分析[11]等一系列方法,對(duì)人工神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),但是改進(jìn)效果并不理想。隨著智能時(shí)代的到來,循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)[12]逐漸被地質(zhì)研究者所應(yīng)用,RNN單元內(nèi)存在一個(gè)自循環(huán)結(jié)構(gòu),可以使上一個(gè)序列特征輸出與下一個(gè)序列特征輸入一同作為模型的輸入被傳送到網(wǎng)絡(luò)模型中,保留了之前狀態(tài)的信息,解決了數(shù)據(jù)之間前后互相影響的問題。RNN在學(xué)習(xí)過程中可以使有效信息在網(wǎng)絡(luò)中流動(dòng)使用,基于RNN的方法不僅考慮了各條測(cè)井曲線之間的相互聯(lián)系而且還展示出測(cè)井曲線隨井深度變化的趨勢(shì),符合地質(zhì)學(xué)分析思想。
長(zhǎng)短期記憶(long short-term memory, LSTM)[13]神經(jīng)網(wǎng)絡(luò)是一種改進(jìn)和完善的RNN模型;該網(wǎng)絡(luò)架構(gòu)通過對(duì)細(xì)胞單元精心設(shè)計(jì),將“門”結(jié)構(gòu)使用在每個(gè)自循環(huán)結(jié)構(gòu)中,通過“門”結(jié)構(gòu)模仿生物神經(jīng)元信息的傳導(dǎo)模式,對(duì)信息去除和保留做出選擇,解決了普通RNN中梯度產(chǎn)生的問題。在機(jī)器翻譯評(píng)測(cè)[14]、交通流預(yù)測(cè)[15]、故障時(shí)間序列預(yù)測(cè)[16]等領(lǐng)域都取得了較好的結(jié)果。部分學(xué)者運(yùn)用LSTM網(wǎng)絡(luò)方法進(jìn)行了測(cè)井曲線的補(bǔ)全與人工合成[17]、儲(chǔ)層物性參數(shù)預(yù)測(cè)[18]、鉆前測(cè)井曲線預(yù)測(cè)[19]等,也取得了較好的效果。雙向長(zhǎng)短期記憶(bidirectional long short-term memory, Bi-LSTM)[20]神經(jīng)網(wǎng)絡(luò)增加了從后向前的計(jì)算過程,對(duì)全局的概念有更好的掌握。已有學(xué)者運(yùn)用Bi-LSTM研究監(jiān)控機(jī)器健康[21]、英語(yǔ)閱讀理解[22]等,也都取得了較好的效果。
相關(guān)系數(shù)是衡量數(shù)據(jù)之間是否有聯(lián)系的量,相關(guān)系數(shù)的大小可以反映數(shù)據(jù)之間相關(guān)程度的高低。在同一地層下,不同測(cè)井曲線之間也會(huì)存在不同的相關(guān)性,根據(jù)相關(guān)性的大小,選擇合適的預(yù)測(cè)模型,在一定程度上能夠減小樣本數(shù)據(jù),提高預(yù)測(cè)精度。本文利用測(cè)井曲線之間的相關(guān)性,使用Bi-LSTM,完成對(duì)測(cè)井曲線的預(yù)測(cè)。
RNN的輸入不同于一般的神經(jīng)網(wǎng)絡(luò),它是基于時(shí)間特殊性考慮的,每個(gè)單元的輸入不僅包含了當(dāng)前需要輸入的信息,而且還包括前面狀態(tài)的信息。RNN的展開示例如圖1所示。
圖1 RNN的展開示例
從圖1可以看出,RNN實(shí)質(zhì)上是對(duì)序列中的每個(gè)單元作同樣的計(jì)算,循環(huán)的過程就就是對(duì)h連續(xù)執(zhí)行的過程。
在實(shí)際操作的過程中,RNN僅對(duì)前面幾步的信息有記憶,不能做到很長(zhǎng)時(shí)間的記憶,因此一般結(jié)構(gòu)的RNN逐漸淡出了大家的視野。文獻(xiàn)[13]提出LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),大大延長(zhǎng)了記憶周期,可以保留之前很長(zhǎng)時(shí)間的信息。LSTM單元細(xì)胞結(jié)構(gòu)如圖2所示。
LSTM可以通過一個(gè)特殊的結(jié)構(gòu)“門”精準(zhǔn)地控制單元狀態(tài)信息的增加和減少?!伴T”會(huì)控制信息傳輸?shù)谋壤?下面對(duì)所謂的“門”結(jié)構(gòu)進(jìn)行解釋。
圖2 LSTM單元細(xì)胞結(jié)構(gòu)
第1個(gè)“門”是遺忘門,它的作用是將一部分信息從單元狀態(tài)中刪除。起決策作用的是sigmoid層,遺忘門根據(jù)之前的狀態(tài)向量值st-1和當(dāng)前的輸入向量值xt對(duì)所有的單元狀態(tài)做出選擇。遺忘門表達(dá)式為:
ft=σ(Wf[xt,st-1]+bf)
(1)
其中:σ為激活函數(shù);Wf為權(quán)值矩陣;bf為偏置項(xiàng)。
第2個(gè)“門”是輸入門。RNN不僅需要“忘記”之前的部分信息,重要的是補(bǔ)充最新的信息到記憶中,這就需要通過輸入門來完成這一操作,它可決定單元狀態(tài)中哪些新信息可以被保留下來,輸入門表達(dá)式為:
it=σ(Wi[xt,st-1]+bi)
(2)
其中:Wi為權(quán)值矩陣;bi為偏置項(xiàng)。
(3)
其中:Wc為權(quán)值矩陣;bc為偏置項(xiàng)。
(4)
其中,*為哈達(dá)瑪積。
第3個(gè)“門”是輸出門,表達(dá)式為:
ot=σ(Wo[xt,st-1]+bo)
(5)
其中:Wo為權(quán)值矩陣;bo為偏置項(xiàng)。
當(dāng)前時(shí)刻的單元狀態(tài)值ct有多少信息可以作為L(zhǎng)STM的輸出,st由輸出門ot和tanh共同決定,表達(dá)式為:
st=ottanhct
(6)
Bi-LSTM網(wǎng)絡(luò)模型結(jié)合時(shí)間序列起始點(diǎn)和終點(diǎn)各自執(zhí)行的LSTM,輸出結(jié)果由向前和向后的LSTM狀態(tài)同時(shí)決定。Bi-LSTM網(wǎng)絡(luò)模型的示意圖如圖3所示。
圖3 Bi-LSTM模型
檢驗(yàn)各變量之間是否存在相關(guān)性可以對(duì)其作相關(guān)性分析,可以了解變量之間的變化趨勢(shì),確定變量間是否存在關(guān)聯(lián),對(duì)變量數(shù)據(jù)有初步的了解。因此本文對(duì)一些已知的測(cè)井曲線進(jìn)行相關(guān)性分析,通過曲線之間的相關(guān)性程度大小選擇合適的測(cè)井曲線,再利用神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)其他測(cè)井曲線,不僅大大節(jié)省了計(jì)算量,而且使預(yù)測(cè)精度大大提高。相關(guān)系數(shù)計(jì)算公式為:
(7)
本文采用MinMaxScaler歸一化方法對(duì)神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)進(jìn)行處理,使得各種測(cè)井?dāng)?shù)據(jù)處于合理的分布范圍,防止輸入數(shù)據(jù)之間不同數(shù)量級(jí)影響預(yù)測(cè)結(jié)果。歸一化的計(jì)算公式為:
(8)
其中:x為輸入的測(cè)井?dāng)?shù)據(jù)樣本;x′為歸一化的測(cè)井?dāng)?shù)據(jù);xmin為樣本中的最小值;xmax為樣本中的最大值。對(duì)測(cè)井?dāng)?shù)據(jù)進(jìn)行歸一化處理,不僅沒有改變數(shù)據(jù)間存在的相關(guān)性,而且還解決了數(shù)據(jù)間不同數(shù)量級(jí)和取值范圍的影響。
Bi-LSTM網(wǎng)絡(luò)模型的訓(xùn)練過程大體上可以分為如下5個(gè)步驟:① 從訓(xùn)練序列起始點(diǎn)向前執(zhí)行,計(jì)算Bi-LSTM的輸出值;② 從訓(xùn)練序列終點(diǎn)向后執(zhí)行,計(jì)算Bi-LSTM的輸出值;③ 將輸出值與真實(shí)值進(jìn)行比較,計(jì)算兩者之間的誤差,然后按照與步驟① 和步驟② 計(jì)算相反的方向計(jì)算隱藏層之間和各細(xì)胞單元之間的誤差;④ 根據(jù)步驟③計(jì)算的誤差,分別計(jì)算各自對(duì)應(yīng)的權(quán)重和偏置梯度;⑤ 根據(jù)梯度,應(yīng)用Adam優(yōu)化算法[22]對(duì)相應(yīng)的權(quán)重和偏置進(jìn)行更新,輸出預(yù)測(cè)的測(cè)井曲線序列。
Bi-LSTM網(wǎng)絡(luò)訓(xùn)練預(yù)測(cè)框架流程圖如圖4所示。
圖4 Bi-LSTM網(wǎng)絡(luò)訓(xùn)練預(yù)測(cè)框架
本文采用均方誤差(mean square error)EMS、平均絕對(duì)誤差(mean absolute error)EMA對(duì)預(yù)測(cè)效果進(jìn)行評(píng)價(jià),其計(jì)算公式分別為:
(9)
(10)
為了測(cè)試Bi-LSTM的預(yù)測(cè)效果,從以下2個(gè)實(shí)驗(yàn)進(jìn)行驗(yàn)證:Bi-LSTM與LSTM預(yù)測(cè)對(duì)比實(shí)驗(yàn)、基于測(cè)井曲線相關(guān)性預(yù)測(cè)測(cè)井曲線實(shí)驗(yàn)。實(shí)驗(yàn)?zāi)康娜缦?
(1) 對(duì)比Bi-LSTM與LSTM的性能。
(2) 評(píng)價(jià)Bi-LSTM基于測(cè)井曲線相關(guān)性預(yù)測(cè)其他測(cè)井曲線的能力。
本實(shí)驗(yàn)采用的是某致密氣井的真實(shí)測(cè)井?dāng)?shù)據(jù),分別利用LSTM和Bi-LSTM基于同一口井中的測(cè)井曲線進(jìn)行預(yù)測(cè),并對(duì)比2種方法所預(yù)測(cè)生成的曲線的準(zhǔn)確度。從井中獲得測(cè)井曲線有井斜DEV、伽馬GR、光電吸收截面指數(shù)PE、孔隙度POR、泥質(zhì)含量VSH、垂直校正砂巖含量VSND、有機(jī)含碳量TOC和補(bǔ)償中子CN 等8條測(cè)井曲線。測(cè)井段井深為2 700~4 500 m,總長(zhǎng)為1 800 m,取樣間隔為0.1 m。訓(xùn)練集由2 700~4 100 m測(cè)井段組成,測(cè)試集由4 100~4 500 m測(cè)井段組成。實(shí)驗(yàn)中訓(xùn)練數(shù)據(jù)有14 000組,測(cè)試數(shù)據(jù)有4 000組,利用DEV、GR、PE、POR、VSH、VSND、TOC的7條測(cè)井曲線作為模型的輸入預(yù)測(cè)測(cè)井曲線CN。采用單向LSTM和Bi-LSTM 2個(gè)模型,模型中分別包含2個(gè)長(zhǎng)短期記憶層,其中隱藏單元個(gè)數(shù)是50,模型最后再接一個(gè)全連接層,用來輸出結(jié)果。為了防止出現(xiàn)過擬合,模型中加入丟棄率為20%的丟棄操作(dropout)。LSTM模型和Bi-LSTM模型對(duì)CN曲線的預(yù)測(cè)結(jié)果如圖5、圖6所示。
圖5 單向LSTM模型對(duì)CN曲線的預(yù)測(cè)結(jié)果
圖6 Bi-LSTM模型對(duì)CN曲線的預(yù)測(cè)結(jié)果
從圖5可以看出,LSTM模型的預(yù)測(cè)值與真實(shí)值存在較大的誤差。從圖6可以看出,Bi-LSTM的整體預(yù)測(cè)結(jié)果比LSTM模型更加接近真實(shí)值,能反映測(cè)井曲線的真實(shí)變化情況,預(yù)測(cè)精度比LSTM模型有顯著的提高。LSTM和Bi-LSTM 2種模型預(yù)測(cè)誤差值見表1所列,其中EMS減小58.6%、EMA減小38.2%。結(jié)果表明,Bi-LSTM模型比LSTM模型預(yù)測(cè)精度有很大提高,預(yù)測(cè)結(jié)果更加具有可信度,在測(cè)井曲線預(yù)測(cè)方面,Bi-LSTM模型更加實(shí)用和有效。
表1 LSTM與Bi-LSTM誤差值表
本實(shí)驗(yàn)采用的是某地區(qū)致密氣井的測(cè)井曲線,包含聲波時(shí)差A(yù)C、井徑CAL、補(bǔ)償中子CN、井斜方位DAZ、密度DEN、井斜DEV、伽馬GR、光電吸收截面指數(shù)PE、滲透率PERM、孔隙度POR、有機(jī)碳含量TOC、垂直校正白云巖含量VDOL、垂直校正白灰?guī)r含量VLIM、垂直校正砂巖含量VSND和泥質(zhì)含量VSH 15條測(cè)井曲線。測(cè)井段井深為2 700~4 500 m,總長(zhǎng)為1 800 m,取樣間隔為0.1 m。實(shí)驗(yàn)共有14 000組訓(xùn)練數(shù)據(jù),4 000組測(cè)試數(shù)據(jù),訓(xùn)練集由2 700~4 100 m測(cè)井段組成,測(cè)試集由4 100~4 500 m測(cè)井段組成。采用Bi-LSTM模型,由2個(gè)記憶層和1個(gè)全連接層構(gòu)成,其中記憶層中隱藏元個(gè)數(shù)為70。為了避免出現(xiàn)過擬合的情況,模型中加入了丟棄率為30%的丟棄操作(dropout)。
在對(duì)測(cè)井曲線VSH做預(yù)測(cè)之前,計(jì)算VSH與其他測(cè)井曲線之間的相關(guān)系數(shù),計(jì)算結(jié)果見表2所列。
表2 VSH與其他測(cè)井曲線之間的相關(guān)系數(shù)
為了檢驗(yàn)基于相關(guān)性分析的Bi-LSTM測(cè)井曲線預(yù)測(cè)方法的性能,分別做了3次測(cè)井曲線VSH的預(yù)測(cè)實(shí)驗(yàn),并對(duì)比預(yù)測(cè)結(jié)果。實(shí)驗(yàn)一,使用除VSH以外的全部測(cè)井曲線(AC、CAL、CN、DAZ、DEN、DEV、GR、PE、PERM、POR、TOC、VDOL、VLIM、VSND)作為Bi-LSTM模型輸入預(yù)測(cè)測(cè)井曲線VSH;實(shí)驗(yàn)二,使用相關(guān)系數(shù)絕對(duì)值在0.5以上的測(cè)井曲線(AC、CN、DEN、DEV、PERM、POR、TOC、VLIM、VSND)作為Bi-LSTM模型輸入預(yù)測(cè)測(cè)井曲線VSH;實(shí)驗(yàn)三,使用相關(guān)系數(shù)絕對(duì)值在0.8以上的測(cè)井曲線(CN、DEN、DEV、PERM、TOC)作為Bi-LSTM模型輸入預(yù)測(cè)測(cè)井曲線VSH。實(shí)驗(yàn)結(jié)果如圖7~圖9所示。
從圖7可以看出,以未考慮相關(guān)性的測(cè)井?dāng)?shù)據(jù)作為模型的輸入時(shí),預(yù)測(cè)結(jié)果能描述曲線的大概走向,但是測(cè)試值與真實(shí)值存在一定的差距。
從圖8中的預(yù)測(cè)結(jié)果,特別是2 700~2 800 m、3 420~3700 m和3 870~4 500 m深度段(見圖8藍(lán)色虛線框)的預(yù)測(cè)結(jié)果可以看出,預(yù)測(cè)值基本與真實(shí)值相重合,整體的預(yù)測(cè)誤差也有明顯減小,其誤差值見表3所列;其中輸入相關(guān)性在0.5以上的曲線與輸入未考慮相關(guān)性的測(cè)井曲線相比,EMS減小19.5%、EMA減小29.6%。
從圖9可以看出,輸入相關(guān)系數(shù)在0.8以上的測(cè)井曲線預(yù)測(cè)目標(biāo)曲線時(shí),整體預(yù)測(cè)效果比輸入相關(guān)系數(shù)在0.5以上的測(cè)井曲線的預(yù)測(cè)效果有進(jìn)一步的提升,其中3 420~3 690 m和3 900~4 500 m(見圖9中藍(lán)色虛線框)井段處的預(yù)測(cè)值更加接近真實(shí)值。
圖7 未考慮相關(guān)性的預(yù)測(cè)結(jié)果
圖8 輸入相關(guān)系數(shù)在0.5以上測(cè)井曲線的預(yù)測(cè)結(jié)果
圖9 輸入相關(guān)系數(shù)在0.8以上測(cè)井曲線的預(yù)測(cè)結(jié)果
從表3可以看出,輸入相關(guān)性在0.8以上的曲線與輸入未考慮相關(guān)性的測(cè)井曲線相比,EMS減小32.5%、EMA減小35.2%;與相關(guān)性在0.5以上的測(cè)井曲線相比,EMS減小16.1%、EMA減小7.9%。這說明,Bi-LSTM結(jié)合曲線之間的相關(guān)性對(duì)測(cè)井曲線做預(yù)測(cè),預(yù)測(cè)精度會(huì)隨著相關(guān)性的增大而提高。
表3 Bi-LSTM模型預(yù)測(cè)誤差值對(duì)比
LSTM模型和Bi-LSTM模型預(yù)測(cè)對(duì)比試驗(yàn)表明,考慮前后關(guān)聯(lián)性,即基于Bi-LSTM的預(yù)測(cè)結(jié)果,EMS減小58.6%、EMA減小38.2%。這表明,考慮測(cè)井曲線前后關(guān)聯(lián)性可以有效提高預(yù)測(cè)精度。
相對(duì)于不考慮相關(guān)性的結(jié)果,用相關(guān)系數(shù)在0.5以上的預(yù)測(cè)結(jié)果,EMS減小19%以上;使用相關(guān)系數(shù)在0.8以上的測(cè)井曲線進(jìn)行預(yù)測(cè),EMS比使用相關(guān)系數(shù)在0.5以上的結(jié)果減小16%。因此,預(yù)測(cè)精度會(huì)隨著相關(guān)系數(shù)的提高而提高。
本文研究表明,若簡(jiǎn)單使用所有已知曲線,測(cè)井曲線預(yù)測(cè)精度可能會(huì)降低??紤]相關(guān)性后,使用更少的測(cè)井曲線且能得到更高的精度。因此,本文方法在測(cè)井曲線預(yù)測(cè)等方面有很好的應(yīng)用前景。