葉智慧,寧禹強,張 敏,李曉蓉
(1.中國石油大學(北京)安全與海洋工程學院,北京102249;2.大慶油田采油工程研究院,黑龍江 大慶 163453;3.中國石油大學(北京)石油工程學院,北京102249)
南海北部陸緣位于東亞大陸邊緣構造域內,經歷了由板內裂陷演變為邊緣坳陷的地史歷程,形成了珠江口盆地、瓊東南盆地、西沙海槽盆地、臺西南盆地、雙峰北盆地和筆架南盆地等新生代沉積盆地。特別是位于陸坡深水區的新生代大型沉積盆地,地質構造獨特,具備良好的天然氣水合物成藏地質條件[1]。天然氣水合物(以下簡稱水合物)是一種天然氣與水在高壓低溫條件下形成的類冰狀的結晶物質,在我國青藏高原凍土帶和南海北部深海海底都有發現,已被我國正式確認為一種新的礦產資源。天然氣水合物因其資源密度高,全球分布廣泛,并且綠色清潔無污染,商業化開發已被世界多國提上日程[2]。1 m3水合物大約可分解出160 m3天然氣(標準狀態下),其碳含量約為現有化石燃料總和的2倍,一旦取得技術突破,其必將形成對常規油氣的“第二次革命”[3-4],水合物的精準識別是勘探開發的前提。
目前國內外地層水合物識別方法主要分為直接法與間接法。直接識別法主要包括肉眼觀察法、巖心紅外測溫法、鉆探異常、生物識別法等。間接識別法主要是通過測井數據或地震資料對地層水合物進行識別。采用直接識別法能夠最為直觀地識別出地層的水合物,但也存在著一系列的問題。例如取芯成本過高,取芯過程中易導致水合物分解。直接識別法與觀察者的主觀因素有關,有時很可能因為觀察者的失誤或經驗不足而做出錯誤的判斷。在鉆進過程中可以通過測量地層電阻率、聲波時差、地層密度和地層伽馬值等測井參數綜合分析地層情況[5]。間接識別法通常可根據地層水合物的伽馬值低、井直徑大、電阻率高、密度低、中子孔隙度高以及聲波時差低等測井特征來定性地判別天然氣水合物。但是傳統的測井曲線識別方法往往依靠專家判斷,主觀性強,而且耗時較長,在要求實時快速決策時具有明顯的缺點,因此需要尋找一種快速、準確率高、適應性好的識別方法,以適應未來智能化鉆井需求。隨著人工智能的高速發展,越來越多研究者將機器學習方法應用于水合物識別的過程,并取得了良好的成果。其中研究較多的機器學習算法包括BP神經網絡算法[6]、支持向量機算法[7]、決策樹算法[8]、馬爾科夫隨機場[9]、KNN算法[10]等。但上述算法在實際運用過程中存在一定的局限性,具體表現為:支持向量機和神經網絡都屬于黑箱模型,無法控制與分析模型的中間過程;對于決策樹模型,過多的冗余樣本會導致樹底層決策質量的降低,并伴隨過擬合現象的產生[11];KNN算法每次預測都需要對所有數據進行重新計算,其效率較低[12]。BP神經網絡模型預測天然氣水合物生成,是采用以經驗風險最小化(Empirical Risk Minimize,ERM)的傳統統計學理論為基礎,這樣容易降低BP神經網絡的穩定性,甚至出現局部過優情況[13-14]。采用BP神經網絡方法進行水合物多屬性儲層參數預測,理論上隨著屬性的增加可以降低誤差,而僅應用于井旁地震道的訓練數據符合時,但是在預測其他數據時,有可能沒有效果欠佳,即“過度訓練”[15]。彭炎等[16]采用支持向量回歸算法,預測青海木里地區凍土區天然氣水合物地層,預測的結果基本符合實際,對后續勘探有一定指導意義。
總之,目前采用的識別方法普遍存在一些問題,如泛化能力不強、計算效率不高、準確率不高、有過擬合現象等,需要尋找一種更適合實時測井數據的快速識別方法,具備快速、高效、小樣本以及準確性等要求。本文運用了四種典型的分類學習算法,通過各種評價指標對最終的識別結果做出評價,發現集成學習方法具有更高的準確性,并找到最優化的方法和參數組合,在鉆進水合物過程中實現快速、實時、小樣本、準確的識別,為實時鉆井過程中機器自主巖性識別方法提供參考。
本文主要利用AdaBoost集成學習算法、支持向量機、決策樹、隨機森林4種典型的機器學習分類算法,基于測井曲線數據對水合物層段進行識別。以下介紹這幾種算法的基本原理。
基于 Boosting 的集成學習算法中最常用的是AdaBoost 集成學習算法。其核心思想是訓練一系列弱分類器,然后將弱分類器加權聯合,構成一個強分類器。
給定數據集:(x1,y1),(x2,y2),(xN,yN),其中yi∈{-1,1},用于表示樣本的類別標簽,xi表示樣本的特征向量,i=1,…,N,N為樣本總數。集成學習的具體步驟如下。
第一步:初始化數據的權值分布向量D1。

