藍茜茜, 張逸倫, 康志宏*, 徐嘉宏, 孟 順
(1.中國地質(zhì)大學(xué)(北京)能源學(xué)院,北京 100083;2.北京大學(xué)地球與空間科學(xué)學(xué)院,北京 100871)
隨著中國海相碳酸鹽巖儲層油氣田的勘探開發(fā)取得突破性進展,碳酸鹽巖儲層的表征技術(shù)和有效性評價顯得愈加重要。碳酸鹽儲層具有非均質(zhì)性強、儲集空間多樣復(fù)雜、儲集體類型難以準確描述及儲層參數(shù)無法定量計算的特點,常規(guī)的儲層測井評價基于多種地球物理手段,結(jié)合油藏儲層地質(zhì)特征、開發(fā)動靜態(tài)分析和人工經(jīng)驗,提出適合于不同碳酸鹽巖油氣藏的儲集體劃分標準[1-2]。
在碳酸鹽巖儲集體劃分和儲集空間識別中,常規(guī)測井方法有交會圖法、地質(zhì)因子公式法、綜合概率指數(shù)法等,但均無法很好地建立表征參數(shù)與儲集體類型間的非線性關(guān)系;成像測井方法的標定效果直觀且準確,但應(yīng)用成本較高[3-4]。近年來,不同學(xué)者提出了若干基于機器學(xué)習(xí)的數(shù)學(xué)改進方法。陳鋼花等[5]利用BP神經(jīng)網(wǎng)絡(luò)對儲層縫洞中的泥質(zhì)、砂質(zhì)和結(jié)晶質(zhì)三種充填物進行識別;謝瑋等[6]利用參數(shù)優(yōu)化的最小二乘支持向量機法,劃分縫洞充填物為無充填、泥質(zhì)充填、硅質(zhì)充填和結(jié)晶碳酸鹽巖充填四種,識別效果好于BP神經(jīng)網(wǎng)絡(luò)法;于聰靈等[7]將暗河型碳酸鹽巖地質(zhì)因素作為神經(jīng)網(wǎng)絡(luò)輸入,對暗河系統(tǒng)充填程度進行預(yù)測,為儲集體劃分提供了新思路。
前人基于機器學(xué)習(xí)的儲集體類型識別均只采用了單個學(xué)習(xí)器,雖然取得了一定效果,但識別準確率有待提高:采用單個BP神經(jīng)網(wǎng)絡(luò)的特征提取能力弱,且若增加網(wǎng)絡(luò)層數(shù)會導(dǎo)致網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,樣本量不足時容易產(chǎn)生過擬合問題;單一的支持向量基法在多分類問題中對少數(shù)類樣本的識別效果較差,且對參數(shù)和核函數(shù)選擇敏感;其他單學(xué)習(xí)器也存在識別率低、泛化能力差等問題。
針對上述問題,將集成學(xué)習(xí)(ensemble learning)技術(shù)應(yīng)用于碳酸鹽巖儲集體類型劃分中。集成學(xué)習(xí)本身不是一個單獨的機器學(xué)習(xí)算法,它的基本思想是通過一定策略將多個單學(xué)習(xí)器作為基分類器集成為一個強學(xué)習(xí)器,從而達到博采眾長的目的。在分類問題選取基分類器時,由于其對基分類器的要求較低(預(yù)測結(jié)果比隨機猜想結(jié)果稍好即可)的特點,可將多種模式識別或機器學(xué)習(xí)算法作為基分類器與集成算法進行耦合,起到提高分類準確率的作用。對于碳酸鹽儲集體多分類問題,將集成學(xué)習(xí)家族中Boosting算法和Bagging算法有機結(jié)合,應(yīng)用支持向量機、決策樹和淺層神經(jīng)網(wǎng)絡(luò)作為基分類器,將AdaBoost.M2算法的強分類器預(yù)測結(jié)果繼續(xù)作為Bagging算法的基分類器,得到最終的儲集體識別結(jié)果。最后,將本文方法應(yīng)用于塔河油田T615井組碳酸鹽巖儲集體類型劃分中。
Boosting算法是集成學(xué)習(xí)的代表算法之一,它充分利用基分類器間的相互耦合關(guān)系提高預(yù)測效果,其代表性的實現(xiàn)算法——AdaBoost于1995年由Freund和Schapire提出[8]。AdaBoost算法的基本原理是:首先設(shè)定基分類器數(shù)(迭代次數(shù)),為所有訓(xùn)練樣本賦予相同權(quán)值,該權(quán)值代表樣本被選入訓(xùn)練子集的概率;在每次迭代過程中,依據(jù)當前基分類器對訓(xùn)練子集樣本的分類結(jié)果更新權(quán)值,被正確分類的樣本權(quán)值降低,錯誤分類的樣本權(quán)值提高,使得AdaBoost算法更加聚焦于不易正確分類的樣本;同時根據(jù)分類結(jié)果錯誤率對基分類器賦值,該值決定了當前基分類器在最終強分類器中所占的比重;不斷迭代上述過程,直到達到設(shè)定迭代次數(shù)終止,最后將各分類器的加權(quán)結(jié)果作為最終的分類結(jié)果。利用該方法對真實分類結(jié)果未知的樣本進行預(yù)測時,只需利用之前得到的加權(quán)因子,將各基分類器的分類結(jié)果加權(quán)即得預(yù)測分類結(jié)果[9]。
AdaBoost算法應(yīng)用于二分類問題時,要求基分類器預(yù)測準確率大于1/2,即比隨機猜測準確率略高。應(yīng)用于多分類(K類)問題時,若僅要求基分類器預(yù)測準確率大于1/K,則條件太弱,很難集合成一個較強的分類器;而要求基分類器預(yù)測準確率大于1/2的條件在實際中也無法保證。AdaBoost.M2算法作為AdaBoost算法的擴充可用于儲集體類型劃分的多分類問題中,該方法將多分類問題分解為多個二分類問題,同時基于加權(quán)偽損失計算錯誤率,克服了分類器算法準確率的限制,使在進行分類學(xué)習(xí)過程中不僅關(guān)注難以分類的樣本,也關(guān)注難以區(qū)分的錯誤類別[10]。AdaBoost.M2多分類算法的具體實現(xiàn)步驟如下。
1.1.1 樣本初始化
設(shè)定基分類器個數(shù)為T,樣本集為(x1,y1),(x2,y2),…,(xm,ym),yi={1,2,…,K},對于樣本(xi,yi),y為除yi外的其他錯誤分類。錯分樣本集F={(xi,y)},i∈{1,2,…,m},錯分樣本集的初始權(quán)重為
D1(xi,y)=1/m(K-1),i=1,2,…,m
(1)
1.1.2 計算偽損失
在第t次迭代中,將錯分樣本集Dt的分布作為輸入,得到的基分類器記為ht(x,y)∈[0,1]。對于第i個樣本,若ht(xi,yi)=1且ht(xi,y)=0,則分類正確;若ht(xi,yi)=0且ht(xi,y)=1,則分類錯誤;若ht(xi,yi)=ht(xi,y),則取隨機分類結(jié)果。綜上,該樣本被錯分的概率為
(2)
ht在Dt分布的偽損失定義為
(3)
1.1.3 更新權(quán)重
(4)
式(4)中:Zt為歸一化因子。
1.1.4 組合生成強分類器
經(jīng)過T次迭代得到所有的基分類器分類結(jié)果,ht的權(quán)重定義為lg(1/βt),分類準確率越大的基分類器對應(yīng)的權(quán)重越大。最終分類器h(x)依據(jù)包含權(quán)重的多數(shù)投票法確定,投票值最大的類別作為最終輸出。
(5)
在基分類器選擇中,常見的基分類器有支持向量機、決策樹、淺層神經(jīng)網(wǎng)絡(luò)等,一般采用同質(zhì)基分類器(所有基分類器均設(shè)置為同一種)得到強學(xué)習(xí)器,相較單分類器取得了一定效果,但同質(zhì)基分類器也存在一定問題。通過前述多分類AdaBoost原理不難發(fā)現(xiàn),算法通過加權(quán)的形式聚焦于那些不易分類樣本,即下一次迭代重點關(guān)注上一次迭代中分類錯誤的樣本,但由于基分類器算法本身存在缺陷,經(jīng)過幾次迭代后,難以被準確分類的樣本可能始終被錯分,導(dǎo)致最終生成的強分類器總有一部分樣本無法正確分類。
不同基分類器的分類效果也存在差異,具體表現(xiàn)為某些分類器對樣本集中某一類或幾類樣本的分類準確率較高,而對其他類樣本的分類準確率較低。因此,將多個基于不同基分類器的強分類器進行耦合,耦合策略采用Bagging算法[11],有效避免同質(zhì)基分類器始終錯分特定樣本的問題,算法具體實現(xiàn)步驟如下。
(1)首先利用上節(jié)AdaBoost.M2算法,將符合要求的L個分類器算法{h1,h2,…,hL}分別作為同質(zhì)基分類器,利用式(1)~式(5)得到L個強學(xué)習(xí)器,每個樣本均得到L個分類結(jié)果,并分別計算各強學(xué)習(xí)器對每類樣本的分類正確率r,組合為分類正確率矩陣R:
(6)
(2)采用Bagging集成策略,將不同強學(xué)習(xí)器并行產(chǎn)生的分類結(jié)果作為新的基分類器,采用簡單投票法得到所有樣本的最終分類結(jié)果和最終強學(xué)習(xí)器。
(3)對于簡單投票法無法確定的樣本,則取分類正確率取最大值時對應(yīng)的強分類器結(jié)果即可。
基于集成學(xué)習(xí)的改進方法流程如圖1所示,流程主要包括數(shù)據(jù)預(yù)處理、預(yù)測模型建立和模型測試三部分,其中選取的基分類器為支持向量機、決策樹和淺層神經(jīng)網(wǎng)絡(luò)共3 種。在碳酸鹽巖儲集體劃分中,首先利用包含多種測井參數(shù)和儲集體劃分分類結(jié)果的訓(xùn)練樣本集得到預(yù)測模型,然后將測試樣本的測井參數(shù)作為輸入,導(dǎo)入預(yù)測模型即可得到預(yù)測樣本的最終分類結(jié)果。本文方法既利用AdaBoost.M2算法對難以分類樣本重點關(guān)注,又根據(jù)Bagging算法將多種基分類器得到的強分類器進行耦合,Boosting和Bagging集成策略的有機結(jié)合使得分類算法得到了全面優(yōu)化。
圖1 基于集成學(xué)習(xí)的改進方法示意圖Fig.1 Improved method based on ensemble learning
塔河油田T615井組T74構(gòu)造面以下為典型的碳酸鹽巖縫洞型儲層,在劃分前需要對井組內(nèi)的儲集體類型進行標定,而標定前首先需要建立儲集體測井響應(yīng)模式,然后基于常規(guī)測井響應(yīng)特征和成像測井資料,結(jié)合巖心和生產(chǎn)動態(tài)數(shù)據(jù)等,對井組內(nèi)所有井進行儲集體劃分。如圖2所示,以T615井儲集體類型的測井響應(yīng)模式為例,其中測井曲線有自然伽馬(GR)、自然電位(SP)、淺側(cè)向電阻率(RS)、深側(cè)向電阻率(RD)、聲波時差(AC)和補償中子(CNL)共6 條,共劃分為未充填溶洞型、角礫充填型、砂泥質(zhì)充填型和溶蝕孔縫型4類儲層[12-16]。
圖2 T615井典型儲集體綜合柱狀圖Fig.2 Comprehensive histogram of typical reservoirs in well T615
T615井5 622~5 627 m井段為未充填溶洞段。常規(guī)測井響應(yīng)表現(xiàn)為:自然伽馬變化幅度不明顯,小于20 API;聲波時差值顯著增大,曲線呈“鐘形”;鉆井液侵入,導(dǎo)致深淺側(cè)向電阻率曲線存在異常低值,且出現(xiàn)明顯的正差異現(xiàn)象,深側(cè)向電阻率小于50 Ω·m,淺側(cè)向電阻率小于15 Ω·m;指示孔隙度變化的補償中子和自然電位明顯增大。未充填溶洞段被低阻鉆井液充填,與高阻圍巖的高亮形成鮮明對比,且儀器不貼壁導(dǎo)致成像測井圖像異常,表現(xiàn)為暗色塊狀。
T615井5 561~5 574 m井段為角礫充填溶洞段,由于地層塌陷、溶洞坍塌等作用使得溶洞被碳酸鹽巖角礫所充填。常規(guī)測井響應(yīng)表現(xiàn)為:自然伽馬增大,小于40 API,曲線呈“鋸齒形”;聲波時差無明顯變化;深淺側(cè)向電阻率曲線出現(xiàn)正差異現(xiàn)象,小于60 Ω·m;補償中子和自然電位值與圍巖相比略微增大。成像測井響應(yīng)顯示為磨圓較差的棱角狀或橢圓狀不規(guī)則亮塊。
T615井5 534~5 554 m井段為砂泥質(zhì)充填溶洞段,大部分充填物為河流搬運的砂泥質(zhì),具有良好的成層性和分選性。常規(guī)測井曲線整體上均呈“箱形”,具體的響應(yīng)特征表現(xiàn)為:自然伽馬異常增大,由8 API增大至57 API;巖性變化導(dǎo)致聲波時差增大但增幅較??;深淺側(cè)向電阻率呈異常低值,深側(cè)向電阻率小于10 Ω·m,淺側(cè)向電阻率小于3 Ω·m,曲線出現(xiàn)明顯正差異;補償中子和自然電位值顯著增大。成像測井響應(yīng)顯示為暗色水平條帶。
T615井5 669~5 675 m井段為溶蝕孔縫段,構(gòu)造作用產(chǎn)生原生裂縫,后期經(jīng)熱液和酸性流體改造,裂縫逐漸延伸擴張,形成溶蝕孔和溶蝕縫,是油氣運移的有效通道。常規(guī)測井響應(yīng)表現(xiàn)為:自然伽馬值接近圍巖,小于15 API;聲波時差值無明顯變化;深淺側(cè)向電阻率略小于基巖,曲線出現(xiàn)正差異現(xiàn)象;補償中子和自然電位變化小,目標段曲線與圍巖接近。由于發(fā)育大量的溶蝕縫,成像測井響應(yīng)表現(xiàn)為多條暗色正弦波曲線;若存在溶蝕孔,則有黑色斑狀出現(xiàn)。
對T615井組內(nèi)的所有有效儲集體段進行劃分,每口井除基質(zhì)外的典型儲層段分別有5~15 段,在每段內(nèi)分別取樣,得到原始樣本集共221個樣本。最終選擇井組內(nèi)T615和T631井的共39個樣本作為測試樣本,其余井共182個樣本均作為訓(xùn)練樣本,訓(xùn)練樣本和測試樣本組成的樣本集分布如圖3所示。
圖3 訓(xùn)練和測試樣本集分布Fig.3 Distribution of training and testing sample set
經(jīng)前述測井響應(yīng)模式中各測井參數(shù)的相關(guān)性分析,模型輸入?yún)?shù)為6個測井參數(shù),模型輸出參數(shù)為儲集體類型,分別為未充填溶洞型、角礫充填型、砂泥質(zhì)充填型和溶蝕孔縫型四種,三個基分類器的輸入?yún)?shù)和輸出參數(shù)設(shè)置一致。表1為四種儲集體類型對應(yīng)輸入測井參數(shù)的統(tǒng)計情況。為了避免參數(shù)間量級差異帶來的誤差影響,需要將輸入測井參數(shù)進行歸一化。對于變化范圍較小的GR、SP、AC和CNL參數(shù)采用如式(7)進行線性歸一化,對變化范圍較大的RS和RD參數(shù)采用式(8)進行對數(shù)歸一化。
表1 四類儲集體的測井參數(shù)統(tǒng)計Table 1 Statistics information of logging parameters for four types of reservoirs
(7)
(8)
對3種基分類器設(shè)置參數(shù)時,在保證運算效率的同時最大化模型準確率,結(jié)合前人研究和調(diào)參結(jié)果確定優(yōu)化參數(shù)[17-18]。在基分類參數(shù)設(shè)置中,支持向量機采用“一對一”方式將多分類問題轉(zhuǎn)化為多個二分類問題,選用高斯核函數(shù)將線性不可分樣本映射到高維空間;決策樹采用CART(classification and regression tree)回歸樹,采用最小基尼系數(shù)準則計算“不純度”;淺層神經(jīng)網(wǎng)絡(luò)為“6-10-1”結(jié)構(gòu),激活函數(shù)采用Sigmoid函數(shù)。集成算法參數(shù)設(shè)置中,AdaBoost.M2算法性能和泛化效果隨著迭代次數(shù)增加呈先增后減趨勢,將3 種基分類器個數(shù)分別設(shè)置為18、8和10時效果最優(yōu),AdaBoost.M2和Bagging算法分別采用加權(quán)投票和簡單投票集成。其他參數(shù)設(shè)置如表2所示。
表2 模型算法參數(shù)設(shè)置Table 2 Parameter setting of model algorithms
如表3所示,以T615井部分儲集體段(編號①~⑦)為例說明本文方法,利用3.1節(jié)所設(shè)參數(shù),首先采用AdaBoost.M2算法分別得到三個強學(xué)習(xí)器對所有樣本的預(yù)測結(jié)果,第1~4類分別代表未充填溶洞型、角礫充填型、砂泥質(zhì)充填型和溶蝕孔縫型。
表3 T615井部分儲集體劃分結(jié)果Table 3 Classification results of partial reservoirs in well T615
其中,三個強學(xué)習(xí)器對③、④、⑦號樣本的預(yù)測類型一致,投票結(jié)果與真實結(jié)果相同;三個強學(xué)習(xí)器對②、⑤、⑥號樣本的預(yù)測類型不相同,但通過Bagging投票后,選取投票數(shù)最大的類別作為最終預(yù)測類型,結(jié)果顯示預(yù)測結(jié)果與真實結(jié)果一致,說明多基分類器的集成有效提高了識別準確率;三個強學(xué)習(xí)器對號樣本的分類結(jié)果均不相同,分別預(yù)測為第4、2、1類,采用Bagging投票無法得到預(yù)測結(jié)果,需要根據(jù)訓(xùn)練模型中各強學(xué)習(xí)器的分類準確率確定最終分類結(jié)果,強學(xué)習(xí)器二對第2類的分類準確率大于強學(xué)習(xí)器一對第4類、強學(xué)習(xí)器三對第1類的分類準確率,因此將該樣本歸入第2類,結(jié)果顯示與真實類別一致。體現(xiàn)了本文方法在碳酸鹽巖儲集體類型劃分中的優(yōu)越性。
如圖4所示分別為利用本文方法得到的訓(xùn)練和測試樣本集的混淆矩陣,分類正確數(shù)(矩陣對角位置)分別為171、36個,準確率分別為94.0%、92.3%,均達到90%以上,表明本文方法分類準確率較高,且在測試集中的應(yīng)用效果與訓(xùn)練集接近,沒有出現(xiàn)過擬合現(xiàn)象。圖4(b)測試集中,錯分樣本(矩陣非對角位置)只有3個,其中1個是砂泥質(zhì)充填型與角礫質(zhì)充填型間互相誤判,2個是溶蝕孔縫型與角礫充填型間互相誤判,經(jīng)分析知,角礫質(zhì)充填型與其他兩類的多個測井響應(yīng)特征較為接近,三個強分類器對其均存在樣本誤判現(xiàn)象。
圖4 訓(xùn)練與測試樣本集的混淆矩陣Fig.4 Confusion matrix of training and testing sample sets
通過表1可知,同一類型儲集體的不同測井響應(yīng)特征差異較大,且同個測井響應(yīng)特征的變化范圍也較大,機器學(xué)習(xí)只關(guān)注參數(shù)值與儲集體類型之間的非線性關(guān)系,但未綜合考慮測井曲線變化趨勢對結(jié)果的影響,導(dǎo)致部分儲集體錯誤分類。但本文方法的整體識別率已經(jīng)達到實際測井模型解釋的精度要求,考慮到實際儲層的復(fù)雜多變性,無法達到100%的整體準確率,因此機器學(xué)習(xí)中存在的少量錯分儲集體段可近似忽略。
為了進一步驗證本文方法在碳酸鹽巖儲集體類型劃分中的可行性與有效性,將3個單分類器和3個采用同質(zhì)基分類器的強學(xué)習(xí)器共6 種方法的劃分結(jié)果與本文方法進行對比。如圖5所示,以分類正確率作為判斷準則,得到了各方法對4類儲集體的分類效果??傮w來看,3個Boosting強分類器的分類結(jié)果整體優(yōu)于3個單分類器,證明了AdaBoost.M2算法在集成多分類中的應(yīng)用效果較好。對比3個Boosting強分類器可知,它們對不同類的識別效果存在差異,如采用支持向量機的強分類器對未充填溶洞型儲集體的識別正確率達100%,采用決策樹的強分類器對角礫充填型儲集體的識別正確率達90.0%,但這些強學(xué)習(xí)器均對個別類的識別效果較差。本文方法對所有類別樣本的綜合分類正確率最高,且在每類的識別情況中,識別正確率與其他6 種方法對應(yīng)類的極大值保持一致,甚至更高,均保持在90.0%左右。說明本文方法將Bagging策略引入,利用3個Boosting強分類器的優(yōu)化組合模式具備可行性,有效提高了碳酸鹽巖儲集體類型的劃分準確率。
圖5 各方法的分類正確率對比Fig.5 Classification accuracy rate of different methods
針對常規(guī)測井解釋和人工經(jīng)驗在碳酸鹽巖儲集體類型劃分中存在工作煩瑣、劃分難度大且識別準確率低的問題,基于集成學(xué)習(xí)技術(shù)提出將多個單分類器以一定策略結(jié)合的改進方法,以塔河油田碳酸鹽巖儲層T615井組為例,綜合利用多種資料得到4類儲集體的測井響應(yīng)模式,最終建立多種常規(guī)測井參數(shù)與儲集體類型間的非線性映射關(guān)系,得到以下結(jié)論。
(1)針對儲集體劃分多分類問題提出的Boosting與Bagging集成策略的有機結(jié)合方法,使得算法得到全面優(yōu)化,既利用了AdaBoost.M2算法對難以分類樣本重點關(guān)注,又根據(jù)Bagging并行結(jié)合策略,將支持向量機、決策樹、淺層神經(jīng)網(wǎng)絡(luò)共3 種同質(zhì)基分類器得到的強學(xué)習(xí)器進行優(yōu)化耦合。
(2)塔河油田T615井組的應(yīng)用效果顯示:本文方法的綜合分類正確率達92.3%,對比其他單分類器和基于同質(zhì)基分類器的強學(xué)習(xí)器,本文方法對各類型儲集體均取得了較高的識別率,體現(xiàn)了集成學(xué)習(xí)技術(shù)在碳酸鹽巖儲集體類型劃分中的優(yōu)越性。