赫俊民 李亞傳
(1.中石化勝利油田物探院 東營 257100)(2.中國石油大學(華東) 青島 266580)
油藏資源是油田企業(yè)發(fā)展的基礎(chǔ),油氣儲量的分析與預測是油氣企業(yè)發(fā)展中不可或缺的基礎(chǔ)工作。只有通過科學分析,量化投入產(chǎn)出關(guān)系,才能盡可能在有限的資源下創(chuàng)造最大收益。因此,在勘探數(shù)據(jù)分析的基礎(chǔ)上,準確預測油藏年度規(guī)劃儲量,對優(yōu)化勘探規(guī)劃結(jié)構(gòu)、提高油藏發(fā)現(xiàn)效率都具有重大意義。在油氣開采的過程中,相關(guān)專家一直在探索一種準確、高效的資源預測方法。然而由于對不確定因素難以準確地量化,預測結(jié)果與實際產(chǎn)出之間存在較大誤差。本文在勘探規(guī)劃數(shù)據(jù)分析的基礎(chǔ)上,提出了一種基于深度學習的儲量預測方法——基于RNNs(Recurrent Neural Networks)的油藏年度規(guī)劃儲量預測網(wǎng)絡,是利用RNNs在油藏年度規(guī)劃儲量預測方面的第一次嘗試。通過建立不同級別地質(zhì)單元的的預測模型,利用近幾十年的歷史數(shù)據(jù),實現(xiàn)對不同地質(zhì)單元不同勘探階段的中短期年份油氣儲量的預測。實驗證明,基于RNNs的油藏年度規(guī)劃儲量預測網(wǎng)絡在油藏年度規(guī)劃儲量預測上的效果明顯優(yōu)于傳統(tǒng)的預測方法[1~2],而且計算效率有大幅提高。
油氣田年度規(guī)劃儲量預測的結(jié)果準確度,取決于預測方法和所建立的數(shù)學模型??偟貋碇v,規(guī)劃儲量預測方法分為數(shù)學模型法、歷史擬合法、時間序列預測分析法等幾大類[3~4]。
數(shù)學模型法從模型的理論思想、數(shù)學表達式、求解方法、適用范圍、應用效果等方面進行分析,并實際應用于油田的年度規(guī)劃儲量預測[5]。
歷史擬合法[6]基本原理為:構(gòu)建一個反映油藏模型計算值與實際觀測值偏差的目標函數(shù),通過優(yōu)化算法,自動尋找最優(yōu)油藏參數(shù),最小化目標函數(shù)[7]。自動歷史擬合利用少量的動態(tài)觀測數(shù)據(jù),求解模型中的參數(shù),從而得到完整的預測模型,用來預測將來的數(shù)據(jù)[8]。
時間序列預測分析法是根據(jù)事物發(fā)展的連續(xù)性原理,應用數(shù)理統(tǒng)計方法將過去的歷史數(shù)據(jù)按時間順序排列,然后再運用一定的數(shù)字模型來預計未來的一種預測方法[9]。
然而,傳統(tǒng)油藏年度規(guī)劃儲量預測方法預測精度低、人工要求高、難以復現(xiàn)、效率低[10]。因此,亟需一種新的方法,在提高儲量預測的速度和精度的同時降低預測成本。
深度學習的概念由Hinton等于2006年提出?;谏疃戎眯啪W(wǎng)絡提出非監(jiān)督貪心逐層訓練算法,為解決深層結(jié)構(gòu)相關(guān)的優(yōu)化難題帶來希望,深度學習是機器學習中一種基于對數(shù)據(jù)進行表征學習的方法[11]。近年來,深度學習方法在數(shù)據(jù)挖掘、數(shù)據(jù)預測等領(lǐng)域表現(xiàn)出卓越的性能,目前以深度學習為核心的某些機器學習應用在某些應用場景下性能已經(jīng)遠超傳統(tǒng)算法[12]。
循環(huán)神經(jīng)網(wǎng)絡(RNNs)是一種節(jié)點定向連接成環(huán)的人工神經(jīng)網(wǎng)絡。這種網(wǎng)絡的內(nèi)部狀態(tài)可以展示動態(tài)時序行為。RNN可以利用它內(nèi)部的記憶來處理任意時序的輸入序列,當前時刻的輸出結(jié)果跟輸入和上一時刻的輸出有關(guān)[13]。這讓它可以更容易處理與時間序列有關(guān)的任務。
響預測結(jié)果的數(shù)據(jù)多種多樣,只有抓住關(guān)鍵因素,才能準確預測。經(jīng)過數(shù)據(jù)分析,發(fā)現(xiàn)了影響預測模型建立的關(guān)鍵因素:探井勘探程度、資源探明程度、累計油藏個數(shù)。以東營凹陷為例,圖1分別為東營凹陷地區(qū)年累計資源探明程度、年累計探井勘探程度以及年累計油藏個數(shù),通過分析發(fā)現(xiàn),三項數(shù)據(jù)大體呈現(xiàn)增長趨勢。這是油田工作者在數(shù)十年的工作中總結(jié)出來的對油藏年度規(guī)劃儲量影響較大的因素,具有較強的指導意義。因此在該方法中,也主要關(guān)注這三個數(shù)據(jù)指標[14]。

