洪水預(yù)報(bào)作為非工程性防洪措施正日益受到重視,準(zhǔn)確及時(shí)的洪水預(yù)報(bào)為防洪決策提供了科學(xué)的依據(jù).人工神經(jīng)網(wǎng)絡(luò)模擬了人類大腦的結(jié)構(gòu)及其功能,從而具有對(duì)模糊信息或復(fù)雜的非線性關(guān)系進(jìn)行識(shí)別與處理的能力[1,2].
早期關(guān)于人工神經(jīng)網(wǎng)絡(luò)在水文水資源系統(tǒng)中的應(yīng)用與研究的進(jìn)展情況,文獻(xiàn)[3]有較為詳細(xì)、系統(tǒng)的介紹.其中,關(guān)于洪水預(yù)報(bào)的研究成果,大多處于如何應(yīng)用人工神經(jīng)網(wǎng)絡(luò)算法進(jìn)行洪水預(yù)報(bào)的階段,即如何將洪水預(yù)報(bào)的實(shí)際問(wèn)題概化成人工神經(jīng)網(wǎng)絡(luò)可以識(shí)別的算法模型.近期的研究成果表明,研究的問(wèn)題更加深入,如LINDA SEE(1999)[4]將洪水過(guò)程分為上升段、洪峰段和下降段三部分,分別建立相應(yīng)的預(yù)報(bào)模型,充分考慮了不同階段的洪水過(guò)程其演進(jìn)規(guī)律的差異.Fi-John Chang(1999)[5]引入洪峰預(yù)報(bào)誤差和峰現(xiàn)誤差作為洪水預(yù)報(bào)精度的評(píng)價(jià)標(biāo)準(zhǔn),對(duì)于洪峰預(yù)報(bào)精度給予了高度的重視.能否保證較高的洪水峰值的預(yù)報(bào)精度,是將人工神經(jīng)網(wǎng)絡(luò)的實(shí)時(shí)洪水預(yù)報(bào)技術(shù)實(shí)際應(yīng)用的關(guān)鍵性問(wèn)題.
本文在總結(jié)大量實(shí)踐經(jīng)驗(yàn)的基礎(chǔ)上[6,7],提出了一種能夠進(jìn)行峰值識(shí)別的改進(jìn)BP算法(Error Back Propagation with Peak Recognizer,簡(jiǎn)稱BPPR).該算法在修改網(wǎng)絡(luò)權(quán)重時(shí)偏重大值,即大值誤差對(duì)權(quán)重的修改起主要作用.這種改進(jìn)的BP算法使人工神經(jīng)網(wǎng)絡(luò)洪水預(yù)報(bào)模型對(duì)洪峰峰值的預(yù)報(bào)精度顯著提高,從而保證了洪峰預(yù)報(bào)的可靠性.
1人工神經(jīng)網(wǎng)絡(luò)的峰值識(shí)別理論
洪水預(yù)報(bào)主要是為防汛服務(wù)的,通常對(duì)洪峰時(shí)段的水位(或流量)的準(zhǔn)確預(yù)報(bào)尤為重要.但是,對(duì)于經(jīng)典的BP算法,網(wǎng)絡(luò)訓(xùn)練是根據(jù)全局誤差修改網(wǎng)絡(luò)權(quán)重的,這種權(quán)重修改方法很難控制洪峰水位(或流量)的訓(xùn)練精度,訓(xùn)練后的網(wǎng)絡(luò)權(quán)重所貯存的信息很可能更多地反映了樣本數(shù)量較大的中、低水位(或流量)的變化規(guī)律.所以,經(jīng)過(guò)訓(xùn)練的網(wǎng)絡(luò)對(duì)中、低水位(或流量)的預(yù)報(bào)精度相對(duì)較高,而對(duì)洪峰的預(yù)報(bào)精度往往低一些.如何提高人工神經(jīng)網(wǎng)絡(luò)模型對(duì)洪峰水位(或流量)的預(yù)報(bào)精度,是人工神經(jīng)網(wǎng)絡(luò)理論應(yīng)用于洪水預(yù)報(bào)的關(guān)鍵問(wèn)題之一.
本文是在結(jié)合實(shí)際課題廣泛研究的基礎(chǔ)上,提出了一種能夠提高網(wǎng)絡(luò)模型峰值識(shí)別精度的改進(jìn)BP算法.
1.1峰值識(shí)別的基本思想 經(jīng)典BP算法的訓(xùn)練過(guò)程由信號(hào)的正向傳播與誤差的逆向傳播兩個(gè)過(guò)程組成.其中,誤差的逆向傳播是基于網(wǎng)絡(luò)全局誤差并按“誤差梯度下降”的原則對(duì)網(wǎng)絡(luò)權(quán)重進(jìn)行修改.如果對(duì)原來(lái)基于“全局誤差”的權(quán)重修改原則進(jìn)行合理調(diào)整,使權(quán)重的修改傾向于減小輸出值較大樣本的網(wǎng)絡(luò)映射誤差,這是峰值識(shí)別原理的基本思想,其實(shí)質(zhì)是在誤差逆向傳播的網(wǎng)絡(luò)權(quán)重修改過(guò)程中,遵循了側(cè)重于“峰值樣本誤差”的權(quán)重修改原則.
1.2峰值識(shí)別的算法峰值識(shí)別理論的實(shí)現(xiàn)方法,是在引入動(dòng)量項(xiàng)和采用學(xué)習(xí)率自適應(yīng)調(diào)整的改進(jìn)BP算法[4]的基礎(chǔ)上,對(duì)峰值樣本的網(wǎng)絡(luò)誤差引入合理的修正系數(shù),使網(wǎng)絡(luò)的權(quán)重向著使峰值訓(xùn)練誤差減小的方向修改.
首先,從經(jīng)典BP算法開(kāi)始.設(shè)有輸入為x1(t)、x2(t)、…、xn(t)的n維輸入,輸出為xL1(t)、xL2(t)、…、xLm(t)、的m維輸出和若干隱層組成的多輸入、多輸出人工神經(jīng)網(wǎng)絡(luò)模型.這里的t為樣本序列號(hào),這樣的樣本共有P對(duì).
第l層中第i個(gè)神經(jīng)元節(jié)點(diǎn)所接收到的上一層輸入總和為

