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