王猛,董宇,張志強,劉志杰,劉海波,周悅
(中海油田服務股份有限公司,河北 廊坊 065201)
東海陸架盆地西湖凹陷天然氣資源豐富,其主力目的層花港組和平湖組是典型的低孔低滲砂巖儲層。在進行儲層評價時,對儲層進行分級分類綜合評價是最有效的方法之一[1]。由于基于數(shù)學手段的流動單元劃分方法對非常規(guī)資料需求少,且定量化程度高[2],在行業(yè)中應用較為廣泛。目前常見的分類主要有根據(jù)孔喉半徑的Winland R35分類[3]以及基于流動單元指數(shù)FZI的分類[4]。流動單元通過將具有相似孔隙結構、統(tǒng)一孔滲關系的儲層劃為同類[5-6],使得每類儲層的孔隙度與滲透率具有良好相關性,因此,基于巖心參數(shù)可以建立高精度的滲透率模型。但在非巖心段,則需要根據(jù)測井參數(shù)計算的流動單元指數(shù)劃分流動單元,計算誤差較大,無法實現(xiàn)儲層流動單元的準確劃分,進而導致滲透率的計算誤差較大[7-8]。
針對傳統(tǒng)流動單元劃分方法存在的問題,本文提出了一種基于集成神經(jīng)網(wǎng)絡的流動單元分類方法,將流動單元的定量計算轉化為定性識別,有效避免了傳統(tǒng)方法在流動單元劃分時所產(chǎn)生的誤差逐級傳遞[9-10]。
西湖凹陷是以新生代充填為主的沉積凹陷,是東海陸架盆地具有較大規(guī)模和油氣勘探開發(fā)潛力的構造單元。H氣田位于西湖凹陷中央洼陷帶,主力含氣層為花港組。該層為湖泊-辮狀河三角洲體系中的水下分流河道砂體,呈復合體疊置分布。從取心和分析化驗資料看,其儲層孔隙結構復雜,非均質性強,同一套層系內(nèi)滲透率相差幾個數(shù)量級,采用傳統(tǒng)孔滲關系建立的滲透率模型對其計算的誤差相對較大。
對于均勻孔隙介質,Kozeny[11]根據(jù)毛細管理論提出了一個滲透率計算公式,其后Carman[12]進行了證明,建立了 Kozeny-Carman公式。 其常用形式[13]為
式中:K 為滲透率,10-3μm2;φ 為有效孔隙度;a為地區(qū)經(jīng)驗常數(shù);Sgv為礦物顆粒的比表面積,μm-1。
基于平均水動力單元半徑理論,Amaefule等[4]將儲層孔喉視為一系列的毛細管,并利用達西定律求解Poisson方程,得出不同流動單元類型下的孔滲關系:
式中:Fs為孔隙幾何形狀指數(shù)(圓柱形管時為2);τ為流動路徑的彎曲度。
在同一流動單元內(nèi),式(2)中的Fsτ2為一固定值,但不同流動單元的是變化的[14],Amaefule 等據(jù)此對式(2)變形,定義了流動單元指數(shù):
式中:FZI為流動單元指數(shù);RQI為儲層品質因子;φz為孔隙度指數(shù)。
對式(6)兩邊取對數(shù),得:
由式(7)可知,同一FZI值樣品的RQI與φz的比值相同,在RQI-φz雙對數(shù)坐標系(見圖1)中則表現(xiàn)為在一條直線上。在該直線上及其附近的樣品具有相似的孔喉特征,從而構成一個流動單元[14]。當存在多個流動單元時,F(xiàn)ZI值整體呈正態(tài)分布,因此,在累積概率圖(見圖2)上則表現(xiàn)為折線[15-17]。
圖1 不同流動單元RQI-φz的關系
圖2 流動單元劃分標準
從西湖凹陷H氣田3口井共計取心335塊。依據(jù)巖心實驗分析的孔滲數(shù)據(jù)計算流動單元指數(shù),其值介于0.27~6.33,平均值為0.81。參照圖2可劃分各類流動單元的FZI值范圍,并依據(jù)該劃分標準將儲層劃分為3類流動單元(見圖3、表1)。其中,以Ⅱ,Ⅲ類巖心居多。Ⅰ,Ⅱ,Ⅲ類流動單元的孔滲擬合系數(shù)分別為0.88,0.87,0.80,相對于傳統(tǒng)滲透率計算模型精度大幅度提升,可以滿足儲層滲透率精細評價的要求。
圖3 巖心分類滲透率與孔隙度回歸模型
表1 H氣田基于流動單元分類的滲透率模型
在取心段,對巖心物性分析得到的孔隙度、滲透率數(shù)據(jù),經(jīng)過巖心深度匹配后,可根據(jù)式(6)、(7)計算FZI,進而對儲層進行分類。但在非取心段,僅能根據(jù)常規(guī)測井數(shù)據(jù)建立FZI與測井響應之間的關系模型[18],或建立儲層流動單元類型與測井響應之間的關系模型,進而完成儲層分類。
在建模之前,根據(jù)式(6)可完成模型參數(shù)的初步篩選。由于τ與地層因素有關[19],即與電阻率(深側向電阻率RD、淺側向電阻率RS、微電阻率RMSL)等測井參數(shù)有關,而K,φ(即根據(jù)巖心計算得到的孔隙度)可由測井參數(shù)自然伽馬GR、自然電位SP、校正補償中子CNCF、密度ZDEN、縱波時差DTC計算得來,同時,常規(guī)測井得到的泥質體積分數(shù)VSH、孔隙度POR(即通過校正補償中子-密度交會得到的孔隙度)一般能滿足解釋精度要求,也可以參與建模;因此,初步選擇參與建模的測井參數(shù)有 GR,SP,CNCF,ZDEN,DTC,RD,RS,RMSL,POR,VSH10種。初篩完成后,開展參數(shù)敏感性分析,選取對FZI最敏感的參數(shù)及組合,建立FZI模型。
由于FZI與參與建模的測井參數(shù)之間并不是簡單的線性關系,因此本文采用更適合刻畫非線性相關性的Spearman秩相關系數(shù)進行再次篩選。表2為利用巖心孔滲參數(shù)計算的FZI與測井參數(shù)及其計算參數(shù)進行相關系數(shù)的計算結果??梢钥闯?,整體上FZI與POR,RMSL,VSH,ZDEN有較高的相關性,因此,最終選取這4種為輸入?yún)?shù),建立FZI計算模型。
表2 H氣田流動單元指數(shù)敏感參數(shù)Spearman秩相關系數(shù)矩陣
剔除缺省測井參數(shù)值后的巖心,共計323塊,從中隨機選取分屬3類流動單元的巖心各5塊,作為測試集,驗證模型分類的準確性;再以其余308塊巖心的FZI為因變量,以測井參數(shù) ZDEN,RMSL,POR,VSH為自變量,利用多元回歸方法建立FZI計算模型:
利用式(8)計算建模巖心的FZI,與根據(jù)巖心孔滲數(shù)據(jù)計算的FZI對比,平均相對誤差為32%,流動單元分類準確率為56%。根據(jù)式(8)計算測試集巖心的FZI,與利用巖心孔滲數(shù)據(jù)計算的FZI對比,平均相對誤差為34%,流動單元分類準確率為80%,其中,Ⅰ,Ⅱ,Ⅲ類流動單元分類準確率分別為100%,80%,60%。
建模巖心數(shù)量最多的Ⅲ類流動單元判別準確率最低,僅為60%,且建模巖心流動單元類型判別準確率也較低,僅為56%。由此可知,利用多元回歸模型的方法并不能準確劃分儲層流動單元類型。
由于多元回歸方法無法滿足準確計算流動單元指數(shù)的需要,因此引入了基于機器學習算法的流動單元分類方法,以流動單元類型為目標值、測井響應為特征值,訓練分類模型包括決策樹、Fisher判別[19]等。 上述方法避開了計算FZI環(huán)節(jié),直接劃分流動單元類型,可有效降低誤差傳遞。
神經(jīng)網(wǎng)絡是一種模仿動物大腦結構和功能的數(shù)學模型,通過調(diào)整網(wǎng)絡節(jié)點間的連接關系,能夠有效擬合輸入與輸出變量之間的非線性映射關系[20-26]。神經(jīng)網(wǎng)絡中各個運算節(jié)點稱為神經(jīng)元,輸入、輸出相同的神經(jīng)元構成層,層與層的連接構成了信息的多級傳遞通道。如圖4所示:左側為輸入層,右側為輸出層,中間為若干層狀結構的隱藏層,后一層神經(jīng)元接收前一層所有神經(jīng)元的輸出,經(jīng)線性運算、非線性激活運算后,再傳輸?shù)较乱粚由窠?jīng)元中;多層運算后,神經(jīng)網(wǎng)絡便可擬合輸入和輸出變量之間復雜的非線性映射關系了。
圖4 神經(jīng)網(wǎng)絡示意
在網(wǎng)絡模型的訓練方面,通常采用反向傳播算法(BP),利用鏈式求導法則,逐層求取每一層神經(jīng)元損失函數(shù)對權重和偏置項的導數(shù),依據(jù)各類最優(yōu)化方法,逐層更新神經(jīng)元中的權重和偏置項。理想情況下,模型參數(shù)沿著梯度降最大的方向進行優(yōu)化,直至梯度降為0;但梯度為0的點不一定是全局最小點,跳出局部最優(yōu)陷阱最好的方法就是隨機,即隨機初始化網(wǎng)絡參數(shù)和隨機梯度下降。
通過訓練多個分類器,并將多個分類器組合成一個預測模型,以達到改進預測效果的方法,稱為集成學習(Ensemble learning)。同時,集成學習中對數(shù)據(jù)集進行有放回抽樣、構建多個小樣本集、訓練多個模型的策略,也有利于改善樣本類型不均衡和樣本過少的影響。通過隨機模型參數(shù)和隨機抽樣訓練樣本的方法,可以得到多個獨立的分類器,然后通過投票顯著降低模型誤差。
本文實驗井巖心樣本數(shù)據(jù)共計335塊,同樣剔除缺省測井參數(shù)值的樣本,其余可用樣本集為323塊。從樣本集中隨機抽取分屬每類流動單元的各5塊樣本作為測試集,剩下的308塊作為訓練集。訓練集中Ⅰ類流動單元樣本僅有32塊,Ⅲ類流動單元卻多達158塊,樣本類型極度不平衡。過采樣前測試集的預測結果偏向Ⅱ,Ⅲ類,運用SMOTE算法過采樣后模型過擬合,測試集的預測結果依舊偏向Ⅱ,Ⅲ類,因此,需要尋求新的數(shù)據(jù)處理方法。
集成學習是通過構建并集成多個學習器以生成一個穩(wěn)定且在各方面表現(xiàn)都較好的模型。為避免不平衡數(shù)據(jù)以及過采樣數(shù)據(jù)對訓練結果的影響,本文采用下采樣的方法,即將數(shù)據(jù)集分割成若干個數(shù)據(jù)平衡的子訓練集,利用子訓練集訓練若干個神經(jīng)網(wǎng)絡分類器進行組合。
由于神經(jīng)網(wǎng)絡本身可以提取特征,因此不必進行特征選取。將流動單元類型從Ⅰ類到Ⅲ類序號編碼為[0,1,2],這樣,轉換后依然會保留類型優(yōu)劣關系。 此外,為了避免梯度消失現(xiàn)象,優(yōu)化網(wǎng)絡訓練效率,還需要對訓練集和測試集的特征進行歸一化處理。
經(jīng)多次測試,本文采用3層隱藏層結構,從前至后神經(jīng)元個數(shù)依次為[20,10,5],第1隱藏層用于特征提取,第2、第3隱藏層用于特征精練。隨機初始化模型參數(shù),利用分割好的若干子訓練集訓練1 000個神經(jīng)網(wǎng)絡模型,然后通過投票的方式預測流動單元類型。最終訓練集的預測結果分類準確率為93%,測試集的預測結果分類準確率為93%,其中,Ⅰ,Ⅱ,Ⅲ類流動單元分類準確率分別為100%,80%,100%。
對比2種流動單元分類方法可以看出,集成神經(jīng)網(wǎng)絡模型在訓練集的分類準確率較多元回歸分類提高了37%,在測試集的分類較多元回歸分類準確率提高了13%?!砻骷缮窠?jīng)網(wǎng)絡在流動單元分類上具有優(yōu)越性。
西湖凹陷H氣田巖心實驗分析孔隙度分布在2%~20%,平均孔隙度為8.9%;巖心實驗分析滲透率分布在 0.016×10-3~244.000×10-3μm2, 平均滲透率為4.050×10-3μm2。根據(jù)335塊巖心資料的分析統(tǒng)計結果,將西湖凹陷花港組儲層分為3類(見表1),并按類型建立巖心孔滲模型。為解決測井參數(shù)計算FZI誤差大及各類數(shù)據(jù)分布不均的問題,將訓練集劃分為多個數(shù)據(jù)平衡的子訓練集,用于訓練集成神經(jīng)網(wǎng)絡。根據(jù)神經(jīng)網(wǎng)絡模型在全井段劃分縱向流動單元類型,再根據(jù)表1中不同類型流動單元的滲透率模型計算全井段滲透率,H氣田部分井段滲透率精細處理結果見圖5。
圖5 H氣田部分井段測井資料處理與解釋成果
圖5中第6列為基于多元回歸方法計算的FZI,再依表1分類標準所得的儲層流動單元類型;第5列為根據(jù)第6列儲層流動單元分類計算得到的滲透率,與巖心實驗分析滲透率相比,二者平均相對誤差為115%。第8列為基于集成神經(jīng)網(wǎng)絡模型直接分類所得儲層流動單元類型;第7列為根據(jù)第8列儲層流動單元分類計算得到的滲透率,與巖心實驗分析滲透率相比,二者平均相對誤差為38%。由圖5可知:第5列中的計算滲透率與巖心實驗分析滲透率誤差較大的層段,為誤判的儲層流動單元類型層段,采用集成神經(jīng)網(wǎng)絡算法的儲層流動單元分類誤判較少;因此,第7列中的計算滲透率與巖心實驗分析滲透率的誤差要遠小于第5列。
1)基于流動單元分類建立的滲透率模型具有較高的計算精度;但在模型應用階段,由于根據(jù)測井參數(shù)計算的流動單元指數(shù)誤差較大,使得儲層流動單元無法準確分類。
2)基于機器學習算法的流動單元分類方法,利用測井參數(shù)直接劃分儲層流動單元類型,可有效降低誤差傳遞,但各類流動單元中巖心分布不均衡,會導致模型分類結果偏向于巖心較多的類;因此,常規(guī)的神經(jīng)網(wǎng)絡模型無法適用。
3)本文基于集成神經(jīng)網(wǎng)絡的流動單元分類方法,將數(shù)據(jù)集分割成若干類型平衡的子訓練集,利用子訓練集訓練若干參數(shù)隨機初始化的神經(jīng)網(wǎng)絡模型,可使網(wǎng)絡模型跳出局部最優(yōu)陷阱,同時可降低數(shù)據(jù)類型不均衡對預測結果的影響。
4)實際應用表明,本文方法劃分儲層流動單元類型的準確性較多元回歸方法高,據(jù)此計算的儲層滲透率與巖心實驗分析滲透率吻合度高,與多元回歸方法相比,誤差降低了77%,推廣應用前景良好。