翟亮亮,王連堂,王俊杰
(1.西安石油大學理學院,陜西西安710065;2.西北大學數(shù)學系;3.思茅師范高等專科學校)
基于Levenberg-Marquardt算法的油田產(chǎn)量預測模型
翟亮亮1,王連堂2,王俊杰3
(1.西安石油大學理學院,陜西西安710065;2.西北大學數(shù)學系;3.思茅師范高等專科學校)
針對標準的BP神經(jīng)網(wǎng)絡(luò)存在的缺陷,采用基于Levenberg-Marquardt算法改進的神經(jīng)網(wǎng)絡(luò),建立了油田產(chǎn)量預測的模型,并分析了各種參數(shù)對油田產(chǎn)量的影響。
油氣田產(chǎn)量預測模型;神經(jīng)網(wǎng)絡(luò)算法;參數(shù)分析
近年來國內(nèi)外學者應用神經(jīng)網(wǎng)絡(luò)方法對各種類型的預測問題開展了大量的研究[1-3]。文獻[4]通過對影響產(chǎn)能的各種因素進行了綜合分析,采用多元線性回歸得出它們之間的關(guān)系式,從而反映了油層的產(chǎn)能情況,但油田產(chǎn)量與其影響因素不是簡單的線性關(guān)系,而是復雜的非線性隨機關(guān)系。本文通過對油井初期產(chǎn)量與油層物性實際資料進行分析和取樣,對BP神經(jīng)網(wǎng)絡(luò)算法進行了改進,利用神經(jīng)網(wǎng)絡(luò)的非線性映射和泛化能力,通過訓練,建立了油田產(chǎn)量預測模型,并為實際計算提供了一條有效的途徑。
標準BP算法是一種有導師指導的學習算法。該算法的學習過程由正向傳播和反向傳播兩部分組成,在正向傳播過程中,輸入模式從輸入層經(jīng)過隱含層神經(jīng)元的處理后,傳向輸出層,每一層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元狀態(tài)。如果在輸出層得不到期望的輸出,則轉(zhuǎn)入反向傳播,此時誤差信號從輸出層向輸入層傳播并沿途調(diào)整各層連接權(quán)值和閾值,以使誤差不斷減小,直至達到精度要求。該算法實際上是求誤差函數(shù)的極小值,它通過多個樣本的反復訓練,采用梯度下降法使權(quán)值沿著誤差函數(shù)負梯度方向改變,并收斂于最小點。
眾所周知,梯度下降法最初下降較快,但隨著接近最優(yōu)值,由于梯度趨于零,致使誤差函數(shù)下降緩慢,而牛頓法則可在最優(yōu)值附近產(chǎn)生一個理想的搜索方向。Levenberg-Marquardt,實際上是梯度下降法和高斯牛頓法的結(jié)合,它的優(yōu)點在于網(wǎng)絡(luò)權(quán)值數(shù)目較小時收斂非常迅速。它比傳統(tǒng)的BP及其他改進算法(如共軛梯度法,附加動量法,自適應調(diào)整法等)迭代次數(shù)少,收斂速度快,精度高[5]。
其基本思想是使每次迭代不再沿著單一的負梯度方向,而是允許誤差沿著惡化的方向進行搜索,同時通過在最速梯度下降法和高斯牛頓法之間自適應調(diào)整來優(yōu)化網(wǎng)絡(luò)權(quán)值,使網(wǎng)絡(luò)能夠有效收斂,這樣大大提高了網(wǎng)絡(luò)的收斂速度和泛化能力。其權(quán)值調(diào)整公式為

式中:e——誤差向量,J——誤差對權(quán)值微分的雅可比矩陣,μ——一個標量,當μ增加時,它接近于具有較小的學習速率的最速下降法,當μ下降到0時,該算法就變成高斯-牛頓法了。因此,L-M算法是在最速下降法和高斯-牛頓法之間的平滑調(diào)和。
1.2.1 L-M算法具體迭代步驟
(1)將所有輸入送到網(wǎng)絡(luò)并計算出結(jié)果,另用誤差函數(shù)計算出所有目標的誤差平方和。
(2)計算出誤差對權(quán)值微分的雅可比矩陣。首先,定義Marquardt敏感度:

從(2)式可以看出,敏感度為誤差函數(shù)E對m層輸入的第i個元素變化的敏感性,其中,n為每層網(wǎng)絡(luò)的加權(quán)和。敏感度的遞推關(guān)系式為可見,敏感度可由最后一層通過網(wǎng)絡(luò)被反向傳播到第一層:


