隋先富 王彪 范白濤 于繼飛 劉兆年 呂彥平
1.中海油研究總院有限責(zé)任公司海洋石油高效開發(fā)國(guó)家重點(diǎn)實(shí)驗(yàn)室;2.中國(guó)石油大學(xué)(北京)石油工程教育部重點(diǎn)實(shí)驗(yàn)室;3.中國(guó)石化石油勘探開發(fā)研究院
電動(dòng)潛油離心泵又稱電潛泵,是海上平臺(tái)常用的舉升工具。電潛泵機(jī)組的主要工作部件在井下,相比于抽油機(jī)等地面抽汲設(shè)備而言,發(fā)生的故障問題更加不可見。為了能夠?qū)﹄姖摫玫墓ぷ鳡顩r有清晰的認(rèn)識(shí),人們提出了各種各樣的電潛泵工況的診斷技術(shù)。電流卡片作為一種常用的電潛泵故障診斷方法,記錄了輸入潛油電泵電機(jī)的電流變化,在現(xiàn)場(chǎng)中得到了廣泛應(yīng)用。傳統(tǒng)的電流卡片診斷技術(shù)主要依靠熟練的技術(shù)工人,通過對(duì)電流卡片的形狀進(jìn)行人工識(shí)別,推斷其可能的工況狀態(tài),這種方法存在較強(qiáng)的人為主觀因素。而通過訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)對(duì)電流卡片的特征進(jìn)行學(xué)習(xí),可以實(shí)現(xiàn)電流卡片狀態(tài)的實(shí)時(shí)判別,隨時(shí)掌握電潛泵的工作狀況。陳治國(guó)等[1]2004年提出了基于模式識(shí)別的電流卡片特征值提取方法,用于輔助人工判斷,在人工判斷的基礎(chǔ)上增加了定量化指標(biāo)。余繼華等[2]2005年在其基礎(chǔ)上增加了神經(jīng)網(wǎng)絡(luò)方法判斷,開始使用機(jī)器學(xué)習(xí)方法對(duì)電流工況進(jìn)行識(shí)別。甘露等[3]2011年將算法進(jìn)一步發(fā)展,使用適用性更好的BP算法對(duì)機(jī)器學(xué)習(xí)方法進(jìn)行補(bǔ)充。韓國(guó)慶等[4]2015年在BP算法基礎(chǔ)上對(duì)工況種類進(jìn)行了補(bǔ)充,使得工況識(shí)別得到了進(jìn)一步發(fā)展。在前人已有研究的基礎(chǔ)上將電流特征值提取方法做了進(jìn)一步細(xì)化,使得電流卡片特征值的描述更為準(zhǔn)確;同時(shí)對(duì)BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)進(jìn)行對(duì)比優(yōu)化,優(yōu)選出判斷準(zhǔn)誤差率更低的網(wǎng)絡(luò)模型,以提高在智能油田中的適用性,提高判別效果。
在不同電潛泵井的不同工況下,電流值和電流的波動(dòng)程度是不同的。電流卡片上記錄了極坐標(biāo)系下的電流的波動(dòng)情況,可以直觀了解到在電流卡片記錄的時(shí)間段內(nèi),電流卡片記錄的不同工況下的電流情況,即電流卡片通過對(duì)電機(jī)電流不同特征的識(shí)別和反演對(duì)電潛泵工況進(jìn)行診斷[4]。一般情況下每張電流卡片記錄過去1 d,即24 h的電流波動(dòng)情況,電流卡片上每1度記錄1個(gè)電流平均值,即記錄頻次360 次/d,也可加密至1 440次,即每分鐘1次,以能夠反映電流的波動(dòng)情況為準(zhǔn)[5]。
一般而言,海上電潛泵井在生產(chǎn)過程中發(fā)生狀態(tài)改變導(dǎo)致電潛泵井生產(chǎn)受到影響的原因可以分為3個(gè)方面,包括油藏供液?jiǎn)栴}、井下設(shè)備故障和地面設(shè)備故障。
油藏供液?jiǎn)栴}的原因包括:(1)井筒入流不足,由于生產(chǎn)過程中地層的供液能力不足,導(dǎo)致電潛泵欠載停機(jī),停機(jī)時(shí)間增加,泵效嚴(yán)重受影響;(2)游離氣體的影響,地層中生產(chǎn)的自由氣體或者流體在流動(dòng)過程中由于壓力降低而析出的氣體較多時(shí),隨著生產(chǎn)的進(jìn)行,套管中的氣體會(huì)逐漸積累,當(dāng)套管壓力高于油管入口處的壓力時(shí),高套管壓力會(huì)推動(dòng)套管氣過泵,使得氣體分離器作用受到影響,高氣液比導(dǎo)致泵效降低,這一狀況在下泵深度過淺時(shí)尤其明顯;(3)結(jié)蠟或乳化影響,其特點(diǎn)是油管結(jié)蠟或乳化堵塞導(dǎo)致電泵失效,進(jìn)行加熱或物理清蠟后可恢復(fù)生產(chǎn)。
井下設(shè)備故障的原因通常包括:(1)電潛泵反轉(zhuǎn),其特點(diǎn)是井筒中電潛泵以上流體壓力過大,電泵功率不夠,不能將井筒中的液體托舉到地面,從而導(dǎo)致葉輪反轉(zhuǎn)而使電泵失效;(2)井下漏失,其特點(diǎn)是因排出閥、油管接箍、壓力表閥漏失而導(dǎo)致泵排出口壓力下降;(3)泵機(jī)械故障,其特點(diǎn)是因泵軸斷裂導(dǎo)致產(chǎn)油量下降,或由于葉輪磨損導(dǎo)致的高滑脫和低泵效。
地面設(shè)備故障的原因通常是地面流動(dòng)受阻,例如地面的流動(dòng)管線中結(jié)蠟、油嘴流通面積小、油嘴砂堵或蠟堵等。以上電潛泵井中遇到問題而對(duì)生產(chǎn)造成影響的情況中,油藏供液能力的問題和井下設(shè)備故障都能在電潛泵的電流上有所體現(xiàn),不同的工況條件下會(huì)有不同的電流情況和電流波動(dòng)情況,因而可以通過電流卡片中的電流波動(dòng)情況來反映電潛泵的工作狀態(tài)。
一般按照導(dǎo)致泵的工作電流變化的原因?qū)﹄姖摫盟幑r進(jìn)行分類,電流卡片中反映的電流及其波動(dòng)情況中可以直觀觀察到泵停機(jī)狀況、電流波動(dòng)時(shí)間長(zhǎng)短、波動(dòng)的頻次高低、波動(dòng)的復(fù)現(xiàn)情況等,通過這些情況可以對(duì)電流卡片反映的實(shí)際問題進(jìn)行分析。電流卡片的詳細(xì)分類依據(jù)如圖1所示。
圖1 電流卡片分類依據(jù)Fig.1 Classification basis of ammeter cards
從圖1中可以看到,在不同工況條件下工作的電泵在電流卡片中的電流情況以及電流波動(dòng)情況上有所不同。以過載停機(jī)工況為例進(jìn)行分析,出現(xiàn)此種工況一般情況下是由于電機(jī)在較長(zhǎng)一段時(shí)間內(nèi)負(fù)載過大,超過電機(jī)的承受能力,從而出現(xiàn)的電機(jī)自動(dòng)保護(hù)性停機(jī),且不經(jīng)過人為重啟時(shí)電泵的電流歸0后不會(huì)恢復(fù)。在電流卡片中應(yīng)表現(xiàn)為電流在一個(gè)正常范圍內(nèi)不發(fā)生波動(dòng)或發(fā)生幾乎可以忽略不計(jì)的波動(dòng),然后在某一時(shí)刻電流歸0且不發(fā)生循環(huán)往復(fù)的大幅度波動(dòng)。在電流卡片診斷時(shí)應(yīng)首先觀察泵是否停機(jī),即在電流卡片上顯示出電流是否達(dá)到過0值;如果達(dá)到過這種狀態(tài)則推測(cè)其可能原因是氣鎖停機(jī)、固體顆粒導(dǎo)致的停機(jī)、地層供液不足、過載停機(jī)或頻繁啟停。其次分析電流是否出現(xiàn)頻繁循環(huán),即在電流卡片中表現(xiàn)出0值與非0值之間的頻繁大幅度波動(dòng),如果沒有出現(xiàn)頻繁循環(huán),則將范圍縮小到固體顆粒導(dǎo)致的停機(jī)與過載停機(jī)兩種狀況。最后分析在出現(xiàn)停機(jī)即電流歸0之前,是否發(fā)生過相對(duì)較小范圍電流的波動(dòng),如果沒有出現(xiàn)電流波動(dòng)則可推斷為電泵過載停機(jī)。
傳統(tǒng)的電流卡片診斷是API于1982年提出的電潛泵故障分類方法。當(dāng)油井出現(xiàn)問題時(shí),操作人員憑借個(gè)人經(jīng)驗(yàn)對(duì)電流卡片進(jìn)行人工解釋,以說明電潛泵的工作狀態(tài)。其判斷流程決定了這種人工識(shí)別方法存在其固有的缺陷,即需要經(jīng)驗(yàn)豐富的現(xiàn)場(chǎng)操作人員的人工識(shí)別,這種判別方法一方面需要在發(fā)生故障明顯影響到電流卡片中的電流范圍時(shí)才會(huì)被操作人員察覺到,即在故障早期可能難以被察覺;另一方面對(duì)于故障類型的判斷也會(huì)因操作人員而異,引入了不可避免的人為誤差[3]。
電潛泵的電流卡片診斷方法本身是一個(gè)經(jīng)典的電泵工況診斷方法,但其存在的缺點(diǎn)也顯而易見,基于對(duì)其缺點(diǎn)的分析,提出了以下工況診斷方法的優(yōu)化目標(biāo),即:消除人為誤差,提高準(zhǔn)確性;通過自動(dòng)化的監(jiān)控與數(shù)據(jù)采集系統(tǒng)實(shí)現(xiàn)實(shí)時(shí)診斷,提高診斷效率;通過油田現(xiàn)場(chǎng)使用,與經(jīng)驗(yàn)豐富的油田操作人員的判斷相對(duì)比,驗(yàn)證該方法的可行性和優(yōu)越性。
人工神經(jīng)網(wǎng)絡(luò)是一種模仿動(dòng)物神經(jīng)網(wǎng)絡(luò)行為,進(jìn)行分布式信息處理的算法數(shù)學(xué)模型。而BP神經(jīng)網(wǎng)絡(luò)是一種按照誤差逆向傳播算法(BP算法)訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)。
BP神經(jīng)網(wǎng)絡(luò)是一種非線性動(dòng)力學(xué)系統(tǒng),解決了多層神經(jīng)網(wǎng)絡(luò)隱含層連接權(quán)學(xué)習(xí)問題,增強(qiáng)了網(wǎng)絡(luò)的分類和識(shí)別能力,對(duì)于研究對(duì)象的輸入和系統(tǒng)輸出之間存在非線性關(guān)系的函數(shù)時(shí)尤其適用??刂茖?duì)象的輸入與輸出之間不存在明顯的線性相關(guān)關(guān)系時(shí),可以利用神經(jīng)網(wǎng)絡(luò)具有逼近非線性函數(shù)的能力來模擬y=g(u),盡管其形式未知,但通過對(duì)系統(tǒng)的實(shí)際輸出與期望輸出之間使用合適的激勵(lì)函數(shù)的方法,可以調(diào)節(jié)神經(jīng)網(wǎng)絡(luò)中的連接權(quán)重,即讓神經(jīng)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí),學(xué)習(xí)過程中其方差會(huì)不斷減少,直至趨近于0,即神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)直接控制的基本思想。
神經(jīng)網(wǎng)絡(luò)是一種分層型網(wǎng)絡(luò),由輸入層、隱含層和輸出層組成。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程如下:數(shù)據(jù)輸入到輸入層中,經(jīng)過隱含層的sigmod函數(shù)變換,傳遞到輸出層,在輸出層的神經(jīng)元中可采用線性變換函數(shù),正向神經(jīng)網(wǎng)絡(luò)經(jīng)過一次傳遞之后到達(dá)輸出層中的結(jié)果,經(jīng)過反饋式調(diào)節(jié),反向傳入隱含層和輸入層,通過激勵(lì)函數(shù)調(diào)節(jié)其隱含層節(jié)點(diǎn)中的權(quán)重系數(shù),之后再按照正向傳遞過程到達(dá)輸出層,經(jīng)過反饋式神經(jīng)網(wǎng)絡(luò)的權(quán)重調(diào)節(jié),其相對(duì)于正向傳播式神經(jīng)網(wǎng)絡(luò)精度更高,更加可靠。即神經(jīng)網(wǎng)絡(luò)包括了信號(hào)的前向傳播和誤差的反向傳播,使得誤差沿梯度方向下降。經(jīng)過反復(fù)訓(xùn)練與學(xué)習(xí),確定最小誤差對(duì)應(yīng)的網(wǎng)絡(luò)參數(shù)時(shí),訓(xùn)練截止。神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)以及訓(xùn)練學(xué)習(xí)流程圖如圖2所示。
圖2 神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)流程Fig.2 Learning process of neural network
BP神經(jīng)網(wǎng)絡(luò)無論在網(wǎng)絡(luò)理論還是性能方面都已經(jīng)比較成熟,具有很強(qiáng)的非線性映射能力和柔性的網(wǎng)絡(luò)結(jié)構(gòu)。由于BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)可根據(jù)模型使用者的需要自行調(diào)整,通過調(diào)節(jié)模型中隱含層的層數(shù)和單層的節(jié)點(diǎn)個(gè)數(shù),能夠使得神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速度和學(xué)習(xí)精度之間達(dá)到一個(gè)理想的平衡點(diǎn)?;贐P神經(jīng)網(wǎng)絡(luò)的上述優(yōu)點(diǎn),其主要適用于函數(shù)逼近、模式識(shí)別、分類問題與數(shù)據(jù)壓縮等方面。
電潛泵的電流與工況之間的關(guān)系是典型的非線性關(guān)系,同一類電流卡片之間存在較強(qiáng)的特征性,電流卡片的快速準(zhǔn)確識(shí)別是電潛泵井實(shí)時(shí)工況診斷的基礎(chǔ)。而恰好BP神經(jīng)網(wǎng)絡(luò)系統(tǒng)擅長(zhǎng)解決非線性問題,其可以利用于模式識(shí)別與分類問題中,可通過調(diào)節(jié)神經(jīng)網(wǎng)絡(luò)的模型結(jié)構(gòu)實(shí)現(xiàn)預(yù)期的學(xué)習(xí)精度與學(xué)習(xí)速度,模型建立完成后可以實(shí)現(xiàn)實(shí)時(shí)的判別與輸出?;诖朔治觯娏骺ㄆ璧目焖僮R(shí)別問題能夠由BP神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì)所解決,使用BP神經(jīng)網(wǎng)絡(luò)對(duì)電潛泵電流卡片進(jìn)行模式識(shí)別理論可行。使用BP神經(jīng)網(wǎng)絡(luò)對(duì)電流卡片進(jìn)行模式識(shí)別的步驟一般包括:建立足夠多的樣本庫;故障特征提取; BP神經(jīng)網(wǎng)絡(luò)的搭建與訓(xùn)練;使用訓(xùn)練完成的模型對(duì)新的電流數(shù)據(jù)進(jìn)行模式識(shí)別。
進(jìn)行BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練的基礎(chǔ)是大量的樣本數(shù)據(jù),就BP神經(jīng)網(wǎng)絡(luò)對(duì)電流卡片進(jìn)行模式識(shí)別的案例而言,其需要大量的標(biāo)記為特定故障類型的電流卡片,常見的電流卡片可以識(shí)別的故障類型包括:氣體影響、氣鎖、含砂、砂卡、供液不足、過載停泵、頻繁啟停、原油乳化、電流波動(dòng)與正常工況等類型。這些電流卡片的來源一般是行業(yè)積累的經(jīng)驗(yàn)、油田現(xiàn)場(chǎng)收集、模擬軟件生成[2]。
行業(yè)積累的經(jīng)驗(yàn)是指經(jīng)驗(yàn)豐富的工程師根據(jù)其工作經(jīng)驗(yàn),對(duì)發(fā)生某種特定工況時(shí)的電流卡片進(jìn)行定性描述,根據(jù)其描述的電流卡片特征狀況量化為具體的電流卡片。油田現(xiàn)場(chǎng)收集是指對(duì)于油田現(xiàn)場(chǎng)實(shí)際發(fā)生某種工況后,經(jīng)檢泵維修給出工況診斷的結(jié)論后,根據(jù)時(shí)間向前推演,將故障發(fā)生前一段時(shí)間內(nèi)的電流情況標(biāo)記為該種工況即將發(fā)生的樣本。模擬軟件生成是指使用數(shù)值模擬軟件,將泵發(fā)生某種狀態(tài)時(shí)的特征狀況作為軟件的輸入條件,將在這種狀況下的電流波動(dòng)情況反映為電流卡片,并將其作為該種工況下的樣本參與后續(xù)的神經(jīng)網(wǎng)絡(luò)訓(xùn)練。
電流特征值是用于表征某一種特定工況情況下的標(biāo)志性屬性的數(shù)值,其選取標(biāo)準(zhǔn)是特征值必須能夠反映某一工況下的電流卡片區(qū)別于其他工況的特征狀態(tài)。典型工況下的電流卡片如圖3所示[6]。
圖3 典型工況下的電流卡片F(xiàn)ig.3 Ammeter card under typical working condition
由于所取得的樣本中,電機(jī)可能存在不同的額定電流,對(duì)于不同的額定電流的電機(jī)可能發(fā)生同種故障,需要對(duì)不同額定電流的電機(jī)的中的電流進(jìn)行歸一化處理。以額定電流為標(biāo)準(zhǔn),將實(shí)時(shí)電流進(jìn)行歸一化處理。電流的歸一化方法為
分析不同電流卡片的特征可以看出,能夠反映電流情況和電流波動(dòng)情況的參數(shù)有很多。將歸一化的電流值進(jìn)行分析,得到單張電流卡片中非0電流的電流平均值、電流波動(dòng)幅度總和、單次電流波動(dòng)最大值、單次電流波動(dòng)最大值的“孤峰度”、電流非0時(shí)間內(nèi)的總電流波動(dòng)值與電流平均值的比值、電流為0的時(shí)間數(shù)、電流非0的時(shí)間數(shù),定義如下。
(1)特征值1:?jiǎn)螐堧娏骺ㄆ蟹?電流的電流平均值。電流值歸一化后,電流卡片記錄的數(shù)值都是[0,1]上的數(shù)值,單張電流卡片非0電流的電流平均值即為所有歸一化的電流值的平均值,相當(dāng)于電流卡片圍成的封閉圖形的歸一化面積,表示為
式中,Ini為實(shí)時(shí)電流的歸一化電流;Iai為實(shí)時(shí)電流,A;Ir為額定電流,A。
(2)特征值2:電流波動(dòng)幅度總和。電流波動(dòng)值是使用當(dāng)前時(shí)間點(diǎn)下的歸一化電流值與前一個(gè)時(shí)間點(diǎn)的歸一化電流值之間相減得到結(jié)果的絕對(duì)值,相當(dāng)于電流卡片圍成的封閉圖形的周長(zhǎng),表示為
式中,Ifi為在i點(diǎn)處的電流波動(dòng)情況,反映當(dāng)前歸一化電流值與上一時(shí)間點(diǎn)的歸一化電流值之間的差值;Cn為電流卡片中圍成的封閉圖形的歸一化周長(zhǎng)。
(3)特征值3:?jiǎn)未坞娏鞑▌?dòng)最大值。單次電流波動(dòng)最大值是指電流波動(dòng)值中數(shù)值最大的那一個(gè)。在電流卡片中一般顯示為剛剛啟動(dòng)或者剛剛停泵時(shí)的2種情況。啟動(dòng)與停泵過程中都是從一種電流區(qū)間波動(dòng)到另一種電流區(qū)間,區(qū)別在于這個(gè)單次電流波動(dòng)最大值的前后哪個(gè)區(qū)域中的電流值更低。泵啟動(dòng)時(shí)電流是從0值上升到峰值或接近峰值,而泵停機(jī)時(shí)電流從峰值或接近峰值降低為0。即通過判斷單次電流波動(dòng)最大值與電流最小值出現(xiàn)的先后順序,可以判斷泵啟停狀態(tài)。當(dāng)先有電流最小值然后有最大電流波動(dòng)值時(shí),即為泵啟動(dòng)。當(dāng)先有最大電流波動(dòng)值然后有電流最小值時(shí),即為泵停機(jī)狀態(tài)。
式中,Ifmax為歸一化電流波動(dòng)值的最大值。
(4)單次電流波動(dòng)最大值處的電流“孤峰度”?!凹夥鍫睢敝感纬傻碾娏魍蛊鸪霈F(xiàn)的快且消失的快,持續(xù)時(shí)間很短?!疤菖_(tái)狀”指電流出現(xiàn)突變之后很長(zhǎng)一段時(shí)間內(nèi)維持在后一種狀態(tài)下不再大幅波動(dòng),形成一個(gè)梯臺(tái)形狀的電流狀態(tài)。電流的“孤峰度”反映了電流最大波動(dòng)值系列的持續(xù)時(shí)間。
電流波動(dòng)最大值處與周圍臨近電流波動(dòng)值的最小值和最大值之間的差值能反映電流波動(dòng)的孤立情況。根據(jù)電流卡片中的電流數(shù)據(jù)密度,單次電流波動(dòng)如果持續(xù)時(shí)間在6 min以內(nèi),則在圖中只會(huì)顯示出1個(gè)點(diǎn)的峰值,呈現(xiàn)出“尖峰狀”,如果持續(xù)時(shí)間大于6 min,則會(huì)出現(xiàn)“梯臺(tái)狀”,因此選取電流峰值和前后各3個(gè)點(diǎn)共7個(gè)點(diǎn),持續(xù)時(shí)間36 min的數(shù)據(jù),來判斷電流波動(dòng)數(shù)據(jù)是否呈現(xiàn)相應(yīng)的狀態(tài)。
式中,Ta為電流波動(dòng)最大值的持續(xù)總時(shí)間,min;Tfmax為電流波動(dòng)最大值的持續(xù)時(shí)間,min;Ifmax為電流波動(dòng)最大值;Ibefore為電流波動(dòng)數(shù)據(jù)峰值之前3個(gè)點(diǎn)的數(shù)據(jù);Iafter為電流波動(dòng)數(shù)據(jù)峰值之后3個(gè)點(diǎn)的數(shù)據(jù);ΔI1,ΔI2,ΔI3,ΔI4分別為電流波動(dòng)數(shù)據(jù)的峰值與鄰近電流波動(dòng)值的差值,即特征值4、特征值5、特征值6、特征值7。
(5)特征值8:電流非0時(shí)間內(nèi)單位電流強(qiáng)度下的電流波動(dòng)強(qiáng)度。電流的波動(dòng)強(qiáng)度總和與電流平均值的比值,在電流卡片中反映為電流卡片形成的封閉圖形的周長(zhǎng)與面積比值。
式中,R為電流非0時(shí)間內(nèi)單位電流強(qiáng)度下的電流波動(dòng)強(qiáng)度。
(6)電流0值與非0值的持續(xù)時(shí)間。單張電流卡片中的電流0值和電流非0值的持續(xù)時(shí)間是不同的,但是同一類工況中的電流卡片的電流0值和非0值的持續(xù)時(shí)間的比值存在一定規(guī)律性,因而電流0值與非0值各自的持續(xù)時(shí)間也可以作為工況的判別條件[1]。
式中,Ti0為歸一化電流為0的總持續(xù)時(shí)間,min,即特征值9;Tin為歸一化電流不為0的總持續(xù)時(shí)間,min,即特征值10。
根據(jù)以上提出的參數(shù)處理方法將每張電流卡片提取出的特征參數(shù)匯總,特征參數(shù)矩陣和對(duì)應(yīng)的工況參數(shù)矩陣中的部分示例如表1和表2。表1中的電流特征參數(shù)矩陣可作為BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練的輸入矩陣,表2中的工況參數(shù)矩陣可作為BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練的結(jié)果矩陣,將輸入矩陣與結(jié)果矩陣共同代入BP神經(jīng)網(wǎng)絡(luò),經(jīng)過訓(xùn)練即可獲得BP神經(jīng)網(wǎng)絡(luò)的權(quán)重矩陣。
表1 對(duì)部分電流卡片提取出的電流特征參數(shù)矩陣示例Table 1 Current characteristic parameter matrix example extracted from some ammeter cards
根據(jù)模型的精度和速度要求,建立3層BP神經(jīng)網(wǎng)絡(luò),將提取的特征參數(shù)作為輸入層,將與之對(duì)應(yīng)的故障指示作為輸出層,建立神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練。標(biāo)準(zhǔn)的電流卡片數(shù)據(jù)不能用于直接訓(xùn)練預(yù)測(cè),需要將1張6 min為1個(gè)點(diǎn)(1 440 min共241個(gè)點(diǎn))的電流卡片處理成符合條件的神經(jīng)網(wǎng)絡(luò)輸入數(shù)據(jù),根據(jù)上述方法共提取出了10種不同特征數(shù)據(jù),因此,BP神經(jīng)網(wǎng)絡(luò)的輸入層節(jié)點(diǎn)數(shù)即為10;該神經(jīng)網(wǎng)絡(luò)模型可用于在4種工況中作出判斷,因此輸出層節(jié)點(diǎn)數(shù)為4;中間層節(jié)點(diǎn)數(shù)以及學(xué)習(xí)步數(shù)的確定需結(jié)合實(shí)際數(shù)據(jù)多次運(yùn)行模型,嘗試盡量選取時(shí)間步較短且精度較高的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)。
表2 對(duì)應(yīng)表1電流卡片的工況參數(shù)矩陣示例Table 2 Working condition parameter matrix example corresponding to the ammeter cards listed in Table 1
神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)所需的時(shí)間長(zhǎng)度與神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中的隱含層節(jié)點(diǎn)數(shù)相關(guān),也與訓(xùn)練時(shí)的迭代步數(shù)相關(guān),將搭建好的神經(jīng)網(wǎng)絡(luò)模型通過調(diào)節(jié)迭代步數(shù)與隱含層節(jié)點(diǎn)數(shù),觀察程序運(yùn)行出結(jié)果的時(shí)間,即可獲知學(xué)習(xí)次數(shù)、學(xué)習(xí)難度與學(xué)習(xí)時(shí)間的關(guān)系。根據(jù)學(xué)習(xí)曲線的收斂情況確定模型的訓(xùn)練完成度,通過測(cè)試集數(shù)據(jù)驗(yàn)證結(jié)果,來確定模型的準(zhǔn)確度。由于BP神經(jīng)網(wǎng)絡(luò)自身算法特點(diǎn),在訓(xùn)練過程中可能會(huì)陷入局部最優(yōu)值,重新進(jìn)行訓(xùn)練即可,符合要求時(shí)訓(xùn)練結(jié)束。通過多次修改隱層節(jié)點(diǎn)數(shù)和迭代步數(shù)運(yùn)行程序,觀察程序運(yùn)行時(shí)間和結(jié)果精度,綜合考慮兩者的因素,即可確定合適的隱層節(jié)點(diǎn)數(shù)和迭代步數(shù)。
根據(jù)上述步驟建立完成的神經(jīng)網(wǎng)絡(luò)模型經(jīng)過測(cè)試數(shù)據(jù)集的數(shù)據(jù)測(cè)試,得到測(cè)試數(shù)據(jù)的混淆矩陣,當(dāng)測(cè)試數(shù)據(jù)的混淆矩陣的誤差達(dá)到足夠小時(shí),認(rèn)為模型的準(zhǔn)確度達(dá)到要求,即該訓(xùn)練完成的模型是一個(gè)可用的模型,接下來就可以使用該模型對(duì)數(shù)據(jù)進(jìn)行新的預(yù)測(cè)。訓(xùn)練模型的一種混淆矩陣形式如表3所示。
混淆矩陣的評(píng)判方法有很多,評(píng)價(jià)指標(biāo)包括精度、召回率等多種數(shù)學(xué)概念,但總體的評(píng)價(jià)指標(biāo)是使得主對(duì)角線上的元素越接近1,其他元素越接近0則說明模型的測(cè)試結(jié)果與實(shí)際標(biāo)記結(jié)果越接近,模型的訓(xùn)練結(jié)果越好。即預(yù)測(cè)的某個(gè)工況參數(shù)與實(shí)際工況參數(shù)之間的相關(guān)程度越高,與其他工況參數(shù)的相關(guān)程度越低,訓(xùn)練的結(jié)果越好。
表3 一種測(cè)試數(shù)據(jù)的混淆矩陣示例Table 3 Confusion matrix example of one kind of test data
由上述分析,當(dāng)工況測(cè)試數(shù)據(jù)的混淆矩陣主對(duì)角線上元素全部為1時(shí),說明神經(jīng)網(wǎng)絡(luò)對(duì)于不同工況參數(shù)進(jìn)行了完全正確的分類。非主對(duì)角線上元素?cái)?shù)值越大,即誤差越大,分類越差。求取非主對(duì)角線上元素的均方差作為誤差率進(jìn)行誤差分析。
式中,λij為矩陣中的元素;ε為均方差;N為測(cè)試樣本數(shù)。
根據(jù)上述方法從樣本庫中提取了泵抽空、頻繁短周期運(yùn)行、過載停泵和正常運(yùn)行四種工況下的電流卡片進(jìn)行數(shù)據(jù)預(yù)處理,整理輸入?yún)?shù)和其對(duì)應(yīng)的工況輸出參數(shù),整理了輸入數(shù)據(jù)44井次,用于搭建BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行學(xué)習(xí)訓(xùn)練,并根據(jù)其訓(xùn)練結(jié)果對(duì)一些提前分離出來的經(jīng)過數(shù)據(jù)預(yù)處理但未參與訓(xùn)練的、去除了故障標(biāo)記的數(shù)據(jù)進(jìn)行故障預(yù)測(cè),與其本身標(biāo)記的故障類型進(jìn)行比較,驗(yàn)證模型準(zhǔn)確度,此處進(jìn)行準(zhǔn)確度評(píng)價(jià)時(shí)使用了10條未經(jīng)訓(xùn)練的數(shù)據(jù)。此處設(shè)置統(tǒng)一的學(xué)習(xí)步數(shù)300步,分別選取11~18為隱含層節(jié)點(diǎn)數(shù)值進(jìn)行嘗試,以取得誤差率較低的情況,誤差率隨中間隱含層節(jié)點(diǎn)個(gè)數(shù)的變化情況如圖4所示,學(xué)習(xí)時(shí)間隨隱含層節(jié)點(diǎn)個(gè)數(shù)的變化如圖5所示。
從圖4可以得知,測(cè)試誤差隨中間層節(jié)點(diǎn)個(gè)數(shù)會(huì)發(fā)生變化,在11~18范圍內(nèi),隱含層節(jié)點(diǎn)數(shù)設(shè)置為15時(shí)取得較低的測(cè)試誤差。從圖5可知,測(cè)試時(shí)間隨隱含層節(jié)點(diǎn)數(shù)的變化的非線性程度在節(jié)點(diǎn)數(shù)更多時(shí)候更加明顯,綜合考慮確定隱含層節(jié)點(diǎn)個(gè)數(shù)為15。確定了隱含層節(jié)點(diǎn)數(shù)后,分別修改學(xué)習(xí)步數(shù),從200~3 000不等間距選取學(xué)習(xí)步數(shù)以進(jìn)行測(cè)試。測(cè)試誤差率與隨學(xué)習(xí)步數(shù)變化的關(guān)系如圖6所示,訓(xùn)練所需時(shí)間隨學(xué)習(xí)步數(shù)的變化如圖7所示。
圖4 誤差率隨中間隱含層節(jié)點(diǎn)個(gè)數(shù)的變化情況Fig.4 Variation of the error rate with the number of nodes in the middle hidden layer
圖5 訓(xùn)練時(shí)間與隱含層節(jié)點(diǎn)數(shù)的關(guān)系Fig.5 Relationship between the training time and the number of nodes in the hidden layer
圖6 測(cè)試數(shù)據(jù)的學(xué)習(xí)曲線Fig.6 Learning curve of test data
圖7 訓(xùn)練時(shí)間與迭代步數(shù)的關(guān)系Fig.7 Relationship between the training time and iteration step
從圖6可以得知,在迭代步數(shù)較少時(shí),測(cè)試誤差會(huì)隨迭代步數(shù)的增加而發(fā)生大幅度下降,迭代步數(shù)較多時(shí),測(cè)試誤差變化不大。從圖7可以得知,由于程序計(jì)算時(shí)的時(shí)間總數(shù)與迭代步數(shù)之間幾乎呈線性關(guān)系,即認(rèn)為程序計(jì)算難度與迭代步數(shù)之間呈線性關(guān)系。綜合兩者考慮,選取時(shí)間步為300步即可滿足快速且準(zhǔn)確的模式識(shí)別。
綜合前文分析,在隱含層節(jié)點(diǎn)數(shù)選取為15時(shí),其誤差率較低。而時(shí)間步數(shù)選取為300時(shí)其測(cè)試精度已經(jīng)達(dá)到相當(dāng)水平,無需進(jìn)一步增加學(xué)習(xí)步數(shù),以避免不必要的運(yùn)行資源的浪費(fèi)。因而對(duì)于整個(gè)網(wǎng)絡(luò)模型確定為選取時(shí)間步為300步,隱層節(jié)點(diǎn)15個(gè),即可滿足精度和算法復(fù)雜度兩方面的要求。對(duì)已獲得的測(cè)試數(shù)據(jù)進(jìn)行訓(xùn)練后得到的混淆矩陣見表4。
表4 測(cè)試數(shù)據(jù)的混淆矩陣Table 4 Confusion matrix of test data
訓(xùn)練完成后,利用預(yù)先分離出來的各種工況下的多條數(shù)據(jù),去除故障類型指示后導(dǎo)入模型進(jìn)行測(cè)試,將其模型預(yù)測(cè)值與實(shí)際故障指示值進(jìn)行對(duì)比,得到預(yù)測(cè)結(jié)果矩陣見表5。表中每1行代表1條需要進(jìn)行預(yù)測(cè)的輸入數(shù)據(jù),前4列中只有1列中為1,其余均為0,表示對(duì)于這條數(shù)據(jù)而言,其標(biāo)記的工況是該參數(shù)為1而其他參數(shù)為0這種參數(shù)序列對(duì)應(yīng)的工況情況。當(dāng)后4列中的數(shù)據(jù)序列與前4列中的數(shù)據(jù)序列對(duì)應(yīng)接近時(shí),認(rèn)為模型預(yù)測(cè)成功。當(dāng)預(yù)測(cè)結(jié)果與實(shí)際結(jié)果出現(xiàn)明顯分離時(shí),認(rèn)為模型預(yù)測(cè)出現(xiàn)誤差。
經(jīng)過對(duì)上述模型及實(shí)際數(shù)據(jù)與輸出數(shù)據(jù)的對(duì)比驗(yàn)證,模型對(duì)10條工況數(shù)據(jù)均實(shí)現(xiàn)了正確識(shí)別,其識(shí)別的均方根誤差0.074 7,即預(yù)測(cè)準(zhǔn)確度達(dá)到92.53%,符合合理的要求范圍,認(rèn)為該BP神經(jīng)網(wǎng)絡(luò)模型對(duì)電泵工況診斷達(dá)到了預(yù)期效果。
(1)電流卡片與工況之間是一種非線性的相關(guān)關(guān)系,BP神經(jīng)網(wǎng)絡(luò)對(duì)于非線性問題的模式識(shí)別、分類問題具有較強(qiáng)的適用性。BP神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)與解決電流卡片識(shí)別中面臨的問題有較強(qiáng)的對(duì)應(yīng)性,用BP神經(jīng)網(wǎng)絡(luò)對(duì)電流卡片進(jìn)行模式識(shí)別可行。
表5 預(yù)期結(jié)果與預(yù)測(cè)結(jié)果對(duì)比Table 5 Comparison between expected result and prediction result
(2)利用搜集的足夠多的樣本進(jìn)行數(shù)據(jù)預(yù)處理,并建立BP神經(jīng)網(wǎng)絡(luò),訓(xùn)練后發(fā)現(xiàn)其學(xué)習(xí)曲線收斂快,預(yù)測(cè)質(zhì)量高,準(zhǔn)確度好,符合合理誤差范圍要求。
(3)基于神經(jīng)網(wǎng)絡(luò)的電流卡片模式識(shí)別模型建立完成后,一旦電流卡片的數(shù)據(jù)傳入,即可實(shí)現(xiàn)快速的模式識(shí)別,在數(shù)據(jù)的傳入速度能夠得到保障的條件下可以實(shí)現(xiàn)電潛泵工況的實(shí)時(shí)診斷,將成為建成智慧油田的重要組成部分。