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