趙世英 孟凱楊
(中國核電工程有限公司河北分公司 河北省石家莊市 050011)
用于斜拉橋主梁損傷識別的神經網絡設計
趙世英 孟凱楊
(中國核電工程有限公司河北分公司 河北省石家莊市 050011)
本文針對神經網絡設計中存在的一些問題,結合斜拉橋主梁損傷的特點,詳細討論了多層BP神經網絡設計中有關輸入參數、輸出向量以及最佳隱藏層節點數等問題。
損傷識別;BP神經網絡;網絡設計
近些年隨著對神經網絡技術研究的進一步深入,采神經網絡技術對結構進行損傷識別研究已成為一個熱門的研究課題。由于多層BP網絡可以實現對幾乎任意非線性映射的近似,因此目前其應用較廣。BP神經網絡用于損傷識別的研究已成功應用于懸索橋[1]、連續梁橋[2],桁架橋[3]和斜拉橋[4]等橋梁結構中。但是在多層BP神經網絡的設計方面,尤其是最佳隱藏層節點數的確定方面,仍然沒有一套較為完善的設計方法,往往要根據多次試湊或經驗公式來確定[5~6]。因此如何快速設計一個規模較大的多層BP網絡仍然值得深入探討。
為快速設計一個高效的多層神經網絡,本文針對BP網絡設計中使用人員關注的問題進行了研究,找到了一種可以有效減小神經網絡規模多層BP神經網絡的設計方法,并可以通過自動試算確定最佳隱藏層節點數。
1.1 神經網絡輸入參數的選擇
由于斜拉橋結構的特殊性,當主梁某部位發生損傷時,使斜拉索的索力發生變化;同時斜拉索是沿橋面分布的,因此斜拉橋主梁的損傷位置可依據索力的變化來確定。斜拉索索力指標可以反映索力的變化:

1.2 輸出向量的表示
使用神經網絡對結構損傷位置進行識別時,損傷位置數與輸出層節點一般情況下是一一對應的,即輸出向量的分量與損傷位置一般情況下是一一對應的,因此網絡的輸出向量采用“n中取1”的表示法非常適合。若網絡在訓練階段的輸出向量中第i個分量為1,例如(0…1…0),這就表示第i個位置發生了損傷,而其余的位置沒有損傷。但是由于神經網絡訓練誤差的影響,神經網絡在測試階段的輸出向量為(c1…ci…cn)T,由于輸出向量與期望的輸出向量可能會存在誤差,其中設計人員期望的輸出向量為第i個分量ci遠大于其余的分量,如(0.002…0.99…0.1)T。
實際情況下,損傷位置可能多達上百處,若神經網絡輸出層節點與損傷位置一一對應,這樣輸出層節點數也多達上百個,網絡的規模就會很大,網絡的結構會很難確定。這種情況下,本文為減少輸出向量的維數,將斜拉橋主梁分別沿縱橋向和橫橋向劃分m和n塊區域,(以斜拉橋主梁頂板為例)就可以將頂板劃分為m×n塊損傷區域,這種劃分方法下,可以方便采用平面坐標的形式實現對損傷的準確定位。
確定神經網絡的結構時,輸出層的節點數可以取為m+n,其中前m個分量表示橋面沿縱向劃分的m個損傷位置,后n個分量表示橋面沿橫向劃分的n個損傷位置,例如網絡的一個目標輸出向量為

