李虎,范宜仁,叢云海,胡云云,劉智中
(1.中國石油大學(xué)地球資源與信息學(xué)院,山東 青島 266580;2.中國石油大學(xué)CNPC測(cè)井重點(diǎn)實(shí)驗(yàn)室,山東 青島 266580;3.中國石油玉門油田分公司,甘肅 酒泉 735210)
孔隙度、滲透率等儲(chǔ)層物性參數(shù)是儲(chǔ)層精細(xì)評(píng)價(jià)的重要內(nèi)容[1],常規(guī)測(cè)井解釋多通過統(tǒng)計(jì)公式法或體積模型法計(jì)算儲(chǔ)層物性參數(shù)[2-3]。測(cè)井資料具有不確定性和非結(jié)構(gòu)化的特點(diǎn),簡單的統(tǒng)計(jì)方法很難精確求取儲(chǔ)層物性參數(shù)。利用BP神經(jīng)網(wǎng)絡(luò)、基于微粒群(PSO)的神經(jīng)網(wǎng)絡(luò)等預(yù)測(cè)儲(chǔ)層物性[4-5],但已有算法普遍存在易陷入局部極小、魯棒性差和泛化能力不足等問題[6-7]。
隨著模擬退火、差分進(jìn)化等智能算法的發(fā)展[8-9],其應(yīng)用與改進(jìn)也越來越受到人們的關(guān)注。Kunqi Liu結(jié)合模擬退火(SA)算法與差分進(jìn)化(DE)算法的優(yōu)點(diǎn),提出了模擬退火差分進(jìn)化(SADE)算法[10],但未給出算法的具體流程和參數(shù)的選擇方法。筆者在此基礎(chǔ)上,對(duì)SADE算法進(jìn)行改進(jìn),針對(duì)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)儲(chǔ)層物性參數(shù)的問題,提出了新的目標(biāo)函數(shù),基于改進(jìn)算法,對(duì)儲(chǔ)層參數(shù)預(yù)測(cè)進(jìn)行了求解。
差分進(jìn)化(DE)算法主要包括變異、交叉、選擇等3個(gè)過程[10],其基本思想是隨機(jī)產(chǎn)生一個(gè)具有NP個(gè)個(gè)體的初始種群,從初始種群開始,通過種群中任意2個(gè)個(gè)體的向量差加權(quán),按照一定的規(guī)則與第3個(gè)個(gè)體求和產(chǎn)生變異個(gè)體vi,根據(jù)一定的交叉概率CR,使當(dāng)代個(gè)體xi和變異個(gè)體vi交叉,產(chǎn)生新個(gè)體ui,依據(jù)優(yōu)勝劣汰的原則,將當(dāng)前個(gè)體與新個(gè)體比較,保留具有較好適應(yīng)度的個(gè)體,開始下一代循環(huán),從而引導(dǎo)搜索過程向最優(yōu)解逼近。
常用的差分策略有
式中,xbest為當(dāng)前代種群中最優(yōu)個(gè)體;r2,r3∈[0,NP];F為縮放因子;λ為控制參數(shù)。
差分進(jìn)化采用貪婪算法進(jìn)行選擇操作
式中,f(x)為適應(yīng)度函數(shù)。
SA的基本思想是由一個(gè)給定的解開始,從鄰域中隨機(jī)產(chǎn)生另一個(gè)解,接受Metropolis準(zhǔn)則允許目標(biāo)函數(shù)在有限范圍內(nèi)變壞。這個(gè)過程由一個(gè)控制參數(shù)t決定,其作用類似于物理退火過程中的溫度,在某一恒定溫度下持續(xù)搜索直到穩(wěn)定,然后降低溫度繼續(xù)搜索;當(dāng)溫度減低趨于0℃時(shí)系統(tǒng)亦趨于平衡狀態(tài),最終系統(tǒng)狀態(tài)對(duì)應(yīng)于優(yōu)化問題的全局最優(yōu)解,該過程稱為冷卻過程。具體步驟如下。
(1)設(shè)定參數(shù)和各參數(shù)變化范圍,在參數(shù)變化范圍內(nèi)給定一個(gè)初始模型m0,并計(jì)算適應(yīng)度函數(shù)E(m0);
(2)對(duì)當(dāng)前模型進(jìn)行擾動(dòng),產(chǎn)生一個(gè)新模型m,計(jì)算其適應(yīng)度值E(m),并得到 ΔE=E(m)-E(m0);
(3)若ΔE<0,則新模型m被接受;否則,新模型按一定概率P=進(jìn)行接受;
(4)在溫度T 下重復(fù)步驟(2)、步驟(3)至穩(wěn)定或達(dá)到跳出要求;
(5)降低退火溫度T;
(6)重復(fù)步驟(2)至步驟(5)直至穩(wěn)定收斂。
差分進(jìn)化算法具有很好的種群多樣性,但差分策略的選擇很重要[11-12];同時(shí),算法存在早熟的問題。模擬退火的退火策略可以幫助算法跳出局部極優(yōu),但算法不具有種群的多樣性,同時(shí)擾動(dòng)方式的選擇很重要。結(jié)合兩者優(yōu)點(diǎn),提出了改進(jìn)的模擬退火差分進(jìn)化算法,算法流程圖見圖1。改進(jìn)的SADE算法結(jié)合了兩者的優(yōu)點(diǎn),克服了經(jīng)典算法的不足,初期采用Scheme DE1,并以一定概率接受差解,增強(qiáng)了種群的多樣性,后期采用Scheme DE2和優(yōu)勝劣汰的選擇策略,加快了收斂速度,并在整個(gè)計(jì)算過程中采用最優(yōu)解保存的辦法,保存優(yōu)化過程中全局最優(yōu)解。
圖1 SADE算法流程圖
圖1中,k為降溫系數(shù);T0為初始溫度,T0=-Δmax/Pr,Δmax為初始種群中個(gè)體適應(yīng)度函數(shù)最大差值,Pr為初始接受概率。Scheme DE1和Scheme DE2為差分進(jìn)化變異策略。
測(cè)井評(píng)價(jià)中常采用區(qū)塊取心井的巖心實(shí)驗(yàn)數(shù)據(jù)與測(cè)井曲線值擬合的方法建立孔隙度、滲透率等儲(chǔ)層物性和測(cè)井曲線(如聲波、密度、中子和自然伽馬等測(cè)井曲線)之間的關(guān)系求取該區(qū)塊儲(chǔ)層物性參數(shù),這實(shí)質(zhì)上是數(shù)據(jù)預(yù)測(cè)的過程。利用巖心數(shù)據(jù)和測(cè)井?dāng)?shù)據(jù)作為樣本,建立測(cè)井值與實(shí)驗(yàn)值之間的關(guān)系。神經(jīng)網(wǎng)絡(luò)正好適用于這一過程,利用已有的輸入數(shù)據(jù)和期望輸出,通過權(quán)值的調(diào)整,可以建立輸入和輸出間的線性或非線性關(guān)系[13]。
對(duì)于單隱含層的神經(jīng)網(wǎng)絡(luò),其輸出可以表示為
式中,m、n分別為輸入節(jié)點(diǎn)個(gè)數(shù)和隱含層節(jié)點(diǎn)個(gè)數(shù);f為激發(fā)函數(shù);w、v為權(quán)值。
對(duì)于經(jīng)典的神經(jīng)網(wǎng)絡(luò)一般采用誤差函數(shù)Ep作為目標(biāo)函數(shù)
但上面的誤差函數(shù)會(huì)造成不同期望輸出的樣本在權(quán)值調(diào)整中的作用不同,權(quán)值調(diào)整主要依賴期望輸出中絕對(duì)值大的樣本,使得訓(xùn)練后網(wǎng)絡(luò)對(duì)期望輸出小的樣本相對(duì)誤差偏大。因此,定義相對(duì)誤差函數(shù)為
相對(duì)誤差函數(shù)消除了樣本期望輸出絕對(duì)值大小的影響,更適合于變化范圍較大的樣本數(shù)據(jù)的訓(xùn)練。最終,采用兩者的加權(quán)作為總的目標(biāo)函數(shù)
將權(quán)值w、v作為自變量,將物性參數(shù)的預(yù)測(cè)轉(zhuǎn)化為式(6)的極小無約束優(yōu) 化 問題[14],利用改進(jìn)的SADE算法求解,即可實(shí)現(xiàn)對(duì)儲(chǔ)層參數(shù)的預(yù)測(cè)。
表1列出了某油田取心井部分巖心實(shí)驗(yàn)和測(cè)井?dāng)?shù)據(jù)。該區(qū)塊儲(chǔ)層非均質(zhì)性強(qiáng)、孔隙結(jié)構(gòu)復(fù)雜,孔隙度、滲透率變化范圍大且不具備與常規(guī)測(cè)井?dāng)?shù)據(jù)的簡單線性關(guān)系。
表1 部分樣本實(shí)驗(yàn)數(shù)據(jù)與測(cè)井?dāng)?shù)據(jù)表
圖2給出了改進(jìn)SADE算法與傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法預(yù)測(cè)孔隙度、滲透率與實(shí)驗(yàn)測(cè)量孔隙度、滲透率對(duì)比圖。由于目標(biāo)函數(shù)的影響,在孔隙度、滲透率較小時(shí)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果明顯偏離真值,特別是當(dāng)滲透率較小時(shí)結(jié)果偏差較大,很難應(yīng)用于實(shí)際計(jì)算。采用改進(jìn)的算法與目標(biāo)函數(shù)后,結(jié)果明顯優(yōu)于BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果,且滲透率較小時(shí),新算法仍能進(jìn)行準(zhǔn)確預(yù)測(cè)。
為了進(jìn)一步對(duì)比改進(jìn)目標(biāo)函數(shù)與傳統(tǒng)目標(biāo)函數(shù),分別利用改進(jìn)的SADE算法與改進(jìn)目標(biāo)函數(shù)、改進(jìn)SADE算法與傳統(tǒng)目標(biāo)函數(shù)以及BP神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)目標(biāo)函數(shù),分別對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練、預(yù)測(cè)。3種算法計(jì)算的相對(duì)誤差分布如圖3所示??梢钥闯?,因?yàn)閭鹘y(tǒng)的目標(biāo)函數(shù)訓(xùn)練過程主要受絕對(duì)值較大樣本影響,在期望輸出絕對(duì)值較小時(shí),相對(duì)誤差較大;基于改進(jìn)SADE算法的神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)相對(duì)誤差明顯降低,特別是引入改進(jìn)的目標(biāo)函數(shù)后,預(yù)測(cè)誤差基本不受期望輸出大小的影響。
為了比較改進(jìn)SADE算法與其他算法優(yōu)劣,利用BP神經(jīng)網(wǎng)絡(luò)、基于微粒群(PSO)改進(jìn)的神經(jīng)網(wǎng)絡(luò)和基于改進(jìn)SADE算法對(duì)該區(qū)數(shù)據(jù)進(jìn)行了訓(xùn)練和預(yù)測(cè),訓(xùn)練誤差下降曲線和相關(guān)系數(shù)變化曲線見圖4、圖5。可以看出,BP算法下降緩慢且易陷入局部極小;改進(jìn)的SADE算法具有較強(qiáng)的全局搜索能力,后期收斂速度較快,在較短的訓(xùn)練次數(shù)內(nèi)精度比基于PSO訓(xùn)練的神經(jīng)網(wǎng)絡(luò)提高了1個(gè)數(shù)量級(jí),預(yù)測(cè)值與期望輸出也達(dá)到了較高的相關(guān)系數(shù)。
圖4 典型訓(xùn)練誤差收斂曲線
圖5 典型訓(xùn)練相關(guān)系數(shù)變化曲線
針對(duì)某油田數(shù)據(jù)建立樣本空間,分別利用BP神經(jīng)網(wǎng)絡(luò)和基于改進(jìn)SADE算法的神經(jīng)網(wǎng)絡(luò)對(duì)權(quán)值進(jìn)行訓(xùn)練,對(duì)未參與樣本訓(xùn)練的某取心井進(jìn)行預(yù)測(cè)(見圖6)。由于改進(jìn)SADE算法全局尋優(yōu)能力較強(qiáng),能更好地找到全局最優(yōu)解,從而泛化能力較強(qiáng),與BP神經(jīng)網(wǎng)絡(luò)相比,改進(jìn)的SADE算法對(duì)非樣本數(shù)據(jù)預(yù)測(cè)精度較高,更適用于油田現(xiàn)場應(yīng)用。
圖6 ×井測(cè)井綜合解釋圖
(1)利用退火溫度控制差分進(jìn)化的選擇過程和差分策略的選用,使得改進(jìn)的模擬退火差分進(jìn)化(SADE)算法克服了傳統(tǒng)算法的不足,具有更好的全局搜索能力和魯棒性,收斂速度更快。
(2)針對(duì)儲(chǔ)層物性的預(yù)測(cè)問題,提出了新的目標(biāo)函數(shù),更加適用于變化范圍較大的樣本數(shù)據(jù)的訓(xùn)練。將改進(jìn)的SADE算法用于神經(jīng)網(wǎng)絡(luò)權(quán)值的調(diào)整過程,使得整體預(yù)測(cè)效果有很大提高,明顯優(yōu)于BP神經(jīng)網(wǎng)絡(luò)和基于微粒群(PSO)改進(jìn)的神經(jīng)網(wǎng)絡(luò)。
(3)將該方法應(yīng)用于油田實(shí)例,并與取心實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比,改進(jìn)算法具有很好的泛化能力,能較好地進(jìn)行儲(chǔ)層物性參數(shù)預(yù)測(cè),其運(yùn)用結(jié)果明顯優(yōu)于傳統(tǒng)BP算法。
[1]洪有密.測(cè)井原理與綜合解釋[M].東營:中國石油大學(xué)出版社,2007,159-165.
[2]雍世和,張超謨.測(cè)井?dāng)?shù)據(jù)處理與綜合解釋[M].東營:中國石油大學(xué)出版社,1996,121-129.
[3]范宜仁.非均質(zhì)性砂礫巖儲(chǔ)層滲透率預(yù)測(cè)方法研究[J].西南石油大學(xué)學(xué)報(bào):自然科學(xué)版,2010,32(3):6-10.
[4]連承波.基于測(cè)井資料的BP神經(jīng)網(wǎng)絡(luò)模型在孔隙度定量預(yù)測(cè)中的應(yīng)用[J].天然氣地質(zhì)學(xué),2006,17(3):382-384.
[5]朱立峰,莫修文.火山碎屑巖層孔隙度的計(jì)算方法[J].吉林大學(xué)學(xué)報(bào):地球科學(xué)版,2007,37:126-129.
[6]邵紅梅,安鳳仙.一種訓(xùn)練前饋神經(jīng)網(wǎng)絡(luò)的梯度算法及收斂性[J].中國石油大學(xué)學(xué)報(bào):自然科學(xué)版,2010,34(4):176-178.
[7]王文娟,曹俊興.基于微粒群算法的神經(jīng)網(wǎng)絡(luò)儲(chǔ)層物性參數(shù)預(yù)測(cè)[J].西南石油大學(xué)學(xué)報(bào),2007,29(6):31-34.
[8]Store R,Price K.Differential Evolution-A Simpleand Efficient Adaptice Scheme for Global Optimization O-ver Continuous Spaces[R].Berkeley,USA:University of California.International Computer Science Institute,1995,11-19.
[9]Granville,Krivanek V M,Rasson J P.Simulated Annealing:A Proof of Convergence[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1994,16(6):652-656.
[10]Kunqi Liu.Differential Evolution Algorithm Based on Simulated Annealing:Advances in Computation and Intelligence[Z].Springer Berlin/ Heidelberg,4683:120-126.
[11]劉明光.差分演化算法及其改進(jìn)[J].系統(tǒng)工程,2005,23(2):108-1111.
[12]Lopez C I L,Van Willigenburg L G,Van Straten G.Efficient Differential Evolution Algorithmsfor Multimodal Optimal Control Problems [J].Applied Soft Computing,2003,3(2):97-122.
[13]徐寶昌,羅雄麟,王金山,等.一種基于綜合目標(biāo)函數(shù)的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法[J].中國石油大學(xué)學(xué)報(bào):自然科學(xué)版,2009,33(6):96-99.
[14]孫文瑜,徐成賢.最優(yōu)化方法[M].北京:高等教育出版社,2004.