式中:Nl為第l層神經(jīng)元節(jié)點(diǎn)總數(shù);w(l)ij為第l層i節(jié)點(diǎn)與第l-1層j節(jié)點(diǎn)之間的連接權(quán)重;θ(l)i為第l層i節(jié)點(diǎn)的閾值.
第l層中第i個(gè)神經(jīng)元節(jié)點(diǎn)的輸出為
x(l)i(t)=f(y(l)i(t))=1/1+exp(-σy(l)i(t)) (1≤l≤L,1≤i≤Nl)(2)
式中:f(●)為轉(zhuǎn)移函數(shù),這里采用的是對(duì)數(shù)型的單極性Sigmoid函數(shù);σ為決定Sigmoid函數(shù)壓縮程度的系數(shù).該系數(shù)越大,曲線越陡;反之,曲線越緩.
則,當(dāng)訓(xùn)練次數(shù)為k時(shí),網(wǎng)絡(luò)輸出層及隱層的誤差信號(hào)可表示為

式中:d(L)i(t)為訓(xùn)練樣本的期望輸出.
那么,網(wǎng)絡(luò)權(quán)重的修改公式為

式中:η(k)為訓(xùn)練次數(shù)為k時(shí)的學(xué)習(xí)率;α為動(dòng)量項(xiàng)系數(shù).
以上為經(jīng)典BP算法的基本內(nèi)容.基于峰值識(shí)別的思想,實(shí)現(xiàn)網(wǎng)絡(luò)誤差修正傾向于輸出樣本的較大值,定義誤差修正系數(shù)ξ
ξi=di(L)(t)/d(L)max(t) (7)
式中:d(L)max(t)為訓(xùn)練樣本期望輸出的最大值.
為了進(jìn)一步提高神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練速度,改善網(wǎng)絡(luò)峰值識(shí)別的精度,可以在上述修正系數(shù)的基礎(chǔ)上,增設(shè)誤差修正放大系數(shù)μ.那么,加入誤差修正系數(shù)ξ及誤差修正放大系數(shù)μ后,當(dāng)訓(xùn)練次數(shù)為k時(shí),網(wǎng)絡(luò)輸出層誤差信號(hào)的向量表達(dá)式如下