式中,w1i表示第1次迭代時第i個樣本的權值。
第二步:進行迭代運算,達到設定值時停止。對于第t次迭代,進行如下步驟(t=1,2,…,T,T為總迭代次數)。
選取一個當前誤差率最低的弱分類器ht,并計算該弱分類器在分布Dt上的預測誤差率et。

式中,ht(xi)表示弱分類器對樣本xi的分類,若分類錯誤則I(·)值取1,反之取0。
計算該弱分類器在集成分類器中所占權重αt為:

更新訓練樣本的權值分布Dt+1。

式中,Zt為歸一化常數,。
第三步:按弱分類器權值t組合各個弱分類器,得到集成學習分類器[17]。

支持向量機算法本質上屬于有監督的、可擴展分類元的、可跨越線性與非線性障礙的高效、受限、廣義分類器,為了實現非線性的多核數據挖掘與聚類效果,提高內存的耗費比,平衡泛化能力與學習能力[18]。通過預測模型構造出損失函數,再基于結構風險最小化原則得到支持向量機算法。它要解決一個原始最優化問題,其形式如下。

式中,w為權值向量;w*為w的伴隨矩陣;c為懲罰參數;ξi、ξi*為松弛變量;φ(xi)為映射函數;xi為輸入變量;yi為輸出變量;l為樣本個數;b為偏值;ε為誤差上限。
通過代入拉格朗日乘子ai和ai*,將式(7)轉化為拉格朗日多項式,用E表示,即

式中,k(xi,xj)為核函數;xi、xj為輸入變量;l為樣本個數。
由上式求解,可得到支持向量機的預測函數如下。

基于Mercer條件,且將高斯RBF作為核函數,g為核函數的內部參數,g>0,則有

式(7)中的懲罰參數c和式(13)中核函數的內部參數g決定了SVM的預測精確度。因此,為了構建高精度的預測模型,需要對SVM內部的參數(c,g)進行優化以確定最優參數[19]。
決策樹分類算法的實質是通過對樣本進行訓練,并在這一過程中不斷總結與歸納實現樣本自學習,從而得到相應的決策樹或者決策樹規則。之后,依據所獲得的決策樹或者決策樹規則完成數據的準確分類。
給定數據集D={d1,d2,…,dn},每個數據集的類別屬性值可用A1,A2,…,Am進行表示,設定類別屬性有n個互不相等的值。由此,可將數據集分割為S1,S2,…,Sn個子集,則數據集D的平均信息量可以用下式進行表征。

其中,P(Si)=|P(Si)|/|D|。
建立決策樹也即逐步縮小分類不確定性的步驟,若Aj具有r個值al,其中1<l<r,依照Aj將S子集分割為數量為t的子集,則限定Aj=al時,各Sil子集被歸類于第i類數據集合。此時,數據集D的平均信息量可以用下式進行表征。

此時,數據集D的信息增益量可以用式(17)進行表征[20]。

隨機森林是復合決策樹的集成機器學習算法。隨機森林使用booststrap方法構建n個訓練集,每個訓練集對應生成一個決策樹,總體就有n個決策樹,因為每個決策樹的數據集都不相同,所以每棵樹又有少量區別。最后對所有的決策樹的預測結果取平均減少預測的方差,提高在測試集上的性能表現。相比較單棵樹訓練過程,隨機性主要體現在兩個方面:每次迭代是在原始數據集中重新抽樣獲得不同的訓練集;對于每一個樹節點,考慮不同的隨機特征子集來進行分裂。
隨機森林的數學模型公式如下。

