張躍輝
(山西新村煤業(yè)有限公司,山西 長治 046000)
在井下機電設(shè)備中,以井下掘進機電氣設(shè)備耗電量為最大,此類設(shè)備中,大功耗電氣設(shè)備有電力變壓器、電動機、帶式輸送機和掘進機四種。而電力變壓器又是輸電網(wǎng)絡(luò)中的主要設(shè)備,是電力安全傳送的重要保障。隨著井下供電需求的增加,電力變壓器容量越來越大,其帶來的能量耗損問題也日益凸顯。電力變壓器的能量耗損主要是運行過程中的空載和負載,二者均可由試驗獲得。實際生產(chǎn)中,既要保證低空載損耗,還要降低負載損耗,這就要求統(tǒng)籌優(yōu)化好兩者之間的比例。
20世紀70年代,奧地利學者計算變壓器電流時忽略了集膚效應(yīng),然后從其它方面提高了算法精度;隨后的德國科學家,在忽略集膚效應(yīng)的基礎(chǔ)之上,又建立了變壓器中各個參數(shù)在不同頻率影響下轉(zhuǎn)換的數(shù)學模型,依次優(yōu)化各個參數(shù)[1]。傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)中使用的是常數(shù)學習率,本文擬從均方誤差與權(quán)值的角度出發(fā),每個迭代步產(chǎn)生誤差后都進行調(diào)整,即對各層的權(quán)值進行動態(tài)調(diào)節(jié),此法亦稱為自適應(yīng)步長法。具體來說就是用隨機選擇的歸一化樣本來訓練和預(yù)測方法,預(yù)測井下掘進機的電壓。當求得預(yù)測值與真實值間的誤差≤0.04,說明改進的方法有效。
人工神經(jīng)網(wǎng)絡(luò)簡稱ANN網(wǎng)絡(luò),是受動物神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)啟發(fā),讓要實現(xiàn)的原理或功能自己進行模擬和訓練,即具備自學能力。人工神經(jīng)網(wǎng)絡(luò)單元與單元之間由權(quán)值連結(jié),神經(jīng)網(wǎng)絡(luò)的好壞直接取決于權(quán)值[2]。選擇不同的權(quán)值,得到不同的神經(jīng)網(wǎng)絡(luò),其訓練效果也不同。神經(jīng)網(wǎng)絡(luò)是由多個神經(jīng)元組成,包括輸入層、中間層、輸出層,每個神經(jīng)元在輸入數(shù)據(jù)后都能輸出單一的結(jié)果[3]。按照拓撲結(jié)構(gòu)的分類原理,可將人工神經(jīng)網(wǎng)絡(luò)分為前饋型和反饋型。后者應(yīng)用范圍最廣,但是也要求較高的計算能力和反饋調(diào)節(jié)能力,結(jié)構(gòu)也較前者復雜。神經(jīng)網(wǎng)絡(luò)訓練方法,是每次迭代之后,權(quán)值都會根據(jù)記憶和自身優(yōu)化能力進行調(diào)整。神經(jīng)網(wǎng)絡(luò)的穩(wěn)定輸出取決于網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)的權(quán)值和輸入數(shù)據(jù)。輸入數(shù)據(jù)的隨機性越大,誤差越大。反饋型神經(jīng)網(wǎng)絡(luò)的缺點在于,網(wǎng)絡(luò)訓練的權(quán)值要朝著誤差遞減的方向進行訓練,在這種情況下會產(chǎn)生一種偽狀態(tài)(局部極小值),不能實現(xiàn)全局最優(yōu)收斂。前饋型神經(jīng)網(wǎng)絡(luò)中,權(quán)值處理方向都指向數(shù)據(jù)輸出方向,即方向單一。換言之,在神經(jīng)網(wǎng)絡(luò)方法訓練過程中,各層神經(jīng)元之間的權(quán)值是相互關(guān)聯(lián)的,表示輸入層和輸出層間的關(guān)系,沒有訓練的神經(jīng)網(wǎng)絡(luò),其權(quán)值就沒有意義,所以該網(wǎng)絡(luò)不能被用來預(yù)測數(shù)據(jù)[4],神經(jīng)網(wǎng)絡(luò)權(quán)值系統(tǒng)圖見圖1。
圖1 神經(jīng)網(wǎng)絡(luò)權(quán)值系統(tǒng)圖Fig.1 Weight system of neural network
本文擬選用前饋型神經(jīng)網(wǎng)絡(luò)中的經(jīng)典算法——BP神經(jīng)網(wǎng)絡(luò)算法來預(yù)測電壓。利用其單向的訓練學習方法,可以將輸入的預(yù)測數(shù)據(jù)從此神經(jīng)網(wǎng)絡(luò)中優(yōu)化輸出。
圖1是神經(jīng)網(wǎng)絡(luò)的一個典型模型——多入單出的非線性模型。n表示數(shù)據(jù)輸入個數(shù),X表示系統(tǒng)輸入信號,W表示權(quán)矢量,f(·)是激活函數(shù)。具體步驟如下:①訓練樣本X被作為輸入信號輸入,通過調(diào)整權(quán)系數(shù)W,得到相應(yīng)的結(jié)果,然后輸出;②把期望的數(shù)字信號當成訓練的信號,與①中結(jié)果進行比較,得到誤差;③用得到的誤差去控制和修改權(quán)系數(shù)W。如果將上圖輸出結(jié)果記為u的話,則有:
u=∑WiXi=W1X1+W2X2+…+WnXn.
(1)
式中,i=1,2,…,n表示樣本數(shù)。
用期望輸出信號Y(t)和u對比,得到誤差信號m,然后利用誤差m沿誤差減小的方向調(diào)整權(quán)值,直到滿足系統(tǒng)設(shè)定誤差。學習過程結(jié)束的標志是實際輸出值u和期望輸出值Y(t)無限逼近。
傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)原理包含:向前傳輸數(shù)據(jù),反向傳輸輸出值與樣本值間的誤差,動態(tài)修正權(quán)值。在傳統(tǒng)的三層BP網(wǎng)絡(luò)算法中,設(shè)輸入層、隱含層、輸出層分別含有神經(jīng)元A、B、C個,對應(yīng)的某一神經(jīng)單元符號為xi、ym、zn。記xl到y(tǒng)m的權(quán)值為Wlm,ym到zn的權(quán)值為Wmn,設(shè)定傳遞函數(shù),于是得到網(wǎng)絡(luò)結(jié)構(gòu)圖,見圖2。
圖2 三層BP網(wǎng)絡(luò)Fig.2 Three-layer BP network
根據(jù)網(wǎng)絡(luò)順序,記輸入與輸出分別為u、v,系統(tǒng)輸出的表達式為:
(2)
式中:C為輸出結(jié)果C的向量。
期望函數(shù)為:
D(n)=[d1,d2,…,dC].
(3)
2.2.1工作信號正向傳播
輸入n個信號,輸入層輸出:
(4)
(5)
假設(shè)f(·)為sigmoid函數(shù),則網(wǎng)絡(luò)隱含層的第i個神經(jīng)元的輸出等于:
(6)
(7)
網(wǎng)絡(luò)輸出層第j個神經(jīng)元的輸出為:
(8)
其相應(yīng)的誤差為
(9)
整個網(wǎng)絡(luò)的總誤差可表示為:
(10)
2.2.2誤差信號反向傳播
1)調(diào)整隱含層與輸出層間的連接權(quán)值:
=ΔWbc(n)+Wbc(n) .
(11)
此時偏導可表示為:
(12)
其中,
再將傳遞函數(shù)用其導數(shù)表示,可以得到梯度值如下式:
(13)
再經(jīng)權(quán)值修正量修正后可得到局部梯度如下:
(14)
又因為神經(jīng)元的局部梯度的傳遞函數(shù)通常是線性的,可知其導數(shù)為1。
2)誤差信號向前傳播,對輸入層與隱含層之間的權(quán)值Wab進行調(diào)整。與上一步類似,應(yīng)有:
(15)
同樣的,有局部梯度為:
(16)
上式中,f(n)為sigmoid函數(shù)。由于隱含層不可見,因此無法直接求出誤差對該層輸出值的偏導,于是需要上一步計算中求得的輸出層節(jié)點的局部梯度:
(17)
故有:
(18)
至此,整個神經(jīng)網(wǎng)絡(luò)訓練過程結(jié)束,簡言之,修正權(quán)值等于系η,局部梯度δ,輸出值υ的積,即:可將過程簡化表示如下:
ΔW=ηδv.
(19)
傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)算法中,結(jié)果的收斂速度很大程度上取決于常量值學習率,即影響訓練時間和訓練結(jié)果。本文從學習率常數(shù)出發(fā),將傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)學習率常數(shù)修改成自適應(yīng)變化的學習率常數(shù),即記錄每次迭代產(chǎn)生的均方誤差,及時調(diào)整學習率。改進算法為:
(20)
改進算法所對應(yīng)的權(quán)值變化為:
(21)
改進后的神經(jīng)網(wǎng)絡(luò)算法可以具體的描述為以下步驟:①選取樣本庫,設(shè)定網(wǎng)絡(luò)結(jié)構(gòu),初始化網(wǎng)絡(luò)權(quán)值和閾值,并且設(shè)定訓練誤差允許值ε;②輸入樣本;③輸出結(jié)果,計算各層輸出誤差,再通過訓練樣本求得樣本總體的誤差;④調(diào)整各層的權(quán)值;⑤迭代n+1次,分別向前和反向進行計算,直到誤差滿足設(shè)定的閾值,訓練結(jié)束。
本文從煤礦實際情況出發(fā),建立井下掘進機電壓的非線性模型,利用BP神經(jīng)網(wǎng)絡(luò)建立配電系統(tǒng)中的電壓預(yù)測結(jié)構(gòu)。具體分為以下步驟:
1)選擇和組織樣本數(shù)據(jù)。選取在區(qū)間[-30,30]上的電壓,擴大樣本容量,并對端口數(shù)據(jù)進行標準化處理。
2)建立網(wǎng)絡(luò)結(jié)構(gòu)。建立三層BP網(wǎng)絡(luò)模型,設(shè)定網(wǎng)絡(luò)節(jié)點輸入數(shù)為10,網(wǎng)絡(luò)節(jié)點輸出數(shù)為3。根據(jù)Hecht-Nielsen理論[7],訓練過程中的隱含節(jié)點數(shù)等于2X+1(X為輸入節(jié)點數(shù)目)。于是,拓撲網(wǎng)絡(luò)結(jié)構(gòu)就是10×21×3。采集10次數(shù)據(jù),將結(jié)果作為10維向量輸入,輸出一個3維向量。
3)系統(tǒng)仿真。設(shè)定采樣周期為30ms;用二階慣性系統(tǒng)隨機選擇數(shù)據(jù),并將數(shù)據(jù)歸一化處理;電壓標準值設(shè)定為220V,波動區(qū)間[-30,30];開始訓練和測試。具體的測試矢量限于篇幅不再列出,直接給出改進的訓練曲線見圖3,并將改進后曲線同改進前曲線做對比。
圖3 樣本曲線對比Fig.3 Comparison of sample curves
通過對比可以看出,預(yù)測曲線與實際曲線基本是吻合的,誤差最大處為0.04,可以接受。而且發(fā)現(xiàn),傳統(tǒng)方法迭代需要234次達到的精度,改進后的迭代算法只需5次就能達到,極大地提升了運算效率。
本文推導了神經(jīng)網(wǎng)絡(luò)的算法,闡明了傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)在迭代和誤差精度上的不足之處。然后通過利用自適應(yīng)步長法及時調(diào)整輸入層、隱含層、輸出層間的權(quán)值,擴大樣本容量,歸一化樣本;將改進的算法用于實踐,得到誤差較小的預(yù)測值。