徐玉玲 王偉麗
(1.江西省自然資源政策調查評估中心,江西 南昌 330000;2.自然資源部第一航測遙感院,陜西 西安 710000)
形變是指變形體在各種荷載作用下,其形狀、大小及位置在時間域和空間域的變化[1]。當基坑、橋梁、高層建筑物等形變體所承受的應力超過一定范圍時,可能會造成災難性的后果,從而給國家和人民造成不可挽回的損失。隨著社會的發展,近年來人口逐漸向城鎮集中,越來越多的人選擇在城市生活和工作,因此城市的人口密度也在逐年增加。為了緩解住房、交通等帶來的壓力,緩解城市土地資源緊缺的難題,城市綜合體開發趨向于立體化和多元化,對地下空間的開發力度在逐年增加,比如大型商業綜合體的地下商場、地鐵、高層超高層建筑的地下車庫等,從而出現了大量的基坑工程。這類基坑工程毗鄰人類活動區,而此類基坑施工周期短、開挖深度大、安全風險高,一旦出現問題,影響范圍廣。近年來,由于監測不及時和監測手段的不完善,出現了多起基坑坍塌事故,造成了一定的人員傷亡和嚴重的經濟損失。針對此類深大基坑,通常需要及時進行安全監測,將觀測的變形數據進行統計分析和變形預測,以研究變形發生的原因、變形特質及三維特征點隨時間與空間的變化規律與變化趨勢,對基坑的及時防護和相關行業決策具有重大意義。
近年來,學者們為研究和預測形變付出了大量的心血,打下了豐富的基礎,總結出廣泛的研究方法,其中適用范圍比較廣泛的有灰色模型分析法、時間序列分析方法、回歸分析法、人工神經網絡方法,預測的精度和可靠性也在不斷地提高。人工神經網絡具有無限接近非線性關系的能力,同時具備并行分布、高度魯棒性和容錯能力,因此可以學習或自適應未知的系統,同時能夠處理所有的定量或定性知識。根據以上特性,目前其廣泛應用于預測。尤其是隨著大數據的應用,其在預測領域發揮著越來越重要的作用。其中,BP(Back Propagation)網絡算法因其結構簡潔、操作靈活等優勢,更加廣泛地應用于神經網絡模型預測中[2]。
采用BP神經網絡改進算法生成的形變預測模型更加符合實際形變過程。本文指出該模型的預測結果略優于傳統神經網絡模型的預報結果,這對于安全運營和經濟發展具有深遠的意義。
普遍使用的BP神經網絡是由多層結構組成的,一般在三層以上,各個層之間沒有反饋信息傳遞,屬于前向量網絡。
首先建立學習模式,將學習模式傳遞給BP神經網絡,激活的神經元傳遞值首先通過輸入層,然后經過隱含層,再從隱含層到達輸出層。在輸出層的時候,獲得各自的傳遞誤差值,得出誤差減小的方向,然后將誤差通過輸出層傳遞到隱含層,最后再回到輸入層。傳遞的過程中在每層按照設計好的訓練迭代,隨時修正連接權值。此過程一直重復進行,直到誤差降低到一定的值域,到達收斂范圍,則BP神經網絡的學習訓練流程結束[3]。
神經元模型中左側為輸入層,可包含n個處理單元,中間部分為隱含層,含有p個處理單元。生物神經元和神經元模型對比(如圖1所示):

圖1 生物神經元和神經元模型對比圖
輸入層和隱含層之間為全連接關系,其函數如式(1)所示:

隱含層的各處理單元構成了輸入向量由輸入層各處理單元的輸出列向量,如式(2)所示:

其中,隱含層各個處理單元的閾值為θj,j=1,2,…,p,可以得出隱含層各個處理單元接收的輸入加權和函數如式(3)所示:

轉移函數決定了各隱含層處理單元的輸出值。其中,Sigmod函數通常被用來作為BP神經網絡的轉移函數。其函數如式(4)所示:

可以得出隱含層的各處理單元的輸出函數如式(5)所示:

