□張憲君 □馬若龍 □王志勇 □李丕武
(黃河勘測規(guī)劃設(shè)計(jì)有限公司工程物探研究院)
附加質(zhì)量法測試堆石體密度建立的模型是假定介質(zhì)是均勻性的,實(shí)際中有時(shí)堆石體中介質(zhì)顆粒的大小變化很大,這時(shí)測試的數(shù)據(jù)很難從中找到與真實(shí)密度的一種線性關(guān)系,所以可以選用BP神經(jīng)網(wǎng)絡(luò)來找到測試參數(shù)與密度之間的非線性關(guān)系。
采用BP算法的三層網(wǎng)絡(luò)是至今應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò),所謂三層包括輸入層、隱層和輸出層。如圖1所示。
圖1 三層BP網(wǎng)絡(luò)
三層BP網(wǎng)中,輸入向量為X=(x1,x2,…xi,…xn)T,圖中x0=-1是為隱層神經(jīng)元引入閾值而設(shè)置的;隱層輸出向量為Y=(y1,y2,…yi,…ym)T,圖中y0=-1是為輸出層神經(jīng)元引入閾值而設(shè)置的;輸出層輸出向量為 O=(o1,o2,…ok,…ol)T;期望輸出向量為d=(d1,d2,…dk,…dl)T。輸入層到隱層之間的權(quán)值矩陣用V表示,V=(V1,V2,…Vi,…Vm)T,其中Vi=(v0i,v1i,v2i,…vij,…vni),v0i為第j個(gè)神經(jīng)元的閾值;隱層到輸出層之間的權(quán)值矩陣用W表示,W=(W1,W2,…Wk…Wl),其中Wk=(w0k,w1k,w2k,…wik,…wmk),w0k為第k個(gè)神經(jīng)元的閾值。各層信號之間的數(shù)學(xué)關(guān)系如下:
以上兩式中,變換函數(shù)f(x)均為單極性Sigmoid函數(shù)
f(x)具有連續(xù)、可導(dǎo)的特點(diǎn),且有
當(dāng)網(wǎng)絡(luò)輸出與期望輸出不等時(shí),存在輸出誤差E,定義如下:
將以上誤差定義式展開至輸入層,有
由上式可以看出,網(wǎng)絡(luò)輸入誤差是各層權(quán)值wjk、vij的函數(shù),因此調(diào)整權(quán)值可改變誤差。
顯然,調(diào)整權(quán)值的原則使誤差不斷地減小,因此應(yīng)使權(quán)值的調(diào)整量與誤差的梯度降成正比,即
式中常數(shù)η∈(0,1)表示比例系數(shù),在訓(xùn)練中反映了學(xué)習(xí)速率。綜合式(2)和式(4)上式可寫為
上式中利用式(7),可得
將以上結(jié)果代入式(13)與式(14)中,并應(yīng)用式(6)得:
將上式分別代回式(11)與(12)中得到最終的三層BP學(xué)習(xí)算法的權(quán)值調(diào)整計(jì)算公式:
輸入?yún)?shù)的選取應(yīng)選取對輸出影響大且能夠檢測或提取的變量,此外還要求各輸入變量之間不相關(guān)或相關(guān)性很小,堆石體密度測試中得到的數(shù)據(jù)參數(shù)一般包括剛度K(MN/m)、附加質(zhì)量 m0(kg)、壓板半徑 r(m)、縱波速度 vp(m/s)、橫波速度 vs(m/s)等,為了得到教師信號的輸出,需要用坑測等較準(zhǔn)確的方法測試出濕密度ρw(t/m3)、干密度ρo(t/m3)。根據(jù)理論與經(jīng)驗(yàn),剛度與附加質(zhì)量對輸出的密度影響最大,所以這兩個(gè)參數(shù)是網(wǎng)絡(luò)的必選參數(shù),其它的參數(shù)可做為網(wǎng)絡(luò)的附加參數(shù)。
為了網(wǎng)絡(luò)訓(xùn)練一開始就給各輸入分量以同等重要地位,所以要對輸入數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化。一般將輸入輸出數(shù)據(jù)變換為區(qū)間[0,1]的值常用以下變換式:
隱節(jié)點(diǎn)的作用是從樣本中提取并存儲(chǔ)其內(nèi)在規(guī)律。隱節(jié)點(diǎn)數(shù)量太少,網(wǎng)絡(luò)從樣本中獲取的信息能力就差,不足以概括和體現(xiàn)樣本規(guī)律;隱節(jié)點(diǎn)數(shù)量過多,又可能把樣本中非規(guī)律性的內(nèi)容如噪聲等也學(xué)會(huì)記牢,從而出現(xiàn)所謂的“過度吻合”問題。確定最佳隱節(jié)點(diǎn)數(shù)的一個(gè)常用方法是試湊法,一般用下式作為試湊法的初始值
上式中m為隱層節(jié)點(diǎn)數(shù),n為輸入層節(jié)點(diǎn)數(shù),l為輸出層節(jié)點(diǎn)數(shù),a為1~10之間的常數(shù)。
根據(jù)以上原則用VB編制出BP神經(jīng)網(wǎng)絡(luò)程序,運(yùn)行時(shí)其可以根據(jù)需要設(shè)定輸入層節(jié)點(diǎn)數(shù)、隱層節(jié)點(diǎn)數(shù)和輸出層節(jié)點(diǎn)數(shù),大大方便了計(jì)算的靈活性與多樣性,從而為找到最優(yōu)化的形式提供便利(最優(yōu)化的形式包括最適合的輸入?yún)?shù)和最適合的隱層節(jié)點(diǎn)數(shù)等),程序運(yùn)行初始時(shí),隱層節(jié)點(diǎn)數(shù)初始化為5,后面用到的BP神經(jīng)網(wǎng)絡(luò)都是在隱層節(jié)點(diǎn)數(shù)為5的基礎(chǔ)下進(jìn)行學(xué)習(xí)計(jì)算的。
實(shí)例(1)四川田灣河仁宗海發(fā)電站的堆石土密度試驗(yàn)。
通過在四川田灣河仁宗海發(fā)電站的堆石土密度試驗(yàn),得到實(shí)測數(shù)據(jù)。網(wǎng)絡(luò)的輸入?yún)?shù)選取了剛度、附加質(zhì)量、壓板半徑,輸出參數(shù)選取了濕密度。
傳統(tǒng)的密度計(jì)算公式為:ρm0=1.20×10-4m0+2.159
經(jīng)過網(wǎng)絡(luò)訓(xùn)練得到的對比數(shù)據(jù)如表1所示。
表1 四川田灣河仁宗海堆石土實(shí)測資料表 (壓板半徑:0.25m)
通過PBG堆石壩堆石料試驗(yàn),得到實(shí)測數(shù)據(jù)。網(wǎng)絡(luò)的輸入?yún)?shù)選取了剛度K(MN/m)、附加質(zhì)量m0(kg),輸出參數(shù)選取了濕密度ρw(t/m3)。經(jīng)過網(wǎng)絡(luò)訓(xùn)練得到的對比數(shù)據(jù)如表2所示
表2 PBG堆石壩堆石料實(shí)測資料表
兩個(gè)實(shí)例說明BP神經(jīng)網(wǎng)絡(luò)算法能較好地找到剛度K、參數(shù)m0參數(shù)與堆石體密度之間的關(guān)系。但怎樣找到最優(yōu)的映射關(guān)系還需要通過樣本點(diǎn)的合理選取、輸入?yún)?shù)的選取、網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)的選取等它們之間的各種組合來進(jìn)行計(jì)算學(xué)習(xí)。另外BP神經(jīng)網(wǎng)絡(luò)的BP算法也存在著平坦區(qū)域(誤差梯度小,調(diào)整權(quán)值很大,誤差仍下降慢)、多個(gè)極小點(diǎn)問題(其學(xué)習(xí)算法常常陷入某個(gè)局部極小點(diǎn)而不能自拔)。對標(biāo)準(zhǔn)BP算法的有效改進(jìn)也是提高映射關(guān)系精度的一種方法,這將在以后的工作需要中進(jìn)行改進(jìn),改進(jìn)的方法主要有增加動(dòng)量項(xiàng)、自適應(yīng)調(diào)節(jié)學(xué)習(xí)率、引入陡度因子等方法。
[1]韓力群.人工神經(jīng)網(wǎng)絡(luò)教程[M].北京郵電大學(xué)出版社,2006(12).
[2]李丕武,等.堆石體密度測定的附加質(zhì)量法[J].地球物理學(xué)報(bào),1999.