圖1 處理后的數(shù)據(jù)結(jié)果
對勘探基礎(chǔ)數(shù)據(jù)的處理主要包括三部分:整理基礎(chǔ)數(shù)據(jù)、排除干擾因素、規(guī)范數(shù)據(jù)格式。
1)整理基礎(chǔ)數(shù)據(jù):由上一節(jié)勘探數(shù)據(jù)分析可知,整個預測過程要用到的數(shù)據(jù)有探井勘探程度、資源探明程度、累計油藏個數(shù)這三組數(shù)據(jù),計算這些數(shù)據(jù)還需要包括探井完鉆日期、區(qū)域面積在內(nèi)的一系列輔助數(shù)據(jù)。首先要從油田數(shù)據(jù)庫中將數(shù)據(jù)整理出來,選擇出其中可用的年份(1964-2013)來準備建模。
2)排除干擾因素:在勘探基礎(chǔ)數(shù)據(jù)統(tǒng)計過程中,遇到了小油藏(即油藏儲量小于15萬t的油藏)的問題。在油藏年度規(guī)劃儲量問題中小油藏問題不可避免,由于其產(chǎn)量較小,對未來儲量預測指導意義不大,如果不進行單獨處理,會對預測模型產(chǎn)生較大的影響,進而影響模型的預測結(jié)果。處理方法是將小油藏進行相互合并,合并的規(guī)則是如果若干油藏具有相同的油田名、時間和斷塊區(qū)名,并且這若干油藏中有小油藏,則將這若干油藏進行合并,將其作為一個油藏來處理。
3)規(guī)范數(shù)據(jù)格式:其中主要工作是將數(shù)據(jù)庫中的數(shù)據(jù)類型和精度調(diào)整成適應模型需要的形式。將數(shù)值類型數(shù)據(jù)統(tǒng)一保存成浮點數(shù)(小數(shù)點后保留八位有效數(shù)字)。不規(guī)范形式的數(shù)據(jù)會在計算過程中產(chǎn)生較大計算誤差,因此規(guī)范化輸入數(shù)據(jù)在建模過程必不可少[14]。
根據(jù)對油田儲量序列的實際分析,可以將油田儲量序列的預測問題看作是一個時間序列建模的問題。影響油藏年度規(guī)劃儲量預測的主要因素有年累計資源探明程度、年累計探井勘測程度、年累計油藏個數(shù)。
時間序列是按時間順序的一組油田的相關(guān)信息。時間序列分析就是利用這組油田數(shù)列,應用數(shù)理統(tǒng)計方法加以處理,以預測未來油藏年度規(guī)劃儲量,考慮到油藏年度規(guī)劃儲量探測過程中的隨機性,需要利用統(tǒng)計分析中加權(quán)平均法對之前獲取的油田數(shù)據(jù)進行處理。時間序列預測反映油藏年度規(guī)劃儲量勘探的趨勢變化和隨機性變化[15]。
RNNs將前一個狀態(tài)的輸出當作當前狀態(tài)的輸入,體現(xiàn)了模型數(shù)據(jù)的時間先后順序以及互相的影響。理論上,RNNs能夠?qū)θ我忾L度的序列數(shù)據(jù)進行處理。但是在實際的應用過程中,由于GPU、顯存等條件限制,需要減少參數(shù)降低問題的復雜性,往往假設當前的狀態(tài)只與前面的幾個狀態(tài)有關(guān)。理論上,時間上距離當前數(shù)據(jù)越遠的數(shù)據(jù)對當前數(shù)據(jù)的影響就越小,因此該假設是符合實際使用需求的。
建立的RNNs模型如圖2所示,深度模型包含輸入單元,用于接收油田的歷史數(shù)據(jù)(年累計資源探明程度、年累計探井勘測程度、年累計油藏個數(shù)),圖中可視層即為即為接受歷史數(shù)據(jù)輸入的節(jié)點,每個節(jié)點接受一維數(shù)據(jù)。圖中可視層共9個節(jié)點,故輸入的向量為長度為9維的特征向量。圖中輸出層即為網(wǎng)絡的預測結(jié)果輸出單元,共有一個節(jié)點,輸出一個關(guān)于儲量的預測結(jié)果;特征映射層從這些歷史數(shù)據(jù)中提取出數(shù)據(jù)之間內(nèi)在的規(guī)律,并進行下一步的輸出預測,圖中的中間部分的三層即為特征映射層。網(wǎng)絡的輸入向量維度比較低(相比更復雜的多維數(shù)據(jù)輸入來說)而且訓練數(shù)據(jù)較少,限制了網(wǎng)絡節(jié)點數(shù)。由于輸出節(jié)點數(shù)小于輸入節(jié)點數(shù)(只有一個),因此網(wǎng)絡整體呈金字塔形狀。