式中,N為回歸樹模型回歸樹的數量[21]。
關于預測結果的評價參數算法,對于識別水合物的情況,在二元分類中分類結果只有兩種,真和假。一般用T(True)表示預測結果正確(與實際相符),F(False)表示預測結果不正確(與實際不符),P(Positive)表示真實的正樣本,N(Negative)表示真實的負樣本,那么預測就會有四種結果產生,如表1所示。

表1 評價結果指標意義
一般用4種典型的評價參數來評價預測結果準確性,包括準確率Acc、精確度P、召回率R和F1分數。

精確度和召回率可能往往是相互矛盾的。實際的情況中我們往往希望兩個參數值都比較高。例如當預測的結果與實際結果完全一致時,FP與FN兩個參數均為0,此時精確度與召回率均為1。這是一種理想的情況。

精確度與召回率可能是相互矛盾的,因此需要綜合考慮二者,因此引入F1分數,定義如下。

本節基于烏倫盆地和神狐海域的2口井的測井資料進行訓練與測試,并對識別的結果進行了分析,從不同的角度驗證了集成學習方法在水合物識別的準確性。
UBGH2-10井位于烏倫盆地的東北部,在該區域海底500 m范圍內廣泛分布著兩個與天然氣水合物分布有關的沉積單元:主要為新近紀晚期的物質運移沉積,以及更新世和全新世的大量濁積巖和半遠洋沉積。地區的地層主要由覆蓋在厚物質輸導沉積序列上的半遠洋沉積物組成,在該輸運沉積層之下,可以看到另一個平行沉積層序列。密度—孔隙度和體積密度測井值顯示了在海底以下190 m深度范圍內的典型壓實曲線,在該曲線中,塊狀物質運移沉積單元的出現導致體積密度突然降低,孔隙度隨之增加。這口井的隨鉆測井數據中的P波波速表明直至海底深度下135 m波速都較低,這些數值來源于軟沉積物以及工具發出的直接縱波與井眼與工具串相互作用產生的二次波重疊到達的復雜干涉圖樣。從測井圖(圖1 左)中可以看出地層中包含水合物的層段為2 220~2 307 m[22]。

圖1 采集與實際測井曲線對比
3.1.1 數據處理
將文獻中測井曲線進行數字化,借助石油云網站中測井曲線數字化功能模塊,將多條曲線數據按照深度進行埋深對齊,得到可用于模型訓練和測試的測井數據。石油云的測井曲線數字化模塊主要基于曲線色域差對曲線像素進行自動識別,并去除背景噪聲,進行插值補齊,得到還原度較高的曲線。整理后部分地層測井數據如表2所示,表格中的第一列為井深,最后一列為地層含水合物與否的標簽,表格中間的部分為測井參數數據。

表 2 UBGH2-10井測井部分數據
圖1展示了采集的數據與原數據曲線的對比,圖中左邊為實測測井曲線,右圖為根據采集數據后繪制的測井曲線,紅線標注的地層為含水合物地層。對比發現左右兩幅圖基本一致,驗證了測井數據的準確性。
3.1.2 模型訓練測試
運用典型的機器學習分類算法,包括AdaBoost、決策樹、隨機森林和SVM方法,對UBGH2-10井測井數據進行訓練和測試,進行水合物層段識別,本例選擇了50%的測井數據用于模型訓練,其余的50%用于預測。圖2展示了識別結果,最左側為地層實際情況,右側展示了不同方法預測的結果,水合物層段用綠色表示,其余用紅色表示。

圖2 地層識別結果
從圖2可以看出,采用AdaBoost算法預測出了大部分的水合物地層,準確率達到95.02%,準確率依次降低的是隨機森林方法、決策樹,而支持向量機SVM算法并未預測出水合物地層。當改變訓練集在整個數據集中的比例,即增加或減少訓練集數據時,不同方法的預測準確率如表3所示。

表3 預測準確率