BP神經網絡具有非常優秀的非線性的映射能力,但是在收斂速度、收斂極值、理論指導方面還是存在一些問題:首先,新建好學習模式之后,在學習的過程中,有時候需要上千次的迭代才能達到收斂值域,速度比較慢;其次,在訓練的過程中,容易將局部極小值和全局極小值混淆,造成提取的結果并非全局極小值,而是局部極小值;最后,BP神經網絡的學習訓練,具有黑盒屬性,學習模型的建立缺乏成熟系統的理論依據和原理支撐,主要是根據研究者的實際訓練經驗。
研究人員針對BP神經網絡在收斂速度、收斂極值等方面存在的問題做了很多的科研工作,如,限幅BP算法、積累誤差校正法、增加動量項的BP算法、學習速率自適應調整算法等。本文在此主要介紹增加動量項的BP算法:
BP神經網絡模型算法迭代次數多,收斂速度慢,主要是因為在連接權值的時候,沒有調整和記錄上一次的誤差梯度,只調整當前誤差的梯度下降方向,這樣會使模型在訓練的時候容易導致訓練結果不穩定,從而增加收斂時間。為了提高收斂速度來節省收斂時間,研究人員在訓練的時候,按照一定的比例加入了動量項[4],即每一次訓練之后的調整量值。其調整后的函數如式(6)所示:

式(6)中,ηΔWü(n-1)代表動量項;η(n)為動量系數,其中,0<η<1;n是學習次數。
式(6)中,為了使連接權值的調整隨著訓練過程進行而逐漸沿平均方向變化[5],將動量項系數設置為隨著訓練和學習的過程逐漸改變的變量。這樣在訓練學習的時候,可以調整訓練的誤差傳遞方向,對驟然起伏的數據起到阻尼作用,減少震蕩趨勢。
某工程為在建超高層住宅和周圍商業綜合體及地下車庫基坑。該地塊地勢由東南向西北逐漸變高,基坑南北寬約63m,東西長約98m,基坑深度約10m。監測點布設(如圖2所示),該基坑的觀測周期為6~26個月。地層有黏土、砂土和人工填土。以基坑基準點J2和J1構成的方向為縱坐標(X)方向,與其垂直的方向為橫坐標(Y)方向建立獨立坐標系,對布設點位采用水平位移觀測和垂直位移觀測。已知點坐標值(如表1所示):

圖2 基坑監測點位布設示意圖

