丁騰飛,曹云俠
(1.中國科學院沈陽自動化研究所,沈陽 110016;2.中國科學院大學,北京 100049)
隨著我國經濟健康快速發(fā)展,對電能的需求迅速增長,電網規(guī)模日益擴大,變壓器是電力系統(tǒng)中重要的電力轉換設備之一,承擔著電壓變換、電能分配的任務,變壓器的安全可靠運行對整個電網的安全起著至關重要的作用。但由于變壓器長期運行,故障和事故不可能完全避免,因此變壓器故障診斷以及預測具有重大意義。大型變壓器一般是油浸式,油中溶解氣體分析技術(DGA)對油浸變壓器故障診斷應用非常廣泛,并且往往能準確、可靠地發(fā)現(xiàn)逐步發(fā)展的潛伏性故障,防止由此引起重大事故。氫氣、甲烷、乙烷、乙炔、乙烯、一氧化碳、二氧化碳是變壓器油中溶解氣體色譜分析的重要組分,故障類型通常分為熱故障和電故障,熱故障又可以分為高溫過熱、中溫過熱、低溫過熱,電故障分為局部放電、電弧放電、火花放電。通過氣體的含量來判斷故障的類型是一個模式識別的過程[1],神經網絡具有良好的非線性映射能力,但由于神經網絡的收斂速度緩慢,容易陷入局部最小點等局限性,有時甚至不能收斂,因此故障診斷準確率并不高。
粒子群算法是一種新型的群智能優(yōu)化算法,具有優(yōu)越的全局搜索能力,可以發(fā)揮粒子群算法的全局搜索能力優(yōu)化BP神經網絡的權值和閾值,充分發(fā)揮兩種算法各自優(yōu)點。采用H2、CH4、C2H4、C2H6、C2H2五種氣體作為神經網絡的輸入,故障的類型歸并為高溫過熱、中低溫過熱、高能放電、低能放電,用100組實際數據進行仿真調試,并調整優(yōu)化各個參數,建立準確、高效的故障診斷模型[2]。
PSO算法是對鳥群覓食行為的研究得出,每只鳥就是PSO中的粒子,也是需要求解問題的可能解,這些鳥在覓食過程中,通過個體之間的合作和群體信息共享不停改變自己在空中飛行的位置與速度來尋找食物。通過對鳥群覓食行為特征的抽象,PSO隨機初始化為一群粒子,假設在D維的搜索空間中,n個粒子組成的種群表示為X=(X1,X2,…,Xn),第i個粒子在D維空間中的位置表示成向量:Xi=(X1,X2,…,Xd)T,也是求解問題的潛在解;第i個粒子的速度表示為向量Vi=(V1,V2,…,Vd)T,速度決定粒子在搜索空間內每一次迭代產生的位移。PSO算法便在解空間中初始化一群粒子,用粒子的位置、速度和適應度值來表示每個粒子的特征,適應度值由適應度函數來確定,適應度值的好壞反映了粒子的優(yōu)劣。粒子在解空間中運動,粒子位置的更新根據個體極值(pbest)和群體極值(gbest)來決定,pbest是粒子本身所找到的最優(yōu)解,gbest是種群中所有粒子找到的最優(yōu)解。粒子每更新一次都會計算一次適應度值,比較兩次適應度值的大小來確定更新pbest和gbest的位置。粒子速度和位置更新公式如下:
說明:在式(1)、式(2)中,i=1,2,…,M,
M是種群粒子總數;
Vi是粒子運動速度;
ω為非負數,慣性權重或慣性因子;
pbest和gbest是個體極值和群體極值;
rand()是(0,1)之間的隨機數;
Xi是粒子當前位置;
C1和C2是學習因子也稱為加速因子;
公式(1)的第一部分包含了上次速度大小和方向對下次粒子運動的影響;第二部分是從當前位置到粒子自身搜索到的最好位置向量,蘊含粒子運動過程中自身的經驗;第三部分是從當前位置到種群最佳位置的向量,反映了粒子間信息交互,粒子通過自身和群體中最好的經驗決定下一步運動。粒子還有一個最大限制速度Vmax( Vmax>0),保證了粒子運動速度不會超過某個設定的范圍。Vmax是當前點與最好點之間的運動步長(或精度)。如果Vmax太大,粒子可能越過極小點,如果Vmax過小,則粒子不能在搜索空間進行充分搜索,甚至會陷入到局部極小值。
1.2.1 慣性權重
慣性權重ω是上一次速度對本次影響大小的描述,ω使粒子具有擴展搜索空間的能力。如果ω=0,粒子速度只取決于個體當前位置和種群中的最好位置,粒子本身沒有繼承以前搜索的良好經驗,如果這個粒子處在全局最優(yōu)位置,它將保持在這個位置不動,其他粒子向著自身搜索到的最佳位置和全局最佳位置的加權中心運動,這樣反復迭代粒子最終聚集到當前全局最好位置;如果ω≠0,粒子便可以擴展搜索空間,ω可以兼顧全局和局部搜索能力的平衡。ω大全局搜索能力較強,ω小局部搜索能力凸顯。
為了滿足搜索過程中開始搜索時希望在全局充分搜索,防止陷入局部最小點,隨著搜索過程的進行,全局搜索基本達到要求,局部搜索能力便可加強,有利于進行精確的局部搜索,這樣速度減小過程平穩(wěn),保證全局搜索的全面性,后期局部搜索的精確化。因此ω的變化基本上是一個由大變小的過程。
ωmax是最大慣性權重;ωmin是最小慣性權重;t是當前的迭代次數;T是最大迭代次數;ωmax一般取0.9,ωmin一般取0.4。
1.2.2 學習因子
學習因子C1、C2表征了粒子自身經驗與群體經驗在其運動過程中所起的作用。如果C1較小,粒子缺乏自身經驗,只有社會經驗,收斂速度變快,面對復雜問題容易陷入局部最優(yōu)點。如果C2較小,粒子缺少群體間的信息共享,每個粒子只是依靠自身的經驗來搜索,因而得到最優(yōu)解的機率非常小。因此,學習因子C1和C2大小反映將每個粒子推向pbest和gbest位置的權值,通常C1=C2=2可以取得比較好的效果,但是動態(tài)調整參數可以優(yōu)化算法性能[3]。PSO算法希望前期粒子的認知能力更強一些,所有粒子充分發(fā)揮自身搜索能力,避免開始時社會的群體認知過大,使大部分粒子都向著某個方向移動,不能充分挖掘出全局最優(yōu)值。這樣C1由大變小,C2由小變大的相對趨勢,能充分發(fā)揮粒子自身搜索能力,又能兼顧所有粒子的群體認知。
C1,C2動態(tài)調整式子為:
參數設置為Cmax=2.6,Cmin=0.6,t是當前的迭代次數;T是最大迭代次數。
1.2.3 變異思想
PSO算法收斂速度快,通用性強,但粒子在搜索過程中不斷地向自身搜索的最優(yōu)位置或者群體的最優(yōu)位置不斷移動聚集,容易陷入局部極值、早熟收斂、后期迭代效率不高等缺點。為了在一定程度上緩解這個不足之處,借鑒遺傳算法中的變異思想,每次迭代都以一定的概率重新初始化某些變量,保證一定的變異率,使粒子跳出先前搜索到的最優(yōu)位置區(qū)域,擴展不斷縮小的搜索空間,保證種群的多樣性,提高算法尋找到最優(yōu)值的能力。
MATLAB代碼如下:
神經網絡通常由輸入層、隱含層、輸出層構成,BP網絡是多層前饋神經網絡,能存貯大量的輸入-輸出之間的映射關系,可以實現(xiàn)從輸入到輸出的任意非線性映射,它采用最速下降學習規(guī)則,通過誤差反向傳播來不斷調整網絡的權值和閾值,最終使網絡的誤差平方和最小。因此,其主要特點就是信號的正向傳播和誤差的反向傳播,前向傳遞是樣本從輸入層輸入,經過隱含層傳至輸出層,若網絡訓練的實際輸出與期望輸出誤差值太大,就進行誤差反向傳播。誤差反向傳播是把預測的誤差通過隱含層向輸入層逐層反向傳播,每一層根據誤差信號修正權值和閾值,從而使BP神經網絡的預測輸出與期望輸出步步逼近。通過信號正向傳播和誤差反向傳播,權值和閾值周而復始、不斷調整,一直持續(xù)到網絡的輸出誤差減小到設定的誤差范圍或學習次數為止。拓撲結構如圖1所示。
圖1 BP神經網絡拓撲圖
神經網絡的訓練對學習速率大小變化非常敏感,學習速率決定著循環(huán)訓練過程中網絡權值的變化量,標準的BP神經網絡學習速率是固定不變的,網絡學習過程中容易產生震蕩,在訓練后期收斂緩慢,為了改善固定學習速率的不足,能在訓練過程中迅速跳出局部最小點并達到全局最小點,采取學習速率由大變小的方法,開始使網絡權值以較大的變化跳過局部最小點,然后以比較平穩(wěn)的學習速率達到全局最優(yōu)點,而且整個訓練過程能夠平穩(wěn)的進行,后期保持網絡的穩(wěn)定[4]。改進的BP神經網絡算法避免由于固定學習速率在開始收斂緩慢,后期相對過大的學習速率產生震蕩的弊端,得到更加準確的輸出值,在一定程度上也縮短網絡學習時間。BP算法經過反復迭代可以使權值收斂到某個值,但并不能保證誤差為全局最小值,因為采用梯度下降法可能產生局部最小值,可以采用附加動量法來解決這個問題。
標準BP神經網絡初始權值和閾值都是隨機產生的,PSO算法是通過不斷地更新粒子的位置和速度,使得粒子的適應度值越來越小(或大),收斂速度快、全局搜索能力強,用來優(yōu)化BP神經網絡可以彌補BP神經網絡的不足。將BP網絡的權值和閾值用PSO中粒子的位置來代替,BP網絡輸出的誤差均方值用粒子的適應度值來表示,可以得出比隨機方法產生權值和閾值更好的初始值,實現(xiàn)BP網絡的優(yōu)化。
根據國際電工委員會(IEC)的推薦,選用H2、CH4、C2H6、C2H4、C2H2作為輸入,高能放電、低能放電、高溫過熱、中低溫過熱作為輸出,因此BP神經網絡輸入層節(jié)點個數L=5,輸出層神經元個數N=4。隱含層神經元個數為M,隱含層神經元個數的確定沒有確定的理論計算,只有經驗公式(L為輸入層神經元個數, N輸出層神經元個數,a是[0,10]之間的常數)估計神經元的大體范圍,經過經驗公式計算隱含層個數大體在4-14之間,如果隱含層節(jié)點數過少,神經網絡難以建立合適的映射關系,網絡不能做出較好的預測;如果隱含層節(jié)點數太多,網絡學習時間變長,甚至出現(xiàn)“過學習”現(xiàn)象[5]。具體個數的確定通過實驗的方法來確定,程序中可以從4~14個神經元做循環(huán)訓練測試,經過多次比較平均誤差大小,確定隱含層神經元個數。
訓練樣本中蘊含著網絡要提取的規(guī)律,因此樣本要有代表性,不僅使每個類別的樣本數大體相等,同一類樣本也要保持多樣性,使網絡訓練時“見多識廣”,增強泛化能力。樣本的輸入要將不同類別的樣本交叉輸入,或是從樣本中隨機輸入,同類的樣本大量集中輸入會使網絡只建立與其匹配的映射關系,當輸入另一類樣本時,權值又根據新樣本進行大幅調整而否定前面的訓練結果,容易引起網絡震蕩,延長訓練時間[6]。輸入的數據如果差別比較大,或是單位不一致等要進行歸一化處理,由于不同故障氣體含量在數值上差別比較大,因此對輸入數據進行歸一化處理。
PSO優(yōu)化BP神經網絡,要建立二者之間的關系,建立粒子維度和網絡權值和閾值的對應關系,粒子的維數等于神經網絡權值和閾值數。對于結構為L-M-N的3層網絡,網絡權值個數為L×M+M×N個,閾值個數為M+N個,因此粒子維數L×M+M×N+M+N。粒子群的適應度函數fitness是神經網絡的誤差均方值。通過粒子群的全局搜索,使全局誤差達到最小值。評價粒子的好壞主要看粒子的適應度值,在粒子群優(yōu)化神經網絡中,粒子的適應度值就是網絡輸出的誤差均方值,因此粒子的適應度值越小越好。
PSO-BP適應度函數為:
將優(yōu)化后的全局最優(yōu)位置向量賦值給BP神經網絡權值和閾值,對于結構為L-M-N的三層網絡,一般將前L×M個值映射到輸入層到隱含層之間的權值,將第L×M+1到L×M+M個值作為隱含層的閾值,第L×M+M+1到L×M+M+M×N個值映射到隱含層到輸出層之間的權值,剩下的作為輸出層的閾值。
故障種類編碼,如[1 0 0 0]代表高溫過熱,其他故障類型依次編碼;神經網絡的傳遞函數個數有限,可以分別組合不同的傳遞函數,通過實驗比較得出誤差最小的組合;學習算法采traingdx,實現(xiàn)學習速率可變;構建5-M-4的神經網絡結構,通過循環(huán)測試求出從4~14個隱含層神經元個數時的均方誤差,比較得出誤差最小時的隱含層數目,經實驗分析當隱含層神經元為10時誤差最小,所以M=10。
粒子群大小N表示每一代粒子群中所含粒子的數目,最佳粒子群規(guī)模要根據具體問題確定。N較小,PSO的運算速度較快,種群的多樣性變差,容易引起過早收斂;N取值過大,運行時間過長尋優(yōu)效率降低,粒子群對種群規(guī)模N不是很敏感,N設為60;
粒子維數由上述方法得D=104;迭代次數的確定要綜合考慮種群個體的長度、尋找最優(yōu)解的速度和運行時間等因素,根據實驗(如圖3所示)確定最大迭代次數為120時適應度值基本不再減??;最大速度設置為Vmax=0.8,如果Vmax較小,則搜索速度較慢,粒子較容易陷入局部最優(yōu)值,若Vmax較大,則粒子每次移動的距離就較大,容易跳過全局最優(yōu)解;慣性權重ω和學習因子C按上述公式(3)、式(4)、式(5)分別調整[7]。
用100組實際數據對網絡進行訓練,另外20組數據作為測試樣本,根據確定好的神經網絡結構,分別用單一BP神經網絡、未改進的PSO-BP和改進的PSO-BP在MATLAB上進行仿真實驗,對預測結果進行比較。三種方法的網絡訓練誤差如圖2所示,PSO-BP和改進PSOBP適應度值和迭代次數關系如圖3所示。
標準BP神經網絡(如圖2(a)所示)開始誤差下降很快,訓練到接近20次已基本達到穩(wěn)定,但是訓練終止始終要到最大訓練次數才停止,在后期的訓練當中誤差基本不再減小,梯度下降的方法不能很好的達到要求,故障識別準確率也并不高。優(yōu)化之后的兩種方法(如圖2(b)、(c)所示)分別在93和59次收斂,并且誤差比單一BP神經網絡小很多,后兩種方法隨著訓練次數增加誤差一直趨于減小的過程中,表明經過優(yōu)化的BP神經網絡改變了標準BP神經網絡只能在開始階段隨梯度下降的缺點。PSO-BP和改進PSO-BP相比,改進后的方法誤差更小,誤差下降曲線較平滑,沒有劇烈震蕩產生,迭代次數也變少,訓練時間更短,網絡性能有所提高。
由圖3可以看出兩種方法的適應度曲線下降情況,雖然PSO-BP的適應度值迅速減小,但是在后期基本趨于平緩狀態(tài),減小甚微;改進的PSO-BP基本一直處于減小狀態(tài),說明粒子一直在搜索,且適應度值比未改進的PSO-BP的更小,即誤差更小,表明經過幾個參數的動態(tài)變化有效的提高了PSO-BP方法的整體性能。
3種方法的診斷結果如表1所示,可以看出PSO-BP算法比單一的BP神經網絡誤差更小、正確率更高,相比之下改進后的PSO-BP又比PSO-BP正確率有所提高,性能更佳。
圖2 三種方法的誤差曲線
圖3 適應度曲線
表1 不同算法的訓練結果
綜合圖表中的數據,改進PSO-BP算法在迭代次數、平均誤差、診斷準確率等方面表現(xiàn)更優(yōu)異,在變壓器故障診斷中有重要應用價值。
PSO-BP神經網絡通過對慣性權重、學習因子、學習速率等參數的優(yōu)化,避免了傳統(tǒng)的PSO和BP算法的不足之處,結合兩種算法的優(yōu)點,更快更準確的找到最優(yōu)值,實現(xiàn)可靠的分類功能,用于變壓器的故障診斷,相比單一的BP神經網絡算法在性能和準確率上都有了很大提高,但是運用智能算法進行實際的故障劃分對一些處于臨界值具有模糊性情況下的數據并不能起到很好的劃分作用,但是能起到故障預警的作用,故此方法在實際工程中仍有很大的研究意義和應用價值。
[1] 操敦奎.變壓器 油中氣體分析診斷與故障檢查[M].北京:中國電力出版社,2005.
[2] 回敬,律方成.將具有可信度的BP神經網絡應用于變壓器故障診斷[J].電力科學與工程,2010,26(2):9-13.
[3] 梁昔明,董淑華,等.動態(tài)慣性權重和維變異的粒子群優(yōu)化算法[J].計算機工程與應用,2011,47(5):29-31.
[4] 史峰,王小川,郁磊,等.MATLAB神經網絡30個案例分析[M].北京:北京航空航天大學出版社2010.
[5] 項文強,張華,等.基于L-M算法的BP網絡在變壓器故障診斷中的應用[J].電力系統(tǒng)保護與控制,2011,39(8):100-103
[6] Du wenxia, Ju xiyuan, Lu feng. Transformer fault diagnosis based on fuzzy clustering algorithm[J].Transformer,2009,46,8:65-69.(in Chinese).
[7] 張麗平,俞歡軍,陳德釗,胡上序.粒子群優(yōu)化算法的分析與改進[J].信息與控制,2004,05:513-517.