李建平,張小慶,李 瑩
1(東北石油大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院,大慶 163318)
2(大慶油田有限責(zé)任公司 儲(chǔ)運(yùn)銷售分公司,大慶 163453)
低滲透油氣田在我國(guó)油氣開(kāi)發(fā)中有著重要意義[1],如何有效對(duì)低滲油田進(jìn)行開(kāi)發(fā),其中關(guān)鍵技術(shù)難題之一是如何摸清地層的粒度分布范圍,粒度分析的目的是研究碎屑巖的粒度大小和分布,粒度分析不僅有利于分析沉積水動(dòng)力條件,而且對(duì)于儲(chǔ)層評(píng)價(jià)也有意義.對(duì)于低滲油田[2],因滲透率低、豐度低、單井產(chǎn)能低,比較難準(zhǔn)確獲取儲(chǔ)層粒度,在以往的測(cè)井解釋中,由于主要通過(guò)機(jī)械篩選、激光衍射、薄片分析等實(shí)驗(yàn)方法獲得粒度參數(shù),而這些方法耗時(shí),且成本較高[3–5].因此,尋找一種不需要實(shí)際開(kāi)采層位巖芯[6],利用聲波、電阻率等信息來(lái)預(yù)測(cè)儲(chǔ)層粒度的方法顯得尤為重要.目前粒度縱向剖面連續(xù)預(yù)測(cè)方法相關(guān)文獻(xiàn)在國(guó)外較少,2013年,Liu 等[7]通過(guò)Sarvak 油田產(chǎn)能評(píng)價(jià)和物性對(duì)產(chǎn)能的影響分析,研究了中東地區(qū)塊狀碳酸鹽巖油藏油井生產(chǎn)模式及產(chǎn)能影響因素.2015年,Hossain 等[8]利用兩個(gè)不同的油藏?cái)?shù)據(jù),研究了人工蜂群(ABC)優(yōu)化算法的效果,為了提高神經(jīng)網(wǎng)絡(luò)的性能,2019年,Abedelrigeeb 等[9]選取了中東地區(qū)揮發(fā)性油藏2 445 個(gè)數(shù)據(jù)集和黑色油藏766 個(gè)數(shù)據(jù)集,將混合PSONN 模型與現(xiàn)有的模糊邏輯(FL)模型進(jìn)行了比較,提出了一種基于粒子群算法的神經(jīng)網(wǎng)絡(luò)權(quán)值優(yōu)化算法.同年,Li 等[10]開(kāi)發(fā)了兩種基于神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)技術(shù),長(zhǎng)短期記憶(LSTM)網(wǎng)絡(luò)和帶有卷積層(VAEc)網(wǎng)絡(luò)的變分自編碼器,用于處理易于獲取的地層礦物和流體飽和度測(cè)井曲線.在國(guó)內(nèi),相關(guān)文獻(xiàn)更是稀少,楊寧等[11]提出利用伽馬測(cè)井曲線小波變換提取粒度參數(shù),在前人研究的基礎(chǔ)上,擴(kuò)大了粒度信息來(lái)源,提高了測(cè)井資料使用率.2016年,王利華等[12]利用BP 神經(jīng)網(wǎng)絡(luò)將粒度縱向剖面預(yù)測(cè)精度控制在了10%以內(nèi),縮短了完井周期,但計(jì)算效率有待改進(jìn).多元分析的預(yù)測(cè)模型及數(shù)字化巖心照相技術(shù)也被許多研究人員用來(lái)預(yù)測(cè)儲(chǔ)層砂粒度,這些方法雖然能快速預(yù)測(cè)粒度,但也存在問(wèn)題,如難以確定各類測(cè)井曲線與粒度之間的復(fù)雜關(guān)系,因此無(wú)法用解析式表示目的儲(chǔ)層粒度最優(yōu)擬合模型,故沒(méi)有被廣泛應(yīng)用.近年來(lái),神經(jīng)網(wǎng)絡(luò)、機(jī)器學(xué)習(xí)在理論與實(shí)踐上都取得了重大進(jìn)展[13–18],這些技術(shù)在尋求測(cè)井?dāng)?shù)據(jù)與儲(chǔ)層物性參數(shù)之間的線性關(guān)系也取得了一定進(jìn)展,已被用于巖性識(shí)別以及儲(chǔ)層孔隙度、滲透率預(yù)測(cè)等.為節(jié)省測(cè)井的人力物力,不用再人工測(cè)量,故考慮將這些技術(shù)用于儲(chǔ)層粒度預(yù)測(cè).經(jīng)過(guò)資料研究發(fā)現(xiàn),已有運(yùn)用BP 神經(jīng)網(wǎng)絡(luò)技術(shù)預(yù)測(cè)儲(chǔ)層粒度的實(shí)例,但在訓(xùn)練BP 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型時(shí)需要上千甚至上萬(wàn)的數(shù)據(jù),而本次的測(cè)井點(diǎn)只有80 多個(gè).故考慮使用可用更少的數(shù)據(jù)解決相關(guān)問(wèn)題的極致梯度提升,即XGBoost (extreme gradient boosting).
本文通過(guò)研究低滲油田儲(chǔ)層粒度與多種測(cè)井曲線的響應(yīng)關(guān)系,發(fā)現(xiàn)聲波(AC)、自然伽馬(GR)、密度(ZDEN)、電阻率(RS)及中子(CNC)與粒度中值具有很好的相關(guān)性.從而通過(guò)建立伽馬測(cè)井、聲波、密度、電阻率、中子與實(shí)測(cè)粒度特征值的樣本庫(kù),利用機(jī)器學(xué)習(xí)技術(shù),建立起儲(chǔ)層粒度與測(cè)井曲線之間的非線性映射關(guān)系,訓(xùn)練出滿足工程需要的預(yù)測(cè)模型,并運(yùn)用該模型預(yù)測(cè)研究區(qū)域未知的儲(chǔ)層粒度特征.結(jié)果表明,在使用較少訓(xùn)練數(shù)據(jù)集的情況下,基于XGBoost的粒度預(yù)測(cè)方案在計(jì)算效率、預(yù)測(cè)準(zhǔn)確率等方面優(yōu)于普通BP 神經(jīng)網(wǎng)絡(luò).
XGBoost 極致梯度提升,是Chen 在2016年提出的一個(gè)分布式通用Gradient Boosting 庫(kù),旨在高效、靈活且可移植[19].XGBoost 實(shí)現(xiàn)的是一種通用的Tree Boosting 算法,該算法以決策樹(shù)作為基學(xué)習(xí)器的集成模型,在梯度提升的基礎(chǔ)上改善目標(biāo)函數(shù)計(jì)算方式,提高模型的精度.
因?yàn)閄GBoost 預(yù)測(cè)儲(chǔ)層粒度建立在測(cè)井?dāng)?shù)據(jù)的基礎(chǔ)上,所以訓(xùn)練樣本和預(yù)測(cè)樣本數(shù)據(jù)集應(yīng)由測(cè)井曲線和實(shí)測(cè)粒度數(shù)據(jù)構(gòu)成,可表示如下:
其中,Xmn為模型的輸入,即訓(xùn)練測(cè)井?dāng)?shù)據(jù)集,m為樣本量,n為測(cè)井曲線個(gè)數(shù),Ym為粒度實(shí)值向量.在確定樣本數(shù)據(jù)集后,預(yù)測(cè)模型可表示為:
其中,f0(xi)為基分類器(即初始模型),xi為第i個(gè)樣本;k=1,2,···,KX為循環(huán)迭代次數(shù),j=1,2,···,Tk為CART葉節(jié)點(diǎn),Tk為第k次迭代的CART 葉節(jié)點(diǎn)個(gè)數(shù);wj,k為第k次迭代的第j葉節(jié)點(diǎn)區(qū)域的所有樣本的擬合值;η為學(xué)習(xí)率.f0(xi)一般由損失函數(shù)確定,即:
其中,yi為第i個(gè) 樣本目標(biāo)值,α為使損失函數(shù)達(dá)到最小的常數(shù).損失函數(shù)L(yi,α)確定目標(biāo)值與預(yù)測(cè)值之間的差值,表示為:
其中,l(yi,)為樣本xi的訓(xùn)練誤差,? (fk)表示第k棵樹(shù)的正則項(xiàng).wj,k由下式確定:
結(jié)合XGBoost 原理和本文所應(yīng)用場(chǎng)景,可設(shè)計(jì)如圖1所示的實(shí)驗(yàn)流程圖.首先是建立樣本庫(kù),選取和粒度相關(guān)性較強(qiáng)的測(cè)井曲線作為模型的輸入,已有的粒度實(shí)值作為模型訓(xùn)練的輸出標(biāo)簽(式(1)中的Ym).其中一部分?jǐn)?shù)據(jù)用來(lái)訓(xùn)練,另一部分用于驗(yàn)證.為了防止過(guò)擬合,訓(xùn)練達(dá)到一定次數(shù)就停止迭代計(jì)算.
圖1 XGBoost 計(jì)算流程圖
根據(jù)已有的低滲油田儲(chǔ)層測(cè)井資料可知,必須借助各類測(cè)井曲線才能實(shí)現(xiàn)粒度縱向連續(xù)預(yù)測(cè),對(duì)儲(chǔ)層響應(yīng)比較明顯的測(cè)井曲線通常包括聲波(AC)、中子(CNC)、自然伽馬(GR)、電阻率(RS)、密度(ZDEN)等.經(jīng)作圖(圖2,紅色曲線:伽馬測(cè)井,藍(lán)色曲線:粒度實(shí)值)比較分析可以看出低滲油田中伽馬測(cè)井曲線較好地反映了粒度大小的變化趨勢(shì),這是因?yàn)橘ゑR測(cè)井值主要由泥質(zhì)含量決定,伽馬測(cè)井值隨泥質(zhì)含量增加而變化.泥質(zhì)含量越高,粒度越小,伽馬測(cè)井值越高.故伽馬測(cè)井可作為樣本庫(kù)的一個(gè)子項(xiàng),以預(yù)測(cè)粒度分布特征.
圖2 伽馬測(cè)井與粒度特征相關(guān)性分析圖
在同一圖里作密度和粒度測(cè)試實(shí)值變化趨勢(shì)圖(圖3,紅色曲線:粒度實(shí)值,藍(lán)色曲線:密度測(cè)井),可以看出低滲油田中密度測(cè)井項(xiàng)較好地反映了粒度中值的變化趨勢(shì).這是由于密度越高,壓實(shí)程度越好,孔隙度越小,孔隙度小正好可反映出儲(chǔ)層粒度小.故可將密度測(cè)井作為樣本庫(kù)的一個(gè)子項(xiàng),以預(yù)測(cè)粒度縱向分布特征.
圖3 密度測(cè)井與粒度特征相關(guān)性分析圖
通過(guò)測(cè)井曲線與粒度實(shí)值相關(guān)性分析發(fā)現(xiàn),AC、CNC、GR、RS、ZDEN 測(cè)井曲線可以很好反應(yīng)低滲油田儲(chǔ)層粒度的大小變化,故選用這5 條曲線作為訓(xùn)練模型的輸入.
樣本庫(kù)的建立直接關(guān)系到XGBoost 訓(xùn)練誤差的精度以及最終粒度預(yù)測(cè)的精確度.因此,樣本庫(kù)的建立以測(cè)井資料與粒度實(shí)測(cè)數(shù)據(jù)為基礎(chǔ),其建立過(guò)程與XGBoost的學(xué)習(xí)過(guò)程是一個(gè)循環(huán)分析的過(guò)程,樣本點(diǎn)的選取以訓(xùn)練學(xué)習(xí)后的誤差為依據(jù).一旦學(xué)習(xí)誤差過(guò)大,重新選取樣本點(diǎn)進(jìn)行學(xué)習(xí),直到誤差控制在工程需要的精度內(nèi)才建立最終預(yù)測(cè)模型.
以Ⅲ井的實(shí)測(cè)粒度數(shù)據(jù)與其余測(cè)井資料為例建立樣本庫(kù),共82 個(gè)樣本.選取樣本庫(kù)的80%數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集,剩余的20% 作為驗(yàn)證數(shù)據(jù)集.最終選取AC(μs/m)、CNC(g/m3)、GR(A PI)、RS(O MM)、ZDEN(g /m3)這5 個(gè)測(cè)井參數(shù)來(lái)訓(xùn)練模型,分析誤差,對(duì)比實(shí)驗(yàn)結(jié)果,建立測(cè)井資料預(yù)測(cè)縱向剖面粒度的方法.表1展示了部分訓(xùn)練樣本數(shù)據(jù).
表1 粒度預(yù)測(cè)樣本庫(kù)(82 個(gè)樣本)
由于相關(guān)性分析后選作特征值預(yù)測(cè)的參數(shù)有5 個(gè),故本次使用的對(duì)比BP 網(wǎng)絡(luò)(1 個(gè)輸入層,1 個(gè)輸出層以及1 個(gè)隱藏層),輸入層神經(jīng)元個(gè)數(shù)為5 個(gè),輸出層神經(jīng)元個(gè)數(shù)為1 個(gè),隱藏層包含3 個(gè)節(jié)點(diǎn).為突出對(duì)比效果,本次對(duì)比實(shí)驗(yàn)使用同一的數(shù)據(jù)集,兩種預(yù)測(cè)方式使用同樣的誤差函數(shù)—絕對(duì)誤差(MAE)損失函數(shù),同樣的學(xué)習(xí)速率、收縮步長(zhǎng)、迭代次數(shù).兩種預(yù)測(cè)模型的部分參數(shù)設(shè)置如表2所示.
表2 預(yù)測(cè)模型參數(shù)設(shè)置
對(duì)歸一化后的數(shù)據(jù),模型訓(xùn)練時(shí)記錄相同訓(xùn)練次數(shù)下不同模型訓(xùn)練的損失,從表3可以看出,對(duì)于此次實(shí)驗(yàn)用得數(shù)據(jù),XGBoost 在正確率方面約為BP 神經(jīng)網(wǎng)絡(luò)的2 倍.模型訓(xùn)練完成后對(duì)全井段數(shù)據(jù)進(jìn)行預(yù)測(cè),在兩種模型預(yù)測(cè)開(kāi)始時(shí)都添加計(jì)時(shí)器,預(yù)測(cè)結(jié)束統(tǒng)計(jì)用時(shí),從表3可以看出,預(yù)測(cè)同一批數(shù)據(jù),在使用相同的迭代次數(shù)的模型的情況下,本文提出的基于XGBoost的粒度預(yù)測(cè)方案計(jì)算用時(shí)遠(yuǎn)遠(yuǎn)低于BP 神經(jīng)網(wǎng)絡(luò)的計(jì)算用時(shí),計(jì)算速度方面約為BP 神經(jīng)網(wǎng)絡(luò)的60 倍.并且,在使用的模型訓(xùn)練次數(shù)達(dá)到50 次后,預(yù)測(cè)全井段用時(shí)波動(dòng)不大.
表3 BP和XGBoost 訓(xùn)練、預(yù)測(cè)結(jié)果統(tǒng)計(jì)表
對(duì)全井段預(yù)測(cè)完成后,將BP和XGBoost的預(yù)測(cè)結(jié)果放在同一圖里進(jìn)行對(duì)比(紅色:DUIBI_1.MD_MD_1為粒度實(shí)值,黑色:DUIBI.MD_XGBOOST_1為XGBoost 預(yù)測(cè)值,藍(lán)色:DUIBI.MD_BP_1為BP 預(yù)測(cè)值),圖4為訓(xùn)練50 次的模型預(yù)測(cè)的結(jié)果對(duì)比圖,圖5為訓(xùn)練100 次的模型預(yù)測(cè)的結(jié)果對(duì)比圖.以縱向表示井深度(m),橫向表示粒度大小(mm),范圍為1–360 mm,觀察圖4、圖5中的曲線,可發(fā)現(xiàn):對(duì)于同一樣本庫(kù),在使用同樣的誤差函數(shù)、學(xué)習(xí)速率、收縮步長(zhǎng)、迭代次數(shù)的情況下,在邊界值設(shè)置相同時(shí),當(dāng)把BP 預(yù)測(cè)值,XGBoost 預(yù)測(cè)值和粒度實(shí)值三者放一起進(jìn)行對(duì)比,可明顯發(fā)現(xiàn),BP 預(yù)測(cè)的結(jié)果和XGBoost 預(yù)測(cè)的結(jié)果,在整體趨勢(shì)變化上一致,都和粒度實(shí)質(zhì)走勢(shì)吻合,但是在具體的層位上,XGBoost 預(yù)測(cè)的粒度值比BP 預(yù)測(cè)的粒度值和粒度實(shí)值的吻合度更高,BP 預(yù)測(cè)的結(jié)果偏低.在某些層位XGBoost 預(yù)測(cè)的結(jié)果突變較高,而B(niǎo)P 結(jié)果更趨于平緩.使用訓(xùn)練50 次和訓(xùn)練100 次的模型預(yù)測(cè)結(jié)果波動(dòng)不大.表明在只有82 個(gè)粒度真實(shí)值的情況下,選取該井?dāng)?shù)據(jù)來(lái)進(jìn)行模型訓(xùn)練,BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果達(dá)不到工程要求的精度,不適用于工程預(yù)測(cè),而XGBoost 具有良好的學(xué)習(xí)效率,可以滿足工程預(yù)測(cè)精度要求.
圖4 模型訓(xùn)練50 次預(yù)測(cè)對(duì)比圖
圖5 模型訓(xùn)練100 次預(yù)測(cè)對(duì)比圖
(1)本文將XGBoost 技術(shù)引入低滲油田儲(chǔ)層測(cè)井解釋,實(shí)現(xiàn)了粒度特征值縱向剖面連續(xù)預(yù)測(cè).該方法克服了常規(guī)粒度測(cè)試方法巖芯數(shù)量少,取芯成本高的缺點(diǎn).
(2)在真實(shí)數(shù)據(jù)較少的情況下,粒度縱向剖面預(yù)測(cè)誤差較小,在可接受范圍之內(nèi),利用該方法對(duì)低滲油田進(jìn)行開(kāi)發(fā),降低了耗時(shí),節(jié)約了成本.
(3)由于數(shù)據(jù)樣本較少,使用的模型在訓(xùn)練次數(shù)達(dá)到50 次后,預(yù)測(cè)結(jié)果波動(dòng)不大.