宋朝鵬
(武漢市規(guī)劃研究院,武漢 430000)
變壓器的運(yùn)行狀態(tài)直接影響著電力系統(tǒng)的安全,快速準(zhǔn)確地診斷出變壓器已有故障或潛伏性故障,對(duì)提高電力系統(tǒng)運(yùn)行穩(wěn)定性和可靠性具有重要意義。目前,油中溶解氣體分析技術(shù)(DGA)是對(duì)油浸式變壓器進(jìn)行故障診斷最方便、有效的手段之一[1]。
在油中溶解氣體分析的應(yīng)用方面,傳統(tǒng)方法主要采用IEC三比值法,該方法為及時(shí)發(fā)現(xiàn)變壓器故障隱患起到了重要作用,但是該方法采用比值編碼,存在編碼缺損、邊界絕對(duì)化等問(wèn)題[2]。針對(duì)這些不足,誤差反向傳播BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)被應(yīng)用到變壓器的故障診斷中,并發(fā)揮出比較好的效果。但是BP 算法屬于梯度下降算法,當(dāng)樣本數(shù)目多、輸入輸出關(guān)系復(fù)雜時(shí),BP 網(wǎng)絡(luò)的收斂將非常緩慢,收斂精度不高,甚至出現(xiàn)不收斂的狀況。
粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)是一種近年被廣泛研究和應(yīng)用的群體智能優(yōu)化算法,具有收斂速度快、全局搜索能力強(qiáng)等優(yōu)點(diǎn),采用粒子群算法來(lái)優(yōu)化BP神經(jīng)網(wǎng)絡(luò),可有效克服BP 算法的缺點(diǎn)。然而標(biāo)準(zhǔn)的PSO 算法易陷入局部最優(yōu),出現(xiàn)所謂的早熟收斂現(xiàn)象,為此,對(duì)PSO算法的相關(guān)參數(shù)進(jìn)行改進(jìn),并引入變異運(yùn)算,形成改進(jìn)的粒子群優(yōu)化算法,將改進(jìn)粒子群與BP 算法結(jié)合,建立改進(jìn)粒子群優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)算法(IPSO-BP),以彌補(bǔ)BP 神經(jīng)網(wǎng)絡(luò)收斂速度慢、易陷入局部極小值、魯棒性不好等缺點(diǎn)。將IPSO-BP算法應(yīng)用于油浸式變壓器的故障診斷,測(cè)試結(jié)果表明,該方法能有效區(qū)分變壓器的各類故障,顯著提高了故障診斷準(zhǔn)確率。
粒子群算法是一種基于群體搜索的隨機(jī)優(yōu)化算法,起源于1986年Craig Reynolds提出的Bold模型[3]。假定在S維空間中,種群X=(X1,X2,…,XN)中的每一項(xiàng)代表一個(gè)粒子,每個(gè)粒子有其對(duì)應(yīng)的位置,即待優(yōu)化問(wèn)題的一個(gè)可能解,該位置用S維向量Xi=(xi1,xi2,…,xis)(i=1,2,…,N)來(lái)表示,其移動(dòng)速度vi=(vi1,vi2,…,vis)。根據(jù)目標(biāo)函數(shù)可以計(jì)算其適應(yīng)度,在每次迭代計(jì)算中,粒子通過(guò)追蹤個(gè)體最優(yōu)值Pi(pi1,pi2,…,pis)及全局最優(yōu)值Pg(pg1,pg2,…,pgs)來(lái)調(diào)整自己的速度,更新自己的位置,最終達(dá)到全局最優(yōu)。迭代更新公式如下:
式中:v為粒子當(dāng)前速度;x為粒子的位置;N為種群規(guī)模;k為迭代次數(shù);w為慣性權(quán)重;Pi為個(gè)體粒子當(dāng)前最優(yōu)值;Pg為當(dāng)前全局極值;c1和c2為加速因子,為非負(fù)常數(shù),用以調(diào)節(jié)粒子向最優(yōu)位置移動(dòng)的最大步長(zhǎng);r1和r2為0~1 的隨機(jī)數(shù)。
PSO算法具有較強(qiáng)的全局收斂能力,但是也易出現(xiàn)陷入局部極值、早熟收斂或停滯的現(xiàn)象[4]。為達(dá)到更好的優(yōu)化效果,本文在綜合粒子群算法已有優(yōu)點(diǎn)的基礎(chǔ)上,通過(guò)改進(jìn)粒子的參數(shù),引進(jìn)變異操作,修正粒子個(gè)體行動(dòng)軌跡,從而增強(qiáng)其全局搜索性能。
1.2.1 參數(shù)改進(jìn)
在粒子群算法研究初期,通常將慣性權(quán)重設(shè)為常數(shù),取得的效果并不佳,后來(lái)經(jīng)過(guò)大量研究發(fā)現(xiàn),將慣性權(quán)重設(shè)置為動(dòng)態(tài)變化的數(shù)值后,其搜索效果會(huì)明顯提高。為了使算法盡快進(jìn)入局部搜索,本文采用一種改進(jìn)的非線性遞減算法,即在運(yùn)算早期加快慣性權(quán)值的遞減速度。設(shè)定慣性權(quán)值運(yùn)算公式為:
式中:wmax、wmin分別為最大慣性權(quán)值與最小慣性權(quán)值;k、K分別為當(dāng)前的迭代次數(shù)和最大允許迭代次數(shù)。
在粒子群算法中,加速因子也具有重要作用。加速因子合理配置可加快粒子的尋優(yōu)速度,減少陷入局部最優(yōu)的可能性。在運(yùn)算初期,為確保每個(gè)粒子都能較全面地完成局部搜索,可使用較大的c1與較小的c2,而在搜索后期,則適當(dāng)減小c1、增大c2,加強(qiáng)粒子之間的信息交互,提高收斂的速度。建立加速因子調(diào)整公式為:
式中:cmax、cmin分別為設(shè)定的參數(shù)最大值與最小值;a、b為常數(shù)。
1.2.2 引入變異操作
粒子群算法存在易早熟收斂、后期迭代效率偏低等缺點(diǎn),為彌補(bǔ)這些不足,拓展搜索空間,降低出現(xiàn)局部極值的可能,在算法中引進(jìn)變異操作。在粒子每次完成更新后,對(duì)粒子進(jìn)行重新初始化,變異操作方式如下:
式中:h為[0,1]內(nèi)的一個(gè)隨機(jī)數(shù),確定粒子朝最小或最大的方向進(jìn)行變異;xmax、xmin分別為xij的上界和下界。
BP神經(jīng)網(wǎng)絡(luò)運(yùn)算可分為兩個(gè)階段:第一階段為正向過(guò)程,樣本從輸入層輸入,經(jīng)隱含層進(jìn)行逐層計(jì)算后得到各單元的輸出值;第二階段為反向傳播過(guò)程,網(wǎng)絡(luò)輸出誤差逐層向前計(jì)算出隱含層各單元的誤差,并用此誤差來(lái)修正前層權(quán)值與閾值[5]。通過(guò)正反向多次運(yùn)算,直到網(wǎng)絡(luò)全局誤差達(dá)到預(yù)設(shè)精度。由于BP 算法基于梯度下降的原理,不可避免存在易陷入局部最優(yōu)、收斂速度低及魯棒性差等缺點(diǎn)[6]。
本文應(yīng)用改進(jìn)PSO 算法(IPSO)來(lái)訓(xùn)練BP 神經(jīng)網(wǎng)絡(luò),最終搜索出粒子適應(yīng)度最小時(shí)的BP 網(wǎng)絡(luò)最優(yōu)權(quán)值和閾值。在IPSO優(yōu)化BP算法時(shí),粒子的維數(shù)等于神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值總個(gè)數(shù),在BP 網(wǎng)絡(luò)中,網(wǎng)絡(luò)調(diào)整權(quán)值和閾值是以誤差均方值為基準(zhǔn)的,因此本文建立了誤差均方值與IPSO算法適應(yīng)度函數(shù)的對(duì)應(yīng)關(guān)系。IPSO-BP中的適應(yīng)度函數(shù)可表示為:
式中:n為訓(xùn)練樣本總數(shù);m為輸出神經(jīng)元個(gè)數(shù);tj,i為神經(jīng)元理想輸出值;yj,i為神經(jīng)元實(shí)際輸出值。
IPSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)(IPSO-BP)的流程如下。
(1)步驟1:根據(jù)輸入、輸出訓(xùn)練樣本集,確定神經(jīng)網(wǎng)絡(luò)輸入層、隱含層和輸出層的節(jié)點(diǎn)數(shù),設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。
(2)步驟2:初始化算法參數(shù),需初始化的參數(shù)有最大迭代次數(shù)K,最大速度vmax,群體規(guī)模N,慣性權(quán)重wmax、wmin,加速因子cmax、cmin,粒子位置xmax、xmin,并將粒子的初始位置及速度初始化為[0,1]的隨機(jī)數(shù)。
(3)步驟3:根據(jù)式(5)計(jì)算每個(gè)粒子的適應(yīng)度函數(shù)值,以此確定每次迭代的Pi與Pg。
(4)步驟4:利用式(1)計(jì)算并更新每一個(gè)粒子的速度及當(dāng)前位置。利用式(2)~(3)確定參數(shù)的取值,再更新位置,更新后利用式(4)重新對(duì)xij進(jìn)行初始化。重新計(jì)算初始化后的每個(gè)粒子適應(yīng)度值,并將其適應(yīng)度值與其經(jīng)歷過(guò)的最好位置Pi作比較,若結(jié)果更優(yōu),則將Pi作為當(dāng)前的最好位置。
(5)步驟5:將步驟4 中每個(gè)粒子的適應(yīng)度值與全局所經(jīng)歷的最好位置Pg進(jìn)行比較,如果當(dāng)前粒子位置更好,則將當(dāng)前最好位置賦值給Pg。
(6)步驟6:檢驗(yàn)是否符合結(jié)束條件(迭代次數(shù)達(dá)到最大次數(shù)或達(dá)到最小誤差要求),若符合,則停止迭代,輸出全局歷史最優(yōu)解,否則轉(zhuǎn)到步驟4。
(7)步驟7:將得到的全局歷史最優(yōu)解映射到BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值中,得出故障診斷模型。
(8)步驟8:將測(cè)試樣本輸入改進(jìn)粒子群優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)中,通過(guò)分析輸出結(jié)果來(lái)校驗(yàn)算法性能。
如果油浸式變壓器出現(xiàn)放電、過(guò)熱等內(nèi)部故障,通常會(huì)產(chǎn)生H2、CH4、C2H2、C2H4、C2H6等5 種故障特征氣體[7]。本文以這5種氣體體積分?jǐn)?shù)作為神經(jīng)網(wǎng)絡(luò)的輸入量,為避免因訓(xùn)練樣本數(shù)據(jù)的較大差異性而影響神經(jīng)網(wǎng)絡(luò)的收斂,需先對(duì)數(shù)據(jù)進(jìn)行歸一化處理。變壓器內(nèi)部故障一般分為5 種故障類型,即高溫過(guò)熱(Y1)、中溫過(guò)熱(Y2)、低溫過(guò)熱(Y3)、高能放電(D1)、低能放電(D2),網(wǎng)絡(luò)輸出可表示為這5 類故障。高溫過(guò)熱、中溫過(guò)熱及低溫過(guò)熱的故障溫度分別設(shè)定為大于700 ℃、300~700 ℃以及小于300 ℃3種情況。高能放電指較強(qiáng)的火花放電或電弧放電,低能放電指較弱的火花放電或局部放電[8-9]。
在IPSO-BP算法執(zhí)行過(guò)程中,對(duì)參數(shù)進(jìn)行合理初始化具有重要影響。通過(guò)多次仿真試驗(yàn),設(shè)定最大迭代次數(shù)為500,群體規(guī)模為50,BP網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為5 -15 -5,粒子維數(shù)d=5 ×15 +15 ×5 +15 +5=170,慣性權(quán)重最大值wmax及最小值wmin分別設(shè)為0.8和0.3,加速因子最大值cmax設(shè)為2.5、最小值cmin設(shè)為0.5,最大速度vmax=1,常數(shù)a、b分別設(shè)為0.5、-0.5。本文收集了通過(guò)吊芯處理的200組變壓器故障數(shù)據(jù)作為訓(xùn)練樣本,輸入IPSO -BP 網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)訓(xùn)練,并最終確定神經(jīng)網(wǎng)絡(luò)最優(yōu)的連接權(quán)值與閾值。另選用120 組數(shù)據(jù)作為測(cè)試集來(lái)測(cè)試故障診斷性能。
根據(jù)選定的200 組訓(xùn)練樣本數(shù)據(jù),分別使用BP 算法、PSO-BP算法和IPSO-BP算法對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練學(xué)習(xí),訓(xùn)練目標(biāo)誤差精度設(shè)為0.000 1。
采用3種算法進(jìn)行訓(xùn)練時(shí)的平均誤差隨迭代次數(shù)k的變化曲線如圖1~3所示。從圖中可以看出,與BP算法、PSOBP算法相比,IPSO-BP算法在收斂速度、收斂精度、平均收斂性能方面表現(xiàn)更佳。BP算法經(jīng)過(guò)327 次迭代,誤差均方根F收斂于0.001 310 8,收斂精度不夠理想,收斂速度緩慢,在訓(xùn)練過(guò)程中易陷入局部極值,且很難跳出;PSO-BP 算法前期收斂速度較快,后期比較平緩,并逐步陷入局部極小值,最后經(jīng)過(guò)236次迭代達(dá)到最優(yōu)訓(xùn)練值0.000 275 59,收斂精度較好;IPSO-BP算法收斂曲線平滑且收斂精度最高,獲得了較好的尋優(yōu)效果,經(jīng)過(guò)146次迭代收斂于0.000 141 75,有效減小了訓(xùn)練誤差。從試驗(yàn)結(jié)果還可看出,達(dá)到同樣的平均誤差,采用IPSO-BP算法收斂所需的迭代次數(shù)k明顯更少,訓(xùn)練效率得到較大提高。由此可見(jiàn),IPSO-BP算法能夠有效避免陷入局部極值,不僅使訓(xùn)練的收斂精度大大提高,其訓(xùn)練的效率也得到明顯提升。
圖1 BP算法訓(xùn)練收斂圖
圖2 PSO-BP算法訓(xùn)練收斂圖
圖3 IPSO-BP算法訓(xùn)練收斂圖
為了比較不同算法的診斷效果,將收集到的120 組測(cè)試數(shù)據(jù)依次采用BP算法、PSO-BP算法及IPSO-BP算法進(jìn)行故障診斷。應(yīng)用3 種算法進(jìn)行故障診斷的正確率如表1 所示,與BP算法(正確率為79.2%)、PSO-BP 算法(正確率為86.7%)進(jìn)行比較,本文所采用的IPSO-BP算法(正確率為93.3%)對(duì)變壓器的故障識(shí)別率更高。以上診斷結(jié)果表明,IPSO算法在優(yōu)化神經(jīng)網(wǎng)絡(luò)參數(shù)過(guò)程中具有優(yōu)越性,表現(xiàn)出較強(qiáng)的泛化能力,可有效地完成故障區(qū)分。
表1 診斷準(zhǔn)確性對(duì)比
為進(jìn)一步驗(yàn)證本文方法在診斷變壓器故障時(shí)的實(shí)用性,采集5組現(xiàn)場(chǎng)采集的變壓器故障實(shí)例數(shù)據(jù),在進(jìn)行歸一化處理后輸入訓(xùn)練好的IPSO-BP神經(jīng)網(wǎng)絡(luò),得出表2 所示的測(cè)試診斷結(jié)果。診斷結(jié)果表明,IPSO-BP算法的故障診斷結(jié)果與實(shí)際故障類型完全一致,網(wǎng)絡(luò)診斷準(zhǔn)確率高,具有較好的實(shí)用性。
表2 變壓器故障診斷實(shí)例
針對(duì)BP神經(jīng)網(wǎng)絡(luò)在油浸式變壓器故障診斷應(yīng)用中存在易陷入局部極值、收斂速度慢等問(wèn)題,本文提出了一種改進(jìn)的粒子群優(yōu)化算法,并將其運(yùn)用于BP 神經(jīng)網(wǎng)絡(luò)的參數(shù)優(yōu)化中。仿真結(jié)果表明,本文所采用的IPSO-BP神經(jīng)網(wǎng)絡(luò)算法收斂速度快、訓(xùn)練誤差小,可有效提高變壓器故障診斷的準(zhǔn)確率,具有較高的工程實(shí)際應(yīng)用價(jià)值。