黃山
(吉林省水利水電勘測設(shè)計研究院,吉林長春130021)
基于BP和RBF神經(jīng)網(wǎng)絡(luò)的水輪機綜合特性曲線的擬合
黃山
(吉林省水利水電勘測設(shè)計研究院,吉林長春130021)
關(guān)于大波動過渡過程中水輪機特性曲線的處理有很多種方法,其中有用神經(jīng)網(wǎng)絡(luò)方法來訓練相關(guān)數(shù)據(jù)形成網(wǎng)絡(luò)從而預測待求數(shù)據(jù)點,其中BP和RBF兩種網(wǎng)絡(luò)為較為常用的神經(jīng)網(wǎng)絡(luò)方法。本文通過學習Matlab中神經(jīng)網(wǎng)絡(luò)工具箱的調(diào)用,比較分析了BP和RBF兩種神經(jīng)網(wǎng)絡(luò)在水輪機特性曲線擬合上的區(qū)別,試圖找出BP網(wǎng)絡(luò)隱含層神經(jīng)元個數(shù)對其擬合精度的影響,以及隨著其神經(jīng)元個數(shù)增加而擬合度增加的情況。
BP與RBF神經(jīng)網(wǎng)絡(luò);數(shù)據(jù)擬合;綜合特性曲線;水輪機
由于輸水道和調(diào)壓室結(jié)構(gòu)參數(shù)、水輪發(fā)電機組參數(shù)、導葉關(guān)閉規(guī)律等的選擇都將受到輸水系統(tǒng)水錘波的嚴重影響,而水電站大波動過渡過程數(shù)值計算可以很好地模擬瞬變流過渡過程中水錘波對整個輸水系統(tǒng)的主要作用,因此水電站設(shè)計較大程度上將受到水電站大波動過渡過程數(shù)值計算分析結(jié)果的影響。同時,該計算分析結(jié)果也為水輪機機組的安全穩(wěn)定運行提供了可靠的前提條件。在水輪機調(diào)節(jié)系統(tǒng)大波動過渡過程計算中,需要知道水輪機的流量特性和力矩特性。而這兩種特性往往是根據(jù)廠家提供的模型綜合特性曲線和飛逸特性曲線轉(zhuǎn)換獲得。但綜合特性曲線只提供高效率區(qū)附近的特性,而飛逸特性只提供空載工況的特性,這只能提供過渡過程計算中流量變化區(qū)域內(nèi)一小部分的水輪機特性值,是遠遠不夠的。因此,對水輪機綜合特性曲線的數(shù)據(jù)進行處理是開展水電站過渡過程數(shù)值計算前期的基礎(chǔ)性工作之一,從而求解出其在各個工況下(特別是在小開度和轉(zhuǎn)速時)的流量和力矩特性。
對水輪機模型綜合特性曲線進行處理從而獲取相應信息的方法有好幾種。例如,傳統(tǒng)的人工經(jīng)驗延伸法、最小二乘法擬合、二次或三次樣條插值法、人工神經(jīng)網(wǎng)絡(luò)等方法。人工經(jīng)驗延伸方法是依據(jù)已有的特性曲線區(qū)間,以飛逸特性曲線及其它邊界限制條件作為限制點,依據(jù)經(jīng)驗對綜合特性曲線進行延伸,使得整個延伸后的曲線滿足基本條件且光滑平順即可。由于完全依靠人工經(jīng)驗,所以較難把握。而最小二乘法擬合、二次或三次樣條插值法、人工神經(jīng)網(wǎng)絡(luò)等方法則將綜合特性曲線以相應的數(shù)學方法借助數(shù)學工具,在限定的邊界條件下做相應的擴展延伸,使得延伸難度有所降低。其中用人工神經(jīng)網(wǎng)絡(luò)處理綜合特性曲線的方法由于神經(jīng)網(wǎng)絡(luò)本身模型的不同,又有很多種類。本文僅僅針對BP神經(jīng)網(wǎng)絡(luò)和RBF(徑向基神經(jīng)網(wǎng)絡(luò))神經(jīng)網(wǎng)絡(luò)這2種不同的人工神經(jīng)網(wǎng)絡(luò)對水輪機綜合特性曲線延伸、處理結(jié)果進行比較和探討。
BP神經(jīng)網(wǎng)絡(luò)是一種利用誤差反向傳播訓練算法的神經(jīng)網(wǎng)絡(luò),是一種有隱含層的多層前饋神經(jīng)網(wǎng)絡(luò),系統(tǒng)地解決了多層網(wǎng)絡(luò)中隱含層單元連接權(quán)的學習問題[1];RBF神經(jīng)網(wǎng)絡(luò)由3層組成,這種網(wǎng)絡(luò)具有較高的局部逼近能力,所以,徑向基函數(shù)網(wǎng)絡(luò)也被稱為局部感知場網(wǎng)絡(luò)[2],RBF神經(jīng)網(wǎng)絡(luò)的輸出為隱層節(jié)點輸出的線性組合。
1.1建立BP與RBF網(wǎng)絡(luò)模型計算驗證
首先建立BP神經(jīng)網(wǎng)絡(luò)模型,由于前人已經(jīng)證明一個單隱層三層的前饋型人工神經(jīng)網(wǎng)絡(luò),在隱層節(jié)點足夠多的情況下,經(jīng)充分學習,可以任意精度逼近任何非線性函數(shù)[3],所以先建立了一個單隱層網(wǎng)絡(luò)(輸入層,1層隱含層,輸出層),其中隱含層采用Sigmoid(S)傳遞函數(shù)。但由于隱含層神經(jīng)元個數(shù)不能確定,只能從1個開始,個數(shù)一個個地增加,同時觀察誤差值是否達到所需精度。
Matlab中RBF有“newrbe”和“newrb”兩種方式可供調(diào)用,前者隱含層神經(jīng)元個數(shù)固定,后者需要手動調(diào)試確定神經(jīng)元個數(shù)。作者經(jīng)計算比較后于本文選用隱含層神經(jīng)元個數(shù)固定的“newrbe”進行建模分析。
1.2發(fā)現(xiàn)現(xiàn)象
在BP和RBF兩種神經(jīng)網(wǎng)絡(luò)模型計算過程中,發(fā)現(xiàn)BP網(wǎng)絡(luò)隱含層“最佳神經(jīng)元個數(shù)”很難確定,同時在隱含層神經(jīng)元個數(shù)增至一定大小后,訓練輸入的誤差精度提高非常緩慢,甚至隨神經(jīng)元個數(shù)增加而呈波浪狀擺動。而RBF采用固定神經(jīng)元方式,所達到的誤差精度非常高,這兩者有著明顯的區(qū)別。所以先嘗試提高BP神經(jīng)網(wǎng)絡(luò)的誤差精度,看在隱含層神經(jīng)元個數(shù)增加到多大時,能達到跟RBF固定神經(jīng)元個數(shù)方法下一樣的精度值。
1.3嘗試找出問題所在
在解決上一節(jié)的問題時發(fā)現(xiàn),在相同的隱含層神經(jīng)元個數(shù)下,訓練過程是變動的,并且最終達到的精度級別也有區(qū)別。經(jīng)過查尋相關(guān)資料發(fā)現(xiàn):matlab神經(jīng)網(wǎng)絡(luò)工具箱中每次對神經(jīng)網(wǎng)絡(luò)進行訓練時都是隨機產(chǎn)生的初始值,目的是為防止誤將網(wǎng)絡(luò)局部最優(yōu)值作為全局最優(yōu)值。因此本文計算采取在隱含層神經(jīng)元個數(shù)固定的情況下,分別訓練20組(即隨機取20個不同的初始值用以訓練網(wǎng)絡(luò)),然后取誤差值最小的那一組訓練成的網(wǎng)絡(luò)作為該神經(jīng)元個數(shù)下對應的相應網(wǎng)絡(luò)。同時,由于最后關(guān)注的是水輪機特性曲線節(jié)點值(訓練輸出值)與網(wǎng)絡(luò)訓練節(jié)點預測值誤差程度,故將該差值最小的那一組選做20組訓練網(wǎng)絡(luò)中的最佳網(wǎng)絡(luò)。在訓練過程中,由于隱含層神經(jīng)元個數(shù)一個一個增加,訓練非常緩慢,因此編制小程序以方便計算和最終提取計算結(jié)果。
2.1算例簡介
采用A179-40模型轉(zhuǎn)輪綜合特性曲線來進行計算驗證。算例從中共取了31×16=496個數(shù)據(jù)點,16為開度點個數(shù),31為單位轉(zhuǎn)速個數(shù)。
2.1.1水輪機特性函數(shù)描述
水輪機主動力矩Mt和流量Q的變化特性即為水輪機的靜態(tài)特性,混流式、軸流定漿式水輪機的力矩和流量的函數(shù)表達為:
Mt=Mt(H,α,n)Q=Q(H,α,h)
式中:H為水頭;n為轉(zhuǎn)速;α為導葉開度。
水電站大波動過渡過程前處理的是模型綜合特性曲線,該曲線是指模型水頭為1m時對應的開度、轉(zhuǎn)速和流量的關(guān)系,或者和效率的關(guān)系。因此換算后的力矩力量特性函數(shù)表達式為:
Mt=Mt(α,h)Q=Q(α,h)
因此在神經(jīng)網(wǎng)絡(luò)模型中,開度α和轉(zhuǎn)速n為訓練輸入值(2維向量),水輪機主動力矩Mt和流量Q為訓練目標輸出向量。本文中以流量Q為目標輸出向量作為例子來建立水輪機特性相應的神經(jīng)網(wǎng)絡(luò)模型。
2.1.2歸一化處理
輸入學習的樣本各值之間往往存在著量綱、數(shù)量級不同等方面的問題,有時各數(shù)值之間相差較大,因此需對神經(jīng)網(wǎng)絡(luò)的輸入輸出數(shù)據(jù)進行一定的預處理,預處理的方法主要有歸一化處理和標準化處理,當網(wǎng)絡(luò)輸入和目標矢量的取值為[-1,1]時,可以達到最好的效果,因此該算例在對網(wǎng)絡(luò)進行訓練之前預先對樣本數(shù)據(jù)作歸一化處理。
2.2BP神經(jīng)網(wǎng)絡(luò)建模
2.2.1水輪機特性建模
利用BP神經(jīng)網(wǎng)絡(luò)L-M算法模擬水輪機的特性數(shù)據(jù),網(wǎng)絡(luò)結(jié)構(gòu)采用單隱層前向網(wǎng)絡(luò)見圖1,其輸入層和輸出層單元為線性神經(jīng)元結(jié)構(gòu),隱含層采用雙曲正切型sigmoid傳遞函數(shù)(matlab內(nèi)部調(diào)用參數(shù)為“tansig”),其輸出范圍為[-1,1]。人工神經(jīng)網(wǎng)絡(luò)理論證明,這種網(wǎng)絡(luò)結(jié)構(gòu)能在任意給定精度下逼近任何給定的連續(xù)函數(shù)。理論上,BP神經(jīng)網(wǎng)絡(luò)的隱含層節(jié)點數(shù)只要越多,其所能達到的精度也將越高,但與此同時也將增加網(wǎng)絡(luò)權(quán)值的訓練時間[3]。為了研究含有不同隱含層節(jié)點數(shù)的BP網(wǎng)絡(luò)與樣本數(shù)據(jù)的逼近能力,本文以案例中提供的水輪機綜合特性流量曲線處理數(shù)據(jù)為樣本,對隱含層節(jié)點數(shù)與網(wǎng)絡(luò)逼近程度的關(guān)系進行了計算,選取誤差精度10-12為收斂準則,當隱含層節(jié)點數(shù)取為15時,隱含層神經(jīng)元個數(shù)最小,同時與樣本數(shù)據(jù)的逼近精度很高(相比后面的逼近程度)。
圖1BP“3層”神經(jīng)網(wǎng)絡(luò)
2.2.2計算結(jié)果
分別對3層BP神經(jīng)網(wǎng)絡(luò)隱含層個數(shù)從1到100進行100個網(wǎng)絡(luò)的訓練,每個網(wǎng)絡(luò)選取20組隨機初始值進行訓練,將訓練網(wǎng)絡(luò)進行預測;當20組初始值相應訓練出來的網(wǎng)絡(luò)中,有一組預測結(jié)果與訓練數(shù)據(jù)的輸出值最大差值最小時,即將該組訓練完成的網(wǎng)絡(luò)作為該神經(jīng)元個數(shù)相應條件下的神經(jīng)網(wǎng)絡(luò)。圖2,3給出了網(wǎng)絡(luò)預測值與實際訓練值最大差值隨網(wǎng)絡(luò)隱含層神經(jīng)元個數(shù)(從1~100)的變化規(guī)律(圖2),及局部變化趨勢(圖3)。誤差精度選取10-12是由于RBF模型直接預測結(jié)果與訓練值差值即為10-12,因此就將其作為目標控制精度。
圖2 隱含層神經(jīng)元個數(shù)與擬合精度關(guān)系圖
圖3 隱含層神經(jīng)元個數(shù)與擬合精度局部關(guān)系圖
2.3RBF神經(jīng)網(wǎng)絡(luò)建模
將已提取的數(shù)據(jù)點作為樣本點,確定輸入樣本值和目標值,建立一個RBF神經(jīng)網(wǎng)絡(luò)。經(jīng)調(diào)試后,選擇適當?shù)木秸`差參數(shù)GOAL值和徑向基函數(shù)分布參數(shù)SPREAD值,利用MATLAB軟件中神經(jīng)網(wǎng)絡(luò)工具箱內(nèi)的函數(shù) newrb(P,T,GOAL,SPREAD)建立并培訓網(wǎng)絡(luò),進而即可完成水輪機綜合特性曲面的擬合。RBF神經(jīng)網(wǎng)絡(luò)的學習過程分為兩個階段:第一階段,根據(jù)所有的輸入樣本決定隱層各節(jié)點的高斯基函數(shù)中心值和標準化常數(shù);第二階段,在選定隱層參數(shù)后,根據(jù)樣本,利用最小二乘原則,求出輸出層的權(quán)值,然后,依據(jù)樣本信號,再對隱層和輸出層的參數(shù)進行校正,以進一步提高網(wǎng)絡(luò)的逼近精度。前述過程可通過matlab神經(jīng)網(wǎng)絡(luò)工具箱中的“newrb”函數(shù)而實現(xiàn)。但嘗試計算發(fā)現(xiàn),神經(jīng)元最佳個數(shù)需要一直增加,且很大,因此選用了其提供的“newrbe”調(diào)用函數(shù),該函數(shù)直接確定了神經(jīng)元個數(shù),不需人為試算。本文算例選用“newrbe”函數(shù)計算結(jié)果圖4進行對比分析。
圖4 流量特性曲線實際值與預測值圖
1)BP網(wǎng)絡(luò)和RBF網(wǎng)絡(luò)訓練生成的網(wǎng)絡(luò)均可以用以預測水輪機流量特性,其中BP網(wǎng)絡(luò)(隱含層神經(jīng)元個數(shù)取大于15個)誤差為±4L/s流量之間,相對于最大值400L/s)的相對偏差范圍在1%以內(nèi),其精度用在普通數(shù)據(jù)處理上,已經(jīng)足夠。因為僅僅靠經(jīng)驗擬合時,其偏差范圍亦在該差值左右。同時用RBF隱含層神經(jīng)元個數(shù)固定的模型計算結(jié)果其絕對誤差在±1.5×10-12L/s之間,其精度非常高,完全滿足普通數(shù)據(jù)處理的需要。
2)RBF網(wǎng)絡(luò)預測誤差為±1.5×10-12L/s之間,遠遠小于BP網(wǎng)絡(luò)預測誤差±4L/s的結(jié)果。這種對比本身存在一些問題,因為BP網(wǎng)絡(luò)的隱含層神經(jīng)元個數(shù)不固定,需要通過人工調(diào)整來實現(xiàn)最佳神經(jīng)元個數(shù)的擬合,這本身需要相當豐富的經(jīng)驗。同時由于每次改變隱含層神經(jīng)元個數(shù)均需要重新訓練,訓練的初始值又是隨機給定的,因此整個訓練過程需要花去一定的時間,從而使得在1~100個隱含層神經(jīng)元個數(shù)的尋早過程就較長。而RBF固定隱含層神經(jīng)元個數(shù)的調(diào)用方法“newrbe”卻能一下子將神經(jīng)網(wǎng)絡(luò)進行訓練求解,從而預測出所需要的值,其預測精度非常高,訓練時間又很短,因此就時間長短及尋找網(wǎng)絡(luò)方便程度的情形下,認為RBF網(wǎng)絡(luò)的模擬精度要高于BP網(wǎng)絡(luò)。
3)正是由于BP網(wǎng)絡(luò)通過尋找最優(yōu)隱含層神經(jīng)元個數(shù)(15個)后與RBF網(wǎng)絡(luò)分別達到的預測誤差級別相差太大,因此想找尋BP網(wǎng)絡(luò)是否可以通過提高隱含層神經(jīng)元個數(shù)來提高網(wǎng)絡(luò)的模擬精度。研究表明,兩層網(wǎng)絡(luò)在其隱含層中使用S形傳輸函數(shù),在輸出層中使用線性傳輸函數(shù),就幾乎可以以任意精度逼近任何感興趣的函數(shù),只要隱含層中有足夠的單元可用[4]。該觀點表明,在單隱含層的BP網(wǎng)絡(luò)中,只要隱含層神經(jīng)元個數(shù)足夠,網(wǎng)絡(luò)的預測精度應該是會有相應提高的。但是當隱含層神經(jīng)元個數(shù)從超過最佳個數(shù)15到一直增加到100個的過程中,其精度不但沒有提高反而程一定的波動狀態(tài),甚至接近100時,其預測誤差在增加。當隱含層神經(jīng)元超過100~300過程中,預測誤差反而越來越大。
[1]譚劍波,把多鐸,高立明,等.基于BP神經(jīng)網(wǎng)絡(luò)的水輪機綜合特性建模仿真[J].中國農(nóng)村水利水電,2010(03):140—142,145.
[2]黃賢榮,劉德有.利用徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)處理水輪機綜合特性曲線[J].水力發(fā)電學報,2007,26(01):114—118.
[3]周繼成.人工神經(jīng)網(wǎng)絡(luò)[M].北京:科學出版社,1993.
[4]MartinT.Hagan,HowardB.Demuth,MarkH.Beale著,戴葵等譯.神經(jīng)網(wǎng)絡(luò)設(shè)計[M].北京:機械工業(yè)出版社,2005.
TV734.1
A
1002-0624(2015)12-0059-04
2015-08-20