其中輸出向量的前一部分m個分量中第i個分量為1表示損傷發生在縱橋向定義的第i個區域,輸出向量的后一部分的個分量中第n個分量為1表示損傷發生在橫橋向的第j個區域,這樣神經網絡的輸出向量分成兩個分量,分別定義損傷位置在縱橋向和橫橋向的位置,最終以平面坐標形式準確定位損傷。輸出向量中的分量個數由m×n個減少為m+n個,有效減小了網絡的規模。
1.3 隱藏層節點數的確定
單個隱藏層的BP神經網絡可以映射幾乎所有的連續函數,只有單隱層的網絡不能滿足要求時才考慮使用多隱層的BP網絡,因此本文的BP神經網絡采用單隱層。
神經網絡隱藏層節點的作用是提取訓練樣本集的輸入數據與輸出數據之間函數關系,將這種函數存儲在隱藏層節點的連接權中,每個隱藏層節點的權值都是增強神經網絡映射能力的一個參數[7]。因此神經網絡隱藏層的節點數量與網絡的訓練時間以及泛化能力密切相關。目前,在多層BP神經網絡的設計方面,多數文獻推薦使用經驗公式來確定網絡結構較為簡單時的隱藏層節點數。
對于規模較大的神經網絡,經驗公式確定的最佳隱節點數網絡的泛化能力可能較差,很難滿足要求。為解決這一問題,本文使用MATLAB數學軟件編程實現隱節點數的自動試算,主要步驟為:①先利用公式粗略計算得到的隱節點數作為程序試算的初始隱節點數;②選擇一個隱節點數的合適范圍,利用MATLAB編程來實現自動試算,保存神經網絡的訓練誤差以及與之相對的網絡的隱藏層節點數;③MATLAB循環結束后,選擇訓練誤差最小的神經網絡來作為最終的網絡結構,最佳隱藏層節點數也隨之認。
本節以實驗室的模型斜拉橋為研究對象,模擬對其主梁進行損傷識別,以驗證本文設計方法的優越性。
2.1 三維有限元模型的建立
本文采用ANSYS有限元分析軟件建立了三維有限元模型。斜拉索采用桿單元模擬,主梁和橋塔采用殼單元模擬。有限元模型共6733個節點,6955個單元。
2.2 主梁損傷的有限元模擬
損傷位置的模擬按照1.2中方法對頂板、底板和腹板分別進行位置劃分。將頂板沿橋縱向劃分40份,沿橋橫向劃分4份,這樣頂板就劃分為160個損傷位置;采用同樣的方法將底板和腹板分別劃分為40×5個損傷位置。通過折減相應位置內單元的彈性模量來實現不同損傷程度的模擬。
3.1 樣本集的準備
本文選擇4#斜拉索的索力指標作為構造的BP神經網絡的輸入參數,所以輸入層節點數為4#拉索的斜拉索數。對2.2節中定義的損傷位置分別模擬了以下9種不同程度的損傷(15%、20%、35%、45%、50%、65%、70%、75%、85%、95%),取損傷程度為(15%、35%、50%、70%、95%)時各個位置的索力指標作為本文采用的訓練樣本,用損傷程度(20%、45%、65%、75%、85%)下的索力數據作為神經網絡的測試樣本。
3.2 BP網絡的構造
BP神經網絡采用MATLAB數學軟件編程實現。在3.1中采用4#斜拉索(4根拉索)的索力指標作為神經網絡的輸入,可以確定BP網絡的輸入層有4個節點;采用1.2節中的輸出向量表示方法,斜拉橋主梁的頂板、腹板和底板的BP網絡輸出層分別有44、45、45個節點;以頂板為例,網絡輸入層有4個節點,而輸出層有44個節點,設定隱藏層節點數的試算范圍為:1~100,BP網絡隱藏層節點數與訓練誤差之間的關系見圖1。
由圖1可以看出網絡的訓練誤差整體隨著隱藏層節點數的增加呈現減小趨勢,雖然在小范圍內有一定波動,但不影響整體趨勢,隱藏層節點數為95時訓練誤差最小,由此確定網絡的最佳隱節點數為95。隱節點數為95時網絡的測試誤差非常接近測試誤差的最小值,這說明網絡的隱節點數為95時網絡具有較好的泛化能力。

圖1 隱節點數與訓練誤差的關系圖
本文針對神經網絡設計中輸入參數的選擇、輸出向量的表示和最佳隱藏層節點數的確定進行了深入討論,通過對模型斜拉橋損傷識別的數值模擬,得到:①網絡的輸出向量在采用“n中取1”表示法的基礎上,采用坐標方式定義損傷位置,可以有效減少輸出層的節點數;②采用MATLAB數學軟件編程實現確定最佳隱節點數的自動試算,可以減少人為操作量,能較快確定具有較好泛化能力的網絡結構。綜上所述,文中的網絡設計方法能夠較快確定一個泛化能力較好的神經網絡,為神經網絡的使用者在設計網絡時提供了一種參考。
[1]伍雪南,孫宗光,畢波.基于吊索振動測量與神經網絡技術的懸索橋損傷識別方法[J].大連海事大學學報,2008,34(4):132~134.
[2]M.Mehrjoo,N.Khaji.H.Moharrami.Damage detection of truss bridge joints using ArtificialNeural Networks[J].Expertsystemswith applications,2008,9(4):259~265.
[3]杜永鋒,張冬兵.曲率模態和神經網絡在損傷識別中的應用[J].公路交通科技,2007,24(11):77~80.
[4]趙玲,李愛群.基于神經網絡技術的斜拉橋損傷分步識別方法[J].公路交通科技,2009,26(9):70~75.
[5]沈花玉,王兆霞,高成耀,等.BP神經網絡隱含層單元數的確定[J].天津理工大學學報,2008,24(5):13~15.
[6]王柏生,丁浩江.用于結構損傷識別的神經網絡設計[J].工程設計,1999,29(5):29~33.
[7]韓立群.人工神經網絡理論、設計及應用[M].北京:化學工業出版社,2002:55.
U446
A
1004-7344(2016)17-0232-02
2016-6-1
趙世英(1986-),男,河南林州人,助理工程師,碩士研究生,主要從事有限元仿真與力學計算工作。