應(yīng)用該算法進(jìn)行網(wǎng)絡(luò)訓(xùn)練,能夠使峰值誤差修正占優(yōu),從而提高網(wǎng)絡(luò)對(duì)峰值的映射精度.
2 應(yīng)用實(shí)例
2.1工程概況及基本模型 珠江流域西江段的水系關(guān)系比較復(fù)雜,如圖1所示.從柳州站、遷江站、南寧站或貴港站預(yù)報(bào)梧州站洪水目前還是一個(gè)難題.結(jié)合現(xiàn)有的研究成果,介紹洪水預(yù)報(bào)峰值識(shí)別理論的有效性.選取珠江流域從對(duì)亭站、柳州站、遷江站、南寧站預(yù)報(bào)江口站洪水的江口站洪水預(yù)報(bào)模型,分別以BP算法與引入峰值識(shí)別理論的BPPR算法進(jìn)行網(wǎng)絡(luò)訓(xùn)練.以多年實(shí)測(cè)記錄數(shù)據(jù)為訓(xùn)練樣本,并采用下一年的記錄數(shù)據(jù)為測(cè)試樣本,即以1988、1992~1994、1996~1998各年的水位(流量)資料為訓(xùn)練樣本,以1999年水位(流量)資料作為測(cè)試樣本.

圖1 珠江流域西江段主要水情站及洪水平均傳播時(shí)間示意
*傳播時(shí)間單位:h
傳統(tǒng)相應(yīng)水位的洪水預(yù)報(bào)方法是根據(jù)天然河道洪水波的運(yùn)動(dòng)原理,分析洪水波在運(yùn)動(dòng)過(guò)程中,波的任一相位自上游水情站傳播到下游水情站的相應(yīng)水位及其傳播時(shí)間的變化規(guī)律,尋找其經(jīng)驗(yàn)關(guān)系,以此進(jìn)行洪水預(yù)報(bào)[8].人工神經(jīng)網(wǎng)絡(luò)對(duì)信息的分布存儲(chǔ)、并行處理以及自學(xué)習(xí)的能力,決定了它具有對(duì)模糊信息和復(fù)雜非線性關(guān)系的識(shí)別與處理能力.網(wǎng)絡(luò)的訓(xùn)練學(xué)習(xí)過(guò)程,就是網(wǎng)絡(luò)認(rèn)知事物內(nèi)在規(guī)律的過(guò)程.構(gòu)造基于人工神經(jīng)網(wǎng)絡(luò)洪水預(yù)報(bào)模型的首要問(wèn)題,是如何將洪水過(guò)程合理地概化成人工神經(jīng)網(wǎng)絡(luò)可以映射的輸入、輸出關(guān)系.
以上游干流和主要支流水情站的水位(流量)資料作為網(wǎng)絡(luò)模型的輸入,以下游水情站所形成的相應(yīng)水位(流量)作為網(wǎng)絡(luò)模型的輸出;同時(shí),將下游同時(shí)水位(流量)作為網(wǎng)絡(luò)模型的輸入,以模擬下游初始水位的影響.洪水自上游水文站至下游水文站的傳播時(shí)間就是網(wǎng)絡(luò)對(duì)洪水的預(yù)見(jiàn)期.
本題中所建立的江口站洪水預(yù)報(bào)模型中,作為江口站的上游水文站共有對(duì)亭、柳州、遷江和南寧等站,其中的遷江站處于干流河道.值得一提的是,對(duì)亭站方向的來(lái)水屬山區(qū)洪水,特點(diǎn)為量小、峰高、歷時(shí)短,洪水過(guò)程線陡起陡落,其結(jié)果是水位的變化非常大,而實(shí)際的流量又很小,這無(wú)疑會(huì)影響水位預(yù)報(bào)模型的識(shí)別精度.為了減少這種小支流的干擾,在建立水位預(yù)報(bào)模型時(shí),未將對(duì)亭站的水位作為輸入項(xiàng).在建立流量預(yù)報(bào)模型時(shí),為了保證水量的總體平衡,仍將對(duì)亭站的流量作為一項(xiàng)輸入.
以3h為一個(gè)間隔時(shí)段進(jìn)行洪水?dāng)?shù)據(jù)采集來(lái)組織樣本,以干流遷江站t時(shí)刻水位(流量)、對(duì)亭站(t-3)時(shí)刻流量、柳州站(t-3)時(shí)刻水位(流量)、南寧站(t-8)時(shí)刻水位(流量)和江口站t時(shí)刻水位(流量)作為網(wǎng)絡(luò)的輸入,江口站(t+T)時(shí)刻的水位(流量)為網(wǎng)絡(luò)的輸出.其中,T為網(wǎng)絡(luò)的預(yù)見(jiàn)期,即洪水自上游遷江站傳播到江口站的時(shí)間,亦為峰現(xiàn)時(shí)間.在組織樣本時(shí),采用洪水在各站間的實(shí)測(cè)傳播時(shí)間,但網(wǎng)絡(luò)預(yù)報(bào)的預(yù)見(jiàn)期為平均預(yù)見(jiàn)期,即T=9時(shí)段,約28h(洪水在各站間的傳播情況見(jiàn)圖1).圖2為江口站洪水預(yù)報(bào)模型的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖.

