楊 莉, 鹿卓慧, 任偉建, 劉添翼
(東北石油大學(xué) 電氣信息工程學(xué)院, 黑龍江 大慶 163318)
準(zhǔn)確預(yù)測(cè)鉆井效率(即鉆速)是鉆井及相關(guān)工程中最重要的環(huán)節(jié)之一[1], 其對(duì)評(píng)價(jià)經(jīng)濟(jì)效益、 規(guī)劃設(shè)計(jì)地下作業(yè)起到至關(guān)重要的作用。然而由于鉆井過程中存在許多不確定性因素, 使一般模型在鉆井工程中很難建立, 又因各個(gè)環(huán)節(jié)存在較為復(fù)雜的耦合關(guān)系, 從而導(dǎo)致模型預(yù)測(cè)結(jié)果與實(shí)際鉆速值相差較大。目前研究方式從對(duì)單個(gè)參數(shù)的研究發(fā)展為對(duì)多目標(biāo)、 多參數(shù)的優(yōu)化, 并且對(duì)參數(shù)優(yōu)化的方法已經(jīng)從數(shù)學(xué)模型轉(zhuǎn)為人工智能算法。作為傳統(tǒng)機(jī)器學(xué)習(xí)的代表, 支持向量機(jī)回歸[2-3]在考慮高度非線性的特點(diǎn)時(shí)表現(xiàn)出良好的性能, 在實(shí)驗(yàn)中對(duì)比其他機(jī)器學(xué)習(xí)方法(如k近鄰、 線性回歸、 多項(xiàng)式回歸和決策樹)時(shí), 擬合效果更好。然而, 在處理大數(shù)據(jù)樣本時(shí), 由于需要解決二次規(guī)劃問題, 支持向量機(jī)很難實(shí)現(xiàn), 該過程將占用大量的計(jì)算時(shí)間。隨著研究的進(jìn)展, 目前BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)是用于預(yù)測(cè)鉆井速度的主流機(jī)器學(xué)習(xí)算法[4-7], 通過建立影響因素與鉆進(jìn)速度的回歸模型得到較高的預(yù)測(cè)效果, 但其擬合程度需要改進(jìn)和優(yōu)化[8-9]。趙穎等[10]提出了極限學(xué)習(xí)機(jī)的方法計(jì)算輸入層和隱藏層的參數(shù), 不需要調(diào)整參數(shù)即可完成BP神經(jīng)網(wǎng)絡(luò)模型的建立。李琪等[11]利用粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值, 其預(yù)測(cè)精度高于BP神經(jīng)網(wǎng)絡(luò)等其他模型, 證明了優(yōu)化后的神經(jīng)網(wǎng)絡(luò)在鉆井速度預(yù)測(cè)中具有更高的效率和可靠性。Mohammad等[12]評(píng)估了該模型在實(shí)際工程應(yīng)用中的適用性。
目前優(yōu)化算法研究的重點(diǎn)在于提高鉆井效率, 雖然忽視了復(fù)雜工況對(duì)控制決策和系統(tǒng)穩(wěn)定性的影響, 但對(duì)過于復(fù)雜的信息還是需要有經(jīng)驗(yàn)的工程師解決。為滿足各參數(shù)之間存在的相互聯(lián)系和制約的辯證關(guān)系, 提出模糊控制模型, 其控制核心模糊規(guī)則表可以很好地反映這種客觀規(guī)律。由于模糊控制和神經(jīng)網(wǎng)絡(luò)的互補(bǔ)性, 模糊神經(jīng)網(wǎng)絡(luò)已經(jīng)應(yīng)用于許多領(lǐng)域的研究[13-15]。筆者將模糊神經(jīng)網(wǎng)絡(luò)應(yīng)用于鉆井鉆速預(yù)測(cè)方面, 利用人類思維解決復(fù)雜問題, 通過模糊控制和神經(jīng)網(wǎng)絡(luò)相結(jié)合的方式構(gòu)建基礎(chǔ)優(yōu)化模型架構(gòu)。
人腦和計(jì)算機(jī)有著本質(zhì)區(qū)別, 人腦具有善于處理和判斷模糊現(xiàn)象的能力。模糊性普遍存在于人類思維和語(yǔ)言交流中, 是一種不確定性的表現(xiàn)。人類在描述自然現(xiàn)象時(shí), 大腦中會(huì)產(chǎn)生一種模糊的概念, 在不斷的學(xué)習(xí)和了解經(jīng)驗(yàn)后, 會(huì)對(duì)一般的客觀規(guī)律進(jìn)行模糊地劃分, 決策出較為理想的結(jié)果。通常專家系統(tǒng)建立在專家經(jīng)驗(yàn)上。模糊控制就是建立在人類思維的基礎(chǔ)上, 采取適當(dāng)策略控制的復(fù)雜過程。
模糊神經(jīng)網(wǎng)絡(luò)的每層都對(duì)應(yīng)著Mamdani型模糊控制系統(tǒng)的步驟, 如圖1所示。
圖1 模糊神經(jīng)網(wǎng)絡(luò)模型Fig.1 Fuzzy neural network model
第1層為輸入層, 輸入向量的每個(gè)分量分別對(duì)應(yīng)第1層各自節(jié)點(diǎn), 將輸入值x=[x1,x,…,x]輸送到下一層。
(1)
其中i=1,2,…,n;j=1,2,…,mi。n為輸入量的維度,mi為xi的模糊分割數(shù)。
第3層的每個(gè)節(jié)點(diǎn)分別代表一條模糊規(guī)則, 用于匹配模糊規(guī)則的前件, 并計(jì)算規(guī)則的適用度, 即
(2)
第4層為清晰化層, 將模糊值轉(zhuǎn)化為清晰值并輸出, 即
(3)
1.3k均值算法
模糊神經(jīng)網(wǎng)絡(luò)要訓(xùn)練的參數(shù)有3個(gè), 分別為隸屬度函數(shù)的中心值、 寬度, 以及最后一層的權(quán)重。為獲得更好的訓(xùn)練效果, 將輸入進(jìn)行處理, 改進(jìn)隨機(jī)初始化或等間距劃分隸屬度函數(shù)的傳統(tǒng)方式。通過聚類將相似度高的數(shù)據(jù)劃分為一類, 更好地表示初始語(yǔ)言值變量, 進(jìn)而使模型獲得更好的訓(xùn)練效果, 這種劃分也稱為硬聚類[16]。采用k-means均值聚類將數(shù)據(jù)集劃分為k個(gè)部分, 找到k個(gè)聚類點(diǎn)作為隸屬度函數(shù)的中心值, 同時(shí)也作為初始化隸屬度函數(shù)的參數(shù)輸入網(wǎng)絡(luò)中。
給定樣本集D=x1,x2,…,xm,k均值(k-means)算法針對(duì)聚類所得簇劃分C={C1,C2,…,Ck}, 最小化平方誤差為
(4)
圖2 k-means均值聚類Fig.2 k-means clustering
將每個(gè)維度的數(shù)據(jù)進(jìn)行聚類, 并且每個(gè)維度采用5個(gè)隸屬度函數(shù), 其中首尾兩個(gè)隸屬度函數(shù)中心值為取值上下界,k均值聚類結(jié)果如圖2所示。
圖2給出了歸一化后數(shù)據(jù)聚類的結(jié)果, 其中3個(gè)類別分別用兩條直線區(qū)分, 星號(hào)表示每個(gè)類別的聚類中心點(diǎn), 同時(shí)也是模糊語(yǔ)言值的隸屬中心點(diǎn)并且分別表示不同的類別, 即模糊語(yǔ)言值。模糊語(yǔ)言值的隸屬度函數(shù)寬度σi初始化取值為
(5)
初始化隸屬度函數(shù)如圖3所示。圖3a為聚類后初始化進(jìn)入神經(jīng)網(wǎng)絡(luò)訓(xùn)練的隸屬度函數(shù)結(jié)果, 其中橫坐標(biāo)表示數(shù)據(jù)在模糊論域的模糊值, 縱坐標(biāo)表示數(shù)據(jù)的模糊值所對(duì)應(yīng)的隸屬度, 每個(gè)隸屬度函數(shù)表示一個(gè)模糊語(yǔ)言值, 如圖3a所示可以將全部信息保留, 訓(xùn)練時(shí)只需微調(diào)神經(jīng)網(wǎng)絡(luò)參數(shù)即可得到滿意效果。圖3b為隨機(jī)初始化高斯函數(shù)中心值和寬度后的效果圖, 可明顯看出隨機(jī)初始化后會(huì)導(dǎo)致很多信息丟失, 這將嚴(yán)重影響模型精確度。
圖3 初始化隸屬度函數(shù)Fig.3 Initializing membership function without restriction
損失函數(shù)用于度量預(yù)測(cè)錯(cuò)誤的程度, 由于樣本訓(xùn)練集個(gè)數(shù)有限, 因此選擇計(jì)算方便的平方損失函數(shù), 即
(6)
其中Y和F(X)是期望輸出和實(shí)際輸出。
平方差損失在計(jì)算時(shí)放大了預(yù)測(cè)值與真實(shí)值的距離, 因此對(duì)誤差較大的輸出給予較大的懲罰, 有利于誤差梯度的計(jì)算。利用誤差反向傳播更新參數(shù), 參數(shù)調(diào)整的學(xué)習(xí)算法為
(7)
(8)
(9)
其中ω是網(wǎng)絡(luò)最后一層權(quán)重, 其物理意義是ωi相當(dāng)于輸出y隸屬函數(shù)的中心值,Cij和σij分別是隸屬度函數(shù)的中心值和寬度,β是學(xué)習(xí)率。
訓(xùn)練隸屬度函數(shù)過程中會(huì)出現(xiàn)隸屬度中心值和寬度始終增加或減少的情況(見圖4), 這是由于訓(xùn)練過程中梯度下降的方向沒有改變。
圖4 未加限制條件的隸屬度函數(shù)更新結(jié)果Fig.4 Updating result of membership function without restriction
因此要對(duì)該網(wǎng)絡(luò)進(jìn)行改進(jìn), 在每個(gè)高斯隸屬度函數(shù)中加入一個(gè)限制區(qū)間, 5個(gè)隸屬度函數(shù)的中心值限定范圍分別為[-11,-9],[-7,-3],[-2,2],[3,7],[9,11], 即
(10)
其中L、H分別是對(duì)應(yīng)限制區(qū)間的上下限。隸屬度函數(shù)寬度限定范圍為[1,4], 即
(11)
規(guī)范范圍的隸屬度函數(shù)會(huì)最大限度地保留每個(gè)語(yǔ)言值的信息, 不會(huì)因訓(xùn)練不當(dāng)造成信息丟失, 訓(xùn)練時(shí)超過該限制區(qū)間時(shí)會(huì)保留上一次的值, 以確保模型能清晰地表達(dá)每個(gè)模糊語(yǔ)言值所代表的含義。
為驗(yàn)證模型的可行性, 選擇某油田鉆井?dāng)?shù)據(jù)進(jìn)行實(shí)例分析。經(jīng)了解, 該油田受斷層運(yùn)動(dòng)影響, 井底溫度高, 可控參數(shù)在下井過程中不斷的變化。為尋求參數(shù)之間的最優(yōu)組合, 采用Tosun[17]提出的灰色關(guān)聯(lián)分析方法, 選取比較容易獲取的6個(gè)性能指標(biāo)鉆壓、 轉(zhuǎn)速、 排量、 立管壓力、 鉆進(jìn)時(shí)間以及鉆頭直徑為輸入量, 機(jī)械鉆速為輸出量, 通過訓(xùn)練隸屬度函數(shù)的參數(shù)以及最后一層的權(quán)重?cái)M合數(shù)據(jù)。隸屬度的數(shù)量設(shè)置遵循合理性, 過多或過少都會(huì)對(duì)模型產(chǎn)生不良影響。如果模糊語(yǔ)言值的個(gè)數(shù)較少, 則會(huì)降低對(duì)數(shù)據(jù)的靈敏性, 而個(gè)數(shù)較多則會(huì)增加模型的復(fù)雜度。具體講, 當(dāng)輸入量較大時(shí), 模糊規(guī)則的數(shù)量將呈指數(shù)增長(zhǎng)。筆者選取模糊語(yǔ)言值的數(shù)量為5個(gè), 以平衡兩個(gè)方面的影響, 每個(gè)輸入分為5個(gè)部分, 用“小”, “較小”, “中”, “較大”, “大”表示, 構(gòu)建出模糊神經(jīng)網(wǎng)絡(luò)基本模型。
采用某油田鉆井?dāng)?shù)據(jù)作為訓(xùn)練樣本, 選取對(duì)鉆速影響較大的6個(gè)參數(shù)作為訓(xùn)練樣本集, 以驗(yàn)證用模糊神經(jīng)網(wǎng)絡(luò)建立參數(shù)優(yōu)化模型的可行性。部分測(cè)試井訓(xùn)練集樣本如表1所示。
獲取后的樣本需要進(jìn)行處理, 將實(shí)際連續(xù)域轉(zhuǎn)換為有限整數(shù)離散域, 并將變量按一定比例進(jìn)行放大和縮小, 以便與相鄰模塊更好地匹配。
輸入物理論域?yàn)閄=[emin,emax], 模糊論域設(shè)置為Y=[-10,10], 則連續(xù)論域的一般公式為
(12)
其中emin和emax分別是物理論域的最小值和最大值,x0是當(dāng)前數(shù)據(jù)的實(shí)際值。物理論域映射到模糊論域的量化因子為
如圖5所示, 假設(shè)輸入的物理論域?yàn)閇20,560], 則量化因子為1/54, 再計(jì)算每個(gè)物理論域上的值對(duì)應(yīng)到模糊論域, 作為系統(tǒng)輸入。
圖5 清晰值模糊化示意圖Fig.5 Diagram of blurring clear value
將數(shù)據(jù)集平均分成10個(gè)部分, 其中9個(gè)作為訓(xùn)練集, 1個(gè)作為測(cè)試集。然后將每個(gè)訓(xùn)練集依次作為新的測(cè)試集, 并將原始測(cè)試集放入訓(xùn)練集, 共進(jìn)行10次交叉實(shí)驗(yàn)。取平均絕對(duì)誤差(MAE: Mean Absolute Error)最小的模型作為最終模型, 根據(jù)所有結(jié)果對(duì)模型進(jìn)行評(píng)價(jià)。
該模型是在Anaconda開發(fā)環(huán)境中使用Python語(yǔ)言構(gòu)建。實(shí)驗(yàn)中, 數(shù)據(jù)被sklearn庫(kù)中的model_selection模塊劃分。通過交叉驗(yàn)證, 評(píng)價(jià)模糊神經(jīng)網(wǎng)絡(luò)對(duì)訓(xùn)練數(shù)據(jù)集的泛化能力。訓(xùn)練模型采用小批量梯度法。初始學(xué)習(xí)率設(shè)置為0.2。在不同優(yōu)化器的作用下, 對(duì)影響模型訓(xùn)練和輸出的網(wǎng)絡(luò)參數(shù)進(jìn)行更新和計(jì)算, 以逼近或達(dá)到最優(yōu)值。10次實(shí)驗(yàn)的決定系數(shù)R2值以及平均絕對(duì)誤差如表2所示。
表2 模糊神經(jīng)網(wǎng)絡(luò)模型在不同優(yōu)化器作用下的10次實(shí)驗(yàn)結(jié)果
在不同優(yōu)化器的作用下不同學(xué)習(xí)速率下的10次實(shí)驗(yàn)得到的平均R2如表3所示。實(shí)驗(yàn)結(jié)果表明, Adam優(yōu)化器的大多數(shù)精度略高于SGDM(Stochastic Gradient Descent with Momentum)優(yōu)化器, 因此, 本實(shí)驗(yàn)選擇Adam優(yōu)化器用以更新模型。在同區(qū)塊的數(shù)據(jù)中, 模型的擬合效果較優(yōu), 10次實(shí)驗(yàn)結(jié)果的R2值均大于0.93且平均絕對(duì)誤差都控制在0.5以內(nèi), 證明了模型訓(xùn)練結(jié)果的可行性, 為進(jìn)一步證明模型的適用性, 還分析了該油氣田其他地區(qū)的預(yù)測(cè)結(jié)果。
表3 不同優(yōu)化器作用下不同學(xué)習(xí)速率的10次實(shí)驗(yàn)得到模糊神經(jīng)網(wǎng)絡(luò)的平均R2
選擇某油田6口測(cè)試井在志留系、 石炭系、 泥盆系和奧陶系地層共計(jì)144組數(shù)據(jù)作為測(cè)試集數(shù)據(jù)測(cè)試模型的泛化能力, 各地層的預(yù)測(cè)結(jié)果如圖6所示。
圖6 不同地層預(yù)測(cè)值與實(shí)際值Fig.6 Predicted and actual values of different formations
模型在大部分預(yù)測(cè)結(jié)果中預(yù)測(cè)值與實(shí)際值很接近, 表現(xiàn)出優(yōu)異的性能, 證明模型對(duì)該地區(qū)不同區(qū)塊的預(yù)測(cè)是可行的。表4給出了某口測(cè)試井的模糊規(guī)則表。模糊規(guī)則表是模糊控制的核心思想。通過訓(xùn)練自動(dòng)獲取的模糊規(guī)則表代替依靠經(jīng)驗(yàn)提取的模糊關(guān)系, 從而尋找到參數(shù)之間的相互影響對(duì)輸出量鉆速的關(guān)系。訓(xùn)練集交叉驗(yàn)證的結(jié)果以及測(cè)試集的預(yù)測(cè)結(jié)果均說明提取出的模糊規(guī)則表具有一定的可信度。
表4 FNN獲取的部分模糊規(guī)則
模糊神經(jīng)網(wǎng)絡(luò)與BP神經(jīng)網(wǎng)絡(luò)、 支持向量機(jī)在各地層的測(cè)試結(jié)果如表4所示。模型在多次調(diào)參后選擇最優(yōu)參數(shù)組合, 其中支持向量機(jī)回歸采用高斯核函數(shù), 懲罰參數(shù)C為1.25, 松弛變量ε為0.05, 停止條件為訓(xùn)練誤差小于10-3。設(shè)置BP神經(jīng)網(wǎng)絡(luò)的層數(shù)為3層, 輸入層的神經(jīng)元數(shù)為6, 輸出層的神經(jīng)元數(shù)為1, 激活函數(shù)采用Sigmoid函數(shù)。用平均絕對(duì)誤差MAE與決定系數(shù)R2作為模型的評(píng)價(jià)標(biāo)準(zhǔn), 可以看到模糊神經(jīng)網(wǎng)絡(luò)在大部分地區(qū)的效果要優(yōu)于其他模型, 預(yù)測(cè)精度有一定的提升。
表5給出了3種模型在不同地層的性能對(duì)比, 在評(píng)價(jià)模型方法上選用平均絕對(duì)誤差(MAE)以及決定系數(shù)(R2)對(duì)3種模型進(jìn)行評(píng)價(jià), 結(jié)果表明, 模糊神經(jīng)網(wǎng)絡(luò)對(duì)比其他模型具有一定的優(yōu)越性。
表5 模型性能對(duì)比
圖7 誤差對(duì)比Fig.7 Error comparison
圖7比較了3種方法的預(yù)測(cè)誤差, 從圖7中可以看出, 模糊神經(jīng)網(wǎng)絡(luò)的絕大部分?jǐn)?shù)據(jù)預(yù)測(cè)在3種方法中誤差均是最小, 無(wú)論從直觀還是從精度對(duì)比, 模糊神經(jīng)網(wǎng)絡(luò)優(yōu)于其他方法, 證明了模型的優(yōu)越性。
筆者考慮了在鉆井鉆進(jìn)過程中參數(shù)之間存在耦合性聯(lián)系的問題, 建立了模糊神經(jīng)網(wǎng)絡(luò)模型。優(yōu)選了鉆壓、 轉(zhuǎn)速等6個(gè)參數(shù), 通過匹配每個(gè)規(guī)則總前提的可信度, 進(jìn)行取小運(yùn)算得到每條規(guī)則的總輸出。研究結(jié)果表明:
1) 模糊神經(jīng)網(wǎng)絡(luò)利用模糊控制的思想處理高耦合問題具有良好的可解釋性, 對(duì)比不同模型實(shí)驗(yàn)的結(jié)果可以看到其優(yōu)勢(shì);
2) 在模糊神經(jīng)網(wǎng)絡(luò)的模糊層處理過程中, 利用k-means初始化隸屬度的中心值, 對(duì)模糊神經(jīng)網(wǎng)絡(luò)模型進(jìn)行優(yōu)化, 方便模型訓(xùn)練;
3) 從仿真結(jié)果看, 本方法對(duì)該地區(qū)施工過程中鉆速有較好的預(yù)測(cè)效果, 模型可以為鉆井自動(dòng)化方面提供技術(shù)參考。