師寧焉
(遼寧省白石水庫管理局,遼寧 朝陽 122000)
MATLAB語言是美國The MathWorks公司開發(fā)的用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級語言和交互式環(huán)境,除具備卓越的數(shù)值計算能力外,它還提供了專業(yè)的符號計算、可視化建模仿真和實時控制等功能,廣泛應(yīng)用于包括信號圖像處理、控制系統(tǒng)設(shè)計、建模分析等眾多應(yīng)用領(lǐng)域[1]。應(yīng)用Matlab7.1軟件包的神經(jīng)網(wǎng)絡(luò)工具箱,構(gòu)建BP神經(jīng)網(wǎng)絡(luò)模型,實現(xiàn)對大壩變形的人工神經(jīng)網(wǎng)絡(luò)仿真。
BP神經(jīng)網(wǎng)絡(luò)是基于誤差反向傳播(Error Back Proragation)算法的多層前饋神經(jīng)網(wǎng)絡(luò),具有良好的非線性映射能力,以及泛化和容錯能力,是目前人工神經(jīng)網(wǎng)絡(luò)應(yīng)用最為廣泛的一種網(wǎng)絡(luò)。誤差反向傳播算法,由信息的正向傳播和誤差的反向傳播兩個過程組成。輸入層各神經(jīng)元負(fù)責(zé)接收來輸入信息,并傳遞給隱層各神經(jīng)元;隱層是內(nèi)部信息處理層,負(fù)責(zé)信息變換;隱層傳遞到輸出層各神經(jīng)元的信息,經(jīng)進(jìn)一步處理后,完成一次學(xué)習(xí)的正向傳播處理過程,由輸出層向外界輸出信息處理結(jié)果。當(dāng)實際輸出與期望輸出不符時,進(jìn)入誤差的反向傳播階段。誤差通過輸出層,按誤差梯度下降的方式修正各層權(quán)值,向隱層、輸入層逐層反傳。周而復(fù)始的信息正向傳播和誤差反向傳播,使各層權(quán)值不斷調(diào)整,一直進(jìn)行到網(wǎng)絡(luò)輸出的誤差減少到可以接受的程度,或者預(yù)先設(shè)定的學(xué)習(xí)次數(shù)為止。
盡管BP網(wǎng)絡(luò)可以實現(xiàn)任意精度的非線性映射功能,適合求解內(nèi)部機制復(fù)雜的非線性問題,而且具有自學(xué)習(xí)能力,但是,標(biāo)準(zhǔn)BP算法也存在很多的問題[2],如:學(xué)習(xí)效率較低,收斂速度慢;容易陷入局部極小,而導(dǎo)致訓(xùn)練失??;網(wǎng)絡(luò)結(jié)構(gòu)尚無統(tǒng)一而完整的理論指導(dǎo),只能根據(jù)經(jīng)驗選定;網(wǎng)絡(luò)的預(yù)測能力與訓(xùn)練能力的矛盾,可能出現(xiàn)“過擬合”現(xiàn)象等。
針對存在的缺陷,標(biāo)準(zhǔn)BP算法也在不斷地改進(jìn)和優(yōu)化。例如:權(quán)值調(diào)整增加動量項、自適應(yīng)調(diào)節(jié)學(xué)習(xí)率、增加陡度因子、貝葉斯Bayesian歸一化法等。此外,一些數(shù)理統(tǒng)計、仿生等優(yōu)化方法,如遺傳算法、蟻群算法、粒子群算法等也不斷被引入和應(yīng)用。
在水壓力、揚壓力、溫度等荷載作用下,壩體將產(chǎn)生位移。一般情況下,大壩位移數(shù)學(xué)模型分為三個分量[3]。通過壩工工程力學(xué)推導(dǎo),水壓位移分量分別與壩前水深H的一次冪、二次冪、三次冪呈線性關(guān)系。溫度位移是由于壩體和壩基溫度變化引起的大壩位移,以壩體、壩基溫度作為變量因子,也可以采用庫區(qū)日常平均氣溫作為等效因子。時效位移主要指壩體混凝土和壩基巖石的徐變、塑性變形,基巖地質(zhì)構(gòu)造的壓縮變形,以及壩體裂縫等多種因素引起的不可逆變形,文中時效位移選擇對數(shù)函數(shù)和線性函數(shù)兩種。
由此,建立混凝土重力壩變形的單測點全模型,壩體變形為
式中:a0~a10為回歸系數(shù);H 為壩前水深;T1,T1-15,T16-31,T31-60,T61-90分別為下標(biāo)天內(nèi)的庫區(qū)日常平均氣溫;t為時間數(shù),以天/100為單位,以觀測首日為基準(zhǔn)點。
選取遼寧省白石水庫19號壩段的壩頂水平位移作為建模對象,全部觀測數(shù)據(jù)作為樣本,并將觀測數(shù)據(jù)分為兩個樣本組:一組數(shù)據(jù)作為擬合樣本,用來建立網(wǎng)絡(luò)模型;另一組數(shù)據(jù)為對比樣本,用來與網(wǎng)絡(luò)模型的預(yù)報值作比較分析,檢驗網(wǎng)絡(luò)模型的預(yù)測、預(yù)報能力。
在Matlab神經(jīng)網(wǎng)絡(luò)工具箱里,針對BP網(wǎng)絡(luò)的訓(xùn)練函數(shù)有17種,它們采用不同的算法對標(biāo)準(zhǔn)BP算法進(jìn)行優(yōu)化。為比較BP網(wǎng)絡(luò)不同優(yōu)化算法的擬合和預(yù)報效果,選擇了以自適應(yīng)學(xué)習(xí)率加動量因子的梯度下降法(GDX算法)、變梯度的Levenberg-Marquardt算法(LM算法),以及能夠提高網(wǎng)絡(luò)泛化能力的貝葉斯Bayesian歸一化法(BR算法)三種優(yōu)化BP算法,對樣本數(shù)據(jù)創(chuàng)建BP網(wǎng)絡(luò)模型。
選取壩體變形數(shù)學(xué)模型的全部10個因子作為網(wǎng)絡(luò)輸入,壩頂位移作為網(wǎng)絡(luò)輸出,即網(wǎng)絡(luò)輸入層節(jié)點數(shù)為10,輸出層節(jié)點數(shù)為1。
隱層節(jié)點數(shù)不但與輸入層、輸出層節(jié)點數(shù)有關(guān),而且與訓(xùn)練算法,以及樣本的數(shù)據(jù)特征等都有關(guān)系[4]。利用節(jié)點刪除法反復(fù)建模測試,通過多組不同隱層節(jié)點數(shù)模型的誤差對比,尋找出擬合效果好,沒有顯著“過擬合”現(xiàn)象的合理隱層節(jié)點數(shù)。
通過網(wǎng)絡(luò)訓(xùn)練和仿真計算,壩頂位移擬合和預(yù)報成果見表1網(wǎng)絡(luò)模型成果特征值、圖1擬合效果比較圖,圖2預(yù)報效果比較圖。
根據(jù)三種BP神經(jīng)網(wǎng)絡(luò)仿真成果可以看出:
1)基于三種算法的BP網(wǎng)絡(luò)模型擬合效果均能滿足建模要求,但是采用LM算法和BR算法的網(wǎng)絡(luò)訓(xùn)練速度明顯快于GDX算法。
2)基于三種算法的BP網(wǎng)絡(luò)模型預(yù)報精度均能滿足大壩變形預(yù)報的要求,采用LM算法和GDX算法的BP網(wǎng)絡(luò)模型擬合、預(yù)報精度最好,采用LM算法和GDX算法的BP網(wǎng)絡(luò)模型擬合、預(yù)報精度最好,殘差平方和分別為4.985和3.824,最大殘差分別為0.80 mm和0.63 mm。
表1 壩頂水平位移BP網(wǎng)絡(luò)模型成果特征值對比
圖1 壩頂水平位移BP神經(jīng)網(wǎng)絡(luò)擬合效果比較
圖2 壩頂水平位移BP神經(jīng)網(wǎng)絡(luò)預(yù)報效果比較
3)綜合考慮擬合、預(yù)報精度以及建模難度、訓(xùn)練時間等因素,在諸多優(yōu)化算法中,LM算法的BP網(wǎng)絡(luò)更適合用于建立壩頂位移監(jiān)控模型。
[1]周開利,康耀紅.神經(jīng)網(wǎng)絡(luò)模型及其MATLAB仿真程序設(shè)計[M].北京:清華大學(xué)出版社,2005.
[2]覃光華,李祚泳.BP網(wǎng)絡(luò)過擬合問題研究及應(yīng)用[J].武漢大學(xué)學(xué)報,2006,39(6):55-58.
[3]吳中如.水工建筑物安全監(jiān)控理論及其應(yīng)用[M].北京:高等教育出版社,2003.
[4]韓衛(wèi).基于神經(jīng)網(wǎng)絡(luò)的大壩變形智能監(jiān)控模型研究[D].大連:大連理工大學(xué),2009.