表1 基準點三維坐標 單位:m
以基準點J1和J2為已知點,此次形變監測采用的是徠卡TS30高精密全站儀,對基坑的水平位移點和三維監測點采用閉合導線測量的方式進行布測,然后通過內業計算出各點位的平面坐標。
基準點J2為已知高程點,對垂直位移點和三維檢測點以二等水準測量的標準,測設閉合水準路線,然后通過內業解算,獲得測設點位的高程。
此次實驗,只選取該工程中垂直位移的觀測數據作為實驗數據,進行BP神經網絡模型的學習訓練和預測。將第一個觀測周期的數據作為此次實驗數據的基礎值,將各觀測周期的值與基礎數據做較差,得到累積變化量。然后在觀測周期之內,隨機選取基坑豎向位移觀測點上的累計變化量、觀測時間和觀測點地層作為實驗數據。本文設計的BP神經網絡中,輸入層為測量時間、荷載和地層,輸出層為總的沉降量。在進行數據的BP神經網絡預測時,將結構施工期和建筑裝修期的總的沉降量作為一種輸出形式,在這里不作詳細地區分。
本文BP神經網絡算法是基于Matlab環境下進行開發[5],其采用函數mNewBP建立算法模型,以tansig函數和purelin函數為神經單元的傳遞函數,反傳遞函數設置為traingdm函數,(帶動量的批處理梯度下降法)。重要函數和重要程序邏輯解釋說明如下:
P=[01,01,01,01,01,01,01,02,02,02,02,02,02,03,03;13,08,12,10,11,12,14,10,23,26,25,25,24,08,08;16,26,20,20,25,20,18,14,27,28,28,28,28,09,13];%P為輸入矢量,值代表每一個編號的土質情況,測量時間和荷載的層高
T=[21.206,13.290,25.866,21.531,22.800,8.187,19.713,12.587,33.538,18.942,21.688,28.514,27.413,6.515,7.420];%T為目標矢量,值代表每一個觀測點位的沉降量
mTranFun1=′tansig′; %傳遞函數tansig
mTranFun2=′purelin′; %傳遞函數purelin
mIn_TranFun2=′purelin′; %反傳遞函數traingdm
BPNets=mNewBP(Min_Max(P),[3,1],{mTranFun1,mTranFun2},mIn_TranFun2);
%傳入傳遞函數和反傳遞函數,創建BP神經網絡
Minput_Wts=BPNets.IW{1,1};
%為BP神經網絡指定當前輸入層權值
minput_Bias=BPNets.b{1};
%為BP神經網絡指定當前輸入層閾值
mlayer_Wts=BPNets.LW{2,1};
%指定當前輸出層權值
mlayer_Bias=BPNets.b{2};
%指定當前輸出層閾值
定義好函數和運行邏輯之后,對BP神經網絡進行網絡訓練,訓練中將函數的迭代次數、學習率、最大訓練次數、訓練精度等作為參數,可根據經驗值進行調整。訓練函數和訓練重要邏輯過程解釋說明如下:
[PN,minp,maxp,]=Premnmx(P);
%將數據歸一化處理
BPNets.trainParam.show=500;
%控制在訓練的時候顯示迭代過程
BPNets.trainParam.epochs=10000;
%設置BP神經網絡訓練次數的最大值
BPNets.trainParam.max_fail=600;
%設置BP神經網絡訓練最大失敗次數
BPNets.trainParam.min_grad=1e-10;
%設置BP神經網絡訓練最小梯度要求
BPNets.trainParam.lr=0.05;
%設置BP神經網絡訓練網絡的學習率
BPNets.trainParam.goal=0.003;
夜到深處,林志依然坐在餐桌前,見紫云回來了。她穿著一件嶄新的白色連衣裙,把濕衣服往盆中一扔。林志不敢多問,忙著去洗衣服,卻被紫云喊住:“那件事想好了嗎?”
%設置BP神經網絡訓練達到的精度
定義輸入層,筆者在這里將神經網絡的訓練數據進行了分類訓練,以地層不同分為三類,其中不同的地層也作為輸入層。將黏土層、砂土層和人工填土的輸入數據分別命名為阿拉伯數字1、2和3。首先將黏土層的數據進行了網絡訓練。訓練結束后,我們已經有了BP神經網絡模型,然后就可以進行數據預測。
2.6.1 歸一化處理
數據預處理過程中對訓練樣本數據采用線性變換的形式進行歸一化處理,該線性變換不會改變原始數據的數值排序,但可以增強數據表現、加快梯度下降進而提升收斂速度。
2.6.2 網絡訓練和測試
對訓練好以后的網絡進行仿真。所用樣本數據包括輸入和輸出數據,通過歸一化處理之后進行數據預測,預測之后,對最后的仿真結果要用反歸一化函數進行反歸一化處理,這時的輸出數據才是所需要的預測結果。其中重要函數和邏輯解釋說明如下:
Y=sim(BPNets,P);
%BPNets是經過訓練的BP函數模型;P是準備網絡預測的輸入函數名。
%訓練BP神經網絡模型
A=sim(BPNets,P);
%采用sim函數對BP網絡進行預測
E=T-A;
%計算仿真誤差
MSE=mse(E);
%獲取均方差
Y=sim(BPNets,x);
%進行最終測試
本文在這里對同一組數據分別進行了無動量項的BP神經網絡算法訓練預測和增加動量項的BP神經網絡散發訓練預測。在實際應用中發現:
2.7.1 效率方面
無動量項的BP神經網絡訓練設置,整個訓練過程的用時為1′43″;增加動量項的BP神經網絡訓練算法后,結果顯示所用時間只有6″,通過比對可以得出:采用增加動量項的BP神經網絡算法可以有效地降低迭代次數,加快神經網絡的收斂速度。
2.7.2 精度方面
本文采用的數據(如表2所示)。我們可以看出,無動量項的算法精度和增加動量項的算法精度相當,這在數據監測中的誤差完全可以接受,并且兩次監測的數據都能夠符合限差要求。

表2 無動量項BP算法與增加動量項BP算法在基坑形變監測中的比較 單位:mm
2.7.3 實際預測
采用增加動量項的BP神經網絡對三組前期函數訓練時參與的值和幾組未參加訓練的值進行預測??梢缘玫揭韵碌臄祿ㄈ绫?所示):

表3 增加動量項的BP算法預測數據與部分實測數據對比單位:mm
本文將改進的BP神經網絡應用于形變監測方面,以某在建超高層住宅和周圍商業綜合體及地下車庫基坑的隨機觀測點為例進行訓練和預測,得出采用增加動量項的BP算法,在處理復雜數據的時候,時間上明顯有了提高,加快了網絡的收斂速度;在精度上,沒有損失,都符合限差的要求。通過工程實例進行預測對比,比對結果可以看出,增加動量項的BP算法可以很好地預測建筑物的沉降,在時間上有明顯的提升,在預測精度上沒有損失。所以增加動量項的BP算法在形變監測上具有比較好的應用前景,如,建筑物的形變監測、大壩的形變監測等。隨著社會的發展,大型綜合體的建設越來越普遍,形變監測的難度卻越來越大,本文改進的BP神經網絡算法還需要進一步的改進和優化,以適應更加復雜的建筑物形變的預測。