圖2 江口站洪水預(yù)報(bào)模型的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
在網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)中,輸入與輸出節(jié)點(diǎn)數(shù)由實(shí)際問(wèn)題而定,而隱層數(shù)及隱層節(jié)點(diǎn)數(shù)是網(wǎng)絡(luò)設(shè)計(jì)中的關(guān)鍵問(wèn)題.在實(shí)際問(wèn)題中,常常無(wú)法估計(jì)問(wèn)題的真實(shí)復(fù)雜程度,通常采用雙隱層.關(guān)于隱層節(jié)點(diǎn)數(shù)目的確定,直接關(guān)系到能否成功地解決問(wèn)題.實(shí)際上,隱層節(jié)點(diǎn)數(shù)決定于訓(xùn)練樣本的多少、樣本噪音的大小以及所面對(duì)問(wèn)題的復(fù)雜程度.若隱層節(jié)點(diǎn)數(shù)太少,網(wǎng)絡(luò)映射能力不足;若隱層節(jié)點(diǎn)數(shù)太多,不僅增加網(wǎng)絡(luò)的訓(xùn)練時(shí)間,還會(huì)引發(fā)所謂“過(guò)度吻合”問(wèn)題,即雖然增加了訓(xùn)練精度,但是由于網(wǎng)絡(luò)過(guò)多地獲得了樣本的個(gè)性特征,而掩蓋了樣本的共性特征,從而造成預(yù)報(bào)精度的下降.目前的研究成果,還不能在理論上提供一套科學(xué)的推導(dǎo)方法,試算法是可靠的常規(guī)方法.本題經(jīng)多次試算,合理的拓?fù)浣Y(jié)構(gòu)為:水位預(yù)報(bào)模型(4-40-20-1),流量預(yù)報(bào)模型(5-40-20-1).

圖3 水位預(yù)報(bào)模型中BP算法與BPPR算法映結(jié)果比較
網(wǎng)絡(luò)模型的初始權(quán)重在(-1,1)之間隨機(jī)產(chǎn)生,動(dòng)量項(xiàng)系數(shù)α取0.9.初始學(xué)習(xí)率η0在基本BP算法中取0.001,在BPPR算法中取0.0005,初始學(xué)習(xí)率往往會(huì)因不同網(wǎng)絡(luò)模型而不同.BPPR算法的峰值誤差修正放大系數(shù)μ取2.0.水位模型的訓(xùn)練停止條件為平均映射誤差l≤0.20m,流量模型的訓(xùn)練停止條件為平均映射誤差q≤500m3/s.
2.2計(jì)算成果 分別采取BP算法與BPPR算法進(jìn)行網(wǎng)絡(luò)模型的訓(xùn)練,兩種算法對(duì)于峰值水位(流量)的映射情況見(jiàn)圖3、圖4.以完成訓(xùn)練的網(wǎng)絡(luò)模型對(duì)1999年的洪水情況進(jìn)行測(cè)試預(yù)報(bào),預(yù)報(bào)結(jié)果見(jiàn)圖5、圖6.
圖4 流量預(yù)報(bào)模型中BP算法與BPPR算法映射結(jié)果比較
2.3成果分析 圖3、圖4反映了完成訓(xùn)練的網(wǎng)絡(luò)模型對(duì)訓(xùn)練樣本中洪峰水位與流量的映射情況,從圖中可以看到,BP算法對(duì)于洪水演進(jìn)規(guī)律具有很高的映射精度,引入峰值識(shí)別理論的BPPR算法能夠進(jìn)一步提高網(wǎng)絡(luò)對(duì)洪水峰值的映射精度,這種作用對(duì)于較高洪峰識(shí)別效果更為明顯.

圖5 1999年水位預(yù)報(bào)結(jié)果比較

