饒驍馳, 楊 昊, 喻 輝, 文 武, 周 航, 陳 敏
(1.成都信息工程大學 計算機學院,成都 610225;2.78111部隊,成都 610011)
隨著勘探程度的增加,一些易于發(fā)現(xiàn)的油氣藏已勘探殆盡,深??碧健⒎浅R?guī)油氣藏勘探已逐步成為勘探熱點。十幾年前,人們主要關注儲層的研究,即儲層物性(主要是孔隙度)究竟如何,儲層厚度和范圍的大小等。常規(guī)的地震屬性分析、阻抗反演等方法在這些研究領域起了很大作用。近十年來,一些學者逐漸將目光轉向儲層內(nèi)流體的識別,油、氣、水的識別,這些研究目前已取得了很大地進展,疊前反演、AVO分析、低頻伴影分析等技術相繼產(chǎn)生、發(fā)展。但隨著致密油、頁巖油等勘探領域逐漸進入 人們的視野,一些新的需求隨之出現(xiàn)。相對于常規(guī)油氣藏,以上提到的這些非常規(guī)油氣藏孔隙度低、非均質性強、流體粘滯性偏高、地震響應特征不明顯。因此,僅憑借單一屬性、參數(shù)或方法進行流體識別存在較大的不確定性,多屬性融合進行流體識別是大勢所趨。
在儲層流體識別中傳統(tǒng)非機器學習方法限于效率低和工作量大,僅應用于對有利區(qū)或目標區(qū)的研究。同時不同的流體因子對不同區(qū)域儲層含流體的敏感程度表現(xiàn)不同,傳統(tǒng)非機器學習方法需要依靠人為干預,因此人為主觀因素過多,干擾因素較多,不確定性強。
Fung[1](2001)在支持向量機(SVM)的基礎上提出了近似支持向量機(PSVM),該機器語言可以利用目標體的多種屬性計算出反映該目標體屬性特征的最優(yōu)規(guī)則。在對大數(shù)據(jù)訓練集進行處理時,近似支持向量機在判別準確度不低于支持向量機的前提下,在計算效率上具有明顯優(yōu)勢,適合對具有海量數(shù)據(jù)特征的疊前地震資料進行判別處理。
近年來,機器學習已被證明在工程中具有廣泛的用途(如金融領域、制造領域和零售領域),并且正在穩(wěn)步發(fā)展推進到新的領域。氣象領域Han L等[2]利用機器學習進行實時風暴運動預測;視覺心理學領域,Robert M. French等[3]利用機器學習進行視覺心理預測;生物學領域,Crozier T W M等[4]利用機器學習預測蛋白質的構成;地學領域,Vedangi Godse等[5]也利用機器學習預測地震活動。
目前在儲層預測領域應用比較廣泛的機器學習方法有支持向量機[6-8]、神經(jīng)網(wǎng)絡[9-12]、隨機森林[13]等方法。這些方法主要是通過從測井資料中提取揭示儲層特征的參數(shù)作為輸入?yún)?shù),利用這些智能方法建立多參數(shù)與儲層物性之間的映射關系,進而開展儲層預測。但值得注意的是,目前這些方法在流體識別方面的應用還較少見。為此,筆者充分比較了常見的幾種機器學習算法在流體識別中的應用效果,最終選取了極端隨機樹方法(Extremely Randomized Trees)進行流體識別,該方法具有幾個顯著特征:
1)數(shù)據(jù)的準備往往是簡單或者是不必要的, 對于不平衡的數(shù)據(jù)集,可以平衡誤差。其他的技術要求先把數(shù)據(jù)標準化(如去掉多余的或者空白的屬性)。
2)易于理解和實現(xiàn),在學習過程中不需要使用者了解很多的背景知識,能夠直接體現(xiàn)數(shù)據(jù)的特點,通過解釋后都有能力去理解決策樹所表達的意義。
3)易于通過靜態(tài)測試來對模型進行評測,可以測定模型可信度。如果給定一個觀察的模型,則根據(jù)所產(chǎn)生的決策樹很容易推出相應的邏輯表達式。
1.1.1 算法介紹
Geurts P等[14]提出ET或Extra-Trees(Extremely randomized trees,極端隨機樹方法)。根據(jù)經(jīng)典的自上而下的方法,極端隨機樹構建了一系列“自由生長”的回歸樹集合。該方法中的每一棵回歸樹用的都是全部訓練樣本,用{T(K,X,S)}表示。其中T表示最后的分類器模型,S為數(shù)據(jù)樣本集,K為基分類器的數(shù)量(基分類器數(shù)量根據(jù)所要區(qū)分的結果確定,其中基分類器數(shù)量為3,用以區(qū)分水層、氣層和油層)。每個基分類器根據(jù)輸入樣本X={x1,x2…,xn}產(chǎn)生預測結果,最終通過投票確定最后的分類類別。
1.1.2 算法實現(xiàn)
Step1:給點原始樣本數(shù)據(jù)集S,樣本數(shù)量為N,特征數(shù)量為M,在極端隨機樹的分類模型中,每個基分類器都使用全部的樣本進行訓練。
Step2:基于訓練數(shù)據(jù)集生成決策樹,生成的決策樹要盡量大。
選擇具有最小Gain_GINI的屬性及其屬性值,作為最優(yōu)分裂屬性以及最優(yōu)分裂屬性值。Gain_GINI值越小,說明二分之后的子樣本的“純凈度”越高,即說明選擇該屬性(值)作為分裂屬性(值)的效果越好。
GINI計算如下[15]:
(1)
其中,Pk表示分類結果中第k個類別出現(xiàn)的頻率(數(shù)量在所有樣本中所占的比例)。
對于含有N個樣本的樣本數(shù)據(jù)集S,根據(jù)屬性A的第i個屬性值,將樣本數(shù)據(jù)集S劃分成兩部分,則劃分成兩部分之后,Gain_GINI計算如下[14]:
(2)
其中:n1、n2分別為樣本子集S1、S2的樣本個數(shù)。
對于屬性A,分別計算任意屬性值將數(shù)據(jù)集劃分成兩部分之后的Gain_GINI,選取其中的最小值,作為屬性A得到的最優(yōu)二分方案:
min(Gain_GINIA,i(S1))
(3)
對于樣本集S,計算所有屬性的最優(yōu)二分方案,選取其中的最小值,作為樣本集S的最優(yōu)二分方案:
(4)
所得到的屬性A及其第i屬性值,即為樣本集S的最優(yōu)分裂屬性以及最優(yōu)分裂屬性值。
Step3:用驗證數(shù)據(jù)集對已生成的樹進行剪枝并選擇最優(yōu)子樹,這時損失函數(shù)最小作為剪枝的標準。
從原始決策樹T0開始生成第一個子樹序列{T0,T1,...,Tn},其中Ti+1從Ti產(chǎn)生,Tn為根節(jié)點。在剪枝的過程中,計算損失函數(shù)[14]:
Cα(T)=C(T)+α|T|
(5)
α≥0,C(T) 為訓練數(shù)據(jù)的預測誤差,|T|為模型的復雜度。
將α在其取值空間內(nèi)劃分為一系列區(qū)域,在每個區(qū)域都取一個α然后得到相應的最優(yōu)樹,最終選擇損失函數(shù)最小的最優(yōu)樹。
在選出α之后,計算該α對應的使損失函數(shù)最小的子樹。即從樹的根節(jié)點出發(fā),逐層遍歷每個內(nèi)部節(jié)點,計算每個內(nèi)部節(jié)點處是否需要剪枝。
Step4:重復執(zhí)行Step 1、Step 2和Step3迭代K次,生成K棵決策樹,生成極端隨機樹。
Step5:將生成的極端隨機樹使用測試樣本生成預測結果,將所有基分類器的預測結果進行統(tǒng)計,經(jīng)過投票決策的方法產(chǎn)生最終的分類結果。
1.2.1 BP神經(jīng)網(wǎng)絡
BP算法是一種最有效的多層神經(jīng)網(wǎng)絡學習方法,其主要特點是信號前向傳遞,而誤差后向傳播,通過不斷調(diào)節(jié)網(wǎng)絡權重值,使得網(wǎng)絡的最終輸出與期望輸出盡可能接近,以達到訓練的目的。其優(yōu)點是:①并行分布處理能力強,分布存儲及學習能力強;②具備聯(lián)想記憶的功能;③對噪聲數(shù)據(jù)魯棒性和容錯性較強;④能逼近任意非線性關系。
神經(jīng)網(wǎng)絡需要大量的參數(shù),如網(wǎng)絡拓撲結構、權值和閾值的初始值。不能觀察之間的學習過程,輸出結果難以解釋,會影響到結果的可信度和接受程度。學習時間過長,甚至可能達不到學習的目的。
1.2.2 支持向量機(SVM)
支持向量機是Vapnik等[16]在統(tǒng)計學習理論的基礎上提出的一種采用結構風險最小化準則的新的學習方法。 相對于傳統(tǒng)采用經(jīng)驗風險最小化準則的學習方法,支持向量機具有更強的泛化能力。由于支持向量機是一個凸二次優(yōu)化問題,所以它可以找到作為全局最優(yōu)解的極值解。支持向量機可以用于對目標工區(qū)的判別分類。
此方法的優(yōu)點是可用于線性/非線性分類,也可以用于回歸,泛化錯誤率低,計算開銷不大,結果容易解釋。可以解決小樣本情況下的機器學習問題,高維問題,避免神經(jīng)網(wǎng)絡結構選擇和局部極小點問題。缺點是對缺失數(shù)據(jù)敏感,對于類域的交叉或重疊較多的待分樣本集較難分類。
1.2.3 K最近鄰(KNN)
KNN是通過測量不同特征值之間的距離進行分類。它的思路是:如果一個樣本在特征空間中的k個最相似(即特征空間中最鄰近)的樣本中的大多數(shù)屬于某一個類別,則該樣本也屬于這個類別。其中k通常是不大于20的整數(shù)。KNN算法中,所選擇的鄰居都是已經(jīng)正確分類的對象。該方法在定類決策上只依據(jù)最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。
此方法的優(yōu)點是簡單、有效,重新訓練的代價較低。該算法比較適用于樣本容量比較大的類域的自動分類。其缺點是樣本不平衡時,預測偏差比較大(即某一類的樣本比較少,而其它類樣本比較多)。計算量大,每一次分類都會重新進行一次全局運算。
1.3 極端隨機樹的優(yōu)點
極端隨機樹不同于傳統(tǒng)機器學習方法,它對于數(shù)據(jù)的準備工作較為簡單甚至不是必要的,極端隨機樹不需要預處理數(shù)據(jù),并且在相對短的時間內(nèi)能夠對大型數(shù)據(jù)源做出可行且效果良好的結果。各種機器學習方法對比如表1所示[17]。
表1 常用機器學習方法對比
神經(jīng)網(wǎng)絡方法在進行調(diào)參時需要調(diào)整網(wǎng)絡拓撲結構、權值和閾值的初始值、學習率、迭代次數(shù)等參數(shù),調(diào)參過程較為復雜。支持向量機調(diào)參時需要考慮懲罰系數(shù)、核函數(shù)、核函數(shù)系數(shù)等參數(shù)。K最近鄰方法在調(diào)整參數(shù)時需要考慮選取幾個鄰居、鄰居權值、距離等參數(shù)。而極端隨機樹只需要調(diào)整好合適的最大迭代次數(shù)就可以了,因此是一種簡單有效的分類方法。
研究區(qū)域位于南海某油氣田,儲層巖性是砂巖,上方覆蓋為泥巖,地質資料顯示該地區(qū)為淺海三角洲沉積。儲層的層系為珠江組,巖石物理試驗的儲層平均孔隙度為17.41%, 平均滲透率為 80 mD,平均密度為 2.17 g/cm2,總體而言儲層的物性較好。其中井A 和井C 在目的層頂部鉆遇氣層,井B在目的層鉆遇含水層。為了檢驗方法的有效性,我們首先利用A井、B井的測井數(shù)據(jù)進行分析,優(yōu)選方法并建立訓練集,C井留作驗證井。表2為井A、井B和井C的測井解釋表[18]。
表2 研究區(qū)鉆井的測井解釋表Tab.2 Log interpretation table of drilling in the study area
CPU: intel core i7-7700k 4.4G;內(nèi)存: 4X8G;顯示卡: 兩個NV GTX 1070;硬盤: HDD一個, SSD兩個。
模型設計流程見圖1。
圖1 模型設計流程Fig.1 Model design filow
2.4.1 均方誤差
(6)
2.4.2 錯誤率
當數(shù)據(jù)重疊較多的時候,很難從均方誤差來分辨算法的效果,因此引入了錯誤率(error rate)配合度量。錯誤率是分類錯誤的樣本數(shù)占樣本總數(shù)的比例。錯誤率是使用最普遍、最簡單同時又是最直接的分類指標。其計算方法為[19]:
設測試樣本集T={(x1,y1),…(xn,yn)},其中xn為該樣本i的輸入特征,yi為樣本的真實標簽。
T的預測結果:pyn={py1,py2,…,pyn},其中pyi表示模型對T中第i個樣本的預測結果。
(7)
對比極端隨機樹與傳統(tǒng)的機器學習算法分類預測的效果。筆者主要利用了泊松比(σ)、高靈敏度流體識別因子(high sensitive fluid identification factor,HSFIF)、流體屬性(Mobility Attribution,MA)對流體進行識別。
1)泊松比[20]:
(8)
式中:σ為泊松比;λ為拉梅常數(shù);μ為剪切模量,泊松比屬于波阻抗量綱的零次方類流體識別因子。大量的研究和應用表明,泊松比對儲層的含氣性有很好的響應,在相同的孔隙度的情況下,當砂巖儲層含氣時,泊松比可以從0.3~0.4左右降至0.1左右,而自然界中的巖石泊松比變化范圍在0~0.5之間,所以泊松比經(jīng)常被應用于含氣儲層的識別與刻畫中。
2)高靈敏度流體識別因子:
(9)
(10)
式(10)將波阻抗量綱的零次方類與流體屬性的優(yōu)點結合起來,突出了縱波阻抗IP的作用。
3)流體屬性:
(11)
式(11)由Russell等[22]提出,式(11)中的f代表Gassman方程中的流體因子項,C為調(diào)節(jié)參數(shù)。
對評價結果進行研究,將屬性兩兩組合進行計算并顯示。
1)高靈敏度流體識別因子與泊松比交會分析。
數(shù)據(jù)來自井A、井B的目的層段。從表3及圖2的結果顯示可以看出,對于本類數(shù)據(jù)集合極端隨機樹的預測結果較其他幾種方法優(yōu)秀。支持向量機、最近鄰方法對這類數(shù)據(jù)集錯誤率很高。而神經(jīng)網(wǎng)絡則達不到預測要求,原因主要在于原始數(shù)據(jù)中不同特征屬性的度量單位不一樣,相比較而言,極端隨機樹算法具有較強的魯棒性。
圖2 基本方法Fig.2 Basic method
表3 4種方法結果比較
對數(shù)據(jù)進行正態(tài)化處理,將訓練數(shù)據(jù)集進行數(shù)據(jù)轉換處理,所有的數(shù)據(jù)特征值轉化成“0”為中位值、標準差為“1”的數(shù)據(jù)。數(shù)據(jù)優(yōu)化結果如表4、圖3所示。
圖3 正態(tài)化數(shù)據(jù)Fig.3 Normalized data
表4 正態(tài)化數(shù)據(jù)后結果比較
通過對于數(shù)據(jù)進行正態(tài)化處理以后,可以看出,支持向量機方法和神經(jīng)網(wǎng)絡方法效果得到了明顯地提升,極端隨機樹的效果盡管提升不明顯,但其分類結果仍然優(yōu)于其他幾種方法(表5)。
表5 算法調(diào)參優(yōu)化后結果比較
表6 流體屬性與泊松比交會分析算法優(yōu)化后結果比較
表7 高靈敏度流體識別因子與流體屬性交會分析優(yōu)化結果比較Tab.7 Comparison of optimization results of high-sensitivity fluid identification factor and fluid attribute intersection analysis
對這些方法進行調(diào)參優(yōu)化。從圖4可以看出,當?shù)螖?shù)大于20次后,誤差基本接近穩(wěn)定,迭代34次后,極端隨機樹方法達到最優(yōu)解。后續(xù)均方誤差在(-0.158~ -0.172)附近震蕩,錯誤率在(0.15~0.175)附近震蕩,將34設置為本類數(shù)據(jù)應用極端隨機樹分類的最終迭代次數(shù)。
圖4 極端隨機樹迭代變化Fig.4 Extreme random tree iterative change
圖5 優(yōu)化后高靈敏度流體識別因子與泊松比交會分析Fig.5 Intersection analysis of optimized high sensitivity fluid identification factor and Poisson's ratio
圖6 高靈敏度流體識別因子與泊松比分析真實結果Fig.6 Real result of high sensitivity fluid identification factor and Poisson's ratio analysis
通過與正確分類結果比較可以看出,使用極端隨機樹算法不需要進行數(shù)據(jù)歸一化和參數(shù)優(yōu)化,就可以得到很好的預測效果,同時優(yōu)化后結果依然優(yōu)于其他方法。
2)流體屬性與泊松比交會分析。前面分析可以看出,極端隨機樹算法在沒有進行數(shù)據(jù)正態(tài)化處理和參數(shù)優(yōu)化前,效果明顯優(yōu)于其他幾種方法,對各個方法的最終優(yōu)化結果進行分析,比較幾種方法的預測效果。
從圖7可以看出,迭代次數(shù)大于20次后,誤差基本穩(wěn)定,通過迭代36次,極端隨機樹方法達到最優(yōu)解。后續(xù)均方誤差在(-0.131~ -0.148)附近震蕩,錯誤率在(0.12~0.14)附近震蕩,將36設置為本類數(shù)據(jù)應用極端隨機樹分類的最終迭代次數(shù)。
圖7 流體屬性與泊松比交會分析迭代變化Fig.7 Iterative variation of fluid properties and Poisson's ratio intersection analysis
從圖9與圖8可以看出,極端隨機樹效果優(yōu)于其他幾種方法。
圖8 算法優(yōu)化后流體屬性與泊松比交會分析Fig.8 Intersection analysis of fluid properties and Poisson's ratio after algorithm optimization
圖9 流體屬性與泊松比交會分析真實結果Fig.9 Real results of intersection analysis of fluid properties and poisson's ratio
3)高靈敏度流體識別因子與流體屬性交會數(shù)據(jù)。從圖10中可以看出,通過迭代81次,極端隨機樹方法達到最優(yōu)解。為了簡化計算過程,也可以將迭代36次的次最優(yōu)解設置為最優(yōu)解,與最終結果差距不大。均方誤差在(-0.27~ -0.30)附近震蕩,錯誤率在(0.208~0.232)附近震蕩,將36設置為極端隨機樹的最終迭代次數(shù)。
圖10 高靈敏度流體識別因子與流體屬性交會分析迭代變化Fig.10 Iterative changes in intersection analysis of high sensitivity fluid identification factors and fluid attributes
通過圖12與圖11的比較可以看出,盡管支持向量機通過參數(shù)優(yōu)化,可以保證均方誤差達到較優(yōu)的值,但最終準確率上未能超過極端隨機樹算法。通過以上測試可以看出,極端隨機樹算法在一些類域的交叉或重疊較多的待分樣本集分類有較明顯的優(yōu)勢,且實現(xiàn)簡單,因此選擇極端隨機樹作為本研究的數(shù)據(jù)分類方法。
圖11 算法優(yōu)化后高靈敏度流體識別因子與流體屬性交會數(shù)據(jù)Fig.11 High sensitivity fluid identification factor and fluid attribute intersection data after algorithm optimization
圖12 高靈敏度流體識別因子與流體屬性交會數(shù)據(jù)真實結果Fig.12 High sensitivity fluid identification factor and real results of fluid attribute intersection data
將高靈敏度流體識別因子、泊松比、流體屬性作為學習因子,流通屬性作為預測因子,以井A、井B數(shù)據(jù)為訓練數(shù)據(jù),井C數(shù)據(jù)為最終的驗證數(shù)據(jù),應用極端隨機樹方法進行學習(表8)。
表8 樣本訓練結果比較
表9 實例預測結果比較
從圖13可以看出,與前面2維參數(shù)類似,3屬性數(shù)據(jù)通過迭代36次可以達到最優(yōu)解,將36設置為極端隨機樹的最終迭代次數(shù),確定為最終模型,部署后應用于最終實例。
圖13 樣本訓練迭代變化Fig.13 Sample training iteration changes
圖14~圖18分別為原始地震剖面、近似支持向量機分類剖面、神經(jīng)網(wǎng)絡分類剖面、KNN分類剖面、極端隨機數(shù)分類剖面,比較四幅圖可以發(fā)現(xiàn),原始剖面、支持向量機、神經(jīng)網(wǎng)絡分類剖面根本無法區(qū)分氣層與水層,KNN分類方法中氣層與水層有一定差異,但差異不明顯,而引入的極端隨機數(shù)分類能很好地區(qū)分出氣層和水層。
圖14 原始地震剖面Fig.14 Primary seismic profile
圖15 神經(jīng)網(wǎng)絡分類剖面Fig.15 Neural network classification profile
圖16 支持向量機分類剖面Fig.16 Classification profile of support vector machine
圖17 K最近鄰分類剖面Fig.17 K nearest neighbor classification profile
圖18 極端隨機數(shù)分類剖面Fig.18 Extreme random number classification profile
以上結果可以得出,在實際儲層的氣-水劃分、氣-水-油劃分中,采用基于極端隨機數(shù)的方法,對流體識別因子融合所劃分的含氣層、含水層、含油層,都與測井資料一一對應,但其他方法在做此區(qū)域的流體識別時會存在一定的不確定性,所以極端隨機數(shù)所刻畫的儲層流體性質更加準確。從實例準確率分析數(shù)據(jù)及分類剖面圖可以看出,極端隨機數(shù)分類能很好地區(qū)分出氣層和水層。
在流體識別領域引入了一種有效的機器學習方法——極端隨機數(shù),本方法對于一些類域的交叉或重疊較多的待分樣本集分類有較明顯的優(yōu)勢,與傳統(tǒng)機器學習方法相比較,極端隨機樹對于數(shù)據(jù)的準備往往是簡單或者是不必要的,不需要預處理數(shù)據(jù),并且在相對短的時間內(nèi)能夠對大型數(shù)據(jù)源做出可行且效果良好的結果。通過實例測試,可以看出本方法不僅部署簡單,對于流體識別也有很好的效果。