可可簡歷網

位置:首頁 > 熱點 > 工作經歷

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

[摘 要] 由於堆石體介質結構的不均勻性以及堆石體密度與其力學引數之間的非線性關係,因此從實測的力學引數中用線性關係計算密度,很難得到較理想的結果。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演算法的有效改進也是提高對映關係精度的一種方法,這將在以後的工作需要中進行改進,改進的方法主要有增加動量項、自適應調節學習率、引入陡度因子等方法。