圖2 深度學網(wǎng)絡結(jié)構(gòu)
用勘探基礎(chǔ)數(shù)據(jù)處理一節(jié)中的方法整理好的數(shù)據(jù)應該是[x,y]的數(shù)據(jù)對形式,其中x是一個9維向量,包含了要輸入的信息,y是與x數(shù)據(jù)同年的油藏年度規(guī)劃儲量結(jié)果,將x輸入到網(wǎng)絡中,會得到一個輸出結(jié)果out,利用交叉熵損失函數(shù):

來訓練網(wǎng)絡模型,最小化out和y之間的誤差。利用深度學習中的反向傳播機制,對模型進行迭代訓練,自動調(diào)整權(quán)值參數(shù),直至損失函數(shù)收斂,完成模型訓練。
實驗的數(shù)據(jù)是油田1964年到2013年的實測數(shù)據(jù)。模型的訓練過程就是參數(shù)調(diào)整的過程,當模型訓練完成,參數(shù)固定,在使用預測過程中不會改變,但是這與油田的實際情況不相符。油田產(chǎn)量至少存在一個增長-穩(wěn)定-衰減過程。如果只用增長過程的數(shù)據(jù)預測整個周期的儲量,誤差勢必會逐漸增大,因此,模型只能預測短時間內(nèi)的油藏年度規(guī)劃儲量,如果繼續(xù)使用該模型,需要用每年新增的數(shù)據(jù)重新訓練網(wǎng)絡模型,更新權(quán)重參數(shù)。
眾所周知,學習率的大小對實驗結(jié)果影響巨大,學習率過小損失函數(shù)收斂過慢,并且容易陷入局部最優(yōu)化;學習率過大,使得損失值產(chǎn)生震蕩。實驗學習率對模型誤差的影響結(jié)果見表1。

表1 學習率對模型誤差的影響
由表1分析可得,學習率在6以內(nèi)時誤差呈先下降再上升的整體趨勢,在3時模型的精度達到最佳(在所有選擇的學習率中)。但是,在實際建模過程中,還要考慮到模型的效率問題,一定范圍內(nèi),學習率越大,模型的效率就越低,在誤差不大幅上升的情況下要選取較小的學習率,經(jīng)過進一步的實驗,最終確定學習率為2.1,在不損失太多精度的情況下,盡可能提高效率。
為評價本深度學習模型的效果,以東營凹陷的年累計探明儲量序列數(shù)據(jù)為例,對深度模型的效果進行評估,實驗結(jié)果見圖3。

圖3 模型效果評價曲線
由圖3(a)可知,該模型能夠?qū)W習到年累計儲量的總體變化趨勢,在數(shù)據(jù)變化不劇烈的時模型能夠達到較高的準確度,誤差曲線圖3(b)所示,對于每一個年份的油藏年度規(guī)劃儲量預測,該模型的誤差都在10%以內(nèi)。
同時,為了更直觀表現(xiàn)本深度模型在儲量預測上的效果,本文對東營凹陷的儲量增長曲線作了對比,對比情況如圖4所示。從圖中可以觀察到,該模型的預測曲線(圖4(a))在儲量的變化趨勢上與實際的儲量(圖4(b))基本吻合,在局部儲量變化比較劇烈的年份(如1983年),預測效果稍差。

圖4 東營凹陷真實儲量變化曲線與預測儲量變化曲線對比
據(jù)所知,目前基于深度模型的油田發(fā)現(xiàn)儲量增長趨勢預測是深度學習在油田勘探規(guī)劃分析決策過程中的首次嘗試。實驗證明,該模型效果顯著,相比傳統(tǒng)方法在預測的精度、速度上都有大幅提高。該模型對今后深度學習在油藏年度規(guī)劃儲量預測方面的研究與應用有一定的參考意義。