張萬(wàn)棟, 郭威龍, 李炎軍, 李盛陽(yáng)2,3,, 彭 巍
1(中海石油(中國(guó))有限公司 湛江分公司, 湛江 524057)
2(中國(guó)科學(xué)院 空間應(yīng)用工程與技術(shù)中心, 北京 100094)
3(中國(guó)科學(xué)院 太空應(yīng)用重點(diǎn)實(shí)驗(yàn)室, 北京 100094)
4(中國(guó)科學(xué)院大學(xué), 北京 100049)
海上石油鉆井是一個(gè)涉及多領(lǐng)域的復(fù)雜系統(tǒng)工程,受地質(zhì)環(huán)境等多種不可控因素的影響, 鉆井過程中往往伴隨著事故的發(fā)生, 如卡鉆、井涌、井漏等, 嚴(yán)重影響了鉆井作業(yè)的效率, 并且容易造成巨大的經(jīng)濟(jì)損失[1,2].其中卡鉆是在鉆井過程中最常見的事故之一, 卡鉆是指在鉆井進(jìn)程中, 由于鉆柱在起下鉆的過程中失去自由活動(dòng), 即鉆井管柱不能上下活動(dòng)也不能轉(zhuǎn)動(dòng), 在井眼的某一井段遇到阻礙的鉆井事故[3]. 相關(guān)鉆井資料數(shù)據(jù)統(tǒng)計(jì)顯示, 卡鉆及卡鉆事故的處理占整個(gè)鉆井作業(yè)的40%-50%[4], 研究卡鉆事故的預(yù)測(cè)方法對(duì)保障實(shí)際鉆井作業(yè)的安全進(jìn)行、降低施工成本具有十分重要的意義.
目前常用的卡鉆事故預(yù)測(cè)方法大致可分為兩類:(1)基于分類的方法; (2)基于時(shí)間序列信息的異常檢測(cè)方法. 兩類方法各有其優(yōu)缺點(diǎn).
基于分類的卡鉆事故預(yù)測(cè)方法通過對(duì)當(dāng)前單個(gè)時(shí)間點(diǎn)各個(gè)鉆井平臺(tái)監(jiān)測(cè)因子的值進(jìn)行正常/將發(fā)生事故的分類來預(yù)測(cè)卡鉆事故, 如圖1(a)所示. 劉建明等[4]通過主成分分析法(PCA)對(duì)井下測(cè)量工程參數(shù)進(jìn)行降維處理, 利用隨機(jī)森林(RF)模型對(duì)降維后的數(shù)據(jù)進(jìn)行訓(xùn)練和測(cè)試, 判斷是否發(fā)生卡鉆事故. 蘇曉眉等[5]利用PCA算法對(duì)冀東油田某井卡鉆前的井下鉆頭實(shí)測(cè)工程參數(shù)進(jìn)行降維處理, 再利用K-means聚類模型對(duì)降維后的數(shù)據(jù)進(jìn)行訓(xùn)練測(cè)試, 該方法通過數(shù)據(jù)中心之間的距離判定卡鉆事故是否發(fā)生. 劉光星等[6]分別利用單個(gè)/多個(gè)ARMA模型[7]對(duì)各個(gè)參數(shù)的監(jiān)測(cè)數(shù)據(jù)進(jìn)行分析, 預(yù)測(cè)卡鉆事故的發(fā)生. BP神經(jīng)網(wǎng)絡(luò)[8]以及改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)[2]在卡鉆事故預(yù)測(cè)中也被證明具有良好的效果.
圖1 基于單時(shí)間點(diǎn)和提出的多因子長(zhǎng)時(shí)序信息聯(lián)合建模方法的對(duì)比示意圖
基于時(shí)間序列信息的異常檢測(cè)方法的核心思想是對(duì)鉆井平臺(tái)各監(jiān)測(cè)因子時(shí)序數(shù)據(jù)的異常變化進(jìn)行捕捉并預(yù)警, 此類方法認(rèn)為鉆井事故發(fā)生前數(shù)據(jù)的異常變化可作為事故發(fā)生的征兆. Ben等[9]利用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行實(shí)時(shí)在線鉆井狀態(tài)的分類, 并使用一個(gè)離線的語(yǔ)義分割網(wǎng)絡(luò)U-Net監(jiān)測(cè)在線模型的表現(xiàn), 當(dāng)出現(xiàn)錯(cuò)分時(shí), 對(duì)在線網(wǎng)絡(luò)進(jìn)行更新和訓(xùn)練, 最后使用專家經(jīng)驗(yàn)在后處理過程對(duì)結(jié)果進(jìn)行微調(diào), 提出的方法在40口井,3 000萬(wàn)條數(shù)據(jù)中, 取得了99%的分類精度. Zha等[10]僅利用井表面數(shù)據(jù)借助深度學(xué)習(xí)技術(shù)進(jìn)行井下異常的判定與預(yù)測(cè). Kaneko等[11]利用RNN構(gòu)建網(wǎng)絡(luò)用于捕捉時(shí)序上的數(shù)據(jù)關(guān)系, 在線性、非線性模擬仿真的數(shù)據(jù)中均表現(xiàn)較好, 其中與線性模擬數(shù)據(jù)上的測(cè)試結(jié)果相比, 非線性模擬數(shù)據(jù)上的測(cè)試結(jié)果稍差. 此外, 基于時(shí)間序列建模的異常檢測(cè)方法在其他鉆井事故如井噴、井漏等也有廣泛的應(yīng)用. Xie等[12]第一次結(jié)合大數(shù)據(jù)分析對(duì)井噴事故進(jìn)行早期監(jiān)測(cè), 所研制的監(jiān)測(cè)系統(tǒng)能夠捕獲和表示不同指標(biāo)之間復(fù)雜的關(guān)系, 對(duì)捕捉到的異常進(jìn)行預(yù)警, 現(xiàn)場(chǎng)工程師對(duì)這些消息做進(jìn)一步的確認(rèn), 有效避免了事故的發(fā)生. Asarogiagbon等[13]設(shè)計(jì)了一個(gè)人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)孔隙壓力(pore pressure prediction)以提前預(yù)警鉆井事故的發(fā)生.
上述方法在卡鉆事故預(yù)測(cè)中開展實(shí)驗(yàn)并取得了一定的效果, 但該類方法仍然存在兩方面的局限性:(1)基于分類的方法大多數(shù)依賴于當(dāng)前單個(gè)時(shí)間點(diǎn)鉆井平臺(tái)各個(gè)監(jiān)測(cè)因子的值, 忽略了對(duì)監(jiān)測(cè)參數(shù)長(zhǎng)時(shí)序信息的利用, 鉆井事故的發(fā)生不僅依賴于單個(gè)時(shí)間點(diǎn)上各監(jiān)測(cè)參數(shù)的異常, 還依賴于一段時(shí)間內(nèi)多個(gè)參數(shù)的變化趨勢(shì), 比如根據(jù)扭矩增加、轉(zhuǎn)速降低可以有效預(yù)測(cè)卡鉆事故的發(fā)生; (2)基于時(shí)間序列建模的異常檢測(cè)方法將數(shù)據(jù)的異常變化視為鉆井事故將要發(fā)生的征兆, 但由于地質(zhì)等外在因素的不確定性, 數(shù)據(jù)的異常變化存在于整個(gè)鉆井作業(yè), 要從其中選擇高置信度的異常, 需要專家人為進(jìn)行篩選, 人工成本較高.
鑒于現(xiàn)有方法的缺點(diǎn)和不足, 本文擬設(shè)計(jì)一種綜合考慮多因子長(zhǎng)時(shí)序信息并且具有較高置信度預(yù)警的方法.
以卷積網(wǎng)絡(luò)為代表的深度學(xué)習(xí)方法具有強(qiáng)大的空間信息建模能力, 在狀態(tài)預(yù)測(cè)、故障診斷等領(lǐng)域中已取得了良好的效果[14-16]. 如呂召陽(yáng)等[17]為克服流體力學(xué)領(lǐng)域中傳統(tǒng)數(shù)學(xué)擬合方法不能很好地呈現(xiàn)系統(tǒng)非線性的問題, 基于卷積神經(jīng)網(wǎng)絡(luò), 考慮機(jī)翼變攻角和浮沉建立了一種多變量多輸出的模型, 實(shí)現(xiàn)了機(jī)翼氣動(dòng)系數(shù)的快速預(yù)測(cè), 穩(wěn)定性實(shí)驗(yàn)結(jié)果表明其建立的模型穩(wěn)定性較好. 趙小強(qiáng)等[18]針對(duì)滾動(dòng)軸承在強(qiáng)噪聲環(huán)境和變工況下故障診斷效果不佳、泛化能力差的問題, 提出一種基于改進(jìn)CNN的滾動(dòng)軸承變工況故障診斷方法, 在凱斯西儲(chǔ)大學(xué)軸承數(shù)據(jù)集上的變?cè)肼晫?shí)驗(yàn)表明其具有較好的抗噪性和更好的泛化能力. 韋延方等[19]針對(duì)直流電網(wǎng)故障檢測(cè)正確率低、魯棒性弱的問題,提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)與深度卷積對(duì)抗生成網(wǎng)絡(luò)(DCGAN)的柔性直流配電網(wǎng)故障檢測(cè)方法,試驗(yàn)結(jié)果表明其在不同工況下具有較高的監(jiān)測(cè)精度.
基于上述觀察與思考, 本文提出了一種多因子長(zhǎng)時(shí)序信息聯(lián)合建模的深度卷積卡鉆預(yù)測(cè)方法(CNNMFT), 本文的主要貢獻(xiàn)如下: (1)利用卷積的平面空間信息建模能力, 同時(shí)對(duì)多個(gè)鉆井監(jiān)測(cè)因子及其時(shí)序信息進(jìn)行聯(lián)合建模; (2)為了適應(yīng)性地捕捉復(fù)雜環(huán)境下不同因子對(duì)卡鉆事故預(yù)測(cè)起到的關(guān)鍵作用, 提出的方法使用自注意力機(jī)制對(duì)長(zhǎng)時(shí)序信息進(jìn)行建模; (3)學(xué)習(xí)卡鉆事故發(fā)生前的征兆信息, 能夠進(jìn)行高置信度的預(yù)警,有效降低了對(duì)專家人工篩選預(yù)警點(diǎn)提高預(yù)警置信度后處理手段的依賴; (4)在2021年4-5月某海上鉆井平臺(tái)20萬(wàn)組實(shí)際監(jiān)測(cè)數(shù)據(jù)上的測(cè)試表明了本文提出方法的有效性, 提出的方法取得了93%以上的卡鉆事故預(yù)測(cè)精度.
深度卷積網(wǎng)絡(luò)具有關(guān)聯(lián)多維空間數(shù)據(jù)的特性, 自注意力機(jī)制能夠建模長(zhǎng)序列的信息, 將二者結(jié)合起來應(yīng)用于卡鉆事故預(yù)測(cè)能夠?qū)⒍鄠€(gè)鉆井平臺(tái)監(jiān)測(cè)因子的長(zhǎng)時(shí)序信息進(jìn)行聯(lián)合建模, 進(jìn)行準(zhǔn)確的卡鉆事故預(yù)測(cè).
CNN-MFT模型的整體結(jié)構(gòu)如圖2所示, 主要包括: (1)訓(xùn)練樣本構(gòu)建; (2)自注意力模塊; (3)卷積網(wǎng)絡(luò)構(gòu)建; (4)分類器構(gòu)建; (5)損失函數(shù)構(gòu)造.
圖2 CNN-MFT網(wǎng)絡(luò)結(jié)構(gòu)示意圖
用tar(b)和tar(e)表示卡鉆事故φ發(fā)生的開始時(shí)間點(diǎn)和結(jié)束時(shí)間點(diǎn), 該區(qū)間內(nèi)的數(shù)據(jù)特征為網(wǎng)絡(luò)學(xué)習(xí)的目標(biāo)特征, A={a1, a2, …, an}表示鉆井平臺(tái)作業(yè)中監(jiān)測(cè)的n個(gè)因子, 對(duì)于當(dāng)前時(shí)間點(diǎn)Tk, 提出的方法對(duì)多個(gè)因子的長(zhǎng)時(shí)序信息進(jìn)行聯(lián)合建模, 時(shí)序長(zhǎng)度為l的輸入樣本可用矩陣Hk表示:
則該樣本對(duì)應(yīng)標(biāo)注向量為:
本文提出的CNN-MFT模型的主要目的是利用多因子的長(zhǎng)時(shí)序歷史信息提高模型對(duì)當(dāng)前時(shí)刻預(yù)測(cè)的準(zhǔn)確性, 因此在本文中:
即選用數(shù)據(jù)集對(duì)當(dāng)前時(shí)刻Tk的標(biāo)注作為訓(xùn)練樣本Hk的標(biāo)注信息.
自注意力機(jī)制目前在計(jì)算機(jī)視覺領(lǐng)域、自然語(yǔ)言處理領(lǐng)域內(nèi)被廣泛應(yīng)用, 其最大的優(yōu)點(diǎn)是可以對(duì)長(zhǎng)序列信息進(jìn)行建模, 并且比RNN、LSTM能記憶更長(zhǎng)序列的信息, 且較容易訓(xùn)練.
CNN-MFT中使用的自注意力結(jié)構(gòu)為單層的自注意力, 其主要目的是對(duì)鉆井平臺(tái)每個(gè)監(jiān)測(cè)因子的長(zhǎng)時(shí)序信息進(jìn)行建模. 對(duì)每個(gè)訓(xùn)練樣本Hk, 第i個(gè)因子的時(shí)序信息Xi為:
使用3個(gè)可學(xué)習(xí)的權(quán)重矩陣獲取查詢向量Q, 鍵向量K和值向量V:
其中, Wq, Wk, Wv是權(quán)重矩陣, 然后利用查詢向量Q和鍵向量K進(jìn)行注意力矩陣A的計(jì)算:
其中, KT是鍵向量K的轉(zhuǎn)置, 獲得注意力矩陣之后與值向量V結(jié)合可以獲得加入注意力之后的新特征.
利用自注意力機(jī)制對(duì)鉆井監(jiān)測(cè)因子數(shù)據(jù)的時(shí)序信息建模有兩個(gè)優(yōu)點(diǎn): 一方面其可以對(duì)長(zhǎng)時(shí)序的信息進(jìn)行建模, 同時(shí)考慮全時(shí)序的信息, 能夠獲得較為全局的視野; 另一方面是其在考慮時(shí)序信息的同時(shí)也能夠關(guān)注每個(gè)時(shí)間點(diǎn)的值的信息.
本文提出的CNN-MFT方法中, 構(gòu)建卷積網(wǎng)絡(luò)的主要目的是利用卷積可以對(duì)二維空間信息進(jìn)行建模的特性對(duì)多個(gè)鉆井因子的時(shí)序信息進(jìn)行聯(lián)合建模, 其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示. 對(duì)輸入的任意特征矩陣O, 網(wǎng)絡(luò)的學(xué)習(xí)目標(biāo)可以表示為:
其中, Ψ為網(wǎng)絡(luò)學(xué)習(xí)的目標(biāo)函數(shù), P為網(wǎng)絡(luò)的預(yù)測(cè)輸出,包括預(yù)警的置信度confidence, 預(yù)警的事故類型type以及預(yù)警的時(shí)間點(diǎn)Tp.
網(wǎng)絡(luò)主要由多個(gè)卷積層、池化層及激活函數(shù)ReLU組成. 卷積層的輸入輸出都是一個(gè)多維的矩陣, 其根據(jù)輸入的多維空間的特征矩陣中局部的數(shù)據(jù)來決定輸出空間中對(duì)應(yīng)位置的值, 該特性賦予了卷積同時(shí)對(duì)多維空間數(shù)據(jù)進(jìn)行聯(lián)合建模的能力, 其可變的參數(shù)為卷積核大小、步長(zhǎng)、是否padding等, 在此用?i表示第i層的卷積, 則其輸入輸出可表示為:
其中, Oi, Oi-1為該層卷積的輸入和輸出矩陣.
對(duì)于m層的卷積網(wǎng)絡(luò)的輸入和輸出可表示為:
其中, O為多層卷積網(wǎng)絡(luò)的輸入矩陣, 即注意力模塊的輸出, Om為經(jīng)多層卷積提取后輸出的特征矩陣, 其中包含了網(wǎng)絡(luò)學(xué)習(xí)到的與事故強(qiáng)相關(guān)的異常數(shù)據(jù)的特征信息, 利用此信息可對(duì)事故是否將要發(fā)生進(jìn)行有效的預(yù)測(cè).
為了增加特征的學(xué)習(xí)速度, 保持輸入輸出空間數(shù)據(jù)分布的一致性, 在每層卷積之后會(huì)增加一個(gè)單獨(dú)的激活函數(shù)層ReLU及batch normalization (BN)層, 此時(shí)?i層卷積的輸入和輸出可表示為:
對(duì)應(yīng)m層卷積網(wǎng)絡(luò)的輸入輸出可表示為:
分類器根據(jù)卷積網(wǎng)絡(luò)輸出的特征進(jìn)行分類, 它由多層的全連接層構(gòu)成, 是一個(gè)神經(jīng)網(wǎng)絡(luò)分類器, 其根據(jù)卷積層網(wǎng)絡(luò)的輸出特征Om′ 對(duì)可能發(fā)生的鉆井事故進(jìn)行預(yù)測(cè), 包括卡鉆事故發(fā)生的置信度及是否會(huì)發(fā)生卡鉆事故.卷積層網(wǎng)絡(luò)輸出的特征的形狀為C×H×W, 其中, C為特征矩陣的通道數(shù), H和W分別為特征矩陣的高和寬, 由于全連接層的輸入是一維的向量, 在此網(wǎng)絡(luò)中對(duì)卷積層輸出的特征Om′ 進(jìn)行如下操作:
其中, Ave_Pool為平均池化, 即對(duì)特征矩陣Om′ 的每個(gè)通道的所有值取平均, 將特征矩陣轉(zhuǎn)換為C×1的一維向量M, 輸入到全連接層中進(jìn)行預(yù)測(cè):
轉(zhuǎn)換之后的特征向量輸入分類器, 輸出預(yù)測(cè)結(jié)果p, 其中confidence和type表示預(yù)測(cè)的概率分布, f表示分類器學(xué)習(xí)到的擬合函數(shù).
CNN-MFT網(wǎng)絡(luò)的損失函數(shù)采用交叉熵函數(shù), 其主要作用是衡量模型的預(yù)測(cè)與真實(shí)標(biāo)注之間的距離或者模型預(yù)測(cè)的概率分布與真實(shí)的概率分布之間的差距,在此采用Pi=(pi0, pi1, …, pik)表示模型對(duì)第i個(gè)樣本預(yù)測(cè)的概率分布, 其中k表示預(yù)測(cè)事故類型數(shù)量, 在本文中k的值為1. Yi=(yi0, yi1, … , yik)表示第i個(gè)樣本真實(shí)的概率分布, 此處的概率分布表示當(dāng)前樣本預(yù)測(cè)為正常、發(fā)生卡鉆的概率. 則網(wǎng)絡(luò)的損失函數(shù)可表示為:
其中, N表示樣本的總數(shù)量, 利用此損失函數(shù)可以衡量在每次訓(xùn)練過程中模型的預(yù)測(cè)與學(xué)習(xí)目標(biāo)之間的差距,根據(jù)此種差距更新網(wǎng)絡(luò)的參數(shù)逼近學(xué)習(xí)目標(biāo), 最終獲得能夠有效預(yù)測(cè)鉆井事故的模型.
CNN-MFT模型不同層網(wǎng)絡(luò)的具體參數(shù)配置如表1所示.卷積層的卷積核大小為3×3, 池化層的卷積核大小為2×2, 即輸入到輸出降采樣兩倍, 兩層全連接層的神經(jīng)元個(gè)數(shù)分別為96和64, 正則化層的主要作用是通過在學(xué)習(xí)時(shí)以一定的概率隨機(jī)丟棄神經(jīng)元使得網(wǎng)絡(luò)在學(xué)習(xí)時(shí)不依賴于某個(gè)或某幾個(gè)神經(jīng)元的權(quán)重信息, 從而避免過擬合, 本文中神經(jīng)元的丟棄率為0.5, 在卷積層和第一層全連接層之后, 連接激活函數(shù)ReLU, 用于學(xué)習(xí)當(dāng)前信息是否向下流通.
表1 不同網(wǎng)絡(luò)層具體參數(shù)配置
本文選用的為某海上鉆井平臺(tái)某區(qū)域近20天的實(shí)際監(jiān)測(cè)數(shù)據(jù), 開始時(shí)間為2021年4月18號(hào)6點(diǎn)47分18秒, 結(jié)束時(shí)間為2021年5月8日17點(diǎn)40分22秒, 包括泥漿池體積、泥漿平均流入流量、返出、泵壓、大勾高度、入口泥漿平均溫度、泥漿池體積變化、大勾懸重、扭矩、轉(zhuǎn)盤轉(zhuǎn)速、返出深度、鉆頭測(cè)量深度、鉆壓等13個(gè)監(jiān)測(cè)因子, 各因子的統(tǒng)計(jì)信息如表2所示, 主要包括最大值、最小值、平均值和標(biāo)準(zhǔn)差. 其中值域范圍最大的為泥漿平均流入流量, 最大值為5 024.07, 最小值為0; 值域范圍最小的為鉆壓, 最大值為15.1, 最小值為0; 平均值最大的3個(gè)因子為返出深度、鉆頭測(cè)量深度和泥漿池體積變化, 標(biāo)準(zhǔn)差最大的3個(gè)因子為鉆頭測(cè)量深度、返出深度和泥漿平均流入流量, 其主要原因可能由于卡鉆事故在某一段深度內(nèi)頻繁發(fā)生, 現(xiàn)場(chǎng)施工進(jìn)行頻繁起下鉆, 造成該因子數(shù)據(jù)波動(dòng)較大. 部分監(jiān)測(cè)因子的時(shí)序變化如圖3所示, 數(shù)據(jù)整體呈現(xiàn)出高動(dòng)態(tài)、非周期性等特點(diǎn).
圖3 數(shù)據(jù)集部分因子時(shí)序數(shù)據(jù)可視化
表2 鉆井監(jiān)測(cè)數(shù)據(jù)各因子統(tǒng)計(jì)信息
數(shù)據(jù)集任意時(shí)刻Tk對(duì)應(yīng)一個(gè)標(biāo)注, 其根據(jù)該鉆井平臺(tái)實(shí)際工作日志對(duì)卡鉆事故的記錄生成, 分別為正常數(shù)據(jù)(用0表示, 為負(fù)樣本), 和將要發(fā)生卡鉆事故的數(shù)據(jù)(用1表示, 為正樣本), 其中日志記錄包含每次事故發(fā)生的開始時(shí)間和結(jié)束時(shí)間, 圖4、圖5分別展示了日志記錄的某次卡鉆事故(2021年4月21日4點(diǎn)0分0秒)前扭矩和鉆壓的數(shù)據(jù)變化, 從圖中可以看出,事故發(fā)生前扭矩和鉆壓整體逐漸升高, 其中扭矩最高為14左右, 鉆壓最高為6左右.
圖4 卡鉆事故發(fā)生前扭矩?cái)?shù)據(jù)的變化
圖5 卡鉆事故發(fā)生前鉆壓數(shù)據(jù)的變化
數(shù)據(jù)集共包含208 504組數(shù)據(jù), 每組數(shù)據(jù)包含13個(gè)特征, 整體正負(fù)樣本分布呈不均衡狀態(tài), 其中正樣本為19 300, 負(fù)樣本為18 920, 在整個(gè)數(shù)據(jù)區(qū)間多數(shù)為正常數(shù)據(jù), 少數(shù)為將要發(fā)生卡鉆事故的數(shù)據(jù).
為充分驗(yàn)證本文提出算法的效果, 本節(jié)實(shí)驗(yàn)在相同條件下分別使用50%和70%的數(shù)據(jù)集訓(xùn)練不同方法, 并對(duì)比其實(shí)驗(yàn)結(jié)果. 本文主要選用了SVM-rbf、SVM-linear、SVM-poly、RF (隨機(jī)森林)、PCA-SVMrbf、PCA-SVM-linear、PCA-SVM-poly、PCA-RF等8種方法作為本節(jié)實(shí)驗(yàn)的對(duì)比方法, 它們是目前鉆井事故預(yù)測(cè)中使用最多的幾種方法.其中PCA為主成分分析方法, 是一種數(shù)據(jù)降維方法, 其在事故預(yù)測(cè)方法中常被用于剔除原始數(shù)據(jù)的冗余信息, 提高算法的學(xué)習(xí)效率, 在本節(jié)實(shí)驗(yàn)中所有使用PCA的對(duì)比方法中均取降維后的第一個(gè)主成分用于預(yù)測(cè)卡鉆事故. -rbf、-linear、-poly分別代表SVM中使用的高斯核, 線性核和多項(xiàng)式核.
模型訓(xùn)練的初始學(xué)習(xí)率為0.000 5, 每次訓(xùn)練加載的樣本數(shù)量為1 024, 訓(xùn)練的迭代次數(shù)為500, 網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果經(jīng)過Softmax函數(shù)之后輸出的預(yù)測(cè)向量中, 取概率最高的位置對(duì)應(yīng)的類別作為預(yù)測(cè)類型(正常/卡鉆). PCA、SVM-rbf、SVM-linear、SVM-poly、RF方法基于Python擴(kuò)展包Sklearn實(shí)現(xiàn), CNN-MFT基于PyTorch框架實(shí)現(xiàn), 方法的訓(xùn)練和測(cè)試在1塊Tesla V100上進(jìn)行, 顯存為32 GB, CPU的型號(hào)為Intel?Xeon? Gold 5 118 CPU@2.3 GHz, 內(nèi)存總量為187 GB.
本文以通用的準(zhǔn)確率(ACC)和ROC曲線[3]作為卡鉆事故預(yù)測(cè)效果的評(píng)價(jià)指標(biāo), 準(zhǔn)確率指的是所有測(cè)試樣本中被正確分類樣本的比例; ROC曲線的橫軸為假陽(yáng)率(FPR), 含義為錯(cuò)誤分類的正樣本數(shù)量與總負(fù)樣本數(shù)量的比值, 縱軸為真陽(yáng)率(TPR), 含義為正確分類的正樣本數(shù)量與總正樣本數(shù)量的比值, ROC曲線與坐標(biāo)軸圍成的面積(AUC)能夠反映模型在不同閾值下的卡鉆事故預(yù)測(cè)性能, 此外本文還使用不同方法在訓(xùn)練數(shù)據(jù)集上訓(xùn)練一次耗費(fèi)的時(shí)間來評(píng)價(jià)不同方法的時(shí)間成本.
3.4.1 50%數(shù)據(jù)訓(xùn)練實(shí)驗(yàn)結(jié)果分析
不同方法使用50%的數(shù)據(jù)集數(shù)據(jù)訓(xùn)練, 在剩余50%數(shù)據(jù)上測(cè)試結(jié)果的準(zhǔn)確率(ACC)、ROC曲線及AUC分別如表3, 圖6所示.
表3 50%數(shù)據(jù)訓(xùn)練不同方法卡鉆事故預(yù)測(cè)結(jié)果對(duì)比
圖6 50%數(shù)據(jù)訓(xùn)練不同方法的ROC曲線
根據(jù)準(zhǔn)確率評(píng)價(jià)指標(biāo), 本文提出的方法CNNMFT取得了最高的準(zhǔn)確率為0.934 0, 分別比SVMrbf、SVM-linear、SVM-poly、RF、PCA-SVM-rbf、PCA-SVM-linear、PCA-SVM-poly、PCA-RF方法的準(zhǔn)確率高出了77.72%、8.39%、19.64%、2.61%、2.50%、70.96%、20.29%、2.20%, 說明了本文提出的方法的有效性, 能夠很好地預(yù)測(cè)卡鉆事故的發(fā)生. 此外在SVM系列方法中采用線性核和多項(xiàng)式核要比采用高斯核的效果好, 這說明了在實(shí)際鉆井作業(yè)中, 監(jiān)測(cè)數(shù)據(jù)的分布并非是類似高斯分布等相對(duì)較均勻的分布,也說明了鉆井事故預(yù)測(cè)的復(fù)雜性. 對(duì)比不同方法使用PCA主成分分析方法降維數(shù)據(jù)前后準(zhǔn)確率的變化可知, SVM-rbf方法在使用了PCA降維方法前后準(zhǔn)確率變化最明顯, 準(zhǔn)確率由0.156 8增加到了0.909 0, 這說明了PCA方法對(duì)數(shù)據(jù)降維能夠有效剔除數(shù)據(jù)中的冗余信息和干擾信息, 證明了PCA方法對(duì)鉆井事故預(yù)測(cè)的有效性. 而SVM-linear和SVM-poly方法在使用PCA方法后, 準(zhǔn)確率有所下降, 這主要是由于線性核和多項(xiàng)式核擬合的是相對(duì)較為復(fù)雜的函數(shù), 將數(shù)據(jù)維度降為1會(huì)對(duì)此類方法的性能有所損害.
根據(jù)AUC評(píng)價(jià)指標(biāo), 在所有方法中隨機(jī)森林RF方法取得了最高的AUC為0.592 0, 不同方法之間的AUC差別較小, 其中AUC指標(biāo)最低的是SVMrbf方法為0.423 2. 本文提出的CNN-MFT方法的AUC指標(biāo)為0.576 8, 次于隨機(jī)森林RF方法和PCASVM-linear方法.在使用PCA降維之后, SVM-rbf方法和SVM-linear方法的AUC指標(biāo)增高, 分別由0.423 2增加至0.478 7, 由0.474 9增加至0.591 9; 然后SVM-poly方法和隨機(jī)森林RF方法在使用PCA降維之后, AUC指標(biāo)均降低, 分別由0.538 1降低至0.449 8, 由0.592 0降低至0.5626. 此外, 由圖6所示的ROC曲線可以看出,多數(shù)方法的曲線在不同節(jié)點(diǎn)的波動(dòng)性較大, 說明其在某些情況下效果較好, 某些數(shù)據(jù)情況下效果較差, 而本文提出的CNN-MFT方法的ROC曲線整體呈現(xiàn)較為穩(wěn)定的趨勢(shì), 說明其在不同數(shù)據(jù)情況下算法的穩(wěn)定性好.
不同方法使用50%的訓(xùn)練集訓(xùn)練一次耗費(fèi)的時(shí)間如表3所示, 不同方法訓(xùn)練一次方法耗費(fèi)的時(shí)間較短, 其中隨機(jī)森林RF方法訓(xùn)練一次的時(shí)間最短為0.03 s,本文提出的CNN-MFT方法在數(shù)據(jù)集上訓(xùn)練一次耗費(fèi)的時(shí)間最長(zhǎng)為3.8 s, 按照訓(xùn)練一次耗費(fèi)時(shí)間長(zhǎng)短由小到大排序?yàn)镽F、PCA-RF、PCA-SVM-linear、PCASVM-poly、SVM-linear、PCA-SVM-rbf、SVM-poly、SVM-rbf、CNN-MFT. 本文提出的CNN-MFT方法訓(xùn)練時(shí)間較長(zhǎng)的主要原因是每次預(yù)警時(shí)即要輸入當(dāng)前時(shí)刻數(shù)據(jù)又要輸入其歷史時(shí)序的數(shù)據(jù), 輸入的數(shù)據(jù)量相對(duì)其他方法要大的多. 此外使用PCA方法降維后不同方法的訓(xùn)練時(shí)長(zhǎng)均減少, 主要是由于降維后整體用于訓(xùn)練的數(shù)據(jù)量大幅減少, 數(shù)據(jù)維度由13降為1.
3.4.2 70%數(shù)據(jù)訓(xùn)練實(shí)驗(yàn)結(jié)果分析
不同方法使用70%的數(shù)據(jù)集數(shù)據(jù)訓(xùn)練, 在剩余30%數(shù)據(jù)上測(cè)試結(jié)果的準(zhǔn)確率(ACC)、ROC曲線及AUC分別如表4, 圖7所示.
圖7 70%數(shù)據(jù)訓(xùn)練不同方法的ROC曲線
表4 70%數(shù)據(jù)訓(xùn)練不同方法卡鉆事故預(yù)測(cè)結(jié)果對(duì)比
根據(jù)ACC評(píng)價(jià)指標(biāo), 本文提出的方法CNN-MFT模型的準(zhǔn)確率最高為0.932 0, 分別比SVM-rbf、SVMlinear、SVM-poly、RF、PCA-SVM-rbf、PCA-SVMlinear、PCA-SVM-poly、PCA-RF的準(zhǔn)確率高出了77.44%、23.08%、14.51%、2.28%、2.26%、19.3%、23.29%、2.09%, 說明了本文提出的方法的有效性, 能夠很好地預(yù)測(cè)卡鉆事故的發(fā)生. 對(duì)比不同方法使用PCA主成分分析方法降維數(shù)據(jù)前后準(zhǔn)確率的變化可知, 多數(shù)方法在使用PCA降維后, 準(zhǔn)確率提高, 其中SVM-rbf方法的準(zhǔn)確率增加最明顯, 由0.157 6增加到了0.909 4, 而SVM-poly方法的準(zhǔn)確率在使用PCA降維之后降低, 由0.786 9降低為0.699 1.
根據(jù)AUC評(píng)價(jià)指標(biāo), 在所有方法中PCA-SVMlinear和PCA-SVM-poly方法的該指標(biāo)值最高均為0.593 1, SVM-linear最低為0.406 3, 本文提出的CNNMFT方法的AUC指標(biāo)為0.552 8, 次于PCA-SVMlinear、PCA-SVM-poly、PCA-RF. 但根據(jù)圖7不同方法的ROC曲線可以看出, CNN-MFT方法的曲線整體呈較為穩(wěn)定的上升趨勢(shì), 這說明在不同情況下該算法的穩(wěn)定較好.
不同方法使用70%數(shù)據(jù)集數(shù)據(jù)訓(xùn)練一次耗費(fèi)的時(shí)間如表4所示, 其中, 隨機(jī)森林RF算法耗費(fèi)的時(shí)間最短, 為0.044 s, CNN-MFT方法耗費(fèi)的時(shí)間最長(zhǎng), 為5.038 s. SVM-rbf、SVM-linear、SVM-poly方法在使用PCA方法降維后, 整體訓(xùn)練一次耗費(fèi)的時(shí)間降低,而隨機(jī)森林RF方法, 在使用PCA方法降維后時(shí)間變長(zhǎng), 主要是由于PCA對(duì)數(shù)據(jù)降維時(shí)耗費(fèi)的時(shí)間較長(zhǎng).
3.4.3 50%和70%數(shù)據(jù)訓(xùn)練不同方法結(jié)果對(duì)比
根據(jù)ACC評(píng)價(jià)指標(biāo), 對(duì)比不同方法使用50%和70%數(shù)據(jù)訓(xùn)練的測(cè)試結(jié)果, 多數(shù)方法卡鉆事故預(yù)測(cè)的準(zhǔn)確率下降, 包含SVM-linear、SVM-poly、PCA-SVMpoly、PCA-RF、CNN-MFT, 這說明當(dāng)不改變模型的參數(shù)配置, 僅增加訓(xùn)練數(shù)據(jù)的規(guī)模時(shí), 學(xué)習(xí)正常數(shù)據(jù)和卡鉆事故發(fā)生前的異常數(shù)據(jù)之間邊界變得困難.
根據(jù)AUC評(píng)價(jià)指標(biāo), 大部分方法的指標(biāo)值降低, 包括SVM-rbf、SVM-linear、SVM-poly、RF、PCA-SVMrb、PCA-RF、CNN-MFT, 但整體AUC指標(biāo)的變化不大.
與使用50%數(shù)據(jù)集數(shù)據(jù)訓(xùn)練不同方法, 在使用70%數(shù)據(jù)集數(shù)據(jù)訓(xùn)練耗費(fèi)的時(shí)間更長(zhǎng), 主要是由于整體訓(xùn)練的數(shù)據(jù)增多, 造成訓(xùn)練時(shí)間增長(zhǎng).
3.4.4 消融實(shí)驗(yàn)
為了充分理解本文提出的方法中自注意力模塊和CNN模塊對(duì)卡鉆事故預(yù)測(cè)的作用, 在使用50%數(shù)據(jù)訓(xùn)練的情況下進(jìn)行了消融實(shí)驗(yàn), 實(shí)驗(yàn)結(jié)果如表5所示.在僅使用CNN模塊時(shí), 提出的CNN-MFT網(wǎng)絡(luò)的分類準(zhǔn)確率為0.902 8, AUC指標(biāo)為0.533 6, 結(jié)合表3結(jié)果可知, 其卡鉆事故預(yù)測(cè)性能仍高于大部分對(duì)比方法, 說明了CNN模塊對(duì)卡鉆事故的準(zhǔn)確預(yù)測(cè)有著重要的作用;當(dāng)自注意力模塊和CNN模塊同時(shí)使用時(shí), CNN-MFT網(wǎng)絡(luò)的分類準(zhǔn)確率為0.934 0, AUC指標(biāo)為0.576 8, 相較于僅使用CNN模塊的預(yù)測(cè)結(jié)果, 分類準(zhǔn)確率提升了0.031 2, AUC指標(biāo)提升了0.043 2, 分析其原因主要在于自注意力模塊不可替代的長(zhǎng)時(shí)序信息建模能力,雖然多層的CNN也可以對(duì)長(zhǎng)時(shí)序的信息進(jìn)行建模, 但是在層與層之間存在一定的信息損失, 使用自注意力模塊能更好地提升網(wǎng)絡(luò)對(duì)于不同因子長(zhǎng)時(shí)序信息的利用, 有效提升網(wǎng)絡(luò)的卡鉆事故預(yù)測(cè)效果.
表5 使用50%數(shù)據(jù)訓(xùn)練消融實(shí)驗(yàn)結(jié)果對(duì)比
為了解決海上石油卡鉆事故預(yù)測(cè)精度低、穩(wěn)定性差、現(xiàn)有卡鉆事故預(yù)測(cè)方法多依賴于單時(shí)間點(diǎn)不同監(jiān)測(cè)因子的值進(jìn)行預(yù)測(cè), 未充分利用鉆井監(jiān)測(cè)數(shù)據(jù)長(zhǎng)時(shí)序信息的問題, 本文提出一種多因子長(zhǎng)時(shí)序信息聯(lián)合建模的深度卷積卡鉆預(yù)測(cè)方法(CNN-MFT), 通過充分利用鉆井監(jiān)測(cè)數(shù)據(jù)的長(zhǎng)時(shí)序信息, 克服現(xiàn)有的依賴于單個(gè)時(shí)間點(diǎn)各因子值進(jìn)行事故預(yù)測(cè)方法中事故特征缺失問題; 以多層卷積網(wǎng)絡(luò)提取錄井監(jiān)測(cè)數(shù)據(jù)的多維空間信息, 結(jié)合自注意力模塊進(jìn)行多因子長(zhǎng)時(shí)間序列的聯(lián)合建模, 實(shí)現(xiàn)卡鉆事故的高置信度預(yù)測(cè), 并得出如下結(jié)論:
(1) CNN-MFT模型在使用50%和70%數(shù)據(jù)訓(xùn)練的情況下均取得了最高的預(yù)測(cè)準(zhǔn)確率, 分別為0.934 0和0.932 0, 能有效地預(yù)測(cè)卡鉆事故的發(fā)生;
(2) CNN-MFT方法在不使用降維方法的情況下獲得了最高的準(zhǔn)確率, 說明了其在復(fù)雜的鉆井平臺(tái)監(jiān)測(cè)數(shù)據(jù)中具有良好的多因子長(zhǎng)時(shí)序信息建模能力及學(xué)習(xí)能力, 證明了該方法的有效性;
(3) 綜合實(shí)驗(yàn)結(jié)果, 本文提出的CNN-MFT方法在預(yù)測(cè)準(zhǔn)確率上優(yōu)于目前常用的SVM-rbf、SVM-linear、SVM-poly、RF、PCA-SVM-rbf、PCA-SVM-linear、PCASVM-poly、PCA-RF卡鉆預(yù)測(cè)方法, 且方法的穩(wěn)定性較強(qiáng), 能夠?yàn)閷?shí)際鉆井平臺(tái)的卡鉆事故預(yù)測(cè)提供技術(shù)支撐.
本文的研究尚存在一定的局限性, 雖然本文提出的方法具有較高的準(zhǔn)確率, 但是其ROC曲線圍成的面積AUC仍有一定的提升空間, 此外由于真實(shí)鉆井平臺(tái)卡鉆事故監(jiān)測(cè)數(shù)據(jù)是一個(gè)正負(fù)樣本不平衡的數(shù)據(jù), 從此角度出發(fā)研究平衡樣本的算法, 進(jìn)一步提升卡鉆事故預(yù)測(cè)模型的性能也是一個(gè)有價(jià)值的研究方向.