圖6 1999年流量預(yù)報(bào)結(jié)果比較
圖5、圖6為網(wǎng)絡(luò)模型對(duì)1999年洪水主洪峰的預(yù)報(bào)情況.在水位預(yù)報(bào)模型中,BP算法對(duì)洪峰的預(yù)報(bào)誤差為0.13m(低于實(shí)測(cè)值);BPPR算法的預(yù)報(bào)誤差為-0.05m(高于實(shí)測(cè)值).在流量預(yù)報(bào)模型中,BP算法對(duì)洪峰的預(yù)報(bào)誤差為291m3/s;BPPR算法的預(yù)報(bào)誤差為-83m3/s.
這里所采用的峰值誤差修正放大系數(shù)μ實(shí)質(zhì)上與樣本集中大值樣本所占的比例有關(guān),大值樣本所占比例越小,μ的取值越大;反之,則小.在實(shí)際操作中,ξμ是作為一個(gè)參數(shù)進(jìn)行權(quán)重調(diào)節(jié)計(jì)算的,所以μ的取值又受樣本集中最大值和最小值間比例關(guān)系的限制.
如果放大系數(shù)選取過(guò)大,網(wǎng)絡(luò)訓(xùn)練容易失穩(wěn),造成訓(xùn)練誤差增大;反之,網(wǎng)絡(luò)權(quán)重的修改難以體現(xiàn)洪峰樣本的貢獻(xiàn).具體取值由實(shí)際問(wèn)題而定,在珠江流域的洪水預(yù)報(bào)模型中,放大系數(shù)的取值范圍為1.5~2.5.
從網(wǎng)絡(luò)模型的訓(xùn)練識(shí)別和測(cè)試預(yù)報(bào)兩方面的研究成果來(lái)看,人工神經(jīng)網(wǎng)絡(luò)對(duì)于洪水演進(jìn)規(guī)律的識(shí)別具有較高的精度,能夠模擬洪水的動(dòng)態(tài)過(guò)程,其中,引入峰值識(shí)別理論的BPPR算法有利于提高模型對(duì)峰值的映射與預(yù)報(bào)精度,效果明顯.這些改進(jìn)效果對(duì)于水文水資源預(yù)報(bào)中,可能效果并不十分顯著,但在防汛中,水位預(yù)報(bào)對(duì)防洪決策至關(guān)重要,往往十幾厘米的誤差,直接影響到防洪方案的決策.因此,峰值識(shí)別理論對(duì)基于BP算法的洪水預(yù)報(bào)模型來(lái)講,具有重要意義.
3 結(jié)束語(yǔ)
基于人工神經(jīng)網(wǎng)絡(luò)的洪水預(yù)報(bào)方法作為防洪減災(zāi)領(lǐng)域一種新的研究途徑,將智能化思想引入到對(duì)洪水過(guò)程的計(jì)算模擬,更能反映洪水復(fù)雜非線性的動(dòng)態(tài)演進(jìn)規(guī)律.研究結(jié)果表明,人工神經(jīng)網(wǎng)絡(luò)算法能夠很好地映射洪水的演進(jìn)規(guī)律,做到對(duì)洪水實(shí)時(shí)的監(jiān)測(cè)與預(yù)報(bào),預(yù)報(bào)精度較高.
針對(duì)洪峰預(yù)報(bào)精度在防洪減災(zāi)工作中的重要性,本文提出了基于峰值修正理論的BPPR算法,該算法能夠很大程度上提高峰值的訓(xùn)練與預(yù)報(bào)精度,從而保證了洪水預(yù)報(bào)網(wǎng)絡(luò)對(duì)洪峰水位、流量預(yù)報(bào)結(jié)果的可靠性,具有很高的實(shí)際應(yīng)用價(jià)值.這種峰值識(shí)別理論與算法還可以應(yīng)用于潮汐預(yù)報(bào)、地震預(yù)報(bào)等峰值預(yù)報(bào)過(guò)程起主要作用的相關(guān)領(lǐng)域,具有一定的普適性.
基于人工神經(jīng)網(wǎng)絡(luò)的洪水預(yù)報(bào)作為一種新技術(shù),有著很大的開(kāi)發(fā)潛力與廣泛的應(yīng)用前景.我們堅(jiān)信,隨著人工神經(jīng)網(wǎng)絡(luò)理論的不斷發(fā)展與成熟,結(jié)合有關(guān)領(lǐng)域的專業(yè)知識(shí)和經(jīng)驗(yàn),這種預(yù)報(bào)模型將會(huì)逐步得到完善.