董青青,梁小叢
(中國地質(zhì)大學(xué)〈武漢〉工程學(xué)院,湖北 武漢430074)
在巖土鉆掘工程設(shè)計(jì)與實(shí)踐中,我們常常希望能事先預(yù)知地層巖石的破碎難易程度,以便正確選擇鉆進(jìn)工藝、方法,制定生產(chǎn)定額。因此探討地層巖石可鉆性的方法顯得極為重要。目前國內(nèi)外普遍采用的巖石可鉆性實(shí)驗(yàn)方法主要有:室內(nèi)巖心實(shí)驗(yàn)法,和參數(shù)分析法2大類。都是鉆后評(píng)價(jià)方法,實(shí)驗(yàn)用的巖心脫離了地下的真實(shí)環(huán)境,因此實(shí)驗(yàn)數(shù)據(jù)具有一定的偏差性,并不能真實(shí)反映巖石的可鉆性級(jí)數(shù)。
而BP網(wǎng)絡(luò)模型是目前廣大研究者用于地層巖石可鉆性的鉆前預(yù)測(cè)模型。利用測(cè)井資料作為網(wǎng)絡(luò)模型的輸入?yún)?shù),巖層可鉆性級(jí)值作為輸出,此模型結(jié)構(gòu)簡(jiǎn)單,具有良好的自適應(yīng)性、自學(xué)習(xí)性和極強(qiáng)的非線性逼近、容錯(cuò)能力等特點(diǎn)。但該模型容易陷入局部極小值,且泛化能力較弱、網(wǎng)絡(luò)收斂速度較慢。在本文中提出一種基于粒子群算法優(yōu)化的BP網(wǎng)絡(luò)預(yù)測(cè)模型,在該模型中用粒子群算法代替了梯度下降法對(duì)BP網(wǎng)絡(luò)的權(quán)值和偏差進(jìn)行優(yōu)化,提高了模型的收斂速度和預(yù)測(cè)的精度。因此利用此模型建立地層可鉆性級(jí)值的預(yù)測(cè)具有更高的精度和更廣泛的適用性。
粒子群優(yōu)化算法[1,2]把群體中的每個(gè)個(gè)體視為搜索空間的“鳥”,也即‘粒子’。在粒子群優(yōu)化問題中,每個(gè)解就是空間中的粒子,所有的粒子都有一個(gè)被優(yōu)化的函數(shù)所決定的適應(yīng)值??罩械牧W右砸欢ǖ乃俣蕊w行,并根據(jù)粒子本身最優(yōu)適應(yīng)值pbest以及全局的最優(yōu)適應(yīng)值gbest對(duì)速度進(jìn)行動(dòng)態(tài)調(diào)整,從而形成群體尋優(yōu)的正反饋機(jī)制,直到尋找到群體最優(yōu)適應(yīng)值為止。設(shè)在一個(gè)D維的目標(biāo)搜索空間中,有N個(gè)粒子組成一個(gè)群落,將每個(gè)粒子代入一個(gè)目標(biāo)函數(shù)即可算出其適應(yīng)值,根據(jù)適應(yīng)值的大小衡量是否為所要求解的最優(yōu)解。設(shè)第i個(gè)粒子的位置為Xi=(Xi1,Xi2,…,XiD),速度也是一個(gè)M維向量,記為Vi=(Vi1,Vi2,…,ViD)。記第i個(gè)粒子迄今為止搜索到的最優(yōu)位置為pbsti=(pbi1,pbi2,…,pbiD),而整個(gè)粒子群搜索到的最優(yōu)位置為gbsti=(gbi1,gbi2,…,gbiD)。粒子位置和速度改變的2個(gè)公式:
式中:c1、c2——加速系數(shù),即分別調(diào)節(jié)向全局最好粒子和個(gè)體最好粒子方向飛行的最大步長;rand1、rand2——[0,1]之間的隨機(jī)數(shù);Vij——第i個(gè)粒子在第k次迭代中第j維的速度;Xij(k)——粒子i在第k次迭代中第j維的當(dāng)前位置;pbij(k)——粒子i在第j維第k此迭代個(gè)體極值點(diǎn)的位置;gbj(k)——整個(gè)粒子群在第j維第k次迭代全局極值點(diǎn)的位置;w——慣性權(quán)重。
慣性權(quán)重是最重要的參數(shù),較大的權(quán)重有利于提高算法的全局搜索能力,而較小的權(quán)重會(huì)增強(qiáng)算法的局部搜索能力,因此在本文中采用線性遞減權(quán)重。
式中:tmax——最大允許迭代次數(shù);t——當(dāng)期迭代次數(shù);wstar、wend——分別是初始權(quán)重和進(jìn)化到最大迭代次數(shù)的權(quán)重。
在更新過程中,粒子飛行速度有最大值Vmax的限制,若V(k+1)>Vmax則V(k+1)=Vmax;若V(k+1)<-Vmax則V(k+1)=Vmax。較大的Vmax可以保證粒子群的全局搜索能力,Vmax較小則種群的局部搜索能力加強(qiáng)。同樣粒子的位置也限制在[-Xmax,Xmax]區(qū)間。
神經(jīng)網(wǎng)絡(luò)模型具有較強(qiáng)的非線性映射能力。而BP網(wǎng)絡(luò)是目前應(yīng)用最廣泛、最成熟的神經(jīng)網(wǎng)絡(luò)之一。在一般情況下BP網(wǎng)絡(luò)取一層隱含層就可以逼近絕大部分非線性的問題。BP網(wǎng)絡(luò)權(quán)值和偏差一般采用誤差梯度下降法逼近,有時(shí)并不能保證所求為誤差超平面的全局最小解,很可能是一個(gè)局部極小解。所以在一些復(fù)雜工程狀況采用梯度下降法訓(xùn)練權(quán)值和偏差并不能達(dá)到預(yù)期的值。而用粒子群算法優(yōu)化權(quán)值和偏差避免了梯度算法中要求函數(shù)可微、對(duì)函數(shù)求導(dǎo)的過程,縮短了神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時(shí)間,在一定程度上改善了BP算法性能,使其跳出局部極小值的范疇。
用PSO算法優(yōu)化BP網(wǎng)絡(luò)模型參數(shù),定義粒子群初始位置向量Xi=(Xi1,Xi2,…,XiD),向量中的維數(shù)的大小D,即為BP網(wǎng)絡(luò)中權(quán)值和偏差的總和,向量中每一元素分別表示網(wǎng)絡(luò)中權(quán)值或偏差。PSO訓(xùn)練BP網(wǎng)絡(luò)時(shí)使用如下適應(yīng)值函數(shù):
式中:n——訓(xùn)練的樣本總數(shù);M——網(wǎng)絡(luò)輸出神經(jīng)元的個(gè)數(shù);Yi,j——第i個(gè)樣本的第j個(gè)網(wǎng)絡(luò)輸出節(jié)點(diǎn)的理想輸出值;yi,j——第i個(gè)樣本的第j個(gè)網(wǎng)絡(luò)輸出節(jié)點(diǎn)的實(shí)際輸出值。
粒子群算法優(yōu)化BP網(wǎng)絡(luò)的詳細(xì)步驟如下:
(1)對(duì)各參數(shù)進(jìn)行初始化:①初始化神經(jīng)網(wǎng)絡(luò)輸入層個(gè)數(shù)N,隱含神經(jīng)元個(gè)數(shù)L和輸出層個(gè)數(shù)M;②初始化粒子群算法種群維數(shù)D=NL+ML+L+M,粒子數(shù)n=25,設(shè)定初始和終止慣性權(quán)重wstar=0.9、wend=0.2,加速因子c1=c2=2,誤差精度 ε=0.001,最大代數(shù)T=2000;③初始化粒子群位置和速度矩陣;④初始化每一個(gè)粒子的個(gè)體極值和全局最優(yōu)值。
(2)逐個(gè)輸入粒子并根據(jù)BP算法計(jì)算粒子的適應(yīng)度。
(3)由計(jì)算所得粒子的適應(yīng)值與它經(jīng)歷最好位置的適應(yīng)值進(jìn)行比較,若現(xiàn)在的位置適應(yīng)值比它經(jīng)歷最好位置更好,則更新個(gè)體極值。
(4)比較每個(gè)粒子的適應(yīng)值與全局所經(jīng)歷最好位置的適應(yīng)值,如果更好,更新全局極值點(diǎn)。
(5)根據(jù)上述方程(1)和方程(2)更新粒子的速度和位置。
(6)如未達(dá)到足夠好的適應(yīng)值或一個(gè)預(yù)設(shè)的最大迭代數(shù)則結(jié)束,否則返回步驟2。
由文獻(xiàn)[3~5]可知巖層的可鉆性級(jí)別與聲波時(shí)差Δt、地層密度ρ、電阻率Rt以及泥質(zhì)質(zhì)量分?jǐn)?shù)Vsh關(guān)系十分密切。而這些參數(shù)都可以由測(cè)井資料所獲得,因此在進(jìn)行深部鉆進(jìn)時(shí)可以利用已經(jīng)獲得的上層井段或者同一地區(qū)已鉆井的測(cè)井資料作為模型的分析參數(shù),并基于粒子群優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)建立未鉆巖層可鉆性級(jí)別預(yù)測(cè)模型。將與地層可鉆性密切相關(guān)的參數(shù)(聲波時(shí)差、地層密度、泥質(zhì)質(zhì)量分?jǐn)?shù)、地層深度)作為網(wǎng)絡(luò)的輸入量,以地層可鉆性級(jí)別Kd作為網(wǎng)絡(luò)的輸出,構(gòu)成的巖層可鉆性模型如圖1所示。
根據(jù)上述所建立粒子群算法優(yōu)化的BP網(wǎng)絡(luò)模型,基于MATLAB建立編程軟件,利用文獻(xiàn)[6]數(shù)據(jù)建立如表1所示地層參數(shù)。
將與地層可鉆性密切相關(guān)的測(cè)井參數(shù)(Δt、ρ、Rt、Vsh)作為網(wǎng)絡(luò)輸入層的輸入量,以地層可鉆性極值Kd作為輸出層的期望輸出量。對(duì)于隱含層神經(jīng)元個(gè)數(shù)并沒有確定的規(guī)定值,隱含層神經(jīng)元個(gè)數(shù)越多訓(xùn)練所需時(shí)間越長,網(wǎng)絡(luò)性能越差。因此可以利用for循環(huán)及網(wǎng)絡(luò)性能評(píng)價(jià)函數(shù)(5)和誤差評(píng)價(jià)函數(shù)(6)選取最優(yōu)隱含層神經(jīng)元個(gè)數(shù):
圖1 巖層可鉆性預(yù)測(cè)模型
表1 地層測(cè)井參數(shù)和巖層可鉆性級(jí)值數(shù)據(jù)
其中e為真實(shí)值和預(yù)測(cè)值誤差,根據(jù)所有的res值選取最小值所對(duì)應(yīng)的隱含神經(jīng)元個(gè)數(shù)作為最優(yōu)隱含層。同時(shí)粒子群算法中取粒子數(shù)25,最大迭代次數(shù)2000。粒子位置的上界為[1×102,1×106],下界為[1 ×10-6,1 ×10-1],粒子最大速度為[5 ×10-2,5 ×104]。
利用表1中數(shù)據(jù)對(duì)所設(shè)計(jì)好的模型進(jìn)行訓(xùn)練,并利用后10組數(shù)據(jù)對(duì)地層可鉆性極值進(jìn)行回判,所得巖層可鉆性級(jí)別回判結(jié)果如表2所示。將所得結(jié)果繪制成曲線如圖2所示。由表2和圖2可以知基于粒子群優(yōu)化BP網(wǎng)絡(luò)模型其相對(duì)誤差一般不超過3%,比未經(jīng)優(yōu)化過的BP網(wǎng)絡(luò)精度高,而且波動(dòng)也較穩(wěn)定,與真實(shí)值擬合的程度高。因此基于粒子群優(yōu)化BP網(wǎng)絡(luò)模型能夠更好預(yù)測(cè)地層可鉆性,反應(yīng)地層可鉆性的變化趨勢(shì)。
表2 PSO-BP與BP預(yù)測(cè)值對(duì)比
圖2 兩種預(yù)測(cè)地層可鉆性模型的曲線對(duì)比
(1)由以上工程實(shí)例分析可知,用粒子群算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)模型具有更高的精度,誤差較小,而且避免了BP神經(jīng)網(wǎng)絡(luò)模型容易陷入局部極小值的局限,具有較大的適應(yīng)性,為地層可鉆性提供了一種較高精度的預(yù)測(cè)模型。
(2)在實(shí)際鉆進(jìn)中利用上部地層或者相鄰已鉆地層的測(cè)井參數(shù)和對(duì)應(yīng)的地層可鉆性級(jí)數(shù)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。利用訓(xùn)練好的網(wǎng)絡(luò)和鉆頭底下未鉆地層的相關(guān)測(cè)井參數(shù)即可預(yù)測(cè)出地層可鉆性級(jí)數(shù),因此該模型對(duì)未鉆地層的可鉆性實(shí)時(shí)預(yù)測(cè)有一定的推廣性。
[1]譚明交,張紅梅.粒子群優(yōu)化算法及其在神經(jīng)網(wǎng)絡(luò)中的應(yīng)用[J].計(jì)算機(jī)與信息技術(shù),2008,(7).
[2]徐樂華,凌衛(wèi)新,熊麗瓊.基于面向?qū)ο笞赃m應(yīng)粒子群算法的神經(jīng)網(wǎng)絡(luò)訓(xùn)練[J].計(jì)算機(jī)應(yīng)用研究,2009,(1).
[3]高成軍,諶海云,盧青蘭,等.測(cè)井資料在預(yù)測(cè)地層參數(shù)剖面方面的應(yīng)用[J].西南石油大學(xué)學(xué)報(bào)(自然科學(xué)版),2008,(3).
[4]劉向君,宴建軍,羅平亞,等.利用測(cè)井資料評(píng)價(jià)巖石可鉆性研究[J].天然氣工業(yè),2005,(7).
[5]王克雄,魏鳳奇.測(cè)井資料在地層抗鉆特性參數(shù)預(yù)測(cè)中的應(yīng)用研究[J].石油鉆探技術(shù),2003,(5).
[6]夏宏泉,劉之的,陳平,等.基于BP神經(jīng)網(wǎng)絡(luò)的巖石可鉆性測(cè)井計(jì)算研究[J].測(cè)井技術(shù),2004,(2).