陳鋼花 梁莎莎*② 王 軍 祗淑華 諸葛月英 劉有基
(①中國石油大學(華東)地球科學與技術學院,山東青島 266580; ②嘉興市佳安燃氣技術服務有限公司,浙江嘉興 314000; ③中國石化勝利油田分公司勘探開發(fā)研究院,山東東營257015;④中國石油集團測井有限公司華北分公司,河北任丘 062550)
利用常規(guī)測井曲線難以準確識別復雜砂礫巖儲層[1]中的流體類型,并且效率較低,主要是因為常規(guī)測井資料受巖性影響大,巖石骨架對測井響應特征的影響大于流體。另外,地層水礦化度低、巖石礦物成分多樣等因素也會造成油、水層差異不明顯,利用常規(guī)測井曲線判斷流體時誤差較大[2]。核磁共振測井技術的應用提高了復雜儲層的識別精度,但是限于成本尚不能廣泛應用于生產(chǎn)[3]。常規(guī)測井技術成本低、應用數(shù)據(jù)量大,利用機器學習研究常規(guī)測井資料在流體識別中的應用具有重要意義。
機器學習是利用計算機、概率論、統(tǒng)計學等通過數(shù)據(jù)輸入,讓計算機學會新知識,從而實現(xiàn)人工智能。機器學習的過程就是通過訓練數(shù)據(jù)尋找目標函數(shù),常用算法主要有決策樹[4]、隨機森林算法[5]、邏輯回歸、支持向量機[6]、神經(jīng)網(wǎng)絡[7]、聚類分析[8]等。近年來,機器學習逐漸成為儲層評價研究的熱點[9],其以常規(guī)測井數(shù)據(jù)為基礎,能大幅度提高流體識別精度。因此,機器學習技術的研究對于油氣開發(fā)具有重要意義[10]。劉得芳等[11]應用決策樹方法提高了利用單一信息判別的準確性。張銀德等[12]結合測井資料和試采資料,利用支持向量機方法準確識別了油、氣、水層。王少龍等[13]實現(xiàn)了BP神經(jīng)網(wǎng)絡在儲層流體中的信息自動化識別。陳鋼花等[14]構建聲—電測井聯(lián)合流體識別因子應用于川東碳酸鹽巖氣藏研究中,解釋結果與試采結果吻合較好。但是,諸多算法中神經(jīng)網(wǎng)絡算法較為復雜,如果學習樣本數(shù)量較少,容易出現(xiàn)過擬合問題,導致準確率下降。同時,神經(jīng)網(wǎng)絡“黑盒”過程導致無法觀察中間結果,學習時間長,容易陷入局部極小值。在分類較多時,決策樹法錯誤率較高。如果所用測井曲線數(shù)量以及標準樣本數(shù)量不大時,應用聚類算法難以獲得較為準確的結果。
針對以上問題,本文將AdaBoost(Adaptive Boosting,自適應增強)算法應用于砂礫巖儲層流體識別中,以提高流體識別精度。
Boosting算法也稱為提升法或者增強學習,是一類常用的機器學習算法[15]。它是將弱學習器(Weak Learners)集成提升為一個預測(分類)精度高的強學習器(Strong Learner)。AdaBoost算法是Boosting算法族中最有影響的一種迭代算法[16],其預測精準、算法簡單,在諸多領域都有著成功應用,尤其在處理分類問題和模式識別領域更為突出,例如人臉識別、語音識別、文本識別、遙感分類等[17]。AdaBoost算法迭代是通過改變訓練集中樣本數(shù)據(jù)各自的權重實現(xiàn)的,實現(xiàn)過程如圖1所示:
(1)對于二分類問題,在初始化時對訓練集中的每一個樣本數(shù)據(jù)賦予同樣的權重,并訓練出一個弱學習器1(圖1a左);
(2)根據(jù)弱學習器1對樣本數(shù)據(jù)的訓練誤差率更新樣本數(shù)據(jù)的訓練權重,使之前弱學習器1分類錯誤的訓練樣本點的權重增加,并使錯誤數(shù)據(jù)點被下一個弱學習器選中的概率增加(圖1a右);
(3)基于調整權重后的訓練樣本訓練弱學習器2(圖1b左);
(4)重復上述(2)和(3)的步驟直至弱學習器數(shù)目達到事先指定的數(shù)目(圖1b右、圖1c左);
(5)將各個訓練得到的弱學習器組合得到最終的強分類器(圖1c右)。
最初的AdaBoost算法只適用于二分類問題,而在實際中常常會遇到多分類問題。關于二分類問題,要求弱學習器的分類正確率比隨機猜測略好,即正確率大于1/2。關于類別數(shù)目為K的多分類問題,弱學習器的分類正確率比隨機猜測正確率1/K略大這一條件過弱,很難集成出一個精度高的強學習器。而弱學習器的分類正確率大于1/2這一條件又過強,可能導致在實際應用中難以找到足夠多個正確率大于1/2的弱學習器[18]。
AdaBoost.M2算法作為AdaBoost算法的推廣,適用于解決多分類問題。對于K類多分類問題,AdaBoost.M2算法將其拆解為K-1個二分類問題加以解決。
AdaBoost.M2算法反復調用給定的弱學習器算法,主要是在訓練集中維護一套權重分布。在第t輪迭代時,樣本(xi,yi)(i為樣本編號,xi為樣本數(shù)據(jù),yi為該樣本的標簽)的分布權值記為Dt(i)。初始所有樣本權重相等,但進行迭代時,每一輪錯誤分類的樣本權重都將會增加。弱學習器的任務就是根據(jù)分布Dt(i)找到合適的分類器。對于給定樣本數(shù)據(jù)xi,有正確分類yi和非正確分類y(除yi之外的K-1類)[19]。調用弱學習算法自動得到分類器ht,并假設ht從[0,1]取值。對于樣本(xi,yi),ht會進行K-1次判別,每一次判別都有三種情況: 當ht(xi,yi)=1、ht(xi,y)=0時,則分類正確,xi的類別是yi; 當ht(xi,yi)=0、ht(xi,y)=1時,則分類錯誤,xi的類別是y; 當ht(xi,yi)=ht(xi,y)時,則xi的類別隨機從yi和y中選取一個。
圖1 AdaBoost算法原理示意圖 左為弱學習器訓練過程,右為訓練結果
每一次判別錯誤分類為y的概率為
(1)
(2)
(3)
從而可以得到評估弱學習器好壞的偽損失
(4)
偽損失εt對判別正確率低的弱分類器ht進行懲罰,減少其投票權重。同時,在下一輪迭代中增加錯誤分類的標簽權重,加大對錯分樣本的訓練機會。
AdaBoost.M2算法的實現(xiàn)步驟如下。
(1)輸入樣本總數(shù)為N的訓練集S={(x1,y1),…,(xi,yi),…,(xN,yN)},標簽yi∈Y={1,2,K},其中i為樣本編號,K是類別數(shù)。
(5)
(3)循環(huán)迭代t=1,…,T。
③計算ht的偽損失。
⑤計算新的權重
(6)
式中:i=1,2,…,N;y∈Y-(yi)。
(4)輸出T次循環(huán)后得到的最終組合分類器
(7)
A研究區(qū)砂礫巖具有近物源、快速堆積、縱向厚度變化大、相變快等特點。礫石成分復雜、孔隙結構多樣、非均質性強,存在多油水系統(tǒng),油水層測井響應特征差異不明顯[20]。通常自然電位(SP)異常幅度可以反映儲層滲透性、地層水礦化度,電阻率(RT)大小取決于孔隙結構以及孔隙所含流體。但在復雜砂礫巖儲層中,地層水礦化度差異大,砂礫巖體巖石骨架對電阻率的的影響遠遠大于流體,利用常規(guī)測井資料難以準確評價油、水層。
圖2 研究區(qū)電阻率—密度交會圖
由圖2可知,利用密度與電阻率難以識別流體。因而,選取反映儲層巖性、物性、流體性質的SP、GR(伽馬)、RT、AC(聲波時差)、CNL(補償中子)、DEN(密度)等六種測井資料,運用機器學習算法,提取反映流體的信息,多參數(shù)結合實現(xiàn)砂礫巖中的流體識別。
首先在關鍵井中,根據(jù)核磁共振、錄井油氣顯示、試油等結果選取多個井段的儲層樣本,綜合考慮巖性、孔隙結構、地層水礦化度等因素,選取上述六種測井資料作為輸入,建立研究區(qū)干層、水層、油水同層、油層識別模型。
建模前,對輸入?yún)?shù)做歸一化處理,消除量綱的影響。圖3為不同流體類型測井數(shù)據(jù)歸一化后的平行坐標系,從左到右分別為DEN、CNL、GR、AC、SP、RT測井類型。每一個樣本為一條曲線,不同顏色的曲線代表不同類型的流體。從圖中可以看出,不同類型流體測井響應特征不同,同一種流體各測井響應特征也不完全一致。因此,采用單一測井曲線無法對復雜儲層流體類型進行劃分,需要多個測井參數(shù)進行學習分類,獲得學習模型,識別油水層。
圖3 歸一化后的參數(shù)平行坐標系
在AdaBoost.M2算法中,要求弱學習器的輸出為一個在[0,1]內的值。因此,本文采用決策樹法作為弱分類器。在建模過程中,將歸一化后的數(shù)據(jù)作為輸入,輸出為流體類型(判斷為該類型響應為1,否則響應為0)。本文以研究區(qū)9口井為樣本井,將試油、試采資料的層段作為樣本層,共選擇了反映流體性質的353個樣本數(shù)據(jù)進行訓練并建立砂礫巖流體識別模型。其中80%的樣本(282個)作為訓練數(shù)據(jù),20%的樣本(71個)作為測試數(shù)據(jù),并將測試結果與試油、試采結果做對比分析。
表1為測試結果與試油、試采資料的對比,可以看出代表判別錯誤的層共有6個,解釋符合率為91.5%,證明了該模型的適用性,可用于研究區(qū)流體識別。
研究區(qū)X井流體識別測井解釋成果如圖4所示。
圖4 X井試油段解釋成果圖 Rxo為沖洗帶電阻率
表1 測試結果與試油、試采結果對照表
1437~1462m井段儲層特征明顯,SP值負異常,GR值低,DEN值偏低,AC值和CNL值均較低,RT值高,具有典型的含油氣特征。本方法判定該儲層為油層,試油結果日產(chǎn)油68.9×104m3。1611~1614m井段和1635~1640m井段的45、49號層SP值負異常,GR值低,DEN值中等,AC值和CNL值均中等,RT值較高,錄井含油性為熒光,解釋為差油層。本方法判定為干層。試油結果為干層,2個層段無產(chǎn)量。上述結果表明了本文方法的準確性和適用性。
AdaBoost.M2算法很好地利用了弱分類器進行聯(lián)級,提高了分類準確度。本文將決策樹法作為弱分類器用于砂礫巖流體識別,樣本回判準確率為95%,測試準確率達91.5%,精度高且效果好。隨著油氣藏勘探難度的增加,測井數(shù)據(jù)復雜程度與人工對比識別難度也在增加,機器學習是解決該問題的有利途徑,根據(jù)不同地區(qū)的特點選取測井數(shù)據(jù)和弱分類器類型、數(shù)目,即可提高流體識別精度,指導油氣藏生產(chǎn)與開發(fā)。