王海濤 王建華 邱晨 毛金濤 李輝
關(guān)鍵詞:鉆井工況;智能識別;雙向長短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò);條件隨機(jī)場;深度學(xué)習(xí)
0 引言
當(dāng)前,國內(nèi)鉆井工況識別主要通過基于機(jī)理模型與現(xiàn)場鉆井作業(yè)人員判斷的方式進(jìn)行識別,具有一定主觀性與滯后性。國內(nèi)外主要是運用大數(shù)據(jù)和機(jī)器學(xué)習(xí)[1]對鉆井故障進(jìn)行預(yù)測及預(yù)防或研究相關(guān)理論問題,近年來對鉆井工況識別的研究開始逐漸增多。2019 年,孫挺等[2]基于支持向量機(jī)模型識別倒劃眼、接立柱、下套管、下鉆及旋轉(zhuǎn)鉆5 種工況。2020 年候欣欣等[3]通過數(shù)據(jù)清理、樣本標(biāo)定,采用基于人工神經(jīng)網(wǎng)絡(luò)的技術(shù)識別9 種常見鉆井工況,包括接單根、起鉆、下鉆、正劃眼、倒劃眼、循環(huán)、旋轉(zhuǎn)鉆進(jìn)、滑動鉆進(jìn)和其他。郭長杰等[4]深入分析了國內(nèi)油氣行業(yè)機(jī)器學(xué)習(xí)的應(yīng)用場景,并從大數(shù)據(jù)分析等角度提出了油氣公司應(yīng)用機(jī)器學(xué)習(xí)技術(shù)的建議。Ben 等[5]指出由于頂驅(qū)振動,僅根據(jù)地面轉(zhuǎn)盤轉(zhuǎn)速很難將“旋轉(zhuǎn)鉆進(jìn)”和“滑動鉆進(jìn)”2 種鉆井工況分類,而機(jī)器學(xué)習(xí)模型遠(yuǎn)優(yōu)于基于規(guī)則的計算模型。Oliveira 等[6]通過建立自動鉆井工況識別方法和計算鉆井時效關(guān)鍵績效指標(biāo),發(fā)現(xiàn)鉆井過程中的不可見損失時間。Coley[7]開發(fā)了新設(shè)備,以報告整個鉆井作業(yè)中的非作業(yè)時間,并研發(fā)了基于監(jiān)督機(jī)器學(xué)習(xí)的常見鉆井工況分類引擎。鉆井現(xiàn)場工況類型繁多,鉆井工況的業(yè)務(wù)邏輯復(fù)雜,要想實現(xiàn)更多種類的工況識別,獲取不同工況下的實時數(shù)據(jù)做進(jìn)一步研究,需解決各工況多條件判斷的業(yè)務(wù)邏輯模型,還要解決工況之間的邏輯沖突問題,這是多工況識別技術(shù)的開發(fā)難點所在。因此,采用近年來熱門的人工智能算法[8],基于雙向長短期記憶神經(jīng)網(wǎng)絡(luò)加條件隨機(jī)場建立了鉆井工況實時智能識別模型,精準(zhǔn)進(jìn)行鉆井工況識別[9]。
1 鉆井工況識別模型人工智能算法優(yōu)選
錄井工程會對鉆機(jī)各項參數(shù)進(jìn)行傳輸與記錄,其數(shù)據(jù)的特點是具有實時性、數(shù)據(jù)特征變換規(guī)律性、鉆機(jī)動態(tài)邏輯性,基于以上特性,選取3 種人工智能算法進(jìn)行優(yōu)勢對比,優(yōu)選出鉆井工況智能識別模型的人工智能算法[10]。
決策樹算法工況識別模型[11]是由決策點、策略點及輸出結(jié)果構(gòu)成的模型,以最大收益值或最低期望作為決策準(zhǔn)則,求解在不同條件下各類數(shù)據(jù)的效益值,通過比較輸出識別結(jié)果。但該方法適合對識別結(jié)果進(jìn)行精準(zhǔn)度校正,對復(fù)雜多變的鉆井工況識別正確率不高[12]。
ANN 全連接神經(jīng)網(wǎng)絡(luò)[13],是機(jī)器學(xué)習(xí)和認(rèn)知科學(xué)領(lǐng)域中一種模仿生物神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和功能的數(shù)學(xué)模型,對一組輸入信號和一組輸出信號之間的關(guān)系進(jìn)行模擬。全連接神經(jīng)網(wǎng)絡(luò)可以用來解決回歸任務(wù)、預(yù)測任務(wù)和分類任務(wù),通過設(shè)置深層次的網(wǎng)絡(luò)模型可以取得很好的擬合效果,但不適合處理時序性較強(qiáng)數(shù)據(jù),因此不適合進(jìn)行鉆井工況智能識別。
BiLSTM+CRF[14],其計算是基于細(xì)胞狀態(tài)中信息遺忘和新信息輸入,實現(xiàn)時序性計算信息從前到后與從后到前的雙向信息捕捉,并引入遺忘門、輸入門、輸出門,對雙向時刻的信息遺忘、記憶、輸出進(jìn)行控制,同時添加CRF 層,計算輸出序列的條件概率分布,用以糾正錯誤識別結(jié)果,提高識別精度。雙向長短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)如圖1 所示。
圖1 中x 是某一時刻的輸入特征,對應(yīng)的y 是該時刻的鉆井工況識別結(jié)果。基于上述3 種人工智能算法的優(yōu)勢分析,研究優(yōu)選雙向長短期記憶神經(jīng)網(wǎng)絡(luò)和條件隨機(jī)場作為鉆井工況識別模型的算法,開展后續(xù)研究。
2 樣本數(shù)據(jù)預(yù)處理
2.1 錄井綜合實時數(shù)據(jù)特征參數(shù)
錄井綜合數(shù)據(jù)的參數(shù)種類繁多,可分為鉆井參數(shù)、鉆井液參數(shù)、氣測參數(shù)共3 種類型,具體分類及內(nèi)容見表1。若將錄井綜合數(shù)據(jù)一并納入模型進(jìn)行訓(xùn)練,會導(dǎo)致模型過于復(fù)雜,既增加模型訓(xùn)練難度,又可能影響模型輸出效果。
鉆井液參數(shù)、氣測參數(shù)是反映鉆井液性能與地層氣狀態(tài)特征的參數(shù),與鉆井工況特征相關(guān)性差。而鉆井參數(shù)中井深、鉆頭位置、大鉤高度、大鉤載荷等9 個參數(shù),與鉆井工況特征密切相關(guān)[15]。如復(fù)合鉆進(jìn)時,井深與鉆頭位置相等,且逐漸增加,大鉤高度逐漸降低,鉆壓、轉(zhuǎn)速、扭矩、排量、立管壓力均不為0。這說明不同鉆井工況下,9 個鉆井參數(shù)的特征具有特定規(guī)律,故本次選取錄井綜合數(shù)據(jù)中的井深、鉆頭位置、大鉤高度、大鉤載荷、鉆壓、轉(zhuǎn)速、扭矩、排量、立管壓力9 個鉆井參數(shù)作為特征參數(shù)進(jìn)行模型訓(xùn)練。
2.2 樣本數(shù)據(jù)收集與處理
鉆井工況的人工識別方式,是通過錄井綜合實時數(shù)據(jù)的特征變換規(guī)律及現(xiàn)場求證方式進(jìn)行識別。邀請鉆探企業(yè)錄井專家,結(jié)合工況人工識別邏輯,對錄井綜合實時數(shù)據(jù)進(jìn)行特征標(biāo)注。下面介紹工況的人工識別邏輯。
鉆進(jìn)時,鉆頭切削地層,井深隨之增加,鉆頭位置與井深時刻保持一致[16];轉(zhuǎn)速數(shù)據(jù)特征取決于鉆進(jìn)類型,如滑動鉆進(jìn),轉(zhuǎn)速為0,復(fù)合鉆進(jìn),轉(zhuǎn)速大于0;扭矩數(shù)據(jù)特征與鉆進(jìn)類型同樣相關(guān),如滑動鉆進(jìn),地面扭矩為0,如復(fù)合鉆進(jìn),地面扭矩大于0。鉆進(jìn)類工況具體識別邏輯見表2。
活動鉆具時,鉆頭位置小于井深,鉆壓理論上為0?;顒鱼@具分上提下放鉆具與劃眼[17],上提下放鉆具時鉆柱無旋轉(zhuǎn),轉(zhuǎn)速為0,劃眼時鉆具旋轉(zhuǎn),轉(zhuǎn)速大于0;活動鉆具時,大鉤載荷大于空大鉤載荷;活動鉆具時鉆柱上提下放交替進(jìn)行,大鉤高度變化趨勢不定?;顒鱼@具類工況具體識別邏輯見表3。
鉆具位置暫停時,鉆機(jī)主要為坐卡、靜止工況類型。鉆頭位置小于井深;靜止或坐卡時鉆柱無旋轉(zhuǎn),轉(zhuǎn)速為0;靜止或坐卡時鉆機(jī)不循環(huán),則排量為0,立壓為0。鉆具位置暫停類工況識別邏輯見表4。
結(jié)合現(xiàn)場求證結(jié)果可總結(jié)鉆進(jìn)類、活動鉆具類、鉆具位置暫停類3 種類型的鉆井工況人工識別邏輯,其中鉆進(jìn)類總結(jié)工況類型有復(fù)合鉆進(jìn)、滑動鉆進(jìn),活動鉆具類總結(jié)工況類型有上提鉆具、下放鉆具、開泵上提鉆具、開泵下放鉆具、上提干劃眼、下放干劃眼、上提開泵劃眼、下放開泵劃眼、起鉆、下鉆、短起鉆、短下鉆;鉆具位置暫停類總結(jié)工況類型有坐卡、靜止、原地循環(huán)、旋轉(zhuǎn)循環(huán)、空轉(zhuǎn)、空井,共可識別鉆井工況共計20 種。表2、表3、表4 給出了部分典型工況的人工識別邏輯,其余工況的人工識別邏輯與此類似,讀者可參考總結(jié)歸納。
基于不同工況的人工識別邏輯,對塔里木油田滿深區(qū)塊10 口井的錄井綜合實時數(shù)據(jù)進(jìn)行工況人工劃分[18],得到模型訓(xùn)練樣本數(shù)據(jù)共1 209 533條,第1~7 口井的樣本數(shù)據(jù)為訓(xùn)練集(853 246 條),第8~10 口井的樣本數(shù)據(jù)為測試集(356 287 條)。
3 雙向長短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)和條件隨機(jī)場架構(gòu)設(shè)計
3.1 遺忘門、輸入門、輸出門設(shè)計
雙向長短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)單元可通過設(shè)計遺忘門、輸入門、輸出門進(jìn)行信息存儲的取舍判斷[19]。通過遺忘門設(shè)計選取舍棄與保存的數(shù)據(jù)信息,通過輸入門設(shè)計用于更新細(xì)胞狀態(tài),通過輸出門設(shè)計用來確定下一個隱藏狀態(tài)的值,將新的細(xì)胞狀態(tài)和新的隱藏狀態(tài)輸送至下一序列中。
3.2 CRF 層設(shè)計
BiLSTM 模型的輸入是上層的輸出向量,輸出是該時刻的預(yù)測工況標(biāo)簽,在獨立使用BiLSTM 模型時,模型可以通過計算標(biāo)簽識別分?jǐn)?shù),選取識別分?jǐn)?shù)最高的標(biāo)簽進(jìn)行預(yù)測標(biāo)簽的輸出,但該模型可能存在識別錯誤的可能,例如“上提鉆具”工況之后不能自動識別為“坐卡”工況,這需要對鉆井工況的前后組合條件進(jìn)行約束,通過CRF 層設(shè)計來對鉆井工況前后組合條件進(jìn)行約束。
CRF 即條件隨機(jī)場模型,善于通過鄰近標(biāo)簽的關(guān)系獲取最優(yōu)預(yù)測序列,適合用于計算某個序列中的最優(yōu)聯(lián)合概率。該模型優(yōu)化的是整個序列,而不是將每個時刻的最優(yōu)解拼接起來, 在這一點上CRF 要優(yōu)于LSTM。故本方法采用CRF 對BiLSTM的輸出進(jìn)行解碼,得到優(yōu)化后的鉆井工況智能識別結(jié)果[20]。鉆井工況智能識別模型如圖2 所示。
在設(shè)計CRF 層的損失函數(shù)時,設(shè)置發(fā)射得分、轉(zhuǎn)移得分2 種得分類型。發(fā)射得分從BiLSTM 層獲取。如圖2 所示,x1 為時刻1 的9 項輸入特征參數(shù)組成的向量,經(jīng)過正向LSTM 層,得到一個與20 種鉆井工況對應(yīng)的20 維向量輸出,每一維的值對應(yīng)一種鉆井工況在此時刻的預(yù)測得分。再經(jīng)過反向的LSTM 層,也得到一個對應(yīng)各種鉆井工況的預(yù)測得分。正向LSTM 層的預(yù)測得分除了受當(dāng)前輸入?yún)?shù)的影響,還受前面各時刻輸入?yún)?shù)的影響;反向的LSTM 層的預(yù)測得分則受當(dāng)前時刻和后面各時刻輸入?yún)?shù)的影響。將正向LSTM 層和反向LSTM 層的預(yù)測得分合并即為BiLSTM 層的預(yù)測得分,作為發(fā)射得分。x1 對應(yīng)各鉆機(jī)狀態(tài)的得分中,上提劃眼是1.50,復(fù)合鉆進(jìn)0.73 等,上提劃眼得分最高,即經(jīng)BiLSTM 層預(yù)測的鉆機(jī)狀態(tài)為上提劃眼。
轉(zhuǎn)移得分為訓(xùn)練集鉆機(jī)各項動態(tài)前后約束條件的統(tǒng)計結(jié)果,是通過統(tǒng)計所有鉆井工況相互轉(zhuǎn)移之后的得分矩陣,如表5 所示。矩陣中每個數(shù)值表示該行標(biāo)識的鉆井工況變?yōu)樵摿袠?biāo)識的鉆井工況的統(tǒng)計概率,如第1 行第3 列的數(shù)值0.85,表示復(fù)合鉆進(jìn)工況變?yōu)樯咸衢_泵劃眼工況的統(tǒng)計概率為0.85。該矩陣中的數(shù)值在訓(xùn)練開始時先隨機(jī)初始化,在訓(xùn)練過程中會不斷地對鉆進(jìn)狀態(tài)的轉(zhuǎn)移情況進(jìn)行統(tǒng)計,來更新該矩陣的數(shù)值,隨著不斷的訓(xùn)練,這些數(shù)值也會越來越合理。
在模型建立后,需利用損失函數(shù),計算預(yù)測標(biāo)簽與訓(xùn)練集的正確率,并不斷調(diào)優(yōu)以求損失函數(shù)的值降至盡可能低,從而保證模型精度。CRF 的損失函數(shù)說明如下。
對于輸入序列x 對應(yīng)的輸出鉆井工況序列y,定義分?jǐn)?shù)函數(shù)為
3.3 超參數(shù)優(yōu)選
輸入層神經(jīng)元個數(shù)與錄井綜合實時數(shù)據(jù)特征參數(shù)項個數(shù)相同,為9 個;輸出層的神經(jīng)元個數(shù)與所識別工況類型個數(shù)相同,為20 個。神經(jīng)網(wǎng)絡(luò)的隱藏層個數(shù)的選取影響著模型訓(xùn)練的準(zhǔn)確性[21],在選擇時,既要保證模型訓(xùn)練準(zhǔn)確性,又要防止模型結(jié)果“過擬合”??紤]輸入項與輸出項的復(fù)雜程度,本文分別測試5 層、10 層、15 層隱藏層的神經(jīng)網(wǎng)絡(luò)模型,每層隱藏層的神經(jīng)元數(shù)均在10~100 之間,共測試30 組模型。如圖3 所示,10 層隱藏層、70 個神經(jīng)元數(shù)的模型準(zhǔn)確率最高,為95.12%,因此優(yōu)選10 層隱藏層、70 個神經(jīng)元數(shù)的模型進(jìn)行模型訓(xùn)練。
4 鉆井工況識別實驗
4.1 雙向長短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)和條件隨機(jī)場神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程
使用雙向長短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)和條件隨機(jī)場神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行訓(xùn)練,每次訓(xùn)練持續(xù)100 次迭代,計算驗證模型識別正確率[22]。不同迭代的正確率(Accuracy) 與損失值(Loss) 如圖4 所示,經(jīng)過100 次迭代,訓(xùn)練集和測試集的正確率均達(dá)到較高水平,不再有較明顯的提高,已經(jīng)達(dá)到訓(xùn)練目的。訓(xùn)練集、測試集的正確率分別為96.49% 和97.23%,訓(xùn)練集損失值為0.000 23。
4.2 雙向長短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)和條件隨機(jī)場神經(jīng)網(wǎng)絡(luò)正確率驗證
根據(jù)上文各鉆井工況判別條件及特征化處理結(jié)果,結(jié)合10 口井連續(xù)一周記錄的共計1 209 533 條錄井實時數(shù)據(jù),對實驗井段的原始數(shù)據(jù)進(jìn)行工況識別,識別結(jié)果按混淆矩陣[23]統(tǒng)計見圖5、圖6。
在二分類模型的評價中,正確率是全部樣本中預(yù)測正確的樣本比例,精準(zhǔn)率是預(yù)測為正樣本中預(yù)測正確的樣本比例,召回率是正樣本中預(yù)測為正樣本的比例。在多分類模型中,可以先將每一個類別單獨視為正,其他類別都視為負(fù),計算該類別的正確率、精準(zhǔn)率和召回率,然后再取平均值作為多分類模型的評價。F1 分?jǐn)?shù)通過精準(zhǔn)率和召回率計算得到[24]。
利用F1 分?jǐn)?shù)計算模型對訓(xùn)練集、測試集的模型識別結(jié)果正確率分析驗證,結(jié)果如表6、表7 所示。
根據(jù)實驗結(jié)果與現(xiàn)場實際情況驗證表明,采用雙向長短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)和條件隨機(jī)場神經(jīng)網(wǎng)絡(luò)所訓(xùn)練的鉆井工況識別模型的識別精準(zhǔn)率達(dá)到91%~97% 左右,平均識別精準(zhǔn)率為94.3%,由此可見本模型識別結(jié)果準(zhǔn)確有效,可用于現(xiàn)場進(jìn)行鉆井工況識別判斷。
5 結(jié)論
(1) 對比了決策樹、ANN 全連接神經(jīng)網(wǎng)絡(luò)、BiLSTM+CRF 算法的使用原理,認(rèn)為BiLSTM+CRF算法更適合用于應(yīng)對處理工況復(fù)雜多樣且時序性強(qiáng)的鉆井工況識別問題。
(2) 設(shè)計了一種基于雙向長短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)和條件隨機(jī)場架構(gòu)的鉆井工況識別模型,該模型通過學(xué)習(xí)錄井實時數(shù)據(jù)的變換特征與鉆井工況類型的關(guān)聯(lián)性,得到鉆井工況智能識別模型,并通過條件隨機(jī)場模型對鉆井工況識別序列的精度進(jìn)行優(yōu)化。
(3) 研究模型最終測試集工況識別正確率達(dá)97.23%,滿足應(yīng)用需求,該算法可將錄井綜合數(shù)據(jù)賦予“工況狀態(tài)”信息,為鉆井時效分析、各工況數(shù)據(jù)深度挖掘提供了研究基礎(chǔ),后續(xù)應(yīng)對“發(fā)送旋導(dǎo)指令”、“下套管”等復(fù)雜工況識別做進(jìn)一步研究。