倪曉蘭
(蘭州交通大學(xué)數(shù)理學(xué)院,甘肅蘭州 730070)
地質(zhì)災(zāi)害(如地震、火山、滑坡、泥石流等)的頻繁發(fā)生對人們的生活產(chǎn)生了一定的影響,其中滑坡無疑是一個(gè)最具危害性的隱患,每年都會(huì)對人們的生命財(cái)產(chǎn)安全造成大量的損害,對國家建設(shè)造成不可忽略的影響,因此開展對滑坡破壞問題的研究,了解滑坡的破壞趨勢及其影響范圍,對避免和減輕滑坡災(zāi)害帶來的損失具有至關(guān)重要的作用,也對做好滑坡防治工作具有非常重要的現(xiàn)實(shí)意義.
產(chǎn)生滑坡的原因很多,國內(nèi)外許多學(xué)者對滑坡破壞的研究非常廣泛. 有的學(xué)者對滑坡位移進(jìn)行預(yù)測,如成樞[1]等引入非線性慣性權(quán)重改進(jìn)粒子群優(yōu)化BP 網(wǎng)絡(luò)模型,提出IPSO-BP 模型,相比于其他模型,該模型與實(shí)測數(shù)據(jù)擬合結(jié)果更接近,進(jìn)而對滑坡位移趨勢有較好的預(yù)測;劉紅帥[2]等以中里滑坡為例利用改進(jìn)的灰色預(yù)測模型—等維灰數(shù)遞補(bǔ)動(dòng)態(tài)預(yù)測模型進(jìn)行滑坡位移預(yù)測;劉先珊[3]等提出基于退火交替迭代算法神經(jīng)網(wǎng)絡(luò)的位移預(yù)測方法,其預(yù)測精度明顯優(yōu)于BP 神經(jīng)網(wǎng)絡(luò). 有的學(xué)者主要針對滑坡進(jìn)行空間預(yù)測,如張敬一[4]、陳偉[5]、韓高[6]等分別介紹了滑坡災(zāi)害空間預(yù)測常用的理論方法以及各類空間滑坡災(zāi)害發(fā)展趨勢,用最先進(jìn)的人工智能算法組成的混合集成方法進(jìn)行滑坡空間預(yù)測研究,采用Logistic 回歸(LR)和支持向量機(jī)(SVM)對滑坡進(jìn)行空間分類;Nguyen[7]等利用樸素貝葉斯對越南白巖省木倉柴區(qū)進(jìn)行滑坡預(yù)測模型對比分析;蔡欣育[8]等針對降雨不同對邊坡穩(wěn)定性的影響進(jìn)行研究,發(fā)現(xiàn)邊坡失效概率隨著降雨強(qiáng)度的增加而增大. 雖然很多學(xué)者對滑坡進(jìn)行了不同角度的分析與研究,針對滑坡位移和滑坡空間預(yù)測的研究較多,對滑坡邊坡穩(wěn)定的研究也很廣泛,但是對滑坡破壞趨勢、滑坡破壞趨勢預(yù)測等研究相對較少.
20 世紀(jì)80 年代以來,人工智能研究成為熱點(diǎn).李春生[9]利用FLAC3D數(shù)值模擬手段,對滑坡時(shí)空破壞規(guī)律進(jìn)行了研究. 丁守鑾[10]等利用動(dòng)態(tài)學(xué)習(xí)比率BP 算法以雙曲正切函數(shù)為功能函數(shù)的非線性時(shí)間序列預(yù)測方法,建立HFRS 發(fā)病率的ANN 預(yù)測模型. 蔡釗[11]等采用ARIMA-ANN 組合能量預(yù)測模型對OLSR 路由節(jié)點(diǎn)的剩余電量進(jìn)行預(yù)測. Banga[12]等利用多元人工神經(jīng)網(wǎng)絡(luò)技術(shù)來評(píng)估和預(yù)測散裝存儲(chǔ)的豆類密度.潘大豐[13]等利用BP算法提出了時(shí)間序列和信息預(yù)測方法,并對比證實(shí)了該方法比統(tǒng)計(jì)回歸模型有較強(qiáng)的預(yù)測能力. 本文借鑒以上方法,研究降雨和坡角不同時(shí)工況,分析滑坡破壞程度的大小,針對滑坡破壞趨勢,提出一種基于經(jīng)驗(yàn)?zāi)B(tài)分解(EMD)的人工神經(jīng)網(wǎng)絡(luò)(ANN)智能預(yù)測法(EMD-ANN),將原始序列進(jìn)行經(jīng)驗(yàn)?zāi)B(tài)分解后,進(jìn)行人工神經(jīng)網(wǎng)絡(luò)預(yù)測滑坡破壞趨勢.
數(shù)據(jù)來源于室內(nèi)模擬坡角為30°的后鋒降雨滑坡實(shí)驗(yàn)采集的三維點(diǎn)云數(shù)據(jù)(一組在三維坐標(biāo)系統(tǒng)中組成的向量的集合).根據(jù)三維點(diǎn)云數(shù)據(jù)畫出滑坡滑動(dòng)曲線,如圖1所示.
圖1 滑坡斷裂曲線
用圖像二值化處理,即用OpenCV 中的threshold 函數(shù)獲取二元值的灰度圖像(如圖2),該函數(shù)中有四個(gè)參數(shù):第一個(gè)參數(shù)表示原圖像,第二個(gè)是分類的閾值,第三個(gè)參數(shù)是高于(或低于)閾值賦予的新值,第四個(gè)是閾值類型. 最后提取出由二維像素點(diǎn)坐標(biāo)構(gòu)成的滑坡滑動(dòng)曲線.
圖2 圖像二值化處理
圖像二值化處理后將所有曲線放入同一坐標(biāo),如圖3 所示,接著固定x軸坐標(biāo),提取不同時(shí)刻的y軸坐標(biāo),由于x從小到大排序后中間有缺失值,補(bǔ)全缺失值的同時(shí),y此時(shí)不是一一對應(yīng),因此取x未缺失的前后數(shù)值所對應(yīng)的y值對其求平均進(jìn)行插值,進(jìn)而提取出x所對應(yīng)的不同時(shí)刻的所有y值. 最終提取得到207 個(gè)不同的x,每個(gè)x對應(yīng)102 個(gè)不同時(shí)刻的y值. 選取間隔一樣的10 個(gè)不同x值所對應(yīng)的不同時(shí)刻的y值進(jìn)行預(yù)測,即X1,...,X10對應(yīng)的Y1,1-Y1,102,...,Y1,10-Y10,102,對此10組不同的y進(jìn)行預(yù)測.
圖3 提取的若干曲線在同一平面展示
由于提取到的數(shù)據(jù)直接做預(yù)測誤差會(huì)很大,因此將數(shù)據(jù)進(jìn)行經(jīng)驗(yàn)?zāi)B(tài)分解,從而減少誤差,提高精度. 經(jīng)驗(yàn)?zāi)B(tài)分解的本質(zhì)是通過特征時(shí)間尺度來識(shí)別信號(hào)中所包含的所有振動(dòng)模態(tài),即將一組分布不規(guī)則的數(shù)據(jù)轉(zhuǎn)化為多組分布規(guī)則的數(shù)據(jù)和殘差項(xiàng)數(shù)據(jù)的形式.用公式可以表示為:
其分解方法有三個(gè)假設(shè)條件:首先數(shù)據(jù)至少要有一個(gè)最大值和一個(gè)最小值以及有兩個(gè)極值;其次,局部時(shí)域特性是由極值點(diǎn)間的時(shí)間尺度唯一確定;最后,當(dāng)數(shù)據(jù)中無極值點(diǎn)但是有拐點(diǎn),那么可以通過對數(shù)據(jù)求導(dǎo)求極值,接著通過積分獲得分解結(jié)果.
EMD分解步驟如下[14]:
第一步,根據(jù)原始序列確定X( )t的極大、極小值點(diǎn).
第二步,由第一步分別畫出原始數(shù)據(jù)的上、下外包絡(luò)線;第二部,求出上G(t)、下H(t)外包絡(luò)線.
第三步,畫出均值包絡(luò)線:
第四步,用原始數(shù)據(jù)減去均值包絡(luò)線m( )t,得到中間序列l(wèi)( )t:
第五步,判斷中間序列l(wèi)( )t是否還存在負(fù)的局部極大值和正的局部極小值,假如滿足,說明該中間序列非本征模函數(shù),需要繼續(xù)重復(fù)上述步驟. 最后進(jìn)行多次迭代,完成EMD分解,如圖4所示.
圖4 經(jīng)驗(yàn)?zāi)B(tài)分解
人工神經(jīng)網(wǎng)絡(luò)是指由大量的處理單元,也就是神經(jīng)元互相連接而形成的復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu),是對人腦組織結(jié)構(gòu)和運(yùn)行機(jī)制的某種抽象、簡化和模擬. 它是以數(shù)學(xué)模型模擬神經(jīng)元活動(dòng),是基于模仿大腦神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和功能而建立的一種信息處理系統(tǒng). 一般處理的序列具有非線性、非局限性、非常定性和非凸性這四個(gè)基本特征. 這里的非局限性就是模擬大腦的非局限性;非常定性是因?yàn)樯窠?jīng)網(wǎng)絡(luò)在處理信息時(shí)產(chǎn)生的各種變化;非凸性指系統(tǒng)在某個(gè)特定的狀態(tài)函數(shù)下會(huì)產(chǎn)生多個(gè)極值以此來趨于多個(gè)較穩(wěn)定的平衡狀態(tài),從而導(dǎo)致系統(tǒng)演化的多樣性.
由EMD 分解后進(jìn)行神經(jīng)網(wǎng)絡(luò)預(yù)測的技術(shù)路線如圖5所示.
圖5 技術(shù)路線圖
神經(jīng)元的組成結(jié)果如圖6所示.
圖6 神經(jīng)元模型的基本結(jié)構(gòu)
人工神經(jīng)網(wǎng)絡(luò)即是通過上述各變量來進(jìn)行網(wǎng)絡(luò)運(yùn)算的,用公式表示為:
第一步:準(zhǔn)備數(shù)據(jù)集. 首先確定各個(gè)參數(shù)所表達(dá)的涵義:
(1)輸入向量:X=(x1,x2,…,xi,…,xn)T;
(2)隱藏層輸出向量:Y=(y1,y2,…,yj,…,ym)T;
(3)輸出層輸出向量:O=(o1,o2,…,og,…,ol)T;
(4)期望輸出向量:D=(d1,d2,…,dg,…,dl)T;
(5) 輸入層至隱藏層之間的權(quán)重矩陣:U=(u1,u2,…,uj,…,um);
(6) 隱藏層至輸出層之間的權(quán)重矩陣:W=(w1,w2,…,wi,…,wn);
第二步:定義網(wǎng)絡(luò)結(jié)構(gòu)和激活函數(shù):
第三步:定義損失函數(shù),本文使用最小平方誤差函數(shù):
第四步:定義迭代優(yōu)化算法,本文采用Adam 算法,該算法是一種可以代替?zhèn)鹘y(tǒng)隨機(jī)梯度下降過程的一階優(yōu)化算法,能基于訓(xùn)練數(shù)據(jù)迭代地更新神經(jīng)網(wǎng)絡(luò)權(quán)重. 其實(shí)質(zhì)是帶有動(dòng)量項(xiàng)的RMSprop,它利用梯度的一階矩估計(jì)和二階矩估計(jì)動(dòng)態(tài)調(diào)整每個(gè)參數(shù)的學(xué)習(xí)率. 主要優(yōu)點(diǎn)是經(jīng)過偏執(zhí)矯正后,每一次迭代學(xué)習(xí)率都有個(gè)確定范圍,使得參數(shù)比較平穩(wěn).
第五步:迭代訓(xùn)練.首先計(jì)算前向傳播網(wǎng)絡(luò);接著計(jì)算損失函數(shù);然后反向傳播更新參數(shù);接著將上次迭代計(jì)算的梯度值清0;又反向傳播,計(jì)算梯度值,更新權(quán)值參數(shù);最后保存訓(xùn)練集和測試集上的損失函數(shù)以及準(zhǔn)確率和訓(xùn)練模型.
第六步:畫出原始曲線與神經(jīng)網(wǎng)絡(luò)擬合后的曲線.
第七步:畫出損失函數(shù)在迭代的過程中的變化情況.
第八步:計(jì)算出均方根誤差rmse和r2.
對Y1,1-Y1,102,…,Y1,10-Y10,102在進(jìn)行圖4 的EMD分解后,進(jìn)行人工神經(jīng)網(wǎng)絡(luò)預(yù)測,一次輸入一組Y值,輸出預(yù)測值. 圖7、圖8 為選取展示的一組(Y1,1-Y1,102).
圖8 對殘差項(xiàng)res的ANN預(yù)測
圖9 對IMF1與res整合的ANN預(yù)測
最后,計(jì)算出十組數(shù)據(jù)的RMSE和r2,從表1 中可以看出,在進(jìn)行經(jīng)驗(yàn)?zāi)B(tài)分解后,極大地降低了原始數(shù)據(jù)的非平穩(wěn)性,用分解后得到的平穩(wěn)IMF分量對原始滑坡模擬數(shù)據(jù)進(jìn)行預(yù)測,剔除滑坡模擬數(shù)據(jù)的干擾成分后,從而在預(yù)測數(shù)據(jù)樣本時(shí)表現(xiàn)出較高的精度和穩(wěn)定性.
表1 預(yù)測結(jié)果
(1)本文基于經(jīng)驗(yàn)?zāi)B(tài)分解的人工神經(jīng)網(wǎng)絡(luò)預(yù)測滑坡趨勢變化的方法,結(jié)合了經(jīng)驗(yàn)?zāi)B(tài)分解和人工神經(jīng)網(wǎng)絡(luò)二者的優(yōu)點(diǎn),將原始滑坡模擬數(shù)據(jù)序列進(jìn)行EMD 分解,降低了滑坡模擬數(shù)據(jù)的非平穩(wěn)性,從而去掉了滑坡模擬數(shù)據(jù)中的干擾成分,用分解得到的IMF分量作為ANN 神經(jīng)網(wǎng)絡(luò)的輸入變量進(jìn)行預(yù)測,結(jié)果表現(xiàn)出較高的擬合精度及預(yù)測精度.
(2)本文通過實(shí)驗(yàn)?zāi)M坡角為30°的后鋒降雨的滑坡,未進(jìn)行其位移預(yù)測,直接對其進(jìn)行趨勢預(yù)測,總體上,實(shí)驗(yàn)過程較為簡單.
(3)對于滑坡破壞趨勢的研究,在一些技術(shù)設(shè)備儀器方面還是有欠缺,使得實(shí)驗(yàn)結(jié)果不夠完美,但是該預(yù)測模型作為神經(jīng)網(wǎng)絡(luò)的一種方法,適合于不同鋒型降雨和不同坡角滑坡趨勢預(yù)測.