然后,用(4)計算雅可比矩陣的元素:

(3)用式(1)求出Δw。
(4)用w+Δw重復計算誤差的平方和。如果新的和小于步驟(1)中的和,則用μ除以θ(θ>1),并有w=w+Δw,轉(zhuǎn)向步驟(1),否則,用μ乘以θ,轉(zhuǎn)向步驟(3)。當誤差平方和減小到某一目標誤差時,算法即被認為收斂。
(1)輸入?yún)?shù)的確定。輸入?yún)?shù)的選取主要考慮油井初期產(chǎn)量的影響因素,同時還要考慮這些數(shù)據(jù)的可采集性。研究中選取了以下4個參數(shù)作為神經(jīng)網(wǎng)絡(luò)的輸入:有效厚度、滲透率、孔隙度、含水飽和度。
(2)輸出參數(shù)的確定。對于本研究而言,輸出參數(shù)只有一個,即油井產(chǎn)量。
(3)網(wǎng)絡(luò)層數(shù)的確定。由于只有一個隱含層的三層前向神經(jīng)網(wǎng)絡(luò),且以任意精度逼近任意非線性映射的能力,所以本研究采用三層神經(jīng)網(wǎng)絡(luò)。
(4)激勵函數(shù)的確定。激勵函數(shù)是神經(jīng)網(wǎng)絡(luò)中極為重要的參數(shù)。在應用BP算法的多層前向網(wǎng)絡(luò)中,采用的是Sigmoid函數(shù)。
(5)隱含層節(jié)點數(shù)的確定。隱含層神經(jīng)元數(shù)代表網(wǎng)絡(luò)輸入與輸出之間的非線性程度,對模型訓練速度和預報能力有著重要影響。由于輸入向量有4個元素,所以網(wǎng)絡(luò)的輸入層的神經(jīng)元有4個,根據(jù) Kolmogogorov定理知,網(wǎng)絡(luò)中間層的神經(jīng)元可取9個。
考察安塞油田某區(qū)塊的20口油井[4],選取其中15口油井的原始數(shù)據(jù)作為訓練樣本,另外選取5口油井作為測試數(shù)據(jù)。為了消除量綱的影響,對原始數(shù)據(jù)做歸一化處理使其在區(qū)間[0,1]之間變化,研究采用的歸一化公式為:

網(wǎng)絡(luò)訓練結(jié)束后,須對歸一化的數(shù)據(jù)進行反歸一化,得到實際數(shù)據(jù)。
利用Matlab編制程序[6],建立具有4個輸入節(jié)點,9個隱層節(jié)點,1個輸出節(jié)點的神經(jīng)網(wǎng)絡(luò),精度選為0.001,訓練步數(shù)定為2000,并對實際數(shù)據(jù)進行仿真,兩種仿真結(jié)果見表1。從中可以看出,采用BP神經(jīng)網(wǎng)絡(luò)和L-M神經(jīng)網(wǎng)絡(luò)算法訓練時,收斂速度都很快,比較而言,L-M神經(jīng)網(wǎng)絡(luò)算法,在網(wǎng)絡(luò)訓練和網(wǎng)絡(luò)測試中的相對誤差比BP神經(jīng)網(wǎng)絡(luò)算法誤差要小。

