油庫(kù)油氣濃度預(yù)測(cè)是油庫(kù)監(jiān)控系統(tǒng)的重要組成部分,是油庫(kù)安全生產(chǎn)管理必不可少的重要環(huán)節(jié)。油庫(kù)油氣濃度預(yù)測(cè)精度的高低,不僅直接影響著油庫(kù)的安全和作業(yè)效率,而且對(duì)提高油庫(kù)安全保障能力有著重要的意義。當(dāng)前油庫(kù)油氣濃度主要采用現(xiàn)場(chǎng)測(cè)量和遠(yuǎn)程監(jiān)控方法,這種方法只能對(duì)油氣濃度進(jìn)行實(shí)時(shí)測(cè)量,不能對(duì)未來(lái)的油氣濃度發(fā)展趨勢(shì)進(jìn)行預(yù)測(cè),這同以預(yù)防為主的安全管理方法有一定的違背。我國(guó)在這方面進(jìn)行了長(zhǎng)期的研究,但準(zhǔn)確預(yù)報(bào)困難。因此,只有正確認(rèn)識(shí)油氣擴(kuò)散的作用機(jī)制和演進(jìn)規(guī)律,分析其演變趨勢(shì),實(shí)施較為準(zhǔn)確的油氣預(yù)報(bào)和預(yù)警措施,才能較大限度減小安全隱患和經(jīng)濟(jì)損失。因此,對(duì)油庫(kù)油氣的快速、準(zhǔn)確的預(yù)報(bào)是多年來(lái)國(guó)內(nèi)外專家十分關(guān)注的課題。本文采用免疫神經(jīng)網(wǎng)絡(luò)模型對(duì)井下油氣濃度進(jìn)行預(yù)測(cè),以提前了解油氣濃度的大小及發(fā)展趨勢(shì),采取預(yù)防措施,以此提高油庫(kù)的安全。
1 基于免疫算法的神經(jīng)網(wǎng)絡(luò)模型
1.1 BP網(wǎng)絡(luò)概述
在眾多的神經(jīng)網(wǎng)絡(luò)中,多層前饋網(wǎng)絡(luò)(BP網(wǎng)絡(luò))具有很強(qiáng)的生物背景,它與函數(shù)逼近理論稍有差異,它具有多輸入多輸出特性,容易用于多變量非線性函數(shù)的逼近,由于它是一個(gè)非線性網(wǎng)絡(luò),其學(xué)習(xí)算法是局部最優(yōu)的,且訓(xùn)練時(shí)需要用到全局信息。總的來(lái)說(shuō),BP網(wǎng)絡(luò)的主要優(yōu)點(diǎn)是:
(1) 只要有足夠多的隱層和隱節(jié)點(diǎn),BP網(wǎng)絡(luò)可以逼近任意非線性映射關(guān)系;
(2) BP網(wǎng)絡(luò)的學(xué)習(xí)算法是屬于全局逼近的方法,因而具有很好的泛化能力;
(3) BP網(wǎng)絡(luò)的輸入輸出之間的關(guān)聯(lián)信息分布地存儲(chǔ)于連接權(quán)中。由于連接權(quán)的個(gè)數(shù)很多,個(gè)別神經(jīng)元的損壞只對(duì)輸入輸出有很小的影響,因而具有很好的容錯(cuò)性。
BP算法的主要缺點(diǎn)是:
(1) 學(xué)習(xí)效率低,收斂速度慢。BP算法是Robbie和Monro提出的隨機(jī)逼近統(tǒng)計(jì)方法的一個(gè)應(yīng)用,在權(quán)值空間中“瞬時(shí)估計(jì)”誤差曲面的梯度。因此BP算法傾向于緩慢收斂,Saarinen的實(shí)驗(yàn)研究表明[4],BP算法的局部收斂速度是線性的。
(2) 易限于局部極小狀態(tài)。從數(shù)學(xué)角度分析,梯度下降思想的BP算法不可避免的存在局部極小問(wèn)題,另外由于實(shí)際問(wèn)題的求解空間往往極其復(fù)雜,維數(shù)較高,存在更多的局部極小點(diǎn),使得陷入局部極小點(diǎn)的可能性大為增加。
(3) 網(wǎng)絡(luò)的泛化及適應(yīng)能力差。BP算法的誤差平方和最小化指標(biāo),只能降低樣本的絕對(duì)誤差量,而造成神經(jīng)元學(xué)習(xí)收斂的不均衡性,一旦樣本存在“非主導(dǎo)模式”,即該模式對(duì)誤差的貢獻(xiàn)較小,僅依靠誤差指標(biāo)函數(shù)則難以進(jìn)行良好的訓(xùn)練,致使網(wǎng)絡(luò)對(duì)該模式缺乏良好的響應(yīng),影響網(wǎng)絡(luò)泛化性能。
1.2 免疫算法原理
神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)目的是通過(guò)調(diào)節(jié)網(wǎng)絡(luò)權(quán)值W,使目標(biāo)代價(jià)函數(shù)E趨于最小。由于E是復(fù)雜的非線性函數(shù),采用BP算法與基于BP的導(dǎo)數(shù)型優(yōu)化方法均存在局部極小問(wèn)題,因此目前越來(lái)越多的研究者采用遺傳計(jì)算來(lái)設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)權(quán)值,并已成功應(yīng)用于網(wǎng)絡(luò)權(quán)值學(xué)習(xí)[5]。遺傳算法(Genetic Algorithm,GA)是根據(jù)生物中遺傳與進(jìn)化的原理,仿效基因、染色體等物質(zhì)表達(dá)所研究的問(wèn)題,遵循達(dá)爾文“物競(jìng)天擇,適者生存”原則,使隨機(jī)生成的初始解通過(guò)復(fù)制、交換、突變等遺傳操作不斷迭代優(yōu)化,逐步逼近最優(yōu)解。遺傳算法是一種利用自然選擇和進(jìn)化思想在高維空間中尋優(yōu)的方法,不依賴于導(dǎo)數(shù)信息,并行度高,善于處理解空間為多峰值地形的全局優(yōu)化問(wèn)題。但遺傳算法存在諸如當(dāng)初始解群分布不均勻時(shí)易出現(xiàn)末成熟收斂,陷于局部最優(yōu)和個(gè)體自適應(yīng)于環(huán)境的能力弱等缺點(diǎn)。
生物體的免疫系統(tǒng)能夠以其有限的資源,有效應(yīng)付數(shù)量龐大的近乎無(wú)限的不同種類的病毒的侵害,這一特性引起了人們特別的關(guān)注。免疫算法(Immune Algorithm,IA)[6]正是這一思路的產(chǎn)物,是受生物免疫系統(tǒng)的啟示而設(shè)計(jì)出來(lái)的一種具有對(duì)多峰值函數(shù)進(jìn)行多峰值搜索及全局尋優(yōu)能力的新型算法。算法的主要思路是:將網(wǎng)絡(luò)權(quán)重視為生物免疫系統(tǒng)的淋巴細(xì)胞,通過(guò)對(duì)其基因交叉、變異的進(jìn)化操作和基于抗體濃度的調(diào)節(jié)操作,使基因不斷優(yōu)化,從而找到最佳抗體,即為滿足最小誤差函數(shù)E的權(quán)值向量。與進(jìn)化計(jì)算相比,免疫算法具有保持解群分布多樣性的優(yōu)點(diǎn),較好地克服了進(jìn)化計(jì)算在初始化解群分布不均勻時(shí)易出現(xiàn)未成熟收斂,陷于局部最優(yōu)和收斂速度慢的缺點(diǎn)。
基于上述情況,本文提出基于免疫過(guò)程的神經(jīng)網(wǎng)絡(luò)訓(xùn)練的免疫遺傳算法(Immune Genetic Algorithm,IGA)。主要過(guò)程見(jiàn)圖1所示。
圖1 免疫遺傳算法框圖
1.3 基于免疫遺傳的神經(jīng)網(wǎng)絡(luò)訓(xùn)練
(1) 抗體編碼方式
編碼操作適用于將問(wèn)題空間映射為算法空間,有二進(jìn)制碼和實(shí)數(shù)編碼等方式。前者簡(jiǎn)明通用,易于進(jìn)行遺傳操作,但不具備正則性,并破壞了解空間的拓?fù)溥B續(xù)性。實(shí)數(shù)編碼為自然正則碼,適于高精度運(yùn)算,神經(jīng)網(wǎng)絡(luò)權(quán)值及結(jié)構(gòu)編碼多用后者,本文依然沿用實(shí)數(shù)編碼方法。
圖2 實(shí)數(shù)編碼圖
典型的三層前饋網(wǎng)絡(luò)n-h-m結(jié)構(gòu),網(wǎng)絡(luò)節(jié)點(diǎn)依次編號(hào)為1, 2,…, n(輸入層),n+1,…, n+h(隱含層),n+h+1,…, n+h+m (輸出層);連接權(quán)wij表示由節(jié)點(diǎn)i到節(jié)點(diǎn)j的輸出權(quán);閾值bj為前一層對(duì)節(jié)點(diǎn)j的輸出閾值,然后依節(jié)點(diǎn)i順序串聯(lián)權(quán)值與閾值,構(gòu)成如圖2的抗體串。圖2中,αj與αbj分別為網(wǎng)絡(luò)節(jié)點(diǎn)和閾值節(jié)點(diǎn)存在標(biāo)識(shí),用于控制網(wǎng)絡(luò)結(jié)構(gòu)。當(dāng)αj或
αbj取值為1時(shí)該節(jié)點(diǎn)存在;否則該節(jié)點(diǎn)被刪減。
(2) 適應(yīng)度計(jì)算
設(shè)抗體Pi對(duì)應(yīng)的網(wǎng)絡(luò)的能量函數(shù)為Ei,則適應(yīng)度函數(shù)F(i)可直接定義為Ei的函數(shù)。本文設(shè)定:
其中,const為大于零的常數(shù),其目的是避免分母為0的溢出中斷,本文取const = 0.01。對(duì)本文考慮的單隱層前饋網(wǎng)絡(luò),
式中,Tp,k和Yp,k分別為第p個(gè)訓(xùn)練樣本的第k個(gè)輸出節(jié)點(diǎn)的期望輸出和實(shí)際輸出。
(3) 遺傳操作
對(duì)選擇后的抗體群,進(jìn)行遺傳操作。
① 交叉。這里采納兩點(diǎn)交叉方式;
② 高斯變異。首先將抗體解碼為相應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu),對(duì)所有權(quán)值組合的向量wi按下式
進(jìn)行變換,重新組成新的抗體。式中,N (0, 1)為高斯算子。
(4) 基于濃度的群體更新
群體更新策略結(jié)合免疫機(jī)制中抗體間基于濃度的相互抑制作用,引入濃度因子調(diào)整個(gè)體的選擇幾率Ps(i),總的目標(biāo)是抑制濃度過(guò)高抗體,同時(shí)保證適應(yīng)度高的個(gè)體被選中的概率大。因?yàn)榭贵w的濃度過(guò)高,則在進(jìn)化過(guò)程中容易陷入未成熟收斂。具體方法為:
式中,α,β為0~1間的可調(diào)參數(shù);MaxFitness為抗體的最大適應(yīng)度;C為抗體的濃度,可定義為:
其中,η為0~1之間的系數(shù),用于控制濃度。可以看出:對(duì)高濃度的t個(gè)抗體,其中適應(yīng)度較高的抗體獲得的得分修正反而較少;若抗體的濃度不高,則上式也可保證高適應(yīng)度的抗體得到的得分修正相對(duì)也高。
2 基于神經(jīng)網(wǎng)絡(luò)模型的油氣濃度智能預(yù)報(bào)
我國(guó)油庫(kù)眾多,由于它受多種自然因素的影響,因而決定了它的特殊性和復(fù)雜性。特別是機(jī)場(chǎng)油庫(kù)的監(jiān)控任務(wù)十分艱巨,必須引起足夠的重視。油庫(kù)油氣濃度的預(yù)報(bào)研究包括兩個(gè)方面:
一是油氣濃度的趨勢(shì)預(yù)報(bào),即根據(jù)油氣濃度的歷史數(shù)據(jù)來(lái)預(yù)測(cè)其未來(lái)一段時(shí)間的變化規(guī)律;
二是油氣擴(kuò)散的機(jī)理研究。油氣的擴(kuò)散過(guò)程取決于環(huán)境的溫度、濕度、通風(fēng)條件等自然因素,因此,油氣濃度預(yù)報(bào)模型必須能夠反映油氣擴(kuò)散的自然規(guī)律。
2.1 智能預(yù)報(bào)原理
神經(jīng)網(wǎng)絡(luò)的主要特征是自學(xué)習(xí),通過(guò)對(duì)樣本模式的學(xué)習(xí),模擬信息之間的內(nèi)在機(jī)制。神經(jīng)網(wǎng)絡(luò)對(duì)油氣濃度擴(kuò)散機(jī)制進(jìn)行識(shí)別的實(shí)質(zhì),是通過(guò)選擇適當(dāng)?shù)纳窠?jīng)網(wǎng)絡(luò)模型,逼近實(shí)際系統(tǒng)的動(dòng)態(tài)過(guò)程。若以某一時(shí)段的油氣濃度要素作為網(wǎng)絡(luò)的輸入,以未來(lái)一段時(shí)間的相應(yīng)油氣濃度要素作為網(wǎng)絡(luò)的輸出,網(wǎng)絡(luò)模型通過(guò)對(duì)歷史油氣資料的學(xué)習(xí),就能對(duì)蘊(yùn)含在該時(shí)段的油氣擴(kuò)散規(guī)律進(jìn)行映射。
設(shè)網(wǎng)絡(luò)輸入X=[X1,X2,…,Xn]T表示上個(gè)時(shí)段的油氣條件,輸出Y=[Y1,Y2,…,Yn]T表示下一個(gè)時(shí)段的油氣條件,期望輸出Yd=[Yd1,Yd2,…,Ydn]T表示下一個(gè)時(shí)段實(shí)測(cè)的油氣情況,油氣擴(kuò)散機(jī)制可表示為從輸入矢量X(t)∈Rn到輸出矢量Y(t)∈Rn的非線性映射Ne,即
誤差指標(biāo)為
2.2 油氣濃度模型的建立
在油庫(kù)油氣濃度智能預(yù)報(bào)模型中,將上個(gè)時(shí)段的油氣參數(shù)作為網(wǎng)絡(luò)的輸入,將下個(gè)時(shí)段作為網(wǎng)絡(luò)的輸出,網(wǎng)絡(luò)的預(yù)見(jiàn)期T為24小時(shí),以歷史油氣資料作為樣本對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,使網(wǎng)絡(luò)識(shí)別出該時(shí)段的油氣擴(kuò)散規(guī)律,并將該規(guī)律貯存在網(wǎng)絡(luò)權(quán)重中。如果已知上個(gè)時(shí)段的油氣參數(shù),完成訓(xùn)練的網(wǎng)絡(luò)就會(huì)預(yù)報(bào)出下個(gè)時(shí)段的油氣參數(shù),油氣在整個(gè)時(shí)段的傳播時(shí)間即為網(wǎng)絡(luò)的預(yù)見(jiàn)期。某油庫(kù)油氣濃度智能預(yù)報(bào)模型的結(jié)構(gòu)示意圖如圖3所示。
圖3 智能預(yù)報(bào)的神經(jīng)網(wǎng)絡(luò)模型
圖3中,t為上個(gè)時(shí)段的起報(bào)時(shí)刻,t+T 是網(wǎng)絡(luò)的預(yù)見(jiàn)期。對(duì)于油庫(kù)油氣濃度預(yù)報(bào)的建模思路是:構(gòu)造神經(jīng)網(wǎng)絡(luò)模型,應(yīng)用油氣資料進(jìn)行模型訓(xùn)練,當(dāng)訓(xùn)練精度達(dá)到要求時(shí),神經(jīng)網(wǎng)絡(luò)模型就能在此精度下映射油氣擴(kuò)散機(jī)制。
3 油氣濃度模型的免疫訓(xùn)練
訓(xùn)練樣本的預(yù)處理:在網(wǎng)絡(luò)的輸入項(xiàng)中,由于不同時(shí)段的參數(shù)相差較大,為了保證各因素處于同等地位,對(duì)輸入輸出項(xiàng)進(jìn)行數(shù)據(jù)歸一化預(yù)處理。
主要參數(shù)的取值如下:
網(wǎng)絡(luò)結(jié)構(gòu):5-10-1;
權(quán)值初始范圍:[-3,3];
訓(xùn)練集: 2003年2月16~19日油氣濃度;
測(cè)試集: 2003年2月20~22日油氣濃度;
群體規(guī)模:N = 200;
迭代次數(shù):epochs = 700;
控制參數(shù):α = β = 0.5;η = 0.8;
遺傳參數(shù):交叉概率Pc = 0.1;變異概率Pm = 0.05。
應(yīng)用上述參數(shù)對(duì)訓(xùn)練集進(jìn)行免疫遺傳學(xué)習(xí),并用測(cè)試集進(jìn)行泛化測(cè)試,MSE變化趨勢(shì)如圖4所示。
圖4 免疫遺傳算法的訓(xùn)練/測(cè)試誤差曲線
4 預(yù)報(bào)結(jié)果及分析
圖5為2月16~18日油氣濃度預(yù)報(bào)結(jié)果與實(shí)際結(jié)果比較,圖6為2月19~22日油氣濃度預(yù)報(bào)結(jié)果與實(shí)際結(jié)果比較。
圖5 2003年2月16~18日油氣濃度預(yù)報(bào)結(jié)果
圖6 2003年2月19~22日油氣濃度預(yù)報(bào)結(jié)果
預(yù)報(bào)結(jié)果表明,基于人工神經(jīng)網(wǎng)絡(luò)和遺傳算法的油氣濃度智能預(yù)報(bào)模型能夠較好地反映油氣擴(kuò)散運(yùn)動(dòng)機(jī)理。其中,最大預(yù)報(bào)誤差為6.86%;,最小預(yù)報(bào)誤差為2.36%,平均誤差為4.61%。預(yù)報(bào)精度較高,已達(dá)到實(shí)際應(yīng)用的精度
從預(yù)報(bào)結(jié)果來(lái)看,網(wǎng)絡(luò)模型對(duì)油氣濃度的預(yù)報(bào)精度較高,但有時(shí)誤差較大,這主要是網(wǎng)絡(luò)的訓(xùn)練問(wèn)題,訓(xùn)練樣本越多,代表性越強(qiáng),則精度越高。在實(shí)際應(yīng)用中還發(fā)現(xiàn),對(duì)于不同季節(jié)、不同的水文地質(zhì)環(huán)境,油氣擴(kuò)散過(guò)程會(huì)表現(xiàn)出不同變化規(guī)律,這主要是受自然因素的影響。因此,網(wǎng)絡(luò)模型應(yīng)具有在線學(xué)習(xí)功能。
5 結(jié)論
檢驗(yàn)結(jié)果表明,該智能預(yù)報(bào)模型,能夠較好地識(shí)別油氣擴(kuò)散的演進(jìn)規(guī)律,對(duì)不同季節(jié)、不同水文地質(zhì)環(huán)境的油氣濃度都能進(jìn)行合理預(yù)報(bào)。所建模型精度的擬合值與預(yù)測(cè)值都與實(shí)際數(shù)據(jù)吻合得較好,各測(cè)點(diǎn)的誤差值均在許可的范圍內(nèi)。通過(guò)該預(yù)測(cè)方法可提前了解油氣濃度的大小及發(fā)展趨勢(shì),及時(shí)采取預(yù)防措施,對(duì)保障油庫(kù)的安全具有重要的現(xiàn)實(shí)意義,為油庫(kù)油氣濃度預(yù)測(cè)提供了一種新方法。