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