于 靜,白曉偉
(1.中國石油大學(北京)克拉瑪依校區(qū) 文理學院,新疆 克拉瑪依 834000;2.新疆油田公司工程技術公司,新疆 克拉瑪依 834000)
隨著世界經(jīng)濟的高速發(fā)展,油氣資源的需求日益增長,這使得尋找新類型儲層成為了工業(yè)研究重點。其中巖性識別不僅是儲層評價的基礎,還是巖儲層研究的重要環(huán)節(jié),只有準確了解儲層巖性,才能精確求解其儲層參數(shù),判斷該儲層的含油氣性。因此,巖性識別的準確程度直接影響著儲層結果評價的可靠程度。
在當今大數(shù)據(jù)時代,巖性與測井響應之間的模糊特性,使得傳統(tǒng)的巖性識別方法越發(fā)難以滿足工業(yè)界對巖性識別的需求。因為傳統(tǒng)的巖性識別方法主要是針對單一礦物組分發(fā)展起來的,所以對于復雜巖性并不能滿足準確的識別需求。
目前,巖性識別技術主要分為概率統(tǒng)計巖性識別、聚類分析巖性識別和神經(jīng)網(wǎng)絡巖性識別。神經(jīng)網(wǎng)絡因其具備的強自適應性、容錯性、聯(lián)想記憶功能等優(yōu)勢,在模式識別中被廣泛使用,其中巖性識別則是模式識別的一個具體應用方向。張洪等[1]便利用BP神經(jīng)網(wǎng)絡進行了測井數(shù)據(jù)的巖性識別,并取得了較為準確的結果。陳昊等[2]基于測井資料提出了一種可靠的巖性識別方法,該方法通過分析不同巖性類型測井響應特征的方式,統(tǒng)計不同巖性測井響應分布區(qū)間,從而探索不同巖性測井響應的差異。在明確不同巖性特征后,利用因子分析法降低數(shù)據(jù)的分析維度,提取測井參數(shù),采用聚類分析法實現(xiàn)對巖性特征的識別。吳施楷等[3]則利用支持向量機算法進行巖性識別,通過概率生成模型提取巖性特征參數(shù),但該方法識別速度較慢,并且適用性較差。SSA是現(xiàn)金分析一維離散數(shù)據(jù)的有效方法,通過奇異譜分解和重構,可以有效去除測井數(shù)據(jù)的異常值,提取數(shù)據(jù)中包含巖性相關的信息。而BP神經(jīng)網(wǎng)絡是一種非線性預測模型,能夠很好地實現(xiàn)預報效果。
本文基于SSA-BP神經(jīng)網(wǎng)絡的方法,先利用SSA方法對測井曲線進行重構,提取相關巖性特征參數(shù),隨即使用BP神經(jīng)網(wǎng)絡對特定巖性的曲線進行識別,并結合特征參數(shù)之間的關系達到巖性準確識別的目的。
SSA是主成分分析的時序處理方法,它的基本思想是將一個一維時間序列數(shù)據(jù)轉化為軌跡矩陣,然后對該矩陣進行奇異值分解,對于每一個特征值和相應的特征向量均可以重構出一個時間序列,選取合適的窗口即可將原時間序列分解為含有不同頻率的時間序列和噪聲以及趨勢項。其主要分為3個步驟,分別是嵌入、SVD分解、重構,其中重點是分解、重構過程。針對接收道的信號,SSA算法的具體步驟如下。
(1)分解。定義窗口長度,對接收的信號進行空間重構,構造出接收信號z的跡矩陣(trajectory matrix):
(1)
式中,zi=[zi,zi+1,…,zi+L-1];i=1,2,…,k,k=n-L+1。
(2)重構。令協(xié)方差矩陣Y=ZZT,對進行SVD分解,記分解后的特征值和特征向量分別為λ1,λ2,…,λL(滿足λ1≥λ2≥…≥λL)和U1,U2,…,UL(滿足U1≥U2≥…≥UL),則跡矩陣經(jīng)SSA分解后可以表示為:
Z=P1+P2+…+PL
(2)
若z為含噪信號,矩陣Z設為滿秩矩陣,其秩為k(k BP神經(jīng)網(wǎng)絡(Back Propagation Neural Network)是一種多層前饋網(wǎng)絡,它能夠學習和存儲大量的輸入—輸出模式的映射關系,一般的學習規(guī)則是最速下降法,通過反向傳播來不斷調整網(wǎng)絡的權值和閾值,使網(wǎng)絡計算得到的誤差平方和最小。BP神經(jīng)網(wǎng)絡結構主要包括輸入層(input)、隱層(hider layer)和輸出層(output layer),3層BP神經(jīng)網(wǎng)絡結構如圖1所示。值得注意的是,BP神經(jīng)網(wǎng)絡主要過程分為2個階段,分別是信號向前傳播和誤差反向傳播,信號向前傳播指的是先從輸入層經(jīng)過隱含層,到達輸出層;而誤差則從輸出層向輸入層傳播,依次調節(jié)隱含層到輸出層的權重和偏置,以及輸入層到隱含層的權重和偏置[4-7]。影響B(tài)P神經(jīng)網(wǎng)絡性能的主要因素包括:隱含層節(jié)點的個數(shù)、激活函數(shù)的選擇以及學習率的參數(shù)設置等。 圖1 3層BP神經(jīng)網(wǎng)絡結構Fig.1 Three-layer BP neural network structure (1)初始化網(wǎng)絡各層的權值Wij和神經(jīng)元閾值θi,設置為較小的隨機數(shù)。 (2)提供訓練樣本,即輸入向量x1,x2,…xp,和輸出向量y1,y2,…,yn(n為輸出層的神經(jīng)元個數(shù))。 (3)計算神經(jīng)網(wǎng)絡每層第i個神經(jīng)元的輸出: (3) 式中,p為第i個神經(jīng)元的輸入維數(shù);φ[]為sigmiod函數(shù),它具有2種不同類型表達式: (4) 式中,α為控制曲線斜率的參數(shù)。 (4)計算隱含層和輸出層各神經(jīng)元的誤差信號: δj=(tj-Oj)Oj(1-Oj);Wij=Wij+ηδiOj (5) 式中,δj為第L層的第j個神經(jīng)元的誤差信號;tj為第L層的第j個神經(jīng)元的期望輸出;Oj為第層的第j個神經(jīng)元的實際輸出;δi為第L+1層的第i個神經(jīng)元的誤差信號;Wij為第L層的第j個神經(jīng)元和第L+1層的第i個神經(jīng)元之間的權值。 (5)對權值和閾值進行修正: Wij=Wij+ηδiOj;θj=θj+ηδj (6) 式中,θj為第L層第j個神經(jīng)元的閾值,η為學習效率。 (6)計算網(wǎng)絡輸出誤差: (7) 式中,ti和Oi分別為輸出層第i個神經(jīng)元的期望輸出值和實際輸出值。 (7)判斷誤差是否滿足設置要求,若滿足則訓練完成,否則回到第(3)步循環(huán)重新計算。 BP神經(jīng)網(wǎng)絡算法流程如圖2所示。 圖2 BP神經(jīng)網(wǎng)絡算法流程Fig.2 BP neural network algorithm flow chart (1)數(shù)據(jù)預處理[8]。該階段對測井數(shù)據(jù)進行初步刪選,針對不同的測井數(shù)據(jù)和不同的巖性,隨機選取部分數(shù)據(jù);之后,分別對數(shù)據(jù)進行歸一化處理,歸一化方法是最大最小值法;最后,對數(shù)據(jù)進行主成分分析,計算得到主成分得分系數(shù)矩陣,選取4個主成分,得到預處理之后的樣本。 (2)SSA分析方法。將產(chǎn)生巖性差異的測井數(shù)據(jù)中缺失值和異常值進行填補和刪除,得到完整的測井曲線。 (3)基于主成分分析之后的主成分參數(shù)的數(shù)據(jù)集。利用BP神經(jīng)網(wǎng)絡進行樣本訓練和后續(xù)的檢測數(shù)據(jù)集的巖性識別,得到識別結果。技術路線如圖3所示。 圖3 技術路線Fig.3 Technology roadmap 模擬信號奇異譜分解濾波結果如圖4所示。 圖4 模擬信號奇異譜分解濾波結果Fig.4 Result of singular spectrum decomposition and filtering of analog signal 3.1.1 奇異譜分析數(shù)值測試 3.1.2 奇異譜分析法處理數(shù)據(jù) 針對測井數(shù)據(jù)原始數(shù)據(jù)曲線,對一些數(shù)據(jù)缺失值和異常值進行了奇異譜分析,得到了完整曲線,如圖5所示。 圖5 SSA分析處理的測井數(shù)據(jù)結果Fig.5 SSA analysis and processing of logging data result graph 在圖5中可以觀察到,自然伽馬(GR)測井曲線中的“毛刺”異常值得到了很好的去除,并且缺失值很好地被擬合值補充,從而具有隨深度變化的連續(xù)性,一些局部干擾也得到很好的壓制。 在進行測井曲線數(shù)據(jù)的奇異譜分析(SSA)之后,對處理后完整的測井曲線數(shù)據(jù)進行主成分分析和進行BP神經(jīng)網(wǎng)絡的訓練集和測試集的選取,完成針對巖性識別的BP神經(jīng)網(wǎng)絡模型,中間過程需要進行參數(shù)的調整和測試。 針對不同巖性的測井數(shù)據(jù)(表1),選擇了10類測井曲線,包括:自然伽馬曲線(GR)、電阻率曲線(RT)、密度曲線(DEN)、聲波時差曲線(AC)、自然電位曲線(SP)、補償中子曲線(CNL)、地溫梯度曲線(DT)、密度校正值曲線(ZCOR)、廣電吸附截面指數(shù)曲線(PE)、井徑曲線(CAL)。原始數(shù)據(jù)總量包括7 060個,其中黏土巖1 084個,泥巖2 033個,頁巖2 003個,灰?guī)r1 940個,隨機將黏土巖數(shù)據(jù)中的1 060個,泥巖2 020個,頁巖1 990個,灰?guī)r1 930個,共7 000個原始數(shù)據(jù)選為訓練集,剩下的60個作為模型的檢測集。值得注意的是,為了減少BP神經(jīng)網(wǎng)絡的輸入?yún)?shù)個數(shù),首先進行了主成分分析,將每種巖性對應的10種測井曲線數(shù)據(jù)進行主成分分析,結果見表1。由表1可以看出,前4個主成分貢獻率已經(jīng)達到90%以上,所以可以將原來的10個變量變成4個主成分進行BP神經(jīng)網(wǎng)絡的學習和最終結果的預測。 表1 測井主成分分析相關數(shù)據(jù)Tab.1 Logging principal component analysis related data 在進行主成分分析之后,數(shù)據(jù)變?yōu)榱藥r性與成分對應的形式,將其中PCA1—PCA4作為BP神經(jīng)網(wǎng)絡的輸入,對應的4類巖性作為神經(jīng)網(wǎng)絡的輸出(4類巖性包括泥巖、灰?guī)r、黏土巖和頁巖)。其中對每一種主成分建立1個0~1的區(qū)間數(shù)值范圍,整體結構表現(xiàn)為一維數(shù)組形式,該數(shù)組共有4個元素。最終BP神經(jīng)網(wǎng)絡輸出的結果中,[ 0 0 0 1]代表泥巖、[ 0 0 1 0]代表灰?guī)r、[ 0 1 0 0]代表黏土巖、[1 0 0 0]代表頁巖。選取了部分訓練檢測結果,共10個(2個泥巖,3個灰?guī)r,2個黏土巖,3個頁巖),見表2,10個巖石樣本結果均符合實際情況,并且其數(shù)值十分接近1,大部分大小均在0.98以上,證明該模型的結果具有很高的準確率。整體60個測試集的結果,正確率達93.3%,共有56個為正確預測,僅有4個不正確。 部分測試集的BP神經(jīng)網(wǎng)絡巖性識別測驗結果見表2。 表2 部分測試集的BP神經(jīng)網(wǎng)絡巖性識別測驗結果Tab.2 Lithology recognition test results of BP neural network in part of the test set 研究方法主要分為2個模塊進行,首先先對4種不同巖性的10種不同測井數(shù)據(jù)進行預處理,將其變量進行主成分分析,將10個影響巖性判斷的因素減少至4個,從而減小BP神經(jīng)網(wǎng)絡的輸入?yún)?shù)個數(shù),縮短訓練時間。其次,使用SSA分析方法將測井數(shù)據(jù)的異常值和缺失值進行相應的處理,避免對預測結果造成影響,并且保證數(shù)據(jù)的有效性。最后,利用PCA處理得到的測井相關參數(shù),4個主成分分量,將其作為神經(jīng)網(wǎng)絡輸入,運用合適的神經(jīng)網(wǎng)絡參數(shù)(即每個神經(jīng)網(wǎng)絡的隱含層個數(shù)、每層的神經(jīng)元個數(shù)、學習效率、訓練次數(shù)等)進行巖性識別預測計算的訓練,并使用60個不同巖性(4種巖性)數(shù)據(jù)樣本進行測試,測試結果正確率高達93.3%,并且其中具有代表性的10個樣本的相關數(shù)值十分接近1,證明該模型預測結果具有較高的可靠性。由此可以看出,該方法能夠較好地根據(jù)相關巖性的測井曲線數(shù)據(jù),實現(xiàn)對巖性的識別。1.2 BP神經(jīng)網(wǎng)絡
2 SSA-BP神經(jīng)網(wǎng)絡模型的具體方法設計
3 實驗結果與分析
3.1 奇異譜分析
3.2 測井曲線巖性識別的結果分析
4 結論