圖3 UBGH2-10井識別結果
從預測結果中可以看出:一般情況下,采用集成學習AdaBoost的預測準確率均高于其他算法。隨著訓練集占比的增加,各算法預測準確率大部分呈增長趨勢。在訓練集占比較高時,AdaBoost、隨機森林和決策樹算法的準確率均大于SVM算法,其中集成學習在水合物識別中的準確率最高。
準確率反應的是預測結果與實際結果的對比,依靠這個參數反應的地層情況是片面的。例如以上例子中采用SVM方法完全沒有識別出含水合物層段,這說明僅憑準確率一個參數作為算法分類好壞的標準是不夠的,因此要引入精確度與召回率兩個參數作為綜合評價。分別計算以上各井的精確度、召回率和F1分數。下表為各方法訓練集占測井數據的50%時的測試結果。

表4 不同算法的精確度、召回率和F1分數(UBGH2-10井)
上表表明:當訓練集占比為50%時,F1分數、精確度以及召回率最大的均為AdaBoost算法,數值分別為0.907、0.929、0.886。在識別結果中,采用50%測井數據的SVM的測試結果中沒有識別出含有水合物的層段。所以,識別結果中的TP部分為0,精確度與召回率的值均為0,因此F1的值為0。
3.1.3 測井參數優化組合及分析
參數優化主要以降低參數個數為基礎,通過不同測井參數的排列組合,以此分析各個參數(組合)的影響,從而找到對水合物準確識別影響較高的參數組合,為測井工作的優化提供參考依據。對UBGH2-10井的測井數據采用集成學習AdaBoost方法,以訓練集占總數據集50%為例,逐一降低參數個數,測試結果如表5至表9所示。

表5 5組測井數據識別結果

表9 1組測井數據識別結果
采用5組測井數據時(表 5),準確率最高的組合為孔隙度、伽馬射線、電阻率、密度、縱波速度,前五組的參數組合準確率均在0.8以上,而去掉縱波速度以后,準確率大幅降低,降到0.729,可見采用5組測井數據時,縱波速度是一個影響較大的參數。
采用4組測井數據時(表 6),取準確率最高的十組數據組合進行分析。伽馬射線、電阻率、井徑和密度組合的準確率最高,其值達0.853;識別最差的組合準確率只有0.787,沒有伽馬射線和縱波速度,表示這兩個參數在4組數據的情況下影響較大。

表6 4組測井數據識別結果
采用3組測井數據時(表 7),取準確率最高的十組數據組合進行分析。準確率最高的組合為電阻率、密度和井徑,其準確率達0.844,準確率最低的組合為孔隙度、井徑和縱波速度,準確率僅有0.751。準確率最高的排名前四的組合中,電阻率均在組合中,是較為重要的參數,而組合參數中含有孔隙度時,準確率相對較低。

表7 3組測井數據識別結果
采用2組測井數據時(表 8),取準確率最高的十組數據組合進行分析。準確率最高的組合為電阻率和井徑,其值為0.787,電阻率和伽馬射線組合的準確率次之,其值為0.782,識別準確率最低的組合是密度和縱波速度,其值僅有0.653。

表8 2組測井數據識別結果
采用1組測井數據時(表 9),準確率最高是用的參數是電阻率,其值為0.676,最低時用的參數是密度,識別準確率為0.52。
綜合參數組合優化的結果,圖4展示了不同參數情況下最高的準確率以及參數組合,可以看到電阻率在各個組合中均有出現,另外在3至5個參數的情況下,最高準確率均能達到0.8以上,因此,在之后的研究中應重點關注電阻率的測試結果。

圖4 不同參數情況下準確率最高的測井數據組合
神狐海域水合物研究區位于南海北部陸坡中部神狐暗沙與東沙群島之間的海域,構造上位于珠江口盆地珠二坳陷南翼[23]。本區海底地形較平坦,總體趨勢為北向南傾斜,水深從1 000 m逐漸加深到1 700 m以上。以1 350 m水深線為界分為南北2部分,北部地區地形較陡,從西到東發育3個近南北向的海底溝槽,海底溝槽與海底山脊相間排列[24]。南部地形平坦,向南逐漸進入深海平原。研究區主要發育海丘、海谷、沖蝕槽、沖蝕溝、反向坡坎及海底溝槽等地貌類型[25]。SH3井是神狐地區在第一次天然氣水合物鉆探考察中鉆探的第一口井,圖5的左圖為該區域含水合物沉積物的測井解釋層,深度范圍為50~200 m。測井數據包括井徑,伽馬射線和電阻率[26]。
3.2.1 數據處理
與UBGH2-10井的處理方法相似, SH3井的測井曲線也采用石油云曲線數字化模塊進行采集。圖5為采集的數據與原數據曲線的對比圖,圖中左邊為實測測井曲線,右邊為根據采集數據后繪制的測井曲線。對比發現左右兩幅圖基本一致,從而驗證了測井數據的準確性。

