張 博
(北京市煤氣熱力工程設(shè)計院有限公司, 北京 100000)
工程建設(shè)中建筑物發(fā)生形變是不可避免的,但超過了工程規(guī)范的范圍,便會造成安全隱患。因此,工程建設(shè)中對建筑物變形必須進行嚴格監(jiān)測,及時、準確地反饋建筑物形變動態(tài),在預報工程險情方面起著至關(guān)重要作用[1-2]。沉降變形是一個隨時間序列高度動態(tài)的非線性變化過程,而人工神經(jīng)網(wǎng)絡(luò)模型可以近似逼近任意的連續(xù)函數(shù),在變形分析與預測預報應(yīng)用效果上優(yōu)于傳統(tǒng)的數(shù)據(jù)處理方法[3-5]。
為提高沉降變形數(shù)據(jù)的穩(wěn)定性和準確性,需對數(shù)據(jù)信號進行降噪處理。小波變換具有多分辨性和去相關(guān)性的特點,使其在降噪濾波方面具有很好優(yōu)勢[6-7]。本文將結(jié)合小波去噪和BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)實現(xiàn)變形監(jiān)測數(shù)據(jù)分析和預測,并對預測結(jié)果進行精度分析。
小波分析是一種被譽為數(shù)學顯微鏡的信號處理技術(shù),結(jié)合了傅里葉變換的優(yōu)點[7]。根據(jù)真實信號明顯區(qū)別于噪聲所對應(yīng)的小波系數(shù)幅值,小波分析對其可以進行有效地分離,從而實現(xiàn)了去噪的目的。小波去噪的方法主要分為三類:小波變換極大值法、小波系數(shù)相關(guān)性法以及小波變換閾值法三種[8]。本文采用經(jīng)典的小波變換閾值法,主要步驟有三步。
(1)小波分解:計算含噪聲信號的小波變換,選擇合適的小波分解層數(shù),將數(shù)據(jù)進行小波分解,得到相應(yīng)的小波分解系數(shù)。
(2)高頻系數(shù)進行閾值量化:選擇合適的閾值函數(shù),將分解得到的高頻系數(shù)進行閾值量化,得到估計小波系數(shù)。
(3)通過小波逆變換信號重構(gòu):利用重構(gòu)算法進行小波重構(gòu),得到去噪后數(shù)據(jù)。
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks, ANN)是應(yīng)用在數(shù)據(jù)分析時,模擬人腦信息傳遞的方式,建立不同的模型,由大量神經(jīng)元相互連接而形成的網(wǎng)絡(luò)系統(tǒng),是具有一定復雜性的非線性動力學習系統(tǒng)[9]。BP神經(jīng)網(wǎng)絡(luò)由Rumelhart和McCelland在1986年提出的,以誤差值逆向傳播修正權(quán)值的多次有限的迭代算法,達到訓練標準的多層前饋神經(jīng)網(wǎng)絡(luò),是ANN應(yīng)用最廣泛的一種[10]。
如圖1所示,BP神經(jīng)網(wǎng)絡(luò)由輸入層、隱含層和輸出層構(gòu)成,BP神經(jīng)網(wǎng)絡(luò)的基本思想是利用梯度下降法快速分配誤差,以達到網(wǎng)絡(luò)的輸出值與期望輸出值的差值滿足精度需求。
圖1中,X=(x1,x2,…,xi,…,xn)T為輸入量;Y=(y1,y2,…,yj,…,yp)T為隱含層;O=(o1,o2,…,ok,…,oq)T為輸出層;wij是輸入層的第i個節(jié)點到隱含層的第j個神經(jīng)元之間的權(quán)值;vjk是隱藏層的第j個節(jié)點到輸出層的第k個神經(jīng)元之間的權(quán)值。
圖1 BP神經(jīng)網(wǎng)絡(luò)模型圖
BP神經(jīng)網(wǎng)絡(luò)的算法分為2個過程:信號的前向傳播和誤差的反向傳播階段。
(1)信號的前向傳播:樣本數(shù)據(jù)經(jīng)輸入層按不同的權(quán)重傳遞到隱含層,由激活函數(shù)計算輸出值,上層的輸出值作為下層的輸入值,以此計算類推,直到輸出層;
(2)誤差的反向傳播:根據(jù)網(wǎng)絡(luò)輸出值與期望值的誤差建立損失函數(shù),求解誤差梯度,修正每層的權(quán)重值。再按前向傳播解算實際輸出值,直到輸出值及期望值滿足停止準則,迭代計算終止,網(wǎng)絡(luò)訓練完成。
BP神經(jīng)網(wǎng)絡(luò)屬于有導師學習的訓練模式,以3層的BP神經(jīng)網(wǎng)絡(luò)模型為例,輸入量為X=(x1,x2,…xi,…xn)T,隱含層為Y=(y1,y2,…,yj,…,yp)T,輸出層為O=(o1,o2,…ok,…oq)T,BP神經(jīng)網(wǎng)絡(luò)具體的訓練過程如下:
(1)數(shù)據(jù)歸一化
(1)
式中,X′為歸一化后的數(shù)據(jù);Rmax、Rmin為控制歸一化后數(shù)據(jù)范圍的參數(shù),當激活函數(shù)采用S形函數(shù)[函數(shù)值域為(0,1)]時,需將數(shù)據(jù)歸一化得到[0,1]區(qū)間,此時Rmax取值為1,Rmin取值為0。
(2)構(gòu)建網(wǎng)絡(luò)結(jié)構(gòu)
獲取總量為N的樣本,首先將樣本集合分為訓練數(shù)據(jù)和測試數(shù)據(jù),取訓練數(shù)據(jù)中連續(xù)的n個樣本數(shù)據(jù)X作為輸入樣本組,以下一個樣本數(shù)據(jù)作為輸出層的期望值,故獲得N-n組樣本對。
隱含層神經(jīng)元節(jié)點數(shù)p以經(jīng)驗公式與實際試驗相結(jié)合的方式確定,主要采取以下公式計算出取值的大致范圍:
(2)
p2=2n+1
(3)
(4)
式中,n為輸入層神經(jīng)元個數(shù);q為輸出層神經(jīng)元個數(shù);隱含層神經(jīng)元節(jié)點數(shù)取值為p1,p2,p3所構(gòu)成的數(shù)值區(qū)間。
故構(gòu)建的網(wǎng)絡(luò)模型結(jié)構(gòu)為:輸入層神經(jīng)元個數(shù)為n;隱含層神經(jīng)元個數(shù)為p;輸出層神經(jīng)元個數(shù)為q。
(3)訓練參數(shù)設(shè)置
初始權(quán)值設(shè)置過大容易導致網(wǎng)絡(luò)訓練過程中飽和,影響訓練精度,一般情況下設(shè)置為小值,后續(xù)由學習過程進行迭代修正[3]。另外還有最大訓練次數(shù)、訓練精度指標,可按工程精度需求設(shè)置。
(4)前向傳播過程
樣本數(shù)據(jù)經(jīng)輸入層按不同的權(quán)重傳遞到隱含層,由激活函數(shù)計算輸出值:
(5)
則輸出層的輸出值為:
(6)
(5)誤差的反向傳播
利用網(wǎng)絡(luò)輸出值與期望值差的平方和建立損失函數(shù),又稱為網(wǎng)絡(luò)誤差函數(shù):
(7)
(8)
(9)
式中,η為學習效率,ek和ej表示期望輸出和實際輸出的差值。
(6)迭代結(jié)束判定
循環(huán)(4)~(6)步,直到滿足精度要求或訓練次數(shù)達到最大訓練次數(shù),循環(huán)終止即網(wǎng)絡(luò)模型訓練完成。BP神經(jīng)網(wǎng)絡(luò)流程如圖2所示。
圖2 BP神經(jīng)網(wǎng)絡(luò)流程圖
以某建筑基坑開挖過程的觀測點為實例,對該觀測點進行了47期的觀測,累計沉降量數(shù)據(jù)如表1所示。
表1 觀測點累計沉降量數(shù)據(jù)表
采用小波去噪算法將原始數(shù)據(jù)進行預處理,去噪效果對比如圖3所示。在實際測量數(shù)據(jù)中,由于測量誤差或記錄失誤等原因造成數(shù)據(jù)出現(xiàn)異常值(見圖3中虛線標記處),若采用原始數(shù)據(jù)進行訓練網(wǎng)絡(luò)模型,則難以達到預期精度[7],經(jīng)小波去噪后的數(shù)據(jù)消除了異常值的影響,并將該數(shù)據(jù)作為后續(xù)的網(wǎng)絡(luò)訓練樣本數(shù)據(jù)。根據(jù)公式(1)對樣本數(shù)據(jù)進行歸一化處理。
圖3 小波去噪對比效果圖
3.2.1網(wǎng)絡(luò)層數(shù)
BP神經(jīng)網(wǎng)絡(luò)可以含有多個隱含層,隱含層個數(shù)的增加會提高一定的精度,但網(wǎng)絡(luò)復雜度、訓練時間也會增加。一般情況下工程應(yīng)用中隱含層數(shù)不會超過2層,一個隱含層的BP網(wǎng)絡(luò)可以逼近任意連續(xù)函數(shù)[11-12],故本文采用一個隱含層。
3.2.2輸入層、輸出層神經(jīng)元數(shù)設(shè)置
將1~40期數(shù)據(jù)作為網(wǎng)絡(luò)訓練數(shù)據(jù),41~47期為測試數(shù)據(jù);沉降數(shù)據(jù)具有明顯的時間序列特征,在網(wǎng)絡(luò)運行中采用滑動窗口的方式迭代前進,將每4期數(shù)據(jù)作為樣本輸入組,以下一期數(shù)據(jù)作為輸出的目標數(shù)據(jù),依次迭代,直至訓練或預測完成終止,網(wǎng)絡(luò)模型中輸入輸出模式如表2所示。
表2 BP神經(jīng)網(wǎng)絡(luò)的訓練過程輸入輸出模式
3.2.3隱含層的神經(jīng)元數(shù)
輸入層神經(jīng)元個數(shù)為4,輸出層神經(jīng)元個數(shù)為1,則由經(jīng)驗公式(2)~(4)解算取值范圍,隱含層神經(jīng)元數(shù)設(shè)置為8,主要參數(shù)設(shè)置見表3。
表3 訓練參數(shù)表
針對小波去噪對神經(jīng)網(wǎng)絡(luò)訓練效果及預測效果的影響問題,實驗采用了經(jīng)小波去噪和未經(jīng)小波去噪的2種數(shù)據(jù)作為訓練數(shù)據(jù),進行了訓練效果和預測結(jié)果的對比及精度分析。訓練階段的擬合趨勢對比圖如圖4所示,預測結(jié)果對比圖如圖5~6所示,精度分析如表4所示。
圖4 訓練結(jié)果對比圖
圖5 預測結(jié)果對比圖
圖6 預測誤差對比圖
表4 預測結(jié)果精度分析表
由圖4分析可知,無去噪的BP神經(jīng)網(wǎng)絡(luò)擬合數(shù)據(jù)波動性較大,相比之下基于小波去噪的BP神經(jīng)網(wǎng)絡(luò)的擬合程度更高。由圖5~6及表4分析可知,兩種方法的預測精度都在0.2 mm以內(nèi),經(jīng)小波去噪后的BP神經(jīng)網(wǎng)絡(luò)預測精度有了顯著的提升,預測精度維持在0.01 mm以內(nèi),精度提升了86.55%。
本文通過實例數(shù)據(jù)進行實驗,對比了BP神經(jīng)網(wǎng)絡(luò)和基于小波去噪的神經(jīng)網(wǎng)絡(luò)模型,并對觀測點進行了預測。經(jīng)實驗對比分析可知,2種方法都可以獲得具有一定的訓練模型和預測精度,但小波去噪可以過濾測量數(shù)據(jù)中的異常值,提高觀測數(shù)據(jù)的穩(wěn)定性,結(jié)合小波去噪的BP神經(jīng)網(wǎng)絡(luò)訓練精度更高,預測精度達到0.01 mm以內(nèi),相比無去噪的BP神經(jīng)網(wǎng)絡(luò)精度提升了86.55%,結(jié)果表明了基于小波去噪的BP神經(jīng)網(wǎng)絡(luò)優(yōu)越性。