BP神經網絡在堆石體密度測試中的應用(張憲君,馬若龍,王志勇,李丕武)

來源:巧巧簡歷站 1.83W
[摘 要] 由於堆石體介質結構的不均勻性以及堆石體密度與其力學參數之間的非線性關係,因此從實測的力學參數中用線性關係計算密度,很難得到較理想的結果。BP神經網絡具有非線性映射、泛化、容錯的能力。通過教師信號的學習,能夠找到輸入與輸出之間未知的連續非線性關係,從而達到利用所測力學參數計算密度的目的。

[關鍵詞] BP神經網絡 附加質量法 堆石體密度

BP神經網絡在堆石體密度測試中的應用(張憲君,馬若龍,王志勇,李丕武)

人工神經網絡是借鑑於生物神經網絡而發展起來的新型智能信息處理系統,它的基本功能有聯想記憶、非線性映射、分類與識別、優化計算、知識處理等,它的基本單元神經元常被稱為“處理單元”或“節點”。神經元具有多輸入單輸出的特點,對輸入加權求和然後通過一變換函數求得輸出,許多神經元連接在一起,組成了不同的網絡拓樸結構,從而整體上也具有了不同的功能。附加質量法測試堆石體密度建立的模型是假定介質是均勻性的,實際中有時堆石體中介質顆粒的大小變化很大,這時測試的數據很難從中找到與真實密度的一種線性關係,那就要找到它們之間的非線性關係。理論分析已經證明,人工神經網絡中的BP神經網絡通過教師信號的學習可以映射所有連續函數,所以可以選用BP神經網絡來找到測試參數與密度之間的非線性關係,附加質量法測試到的參數有剛度、附加質量、壓板半徑、縱波速度、橫波速度等,BP神經網絡主要以這些參數做為輸入,以密度做為輸出來建立模型;
以這些參數與其對應的坑測法測試的密度來做為教師信號對網絡進行訓練,訓練之後就可以輸入參數來計算密度。

1 BP神經網絡應用原理

1.1 模型與算法

採用BP算法的三層網絡是至今應用最廣泛的神經網絡,所謂三層包括輸入層、隱層和輸出層。如圖1所示。

三層BP網中,輸入向量為X=(x1,x2,…,xi,…,xn)T,圖中x0=-1是為隱層神經元引入閾值而設置的;
隱層輸出向量為Y=(y1,y2,…,yj,…,ym)T,圖中y0=-1是為輸出層神經元引入閾值而設置的;
輸出層輸出向量為O=(o1,o2,…,ok,…,ol)T;
期望輸出向量為d=(d1,d2,…,dk,…,dl)T。輸入層到隱層之間的權值矩陣用V表示,V=(V1,V2,…,Vj,…,Vm),其中Vj=(υ0j,υ1j,υ2j,…,υij,υnj),υ0j為第j個神經元的閾值;
隱層到輸出層之間的權值矩陣用W表示,W=(W1,W2,…,Wk,…,Wl),其中Wk=(ω0k,ω1k,ω2k,…,ωik,…ωmk),ω0k為第k個神經元的閾值。各層信號之間的數學關係如下。

當網絡輸出與期望輸出不等時,存在輸出誤差E,定義如下:

由上式可以看出,網絡輸入誤差是各層權值ωjk、υij的函數,因此調整權值可改變誤差E。

顯然,調整權值的原則是使誤差不斷地減小,因此應使權值的調整量與誤差的梯度降成正比,即:

上式中利用式(7),可得:

1.2 模擬與應用

輸入參數的選取應選取應對輸出影響大且參夠檢測或提取的變量,此外還要求各輸入變量之間不相關或相關性很小,堆石體密度測試中得到的數據參數一般包括剛度K(MN/m)、附加質量m0(kg)、壓板半徑r(m)、縱波速度Vp(m/s)、橫波速度Vs(m/s)等,為了得到教師信號的輸出,需要用坑測等較準確的方法測試出濕密度ρω(t/m3)、幹密度ρ0(t/m3)。根據理論與經驗剛度與附加質量對輸出的密度影響最大,所以這兩個參數是網絡的必選參數,其他的參數可做為網絡的附加參數。

為了網絡訓練一開始就給各輸入分量以同等重要地位所以要對輸入數據進行標準化,另外Sigmoid變換函數的輸出在0~1之間,所以還要對教師信號的輸出數據進行標準化處理,最後計算應用時,再將網絡輸出的標準化數據變換成原來的形式。當輸入或輸出向量的各分量量綱不同時,應對不同的分量在其取值範圍內分別進行變換;
當各分量物理意義相同且為同一量綱時,應在整個數據範圍內確定最大值xmax和最小值xmin進行統一的變換處理。

將輸入輸出數據變換為(0,1)區間的值常用以下變換式

隱節點的作用是從樣本中提取並存儲其內在規律。隱節點數量太少,網絡的從樣本中獲取的信息能力就差,不足以概括和體現樣本規律;
隱節點數量過多,又可能把樣本中非規律性的內容如噪聲等也學會記牢,從而出現所謂的“過度吻合”問題。確定最佳隱節點數的一個常用方法是試湊法,一般用下式作為試湊法的初始值:

上式中m為隱層節點數,n為輸入層節點數,l為輸出節點數,a為1~10之間的常數。

根據以上的原則用VB編制出BP神經網絡程序,運行時其可以根據需要設定輸入層節點數,隱層節點數,輸出層節點數,大大方便了計算的靈活性與多樣性,從而為找到最優化的形式提供便利(最優化的形式包括最適合的輸入參數,最適合的隱層節點數等),程序運行初始時,隱層節點數初始化為5,後面的用到的BP神經網絡都是在隱層節點數為5的基礎下進行學習計算的。

程序的數據處理流程圖如圖2所示

2 實例

實例(1)四川田灣河仁宗海發電站的堆石土密度試驗。

通過在四川田灣河仁宗海發電站的堆石土密度試驗,得到實測數據。網絡的輸入參數選取了剛度、附加質量、壓板半徑,輸出參數選取了濕密度。

傳統的密度計算公式為:ρm0=1.20×10-4m0+2.159

經過網絡訓練得到的對比數據如表1所示

BP網絡計算、傳統的密度計算與坑測法測得的濕密度的對比如圖3,圖4所示

實例(2)PBG堆石壩堆石料試驗

通過PBG堆石壩堆石料試驗,得到實測數據。網絡的輸入參數選取了剛度K(MN/m)、附加質量m0(kg),輸出參數選取了濕密度ρω(t/m3)。

經過網絡訓練得到的對比數據如表2所示

選前9個數據做為教師信號,後9個數據用網絡計算得到的對比數據如表3所示

上述兩種BP網絡計算與坑測法測得的濕密度的對比如圖5所示

3 結束語

兩個實例説明BP神經網絡算法能較好地找到剛度K 、m0參數與堆石體密度之間的關係。但怎樣找到最優的映射關係還需要通過樣本點的合理選取、輸入參數的選取、網絡節點數的選取等它們之間的各種組合來進行計算學習。另外BP神經網絡的BP算法也存在着平坦區域(誤差梯度小,調整權值很大,誤差仍下降慢)、多個極小點問題(其學習算法常常陷入某個局部極小點而不能自拔)。圖6以單權值為例描述了以上問題。對標準BP算法的有效改進也是提高映射關係精度的一種方法,這將在以後的工作需要中進行改進,改進的方法主要有增加動量項、自適應調節學習率、引入陡度因子等方法。

熱門標籤