表1 油井初期產(chǎn)量的訓練與預測
選擇前4個參數(shù)進行分析。利用訓練好的LM神經(jīng)網(wǎng)絡(luò)模型,其他參數(shù)不變,只改變一個參數(shù)來分析對油井產(chǎn)量的影響[7]。
滲透率為2.1×10-3μm2,孔隙度為12.6%,含水飽和度為52.6%,有效厚度分別為4.6、4.8、5.8、6.4、6.8、7.2、7.6、8.4、9.6m。利用訓練好的LM神經(jīng)網(wǎng)絡(luò)計算油井的產(chǎn)量,油井產(chǎn)量和有效厚度的關(guān)系曲線如圖1,從中可以看出,在其他參數(shù)不變的情況下,有效厚度和產(chǎn)量之間的關(guān)系為非線性曲線,產(chǎn)量隨著有效厚度的增加而增加。但當有效厚度過大時,它對產(chǎn)量的影響不是很顯著。
有效厚度為11.2m,孔隙度為12.3%,含水飽和度為55.7%,滲透率分別為1.332、1.467、1.559、1.699、1.836、2.161、2.331、2.446、2.795×10-3μm2。利用訓練好的L-M神經(jīng)網(wǎng)絡(luò)計算油井的產(chǎn)量,油井產(chǎn)量和滲透率的關(guān)系曲線如圖2,從中可以看出,在其他參數(shù)不變的情況下,有效厚度和產(chǎn)量之間的關(guān)系大致為線性的,產(chǎn)量隨著滲透率的增加而增加。
有效厚度為 10.2m,滲透率為 1.559×10-3μm2,含水飽和度為57.9%,孔隙度分別為11.5%、11.8%、12.2%、12.5%、12.8%、13.1%、13.4%、13.6%、13.8%,利用訓練好的L-M神經(jīng)網(wǎng)絡(luò)計算油井的產(chǎn)量,油井產(chǎn)量和滲透率的關(guān)系曲線如圖3,從中可以看出,在其他參數(shù)不變的情況下,有效厚度和產(chǎn)量之間的關(guān)系大致為線性的。產(chǎn)量隨著孔隙度的增加而減少。
有效厚度為 11.8m,滲透率為 1.476×10-3μm2,孔隙度為13.7%,含水飽和度分別為50.1%、52.3%、53.1%、54.9%、55.7%、56.2%、58.1%、59.2%、60.5%,利用訓練好的L-M神經(jīng)網(wǎng)絡(luò)計算油井的產(chǎn)量,油井產(chǎn)量和滲透率的關(guān)系曲線如圖4,從中可以看出,在其他參數(shù)不變的情況下,含水飽和度和產(chǎn)量之間的關(guān)系為非線性曲線,產(chǎn)量隨著含水飽和度的增加而減少。
(1)采用改進的BP神經(jīng)網(wǎng)絡(luò)對油井產(chǎn)量進行預測,具有較高的精度。同時,該神經(jīng)網(wǎng)絡(luò)具有很好

圖1 有效厚度對產(chǎn)量的影響

圖2 滲透率對產(chǎn)量的影響

圖3 孔隙度對產(chǎn)量的影響

圖4 含水飽和度對產(chǎn)量的影響
(2)各種參數(shù)對油井產(chǎn)量的影響規(guī)律不同。有效厚度、含水飽和度和油井產(chǎn)量的關(guān)系為非線性曲線;滲透率、孔隙度和油井產(chǎn)量的關(guān)系近似為線性關(guān)系。
(3)本研究是在一定的區(qū)塊和地質(zhì)背景下建立起來的,實用范圍僅僅局限于此區(qū)塊的勘探開發(fā),而對于其他區(qū)塊,還必須根據(jù)自身的地質(zhì)背景,物性資料確定相應的神經(jīng)網(wǎng)絡(luò)模型,所以該模型的使用有一定的局限性。
[1]Chan W,T,chow Y K,liu L F.Neural network:an alternative to pile driving formulas[J].Computers and Geotechnics,1995,17(2):135-1561
[2]Lee I M,lee J H.Prediction of pile bearing capacity using artificialneuralnetworks[J].Computers and Geotechnics,1996,18(3):189-200
[3]王光蘭.遺傳算法在油田產(chǎn)量預報中的應用[J].西南石油學院學報,2000,22(2):34-35
[4]李栓豹,陳雷.多元線性回歸在安塞油田產(chǎn)量預測中的應用[J].承德石油高等專科學校學報,2004,4(6):27-31
[5]馬立平,仁寶生.油田產(chǎn)量灰色神經(jīng)網(wǎng)絡(luò)混合預測模型研究[J].石油天然氣學報,2008,30(5):129-133
[6]張德豐.MATLAB神經(jīng)網(wǎng)絡(luò)應用設(shè)計[M].北京:機械工業(yè)出版社,2008:20-30
[7]陳鐵冰.基于神經(jīng)網(wǎng)絡(luò)的混凝土預制樁單樁豎向極限承載力參數(shù)分析[J].公路交通科技,2007,24(11):87-91
編輯:劉洪樹
TE318
A
1673-8217(2010)03-0053-03
2009-12-08;改回日期:2010-01-21
翟亮亮,講師,1980年生,2008年畢業(yè)于西北大學應用數(shù)學專業(yè),主要研究領(lǐng)域為數(shù)學物理反問題和測井方法。