圖5 采集與實際測井曲線對比
3.2.2 模型訓練測試
首先對該地層進行識別,采用測試訓練集占比為50%時,Adaboost、決策樹隨機森林和SVM方法的識別情況展示在圖6中,左側為地層實際情況。對比發現,相對于其他方法,集成學習Adaboost方法準確率高,且水合物層段可以較為準確識別出來。決策樹準確率次之,也能識別出水合物層段。隨機森林和支持向量機SVM方法雖然也有較高準確率,但未能有效識別水合物層段。

圖6 SH3井水合物地層識別結果
采用不同比例的訓練集占比時,不同方法的預測準確率如表10所示,圖7展示了4種方法識別的準確率與訓練占比的相關圖。

表10 SH3井識別結果

圖7 SH3井識別結果
對于各訓練集占比識別準確率最高的是AdaBoost算法,識別準確率最低的為SVM算法,各算法識別準確率在大體上隨著訓練集占比的提高而增加,即訓練所用的數據越多,預測就越準確。
除了計算準確率,基于50%訓練集的情況,再計算精確度與召回率以及F1分數,從而更加全面地了解各個算法的預測效果。

表11 不同算法的精確度、召回率及F1分數(SH3井)
結果顯示:F1分數最高的時AdaBoost算法,最低的是SVM算法;精確度最高的是AdaBoost算法,最低的是SVM算法;召回率最高的是AdaBoost算法和決策樹算法,最低的是SVM算法。SVM算法雖然識別的準確率達到81.98%,但同樣沒有識別出含有水合物的層段,因此F1,精確度與召回率的值均為0。
3.2.3 測井參數優化組合及分析
對SH3井的測井數據采用集成學習AdaBoost方法,以訓練集占總數據集50%為例,逐一降低參數個數,測試結果如表12和表13所示:

表12 2組測井數據識別結果

表13 1組測井數據識別結果
表12表明,采用2組測井數據時,準確率最高的組合是井徑和電阻率,識別準確率最低的組合是井徑和伽馬射線。
表13說明,采用1組測井數據時,準確率最高的是電阻率,識別準確率最低的組合是井徑。SH3測井參數較少,在選擇測試參數時已經考慮了較關鍵的參數,因此預測準確率也較高,降低參數個數的測試結果,也保證了0.8以上的準確率,并且發現電阻率是較為關鍵的參數,能影響識別結果的準確率。
本文利用測井數據,引入機器學習分類算法,通過方法和參數的優選,進行地層水合物識別。利用石油云測井曲線數字化工具進行測井數據采集,用多種機器學習算法進行水合物層段識別,通過引入F1分數,精確度與召回率等參數作為識別結果的評價指標,對各種學習方法的測試結果進行系統的評判。最后采用降參數的方法探尋不同測井參數的最優組合,得到有重要影響的測井參數組合,為井下測井儀器選擇提供依據。
驗證結果表明:(1)與其他機器學習算法相比,集成學習算法AdaBoost在大多數的測試結果中的準確率都是最高的;(2)通過對識別結果的精確度,F1分數進行綜合分析,找到綜合結果最優的算法也是集成學習Adaboost算法,識別結果與實際地層的匹配程度較高,證明了集成學習算法在水合物識別方面的可行性;(3)改變參數個數,對不同測試參數組合識別結果進行評價,測試結果表明電阻率與聲波傳遞速度在水合物的識別方面有很強的辨識性,這與水合物的特征相符。可以作為根據隨鉆測井參數識別地層水合物中需要重點關注的測井參數。
本文通過方法優選和參數優選,發現集成學習AdaBoost算法在水合物識別上具有較好的效果,為天然氣水合物識別提供了新的思路,對未來實現鉆進過程中智能識別有重要的借鑒意義。