馬隴飛, 蕭漢敏, 陶敬偉, 張帆, 羅永成, 張海琴
(1.中國科學(xué)院大學(xué)工程科學(xué)學(xué)院, 北京 100049; 2.中國科學(xué)院滲流流體力學(xué)研究所, 廊坊 065007; 3.中國石油勘探開發(fā)研究院, 北京100083; 4.上海帕科信息科技有限公司, 上海 200235; 5.中國石油大學(xué)(北京)非常規(guī)油氣技術(shù)研究院, 北京 102249)
根據(jù)第三輪油氣資源評價結(jié)果,中國石油陸上剩余石油資源中,巖性地層油氣藏占42%,這是中國陸上今后相當長一個時期內(nèi)最有潛力、最實現(xiàn)油氣勘探的領(lǐng)域[1]。地下地質(zhì)地層巖性是儲層表征和資源估算的關(guān)鍵因素[2]。它影響著巖石物理性質(zhì),如孔隙度和滲透率,從而影響著油氣飽和度。巖性描述是油氣藏勘探的關(guān)鍵,影響著油氣藏儲層類型的分類。儲層類型分類是油藏精細描述的重要內(nèi)容之一,對于準確定量評價油氣儲量具有十分重要的意義[3-5]。傳統(tǒng)的巖性識別通過鉆井取心將巖心切割可視化、巖心觀察和測井數(shù)據(jù)得到。由于測井曲線通常適用于所有的井,測井巖性解釋提供了一種方法[6]。早期試圖基于測井曲線測量原理建立測井響應(yīng)與地層巖性之間的映射關(guān)系,形成了測井巖性解釋的理論基礎(chǔ)[7]。盡管前人在巖性識別方面做了大量的研究,但忽略了大多測井數(shù)據(jù)中未標記數(shù)據(jù)的價值。
近年來,數(shù)學(xué)方法得到了發(fā)展,并被廣泛應(yīng)用于測井巖性的識別;人工神經(jīng)網(wǎng)絡(luò)作為一種自動非線性分類器,在測井巖性分類中得到了廣泛應(yīng)用[8-9]?,F(xiàn)有的大多數(shù)基于機器學(xué)習(xí)的巖性識別研究中,巖性的標記通常是由專家根據(jù)測井解釋或錄井來完成工作,對專業(yè)領(lǐng)域知識的依賴度高[10]。深度學(xué)習(xí)的出現(xiàn)是機器學(xué)習(xí)的一次重要革命,是人工智能發(fā)展巨大推力[11-12]。而在深度學(xué)習(xí)中,學(xué)習(xí)到的是網(wǎng)絡(luò)的隱含節(jié)點從輸入信號中經(jīng)過自動提取變換后的特征,這些特征將逐層越來越抽象,從而建立高維的映射關(guān)系來解決復(fù)雜的非線性問題[13]。深度學(xué)習(xí)技術(shù)主要有常規(guī)的全連接深度神經(jīng)網(wǎng)絡(luò)(deep neural network,DNN),適用于解決序列化問題的循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN),適用于解決空間結(jié)構(gòu)問題的卷積神經(jīng)網(wǎng)絡(luò)(convolution neural network,CNN)及可用于數(shù)據(jù)生成的生成對抗網(wǎng)絡(luò)(generative adversarial network,GAN)等網(wǎng)絡(luò)結(jié)構(gòu)[13-16]。人工智能領(lǐng)域應(yīng)用發(fā)展突飛猛進,被廣泛用于與人們生活息息相關(guān)的各種領(lǐng)域,中外學(xué)者做了大量的研究工作。Amedi等[17]利用人工神經(jīng)網(wǎng)絡(luò)預(yù)測硫化氫在不同離子濃度、溫度、壓力下的溶解度,Ahmadi等[18-27]利用人工神經(jīng)網(wǎng)絡(luò)預(yù)測油田鹽水中溶解碳酸鈣濃度的估算[18],滲透率和孔隙度估算[19],油藏化學(xué)驅(qū)油效率評價的預(yù)測[20],預(yù)測自然損耗導(dǎo)致的瀝青質(zhì)沉淀[21],在此基礎(chǔ)上用統(tǒng)一粒子群算法(unified particle swarm optimization, UPSO)對神經(jīng)網(wǎng)絡(luò)模型進行優(yōu)化[22],預(yù)測自然損耗導(dǎo)致的瀝青質(zhì)降水[23],求解凝析氣藏產(chǎn)液的露點壓力(pd)[24],監(jiān)測凝析氣藏中的凝析氣比(condensate gas ratio,CGR)[25],預(yù)測硫化氫(H2S)在各種離子中的溶解度[26-27]; Moosavi等[28]發(fā)展了包含優(yōu)化多層感知器(multi-layer perceptron,MLP)和徑向基函數(shù)(radial basis function,RBF)神經(jīng)網(wǎng)絡(luò)的預(yù)測模型;Gu等[29-31]利用循環(huán)神經(jīng)網(wǎng)絡(luò)、智能預(yù)測器CRBM-GA-PSO-CRBM進行巖性的預(yù)測,基于集成學(xué)習(xí)的數(shù)據(jù)驅(qū)動CRBM-LD-AFSA-LightGBM的巖性預(yù)測; Feng[32]采用標度算法提高機器學(xué)習(xí)方法巖相分類的不確定性。
深度學(xué)習(xí)網(wǎng)絡(luò)的出現(xiàn)使得石油工程師能夠解決很難通過分析去解決一些石油工程問題。然而測井資料失真或漏失的現(xiàn)象普遍存在,且鉆井取心井的數(shù)量不多,嚴重影響了油田的開發(fā)。在實際應(yīng)用中,對于已經(jīng)完井的井來說,重新測井成本高,實施難度大,這迫使我們不得不放棄全部測井數(shù)據(jù)[33]。且傳統(tǒng)的儲層巖性分類方法是從儲層物性的控制因素入手,在明確構(gòu)造、沉積或成巖等地質(zhì)因素對儲層巖性建設(shè)性或破壞性作用的基礎(chǔ)上,通過判定不同地區(qū)各地質(zhì)因素作用性質(zhì)及地質(zhì)因素的耦合關(guān)系來評價儲層巖性[34-37],并以建設(shè)性地質(zhì)因素疊合發(fā)育區(qū)作為儲層巖性分類。該方法能夠從儲層巖性的成因角度分析,對油氣勘探的指導(dǎo)意義重大,但很難給出巖性分類評價的量化標準。
針對上述問題,通過構(gòu)建深度學(xué)習(xí)網(wǎng)絡(luò)模型來預(yù)測儲層巖性。首先利用已有的測井資料訓(xùn)練模型,根據(jù)實際工作區(qū)域進行驗證,之后預(yù)測同井中巖性信息缺失的巖性數(shù)據(jù);其次,預(yù)測未鉆井取心井的巖性數(shù)據(jù),為油田測井解釋奠定了一定的基礎(chǔ)。生成了目標區(qū)單井儲層巖性分類圖,為儲層的精細勘探開發(fā)提供了規(guī)劃和方法。
深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)是一種先進的機器學(xué)習(xí)技術(shù),它能夠自主地識別復(fù)雜且有效的高階特征,避免了人工提取特征的煩瑣性。神經(jīng)元之間能夠共享權(quán)值,減少了參數(shù)的優(yōu)化。通過增加隱藏層數(shù),使深度學(xué)習(xí)網(wǎng)絡(luò)可以表示復(fù)雜性不斷增加的函數(shù)。模型給定,訓(xùn)練數(shù)據(jù)集足夠多,就能夠通過深度學(xué)習(xí)將輸入向量映射到輸出向量,能夠迅速地處理復(fù)雜問題。
深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)從結(jié)構(gòu)上一般分為三類:輸入層、隱藏層、輸出層。有時需要在隱藏層與輸出層之間增加一層全連接層。各層之間均為全連接的方式,同層之間神經(jīng)元無連接且相互獨立。以巖性預(yù)測為例,輸入層為8組特征向量,通過隱藏層特征提取、激活函數(shù)的選擇、損失函數(shù)的定義和優(yōu)化器的選擇來輸出巖性的預(yù)測值。
前向傳播描述了前饋神經(jīng)網(wǎng)絡(luò)的計算過程。計算向前傳播的過程需要三部分信息:神經(jīng)網(wǎng)絡(luò)的輸入,傳播過程中提取的特征向量數(shù)據(jù),其次就是網(wǎng)絡(luò)的連接結(jié)構(gòu),通過連接結(jié)構(gòu)就可以得出確定的運算關(guān)系,最后就是每個神經(jīng)元中的參數(shù)。以全連接神經(jīng)網(wǎng)絡(luò)為例,用圖1所示的模型并加入偏置項,組成一個簡易的單個神經(jīng)元網(wǎng)絡(luò)。從輸入數(shù)據(jù)開始,往輸出層傳遞,最后求出預(yù)測值,并與目標值構(gòu)成的代價函數(shù)J。
圖1 判斷硬件是否合格的三層神經(jīng)網(wǎng)絡(luò)Fig.1 A three-layer neural network to determine whether the hardware is qualified
假設(shè)訓(xùn)練樣本為(x,y),其中x為輸入向量,x=[x1,x2,x3]T,y為目標值。將輸入數(shù)據(jù)與權(quán)重w=[w1,w2,w3]相乘求得z,然后通過一個sigmoid函數(shù),得到輸出a,最后a與y構(gòu)成代價函數(shù)J。具體的傳播過程為
(1)
(2)
(3)
反向傳播算法在網(wǎng)絡(luò)中的作用可以概括為:如果說梯度下降算法優(yōu)化了單個參數(shù)取值,那么反向傳播算法則給出了一種高效地在所有參數(shù)上使用梯度下降算法的方式。以代價函數(shù)開始,從輸出到輸入,求取各節(jié)點的偏導(dǎo)。在這里分為兩步,先求取關(guān)于權(quán)重w及偏移量b的偏導(dǎo)。求取J關(guān)于中間變量a和z的偏導(dǎo),即
(4)
式(4)中:J是a的函數(shù),而a是z的函數(shù),應(yīng)用鏈式求導(dǎo)法則可得
(5)
再根據(jù)鏈式法則,求取J關(guān)于w和b的偏導(dǎo)數(shù),即得到w和b的梯度
(6)
(7)
不失一般性,多層網(wǎng)絡(luò)的前向傳播與反向傳播與上述一致。
鄂爾多斯盆地為一個疊合的克拉通坳陷盆地,現(xiàn)今表現(xiàn)出總體構(gòu)造為東部寬緩、西部相對陡窄的不對稱形矩形盆地,可以劃分為6個一級構(gòu)造單元。研究區(qū)構(gòu)造發(fā)育符合鄂爾多斯盆地的構(gòu)造特征,總體上構(gòu)造較為平緩,沒有明顯的構(gòu)造起伏,也沒有明顯的斷裂發(fā)育,主要以巖性油藏為主。其巖石的形成受到沉積環(huán)境及后期的成巖作用改造的多方面影響,使得同一地區(qū)存在不同含量的礦物類型,通過鉆井取芯和巖心的觀察,研究區(qū)致密砂巖儲層巖性主要為深灰色細砂巖、粉砂質(zhì)泥巖和暗色泥質(zhì)粉砂巖(圖2)。并對研究區(qū)5口井長7儲層巖性做統(tǒng)計(表1)。從表1可以看出長7儲層巖性以泥巖和細砂巖為主,從而我們可以得出其發(fā)育了一套完整的烴源巖和儲層,形成了大面積連續(xù)分布的致密砂巖油藏。但致密砂巖儲層構(gòu)造極其復(fù)雜,巖性多樣。且每個井巖性不一,有的只有兩種,有的多達9種,巖性中存在泥質(zhì)、粉砂質(zhì)、碳質(zhì)/炭質(zhì)、鈣質(zhì)、凝灰質(zhì)等,這給測井巖性的識別帶來較大的困難。
圖2 鄂爾多斯盆地巖心照片 Fig.2 The Ordos Basin core photo
根據(jù)巖心分析、巖屑錄井、井壁取心和測井曲線等,將研究區(qū)巖性共劃分為5種,分別為:泥巖、碳質(zhì)泥巖/炭質(zhì)泥巖、泥質(zhì)粉砂巖、粉砂質(zhì)泥巖、細砂巖。圖3為不同巖性的測井曲線交會圖??梢钥闯鰬{借1條或多條常規(guī)測井曲線是無法有效的識別巖性,因此,通過深度學(xué)習(xí)網(wǎng)絡(luò)進行巖性識別成為解決巖性解釋這一問題的關(guān)鍵。
圖3 不同巖性常規(guī)測井曲線交會圖Fig.3 The intersection of conventional logging curves of different lithologies
表1 研究區(qū)致密長7儲層巖性比例
本次研究利用40口井測井曲線共45 000組數(shù)據(jù)樣本,以Python第三方包TensorFlow2.0為平臺搭建全連接神經(jīng)網(wǎng)絡(luò)模型,巖性作為預(yù)測對象。測井曲線采樣間隔為0.125 m,選取聲波時差(AC)、自然伽馬(GR)、電阻率(RT)、泥質(zhì)含量(SH)、自然電位(SP)、有效孔隙度(POR)、含水飽和度(SW)、密度(DEN)8種測井曲線作為網(wǎng)絡(luò)的輸入特征變量。按6∶2∶2的比例將原始數(shù)據(jù)劃分為訓(xùn)練集、測試集、驗證集,需要將訓(xùn)練集數(shù)據(jù)和測試集數(shù)據(jù)嚴格區(qū)分,測試數(shù)據(jù)集作為深度學(xué)習(xí)模型準確率的判別標準,一般不能在前期工作中對測試數(shù)據(jù)集做任何分析。
由于參數(shù)測量誤差以及原始數(shù)據(jù)各個特征量大小、單位不一,為減小誤差帶來的不利影響,降低干擾數(shù)據(jù)帶來的網(wǎng)絡(luò)計算誤差,對樣本數(shù)據(jù)采用式(8)歸一化處理,數(shù)據(jù)歸一化后有助于梯度下降算法的收斂,提高模型的預(yù)測精度。
(8)
式(8)中:xi、yi為原始參數(shù)值與歸一化后參數(shù)值;maxxi為原始參數(shù)最大值;minxi為原始參數(shù)最小值。本文中采用交叉熵損失函數(shù)來評估模型的準確率,該函數(shù)反映目標參數(shù)與預(yù)測參數(shù)之間最大的誤差,其公式為
(9)
在樣本數(shù)據(jù)預(yù)處理的基礎(chǔ)上,將聲波時差(AC)、自然伽馬(GR)、電阻率(RT)、泥質(zhì)含量(SH)、自然電位(SP)、有效孔隙度(POR)、含水飽和度(SW)、密度(DEN)8種測井變量特征作為網(wǎng)絡(luò)的輸入,即輸入層的神經(jīng)元個數(shù)為8;隱藏層為5層,選擇的激活函數(shù)為Relu函數(shù),損失函數(shù)為交叉熵損失函數(shù),優(yōu)化器為Adam函數(shù);輸出層為需要預(yù)測的巖性類別,神經(jīng)元個數(shù)為5。利用Python第三方包TensorFlow2.0編寫巖性預(yù)測模型并進行訓(xùn)練(圖4),以實現(xiàn)致密砂巖儲層巖性的預(yù)測。
圖4 巖性預(yù)測模型結(jié)果Fig.4 The results of lithology prediction model
本文模型屬于典型的多分類問題,輸出為5種巖性,對于標簽y值使用one-hot使其對應(yīng)的一維標量擴展為6維向量(表2)。從技術(shù)上來講,noe-hot將復(fù)雜的多分類問題簡化為若干而二分類問題,簡化了模型的復(fù)雜度。
表2 one-hot編碼處理數(shù)值表
根據(jù)上述構(gòu)建的神經(jīng)網(wǎng)絡(luò)模型,選擇原始測井曲線中聲波時差(AC)、自然伽馬(GR)、電阻率(RT)、泥質(zhì)含量(SH)、自然電位(SP)、有效孔隙度(POR)、含水飽和度(SW)、密度(DEN)八種測井曲線作為網(wǎng)絡(luò)的輸入變量特征,這些測井曲線未經(jīng)過“剔除明顯異常點、適當補充典型樣點”處理,這樣做的目的在于使模型的泛化能力增強。在油田實際生產(chǎn)過程中,這些測井曲線無需做預(yù)先處理,可直接作為模型的輸入變量,對目標區(qū)域儲層巖性進行識別。本次選用的數(shù)據(jù):每一種巖性數(shù)據(jù)只有9 000份,由于數(shù)據(jù)偏少,數(shù)據(jù)夾雜噪聲。初始神經(jīng)網(wǎng)絡(luò)隱藏層設(shè)置為5層,起初參數(shù)設(shè)置過大,一輪訓(xùn)練得到過擬合的模型(圖5)。出現(xiàn)這種情況的原因:訓(xùn)練參數(shù)過大,導(dǎo)致對訓(xùn)練數(shù)據(jù)中的噪音擬合,從而使得模型無法對未知數(shù)據(jù)做出很好的判斷。通過對模型的不斷優(yōu)化以及模型參數(shù)調(diào)整,使得模型訓(xùn)練與驗證擬合中準確率與誤差率趨于穩(wěn)定,并且達到期望的結(jié)果(圖6)。從圖6中可以看出,巖性預(yù)測模型的訓(xùn)練與驗證準確率達到80%以上[圖6(a)],相對誤差值接近0.5[圖6(b)]。為檢測模型的預(yù)測精準度,將訓(xùn)練好的模型輸入未經(jīng)過模型訓(xùn)練與驗證的數(shù)據(jù),模型的預(yù)測準確率為67%(圖7),由圖7可見,模型對泥巖識別準確率只有10%,這也是導(dǎo)致模型整體預(yù)測準確度偏低的原因。
圖5 巖性預(yù)測模型的過擬合訓(xùn)練和驗證迭代Fig.5 The overfitting training and validation iterations of the lithology prediction model
圖6 巖性預(yù)測模型訓(xùn)練與驗證迭代圖Fig.6 The lithology prediction model training and verification iteration diagram
圖7 模型預(yù)測值與真實值對比Fig.7 The comparison of predicted value and true value
經(jīng)過反復(fù)調(diào)整,得到最佳模型后,利用該模型對6 500個巖性測試樣本預(yù)測,將泥巖、碳質(zhì)泥巖/炭質(zhì)泥巖、泥質(zhì)粉砂巖、粉砂質(zhì)泥巖、細砂巖五種巖性預(yù)測值與真實值對比,發(fā)現(xiàn)泥巖預(yù)測存在較大誤差。統(tǒng)計1 000個巖性預(yù)測數(shù)據(jù)量,并作出分布直方圖(圖8)。由圖8可見,模型對碳質(zhì)泥巖/炭質(zhì)泥巖預(yù)測數(shù)量占總數(shù)量的31.5%,而泥巖預(yù)測數(shù)量占總數(shù)量的3.3%。為研究模型對泥巖預(yù)測準確度低的原因,進一步對泥巖預(yù)測部分做分布直方圖(圖9),由圖9可見,模型將泥巖大部分識別為碳質(zhì)泥巖/炭質(zhì)泥巖與粉砂質(zhì)泥巖。進一步對輸入的測井曲線做關(guān)聯(lián)度分析(圖10),由圖10可見,聲波時差(AC)、自然伽馬(GR)、密度(DEN)測井曲線相似較大,而對測井曲線相似的樣本進行預(yù)測。結(jié)果有兩種,即實測值與預(yù)測值一致,或者實測值與預(yù)測值不一致。模型預(yù)測在訓(xùn)練過程中將碳質(zhì)泥巖/炭質(zhì)泥巖、粉砂質(zhì)泥巖與泥巖模糊化區(qū)分,造成模型預(yù)測巖性時,對泥巖未能精確識別。本文中認為出現(xiàn)這種情況原因在于:①模型的訓(xùn)練數(shù)據(jù)少,模型未到達最優(yōu);②研究區(qū)域泥巖中含有大量火山灰,使得測井曲線中的電阻率(RT)出現(xiàn)異常值,這些異常值造成模型對泥巖的識別精確度降低。
圖8 測試樣本巖性預(yù)測數(shù)量分布圖Fig.8 The distribution map of lithology prediction quantity of test sample
圖9 泥巖預(yù)測值分布圖Fig.9 Mudstone prediction result distribution map
圖10 輸入特征變量關(guān)聯(lián)度分析圖Fig.10 The input characteristic variable correlation analysis graph
由測試結(jié)果分析與評價,可見模型能夠解釋鄂爾多斯盆地致密砂巖儲層巖性數(shù)據(jù)。對于泥巖、粉砂質(zhì)泥巖與碳質(zhì)泥巖/炭質(zhì)泥的識別,可進行一個二分類,先判別出泥巖,之后再預(yù)測其他四種巖性或者選用長短期記憶神經(jīng)網(wǎng)絡(luò)考慮層序地層,以提高對泥巖、粉砂質(zhì)泥巖與碳質(zhì)泥巖/炭質(zhì)泥的預(yù)測的精準度。
將上述經(jīng)過測試與檢驗后的全連接神經(jīng)網(wǎng)絡(luò)應(yīng)用于實際的一批生產(chǎn)井巖性解釋,解決了前面提到的泥巖、粉砂質(zhì)泥巖與碳質(zhì)泥巖/炭質(zhì)泥的識別模糊的問題。其中將一口井標準化后的聲波時差(AC)、自然伽馬(GR)、電阻率(RT)、泥質(zhì)含量(SH)、自然電位(SP)、有效孔隙度(POR)、含水飽和度(SW)、密度(DEN)八條測井曲線輸入到訓(xùn)練好的全連接神經(jīng)網(wǎng)絡(luò),預(yù)測其對應(yīng)儲層的巖性(圖11)。由圖11可見,預(yù)測的準確率達到71%,總體來看模型取得了非常理想的效果。
圖11 常規(guī)地層巖性劃分與預(yù)測地層巖性劃分對比Fig.11 The comparison of conventional stratum lithology division and prediction stratum lithology division
從結(jié)果中可以看出電阻率對深度學(xué)習(xí)模型巖性類型特征作用不大,傳統(tǒng)的根據(jù)測井曲線巖性分類方法,電阻率是區(qū)分泥巖重要因素。在深度學(xué)習(xí)中并未起到?jīng)Q定因素,反而對模型區(qū)分泥巖造成一定影響。從分類結(jié)果來看,模型達到了預(yù)期的結(jié)果,這也反映出深度學(xué)習(xí)的優(yōu)勢,即從大量的數(shù)據(jù)中自主學(xué)習(xí)數(shù)據(jù)特征,自主學(xué)習(xí)高維數(shù)據(jù)復(fù)雜的特征,繼而解決油田實際生產(chǎn)中的非線性問題。而利用常規(guī)巖性分類方法,電阻率這一參數(shù)會導(dǎo)致出現(xiàn)較多的錯誤。
利用深度學(xué)習(xí)建立了測井曲線與巖性數(shù)據(jù)之間的非線性映射關(guān)系。將聲波時差(AC)、自然伽馬(GR)、電阻率(RT)、泥質(zhì)含量(SH)、自然電位(SP)、有效孔隙度(POR)、含水飽和度(SW)、密度(DEN)八種常規(guī)測井曲線作為深度學(xué)習(xí)的輸入特征量,45 000個訓(xùn)練樣本訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),并將訓(xùn)練好的網(wǎng)絡(luò)模型應(yīng)用在6 500個樣本中測試并驗證,測試結(jié)果準確率達71%??芍笇?dǎo)同一研究區(qū)未取心井巖性識別,為油田開發(fā)提供了一種可靠、快速的方法,從而提高儲量估算和生產(chǎn)計劃效率。