楊 靜 陳云天 蔣春碧
(1. 唐山職業(yè)技術(shù)學院 河北唐山 063300; 2. 鵬城實驗室 廣東深圳 518000; 3. 北京大學 北京 100871)
測井曲線對于油氣資源勘探開發(fā)研究至關(guān)重要,但在一些超深井中獲得測井曲線往往非常困難,而且有些測井曲線的測量存在較大風險,比如涉及放射源的密度測井,導致部分測井系列被迫放棄測量。因此,在實際生產(chǎn)與開發(fā)過程中,希望能夠基于部分已知的測井曲線,直接生成未測量的測井曲線。越來越多的研究者嘗試通過機器學習來解決地質(zhì)學和石油工程中的問題[1-5]。研究表明長短期記憶神經(jīng)網(wǎng)絡(luò)(long short-term memory,LSTM)在測井曲線生成問題上具有出色的表現(xiàn),生成效果優(yōu)于常規(guī)方法或全連接神經(jīng)網(wǎng)絡(luò)[6-7],擅長處理序列數(shù)據(jù)[8-9],因此適合處理具有空間連續(xù)性的測井曲線問題。但是在實際工程應用場景中,測井曲線往往是多源復雜的,簡單直接應用機器學習模型的效果并不理想。
本文針對多源復雜測井曲線生成困難的問題,基于機器學習方法提出了一套高效建模范式,該范式將建模過程拆分為數(shù)據(jù)完整性分析、交叉檢驗和收斂性分析等3部分,有助于提升數(shù)據(jù)質(zhì)量、自動化評估模型性能和預估模型針對具體場景的適用性;并以長寧威遠地區(qū)7口頁巖氣井的真實測井數(shù)據(jù)為例,成功生成了無鈾伽馬、鉀能譜、釷能譜、鈾能譜、橫波時差和光電吸收截面指數(shù),生成結(jié)果與真實值的變化趨勢基本一致,驗證了基于機器學習算法的多源復雜測井曲線生成方法的有效性,可以作為實際開發(fā)的參考。
本文研究的頁巖氣井位于四川盆地的長寧和威遠2個地區(qū),數(shù)據(jù)來源及分布存在差異,且不同井中缺少的測井曲線種類也不一致,是多源復雜測井曲線生成問題的典型案例。研究共涉及5口訓練井(M1至M5)和2口測試井(T1和T2),實際資料共涉及13種測井曲線,如表1所示,分別為自然伽馬(GR)、無鈾伽馬(CGR)、鈾能譜曲線(HURA)、釷能譜曲線(TH)、鉀能譜曲線(K)、補償密度(DEN)、縱波時差(DT)、橫波時差(DTSM)、補償中子(CNL)、光電吸收截面指數(shù)(PE)、淺電阻率(RXO)、深電阻率(RT)和井徑(CAL)。表1中Y表示對應井中包含此種測井曲線,N表示未測量的待生成測井曲線。特別說明,在后文驗證模型效果的實驗中,需要將預測值與訓練過程未出現(xiàn)過的真實值進行對比,因此實驗井中部分待生成測井曲線作為對比數(shù)據(jù)而隱去,記為H。
表1 研究區(qū)測井曲線數(shù)據(jù)情況Table 1 Well log condition in the study area
機器學習算法,尤其是神經(jīng)網(wǎng)絡(luò),擁有大量待確定的參數(shù)(如權(quán)重和偏置),這些參數(shù)使得神經(jīng)網(wǎng)絡(luò)具有極強的擬合能力,可以描述不同測井曲線之間復雜的非線性映射關(guān)系。在機器學習模型構(gòu)建過程中主要有3個關(guān)鍵因素影響模型效果,即高質(zhì)量訓練數(shù)據(jù)、強擬合能力的機器學習模型以及數(shù)據(jù)同分布。建模過程只要滿足上述3個條件,就可以確保生成結(jié)果可靠且具有高精度。
在實際應用中,需要重點關(guān)注上述3個制約因素。首先,在訓練數(shù)據(jù)方面,訓練數(shù)據(jù)量往往是給定的,獲取新的數(shù)據(jù)費時且成本高昂。雖然目前已有針對小樣本學習的研究[10-12],但是數(shù)據(jù)量不足依然是制約機器學習應用的重要限制,因此實際建模過程往往關(guān)注于質(zhì)量方面進行的改進。其次,在模型的擬合能力方面,實際應用中需要根據(jù)問題的難度選擇神經(jīng)網(wǎng)絡(luò)的復雜度。原理上講,神經(jīng)網(wǎng)絡(luò)有能力擬合任意函數(shù)關(guān)系,但是神經(jīng)網(wǎng)絡(luò)擬合能力越強則模型復雜度越高,數(shù)據(jù)需求也越大。因此實際建模過程要根據(jù)問題構(gòu)建在有限數(shù)據(jù)下依然具有強擬合能力的機器學習模型。最后,數(shù)據(jù)分布(特征分布及特征間映射關(guān)系)對神經(jīng)網(wǎng)絡(luò)至關(guān)重要。神經(jīng)網(wǎng)絡(luò)的本質(zhì)是根據(jù)訓練數(shù)據(jù)學習不同變量之間的映射關(guān)系,其效果取決于訓練數(shù)據(jù)集的大小以及訓練數(shù)據(jù)集和測試數(shù)據(jù)集間的相似度。訓練數(shù)據(jù)越多,訓練集與測試集越為近似,則預測的效果越好。
因此,本文提出的基于機器學習算法多源復雜測井曲線生成方法主要關(guān)注于以下幾點。①數(shù)據(jù)質(zhì)量因素:將實際生產(chǎn)過程中收集的多源復雜數(shù)據(jù)進行有效清理,轉(zhuǎn)化為神經(jīng)網(wǎng)絡(luò)易于利用的數(shù)據(jù);②模型擬合能力因素:評估采用的算法是否有能力生成選定的測井曲線;③數(shù)據(jù)同分布因素:在實際生產(chǎn)中待生成測井曲線的真實值未知的前提下,預估該模型對于特定待生成井是否適用及結(jié)果是否可信。
為了提升測井曲線生成模型的精度和可靠性,構(gòu)造了圖1所示的建模范式。首先數(shù)據(jù)處理環(huán)節(jié)可以有效提升數(shù)據(jù)質(zhì)量,而后通過交叉檢驗進行模型選擇,確保模型具有足夠擬合能力,以及通過收斂性分析預估數(shù)據(jù)分布情況與模型適用性,最終對結(jié)果進行集成。
圖1 多源復雜測井曲線生成模型建模范式Fig .1 Modeling paradigm of multi-source complex well log generation model
神經(jīng)網(wǎng)絡(luò)對訓練數(shù)據(jù)的數(shù)量和質(zhì)量要求較高,因此需要采用必要的數(shù)據(jù)處理方法以提升數(shù)據(jù)質(zhì)量。建模范式中主要包含異常值檢測與清理、數(shù)據(jù)完整性分析及補全2個步驟。
針對異常值,首先通過設(shè)置固定閾值去除用于填充空值的異常值(如-999.25)并刪除重復數(shù)據(jù)(往往位于測井曲線的首尾)。然后再通過動態(tài)異常值檢測的方法剔除測井曲線內(nèi)部異常點(式(1)),該方法是仿照k近鄰(k nearest neighbor,KNN)算法構(gòu)建的[13-14],利用了地層連續(xù)性導致的測井響應連續(xù)性。該方法提取目標點及其周圍k個數(shù)據(jù)進行差值計算,并與預設(shè)閾值對比,能夠較好地識別出測井曲線內(nèi)部離散的異常值。
(1)
式(1)中:Ri對應為目標點偏離程度;yi為目標點的數(shù)值,i為目標點的編號;yi,j為第i個目標點周圍第j個臨近點的數(shù)值;k為臨近點總數(shù),為超參數(shù)。
第2步是數(shù)據(jù)完整性分析與補全,主要是評估數(shù)據(jù)中是否存在較多的殘缺值并基于模型進行補全。例如,訓練井M4缺少補償中子曲線(人為隱去,用來模擬實際建模數(shù)據(jù)存在殘缺的情況),可以選擇直接刪除M4井,只利用剩余的4口井進行建模,但是會使得原本不足的訓練數(shù)據(jù)更加稀少。也可以嘗試先構(gòu)建一個通過4口井預測M4井補償中子曲線的模型,由于該模型待預測變量較少,所以易于獲得較好的結(jié)果。在M4井補全后即可使用全部5口井建模,有效提升訓練數(shù)據(jù)量。需要說明的是,模型生成的補償中子曲線并非實測值,不包含新的信息。但是由于生成了補償中子曲線,使得M4的其余曲線可以作為訓練數(shù)據(jù)發(fā)揮作用,利于提升模型精度。對于測試井而言,T2井的深電阻率曲線包含5 757個數(shù)據(jù)點,但其中64%的數(shù)據(jù)值為99 990(主要位于2 700~3 200 m井段),猜測是測量故障或超出測量上限后產(chǎn)生的截斷值,因此作為待生成的未知曲線看待。
最終,清理前后的數(shù)據(jù)情況如表2所示,數(shù)據(jù)處理后展現(xiàn)出訓練數(shù)據(jù)存在多源復雜特征:①M2和M3井數(shù)據(jù)量較少;②M5井的測井深度與其余訓練井具有較大差距;③M4缺少補償中子數(shù)據(jù),通過長短期記憶神經(jīng)網(wǎng)絡(luò)生成作為填充。
表2 數(shù)據(jù)清理前后數(shù)據(jù)情況對比Table 2 Comparison of data before and after data cleaning
本研究采用的是長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM),它的網(wǎng)絡(luò)結(jié)構(gòu)中具有一個循環(huán),可以將某一計算步的結(jié)果作為新的輸入的一部分,傳入下一計算步中[15]。這種方式保證了信息可以在不同的計算步之間傳遞,使得模型有能力處理序列數(shù)據(jù)。長短期記憶神經(jīng)網(wǎng)絡(luò)的神經(jīng)元中包含有4個交互層,分別是遺忘門層、輸入門層、雙曲正切層和輸出門層,其中遺忘門層(式(2))決定此前計算步中哪些信息被舍棄(遺忘);輸入門層(式(3))決定當前步輸入中哪些信息被保留(記憶);雙曲正切層(式(4))可以基于當前步的輸入產(chǎn)生候選值。根據(jù)遺忘門層和輸入門層的信息可將不同計算步的信息進行融合(式(5)),該步是LSTM可以處理序列數(shù)據(jù)的關(guān)鍵。最終輸出門層(式(6))產(chǎn)生輸出結(jié)果。上述4個門層中都包含有權(quán)重和偏置,在模型訓練過程中通過訓練數(shù)據(jù)學習獲得。
ft=σ(Wf[ht-1,xt]+bf)
(2)
it=σ(Wi[ht-1,xt]+bi)
(3)
(4)
(5)
ht=σ(Wo[ht-1,xt]+bo)tanh(Ct)
(6)
交互門層使得神經(jīng)網(wǎng)絡(luò)具有動態(tài)的記憶與遺忘能力,能夠更好地處理具有長期相關(guān)性的數(shù)據(jù)。由于測井曲線的采樣間隔較小,而地層厚度往往可達20~50 m(即相互影響的序列長度包含上百個數(shù)據(jù)點),所以測井曲線生成問題適合使用長短期記憶神經(jīng)網(wǎng)絡(luò)進行處理。
為了判斷模型是否適合當前問題,引入機器學習中的交叉檢驗方法[16-17]。從本質(zhì)上講,交叉檢驗是一種重采樣方法,尤其適用于數(shù)據(jù)量不足的情況。首先將數(shù)據(jù)隨機分成m份,然后取其中1份作為測試集,其余m-1份作為訓練集以構(gòu)建模型,最后在測試集上評估模型效果并記錄。重復上述過程m次,直至每1份數(shù)據(jù)都作為測試集評估過1次。最后將m次評估結(jié)果取平均,作為模型的性能評價結(jié)果。
交叉檢驗能夠在數(shù)據(jù)量有限情況下盡可能充分利用全部數(shù)據(jù)且易于操作,在機器學習中應用廣泛??紤]到測井曲線獲取成本較高,為進一步降低數(shù)據(jù)需求,本文采用一種特殊的留一法交叉檢驗[18-20]。該方法中,分組數(shù)目m與樣本總量一致,能夠最大限度利用有限的訓練數(shù)據(jù)。
在構(gòu)建測井曲線生成模型時,測試井的數(shù)據(jù)分布可能與訓練數(shù)據(jù)的分布不同。機器學習算法在非同分布的數(shù)據(jù)上難以保證預測效果,因此需要針對具體預測井進行分析以預估模型的適用性。本研究通過收斂性分析在未知待生成數(shù)據(jù)的分布的前提下,對模型效果進行預估。首先,基于同一訓練集獨立訓練多個機器學習模型,然后分別生成目標測井曲線。采用不同實驗生成值的標準差作為收斂性判斷依據(jù),標準差越大則說明收斂性越差,當前數(shù)據(jù)分布差異越大,結(jié)果可信度越低。最后,采用集成學習中的投票算法融合不同模型的結(jié)果[21]。
在投票過程中不同模型采用不同的權(quán)重,權(quán)重是根據(jù)對應模型預測結(jié)果與整體預測結(jié)果的偏差來決定的,偏差越大則該模型預測結(jié)果可信度越低,對應權(quán)重越小。采用均方誤差(mean square error,MSE)作為計算偏差的標準(式(7))。權(quán)重的計算如式(8)所示,該方法保證所有模型的權(quán)重之和為1,且誤差越小的模型權(quán)重越大[22]。最終通過式(9)將所有模型的結(jié)果進行融合。該方法與直接對各個模型求平均不同,后者直接根據(jù)每個樣本點處的結(jié)果進行投票,只利用了局部信息。而本方法的權(quán)重根據(jù)整體預測結(jié)果獲得,參考的是全局信息。
(7)
(8)
(9)
當模型收斂性較差時,說明每個模型預測結(jié)果的可信度都不高,相當于產(chǎn)生了諸多同質(zhì)的弱學習器,利用投票算法將弱學習器的結(jié)果進行組合,可以產(chǎn)生能力更強的強學習器,提升模型預測精度。收斂性分析方法可以對具體某一口待生成井的預測結(jié)果進行預判,當結(jié)果可信度差時,通過集成學習中的投票算法提升模型精度。
本案例基于長寧威遠7口頁巖氣井的實測數(shù)據(jù)驗證建模范式的效果。首先,在訓練集存在數(shù)據(jù)缺失時,通過模型對缺失數(shù)據(jù)進行補全,然后作為已知值用于后續(xù)訓練。為了驗證補全數(shù)據(jù)的效果,我們將原始數(shù)據(jù)中M4井的補償中子測井曲線隱去(表1)。
圖2為M4井補全的補償中子曲線和真實補償中子曲線在目的層段(2 310~2 410 m)的對比結(jié)果,其中橙色曲線為被隱去的真實值,藍色曲線為模型生成結(jié)果??梢娚傻臏y井曲線能夠捕捉真實曲線變化趨勢,在目的層段具有較高精度。因此,建模范式中的數(shù)據(jù)完整性分析和補全方法可用于構(gòu)建訓練數(shù)據(jù)集。
圖2 M4井目的層段補償中子測井曲線Fig .2 Compensated neutron log in the target formation of Well M4
長短期記憶神經(jīng)網(wǎng)絡(luò)能夠處理具有長期相關(guān)性的序列數(shù)據(jù),理論上可以解決測井曲線生成問題。但是,對于一個具體問題,模型的輸入和輸出的測井曲線間的映射關(guān)系可能非常復雜,因此在實際應用需要通過留一法交叉檢驗進行驗證。以T1井生成無鈾伽馬曲線為例,對訓練集中的5口井進行交叉檢驗,即每次實驗利用4口井訓練模型,用剩下的1口井做測試,重復5次實驗以遍歷訓練井。根據(jù)5次實驗結(jié)果評價模型精度,當模型結(jié)果滿足要求時認為模型可以解決當前問題,然后再用全部5口訓練井的數(shù)據(jù)訓練模型,生成測試井中的缺失測井曲線。
M1至M5井的無鈾伽馬測井曲線交叉檢驗結(jié)果如圖3所示,從上至下分別對應M1到M5井作為測試井時的生成結(jié)果,橙色曲線為真實值,藍色曲線為預測值??梢婇L短期記憶神經(jīng)網(wǎng)絡(luò)的生成結(jié)果與真實值相近,說明該模型可以用來解決無鈾伽馬曲線的生成問題。在其余測井曲線的交叉檢驗中也得到了令人滿意的結(jié)果。
圖3 無鈾伽馬曲線交叉檢驗結(jié)果Fig .3 Cross validation results of Uranium-free gamma log
收斂性分析用于評估待生成曲線的數(shù)據(jù)分布與訓練數(shù)據(jù)是否相同。在本研究通過重復10次實驗分析收斂性。圖4展示了T1井橫波時差的預測結(jié)果,可見10次獨立實驗的預測值收斂,說明T1井的數(shù)據(jù)分布與訓練集基本一致,模型預測結(jié)果準確可信。
圖4 T1井橫波時差曲線10次獨立實驗結(jié)果收斂性分析Fig .4 Convergence analysis of 10 independent experiments of shear wave time difference log of Well T1
T2井雖然在深層(目的層段)收斂性較好,但是在淺層的收斂性較差,如圖5所示。該實驗結(jié)果說明T2井淺層部分的數(shù)據(jù)預測難度較高,模型預測結(jié)果可信度相對較低。這一現(xiàn)象可能是由于T2井在特征空間上的數(shù)據(jù)分布與訓練井不同,這也與3.2節(jié)中針對T2井數(shù)據(jù)處理發(fā)現(xiàn)的問題相符合。如果能夠獲得更豐富的訓練數(shù)據(jù),擴充訓練數(shù)據(jù)分布范圍,模型在T2井淺層處的收斂性將會得到提高。
圖5 T2井深電阻率測井曲線10次獨立實驗結(jié)果收斂性分析Fig .5 Convergence analysis of 10 independent experiments of deep resistivity log of Well T2
將T1井和T2井的全部生成結(jié)果與人為隱去的實測測井曲線進行對比,以驗證建模范式的效果。圖6a展示了T1井目的層段的測井曲線,其中機器學習模型生成的測井曲線添加了“_Pred”的后綴。由圖6a可知,生成的橫波時差曲線與真實測量結(jié)果相近且趨勢相同,在2 170~2 180 m預測的DTSM_Pred與實測DTSM曲線吻合較好,但2 180~2 205 m預測值存在偏移。此外,機器學習模型還成功生成了T1井實際沒有測量的能譜曲線,根據(jù)圖6a可知,T1井的GR曲線與CGR曲線能夠有效分離,與物理規(guī)律相符,鈾曲線峰值層段與地質(zhì)上富有機質(zhì)層段深度基本一致,說明該模型的生成結(jié)果具有一定的可靠性。此外,生成的PE曲線值在2~4 b/e,且在2 196~2 197 m區(qū)間PE曲線變高,與該儲層深度碳酸鹽巖含量升高特征一致(方解石的Pe值),結(jié)果符合已知鄰井地層的對應的巖石物理響應特征情況。
圖6 實測測井曲線與生成測井曲線對比Fig .6 Comparison of the measured and generated logs
圖6b展示了T2井目的層段的生成曲線結(jié)果,模型對于聲波時差DT的預測,特別是細節(jié)刻畫存在一定困難,具體表現(xiàn)在DT_Pred相對曲線平直,而實測DT曲線對GR曲線值變化存在一定波動,從巖石物理上解釋,即聲波在地層中傳播時受巖性和物性的影響,而預測的DT_Pred曲線并沒有表現(xiàn)出細節(jié)上的差異。雖然T2井在收斂性分析中表現(xiàn)不佳,但是其主要目的層段的收斂性相對較好(圖5),生成結(jié)果與真實值在趨勢上基本一致,尤其是在頁巖層段3 380~3 406 m,深電阻率曲線吻合程度相當高,能夠應用于實際測井資料處理,評價頁巖儲層參數(shù)。
需要說明的是,T2井的電阻率曲線(RT)的實測數(shù)據(jù)中有64%的數(shù)據(jù)存在測量問題,是典型的由于測量問題而無法獲得準確測井曲線的場景。雖然存在較多的制約因素,機器學習模型準確預測出T2井RT的變化趨勢。由于測井解釋中曲線的趨勢變化是判斷的重要參考,因此雖然預測值的絕對數(shù)值并不準確,但是模型生成的T2井RT曲線在實際開發(fā)中具有參考價值。
1) 針對測井曲線生成模型的建模流程進行優(yōu)化,本文提出了一套高效建模范式,解決了多源復雜測井曲線生成困難的問題。該建模范式首先通過數(shù)據(jù)處理提升數(shù)據(jù)質(zhì)量和數(shù)量,然后利用交叉檢驗確保模型具有足夠的能力,最后利用收斂性分析評估數(shù)據(jù)分布情況,確保生成的結(jié)果是可靠可信的。
2) 利用長寧威遠頁巖氣區(qū)塊的真實測井數(shù)據(jù)進行了實驗,結(jié)果顯示基于建模范式構(gòu)建的機器學習模型生成的測井曲線與真實值接近,且符合已知的地質(zhì)情況,驗證了基于機器學習算法的多源復雜測井曲線生成方法的有效性,可以作為實際油氣開發(fā)的參考。