杜 輝 趙二峰 郭 珅 姓海濤 張 敏
(1. 河海大學(xué) 水文水資源與水利工程科學(xué)國家重點(diǎn)實(shí)驗(yàn)室,南京 210098;2. 河海大學(xué) 水資源高效利用與工程安全國家工程研究中心,南京 210098;3. 四川省水利水電勘測設(shè)計(jì)研究院,成都 610000;4. 南京市溧水區(qū)水務(wù)局,南京 211200)
神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的非線性逼近能力,近年來被越來越多的應(yīng)用在非線性擬合領(lǐng)域內(nèi),并取得了豐碩的成果[1].其中應(yīng)用最為廣泛的是徑向基函數(shù)神經(jīng)網(wǎng)絡(luò).徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)(Radial Basis Function Neural Network,RBFNN)是一種3層前饋神經(jīng)網(wǎng)絡(luò),具有單個隱層結(jié)構(gòu).RBF神經(jīng)網(wǎng)絡(luò)有極高的局部最佳非線性逼近能力[2];比其他神經(jīng)網(wǎng)絡(luò)更簡單的結(jié)構(gòu)[3];在學(xué)習(xí)過程中,RBF網(wǎng)絡(luò)可以調(diào)整局部神經(jīng)元個數(shù),具備較高的學(xué)習(xí)效率[4].諸多特點(diǎn)使RBF網(wǎng)絡(luò)得到了廣泛的應(yīng)用[5].張偉儲等[6]將RBF網(wǎng)絡(luò)應(yīng)用于大壩應(yīng)變預(yù)報(bào)中;王德文等[7]將RBF網(wǎng)絡(luò)應(yīng)用于大壩位移監(jiān)控中,都取得了很高的預(yù)測精度.任何事物都有兩面性,有優(yōu)點(diǎn)就有缺點(diǎn),RBF網(wǎng)絡(luò)也同樣存在缺點(diǎn).如果目標(biāo)函數(shù)十分復(fù)雜,在用普通的RBF網(wǎng)絡(luò)進(jìn)行訓(xùn)練時,容易陷入局部最優(yōu).而遺傳算法是一種模仿生物自然進(jìn)化過程的算法,可以通過全局并行搜索擺脫局部最優(yōu)的困擾,搜索到目標(biāo)函數(shù)最優(yōu)解[8].而大壩服役性態(tài)影響因素廣泛,干擾因素眾多,具有非線性、變量多的特性,難以準(zhǔn)確的用普通數(shù)學(xué)模型刻畫其服役性態(tài).為了能更好的模擬大壩服役過程,分析服役機(jī)理,有效的對大壩服役過程進(jìn)行預(yù)報(bào),并提前預(yù)警,本文在RBF網(wǎng)絡(luò)的基礎(chǔ)上,用遺傳算法對其網(wǎng)絡(luò)參數(shù)進(jìn)行優(yōu)化,并將該新模型應(yīng)用于大壩服役性態(tài)安全監(jiān)控中.
徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)為3層神經(jīng)網(wǎng)絡(luò).基本構(gòu)成為輸入層、隱含層和輸出層.各層單元數(shù)分別設(shè)為m、l、n,有n個輸出值的RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示.相鄰層的兩個神經(jīng)元可以互相連接,并從低層向高層傳輸信號.輸入數(shù)據(jù)通過非線性函數(shù)由低維的輸入層變換到高維的隱含層,然后再從高維空間線性映射到輸出層.從理論上講,該網(wǎng)絡(luò)可以擬合任意連續(xù)函數(shù),并且精度取值可以任意.徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和參數(shù)對網(wǎng)絡(luò)性能有很大的影響作用.通常來說,m由輸入變量個數(shù)確定,n由輸出變量個數(shù)確定,而l根據(jù)問題設(shè)定確定.隱含層的傳輸函數(shù)稱作徑向基函數(shù),常用的傳輸函數(shù)有高斯函數(shù)、多二次函數(shù)和逆多二次函數(shù).本文取高斯函數(shù)為傳輸函數(shù).
圖1 RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
選取p個樣本,若給定輸入模式Xk=(x1,x2,…,xm),則隱含層單元輸出由公式(1)得到:
(1)
式中,φ(·)為高斯函數(shù);Cj=(Cj1,Cj2,…,Cjk,…,Cjm)是第j個隱層節(jié)點(diǎn)的中心矢量,其維數(shù)等于輸入變量的個數(shù);σj是第j個隱層節(jié)點(diǎn)的中心寬度.
RBF網(wǎng)絡(luò)由隱含層通過公式(2)得到輸出值:
(2)
式中,fi(X)是第i個輸出層的輸出;Wij為連接權(quán)值.
為了更好的得到RBF網(wǎng)絡(luò)參數(shù),本文用遺傳算法優(yōu)化Cjk、σj和Wij.
遺傳算法(Genetic Algorithm,GA)起源20世紀(jì)60年代,是模擬生物在自然環(huán)境中的遺傳和進(jìn)化而形成的一種在問題空間進(jìn)行全局并行的、隨機(jī)的搜索優(yōu)化,使得種群全局最優(yōu)收斂的算法[9].
遺傳算法的基本操作分為染色體編碼、適應(yīng)度函數(shù)設(shè)計(jì)、選擇及交叉和變異.基本操作步驟如下:
①染色體編碼.本文中由于需要對較大實(shí)數(shù)進(jìn)行操作,用實(shí)數(shù)編碼較為方便.每一個待尋優(yōu)的參數(shù)表示一個基因,所有待尋優(yōu)的參數(shù)組合成一條染色體,每條染色體都對應(yīng)一個完整的RBF網(wǎng)絡(luò).單個染色體可表示為:C11C21…Cl1C12C22…Cjk…C1mσ1σ2…σj…σlW11W21…Wn1W12…Wij…Wnl,種群規(guī)模為p,即共有p個染色體.
②適應(yīng)度函數(shù)設(shè)計(jì).我們?nèi)≥敵鲋蹬c網(wǎng)絡(luò)預(yù)測值誤差平方和的倒數(shù)作為染色體質(zhì)量的評判函數(shù),所有個體的適應(yīng)度值均為非負(fù).單個染色體適應(yīng)度為:
(3)
式中,fi是網(wǎng)絡(luò)輸出值;yi是目標(biāo)值.
③選擇操作.選擇操作是從舊群體中以一定的概率選擇優(yōu)良個體組成新的種群,并繁殖下一代,也就是按照一定條件的復(fù)制操作.第t個染色體被選擇的概率為:
(4)
式中,F(xiàn)t為第t個個體的適應(yīng)度.本文采用輪盤賭的選擇方法.先計(jì)算出各個個體的Pt,然后隨機(jī)產(chǎn)生一個r∈[0,1]的數(shù),若P1+P2+Pt-1 ④交叉和變異.交叉是兩個個體進(jìn)行性狀組合,產(chǎn)生新的基因型個體.交叉是產(chǎn)生新個體的主要途徑.由于該算法對Cjk、σj、Wij進(jìn)行優(yōu)化,采用多點(diǎn)交叉法較為妥當(dāng).從種群中按照概率隨機(jī)選擇兩個個體,按交叉概率分別對Cjk、σj、Wij這3種類型的基因部位分別產(chǎn)生一個交叉點(diǎn),進(jìn)行交叉操作.交叉概率Pc一般取0.65~0.9.變異是產(chǎn)生新個體的次要手段.具體操作是以一定的概率從父代種群選擇1對個體,再分別對3種類型的基因值以一定的概率隨機(jī)改變.變異操作可以有效的防止有用基因在進(jìn)行遺傳操作中丟失.變異概率Pm一般取0.01~0.1. 為了更好的用RBF網(wǎng)絡(luò)對大壩服役性態(tài)進(jìn)行模擬,我們用遺傳算法優(yōu)化RBF神經(jīng)網(wǎng)絡(luò)參數(shù).基本思路是先用遺傳算法訓(xùn)練RBF網(wǎng)絡(luò)的Cjk、σj和Wij,找到一個較優(yōu)解,然后將結(jié)果作為初始參數(shù)對RBF網(wǎng)絡(luò)進(jìn)行訓(xùn)練.算法的主要步驟如下: ①對原始數(shù)據(jù)進(jìn)行歸一化處理,便于后續(xù)操作,并選取合適的數(shù)據(jù)作為訓(xùn)練樣本. ②染色體采用實(shí)數(shù)編碼,單個染色體包含m+n+l個基因,并生成初始種群P(g),進(jìn)化代數(shù)記為g=0,并確定最大進(jìn)化代數(shù)G. ③解碼染色體,得到Cjk、σj、Wij,由式(2)計(jì)算輸出層值fi(X). ④用式(3)計(jì)算得到每個個體的適應(yīng)度值F,以此評價網(wǎng)絡(luò)的性能,若滿足終止條件g>G,則結(jié)束,否則轉(zhuǎn)步驟⑤. ⑤計(jì)g=g+1,并進(jìn)行遺傳操作. a)根據(jù)個體的適應(yīng)度F,用輪盤賭法選擇個體進(jìn)入下一代種群P(g+1),適應(yīng)度值大的個體可以直接復(fù)制到子代,同時對其他染色體進(jìn)行兩兩配對. b)以概率Pc對父代染色體進(jìn)行交叉操作,得到新的染色體. c)以概率Pm對選定的染色體三種基因進(jìn)行變異操作,獲得新的染色體. ⑥通過步驟⑤產(chǎn)生新種群,轉(zhuǎn)入步驟④,直到g>G則結(jié)束計(jì)算. 具體算法流程如圖2所示. 圖2 GA-RBF算法流程 某雙曲拱壩位于四川雅礱江,壩體的具體數(shù)據(jù)見表1.本算例取13號壩段正垂線壩頂測點(diǎn)PL13-1測點(diǎn)2014年1月到2016年11月徑向位移監(jiān)測資料進(jìn)行分析. 表1 大壩參數(shù) 圖3 上游水位及PL13-1徑向位移實(shí)測過程線 本算例中,選取上述的水壓、溫度、時效方面的8個因子作為輸入變量,徑向位移y作為輸出變量,組建成輸入層為8、輸出層為1、隱含層為8的RBF網(wǎng)絡(luò).用遺傳算法優(yōu)化Cjk、σj、Wij,將優(yōu)化后的Cjk、σj、Wij作為RBF網(wǎng)絡(luò)初始值,進(jìn)行訓(xùn)練、預(yù)測.2014年1月到2016年11月的監(jiān)測數(shù)據(jù)共有139組,選取2016年1月24日前共計(jì)100組數(shù)據(jù)作為訓(xùn)練樣本,2016年1月24日至2016年11月的39組數(shù)據(jù)作為測試樣本.通過不斷實(shí)驗(yàn),綜合分析考慮,遺傳算法的各項(xiàng)參數(shù)設(shè)置見表2.用標(biāo)準(zhǔn)的RBF模型和GA-RBF模型分別進(jìn)行訓(xùn)練及預(yù)測,并做出曲線圖,如圖4所示.兩種模型比較結(jié)果見表3. 表2 模型參數(shù) 圖4 兩種模型擬合曲線 通過比較模型的均方誤差(MSE)和相關(guān)系數(shù)(R)來確定這兩個模型的優(yōu)劣.均方誤差按下式計(jì)算: (5) 式中,f為神經(jīng)網(wǎng)絡(luò)輸出值,y為監(jiān)測值. 表3 兩種模型比較 從圖4可以看出:GA-RBF模型比標(biāo)準(zhǔn)RBF擬合效果好,GA-RBF模型預(yù)測效果比標(biāo)準(zhǔn)RBF模型更為接近實(shí)際測值.從表3可以看出:在擬合部分,RBF模型的均方誤差值略優(yōu)于GA-RBF模型,在預(yù)測部分,GA-RBF模型的均方誤差值遠(yuǎn)優(yōu)于RBF模型,對所有樣本數(shù)據(jù)來看,GA-RBF模型仍優(yōu)于RBF模型較多.此外,GA-RBF模型的相關(guān)系數(shù)也優(yōu)于RBF模型的相關(guān)系數(shù).綜合均方誤差和相關(guān)系數(shù)分析,可以表明本文用遺傳算法對RBF神經(jīng)網(wǎng)絡(luò)參數(shù)進(jìn)行優(yōu)化可以提高RBF網(wǎng)絡(luò)的擬合及預(yù)測精度,該模型可以應(yīng)用在大壩的位移監(jiān)控方面. 近年來,在大壩服役形態(tài)安全監(jiān)控方面的研究越來越多,并取得了很好的研究成果.越來越多的新方法、新理論被應(yīng)用于大壩安全監(jiān)控方面.其中以神經(jīng)網(wǎng)絡(luò)最為火熱.本文介紹了RBF神經(jīng)網(wǎng)絡(luò)以及遺傳算法的原理,并討論了各自的優(yōu)缺點(diǎn).為了解決標(biāo)準(zhǔn)RBF網(wǎng)絡(luò)容易陷入局部最優(yōu),本文提出了一種新的大壩服役性態(tài)安全監(jiān)控模型,即用遺傳算法優(yōu)化RBF網(wǎng)絡(luò)的Cjk、σj和Wij.該組合算法模型充分發(fā)揮了遺傳算法全局尋優(yōu)能力,可以有效預(yù)防RBF陷入局部最優(yōu).將此模型用于擬合大壩服役形態(tài)的位移過程,結(jié)果表明,GA-RBF網(wǎng)絡(luò)的各項(xiàng)擬合指標(biāo)均優(yōu)于標(biāo)準(zhǔn)RBF網(wǎng)絡(luò),使得RBF神經(jīng)網(wǎng)絡(luò)可以更加有效地用于大壩非線性系統(tǒng)服役性態(tài)的建模分析.本文的研究內(nèi)容還有不足之處,可以在此基礎(chǔ)進(jìn)行更為深入、系統(tǒng)的研究,得到更好的安全監(jiān)控模型. [1] 司春棣,練繼建,鄭 楊.土石壩滲流安全監(jiān)測的遺傳支持向量機(jī)方法[J].水利學(xué)報(bào),2007,38(11):1341-1346. [2] Park J,Wsandberg J. Universal Approximation Using Radial Basis Functions Network[J]. Neural Computation,1991(3):246-257. [3] Lee S, Kil R M. A Gaussian Potential Function Network with Hierarchically Self-organizing Learning [J]. Neural Networks,1991,4(2):207 - 224. [4] Moody J, Darken C J. Fast Learning in Network of Locally-tuned Processing Units[J]. Neural Computation, 2014,1(2):281-294. [5] 喬俊飛,韓紅桂.RBF神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)動態(tài)優(yōu)化設(shè)計(jì)[J].Acta Automatica Sinica, 2010, 36(6):865-872. [6] 張 偉,儲冬冬,余新洲.RBF神經(jīng)網(wǎng)絡(luò)在大壩應(yīng)變預(yù)報(bào)中的應(yīng)用[J].人民黃河,2011,33(2):124-125. [7] 王德文,李智錄,盧瑞章.RBF神經(jīng)網(wǎng)絡(luò)在線學(xué)習(xí)方式及其在大壩位移監(jiān)測中的應(yīng)用[J].西北農(nóng)林科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,34(12):226-230. [8] 姜鵬飛,蔡之華.基于遺傳算法和梯度下降的RBF神經(jīng)網(wǎng)絡(luò)組合訓(xùn)練方法[J].計(jì)算機(jī)應(yīng)用,2007,27(2):366-368. [9] 趙志剛,單曉虹.一種基于遺傳算法的RBF神經(jīng)網(wǎng)絡(luò)優(yōu)化方法[J].計(jì)算機(jī)工程,2007,33(6):211-212. [10] 顧沖時,吳中如.大壩與壩基安全監(jiān)控理論和方法及其應(yīng)用[M].南京:河海大學(xué)出版社,2006.3 RBF網(wǎng)絡(luò)的遺傳算法優(yōu)化
4 工程實(shí)例
5 結(jié) 語