張明岳,李麗敏,溫宗周
(西安工程大學電子信息學院,陜西 西安 710600)
滑坡災害嚴重威脅著國家生態環境和當地居民的人身安全,滑坡監測的預警、預報因可以有效避免災害造成的各方面損失而顯得尤為重要。目前,滑坡預測研究主要分為時間、空間2種預測方法[1]。在滑坡區域確定的前提下,如何更加準確地預測在不同時間滑坡的位移成為關鍵問題。例如雷德鑫等[2]基于時間序列分析,采用差分整合移動平均自回歸(Auto Regressive Integrated Moving Average,ARIMA)模型預測滑坡位移,實現對滑坡位移滾動預測,但由于滑坡非線性動力學特征復雜致使預測時間延長、預測精度下降,可見滑坡位移的演化是呈動態的。楊背背等[3]基于時間序列的滑坡位移動態預測模型在實際應用中預測結果較好,但其預測精度和計算時間明顯受制于算法結構,可見算法本身參數數量和結構復雜程度也影響著預測精度。
從以往的滑坡位移研究成果來看,多數研究人員使用徑向基函數(Radial Basis Function,RBF)、反向傳播(Back Propagation,BP)、K-means等智能算法,然而這些算法從實際應用的情況來看還存在如下問題:①RBF神經網絡具有較強的聚類能力,在處理復雜事物和大量數據方面能力較強,但其是一個靜態網絡,不能用于滑坡動態預測;②BP神經網絡可以解決非線性問題,但由于其網絡自身的局限性,在訓練過程中會出現陷入局部極小值、收斂速度慢等問題[4],對訓練樣本具有依賴性。
循環神經網絡RNN主要用于對時序數據的處理和預測,是一種典型的動態神經網絡。其具有以下優勢:①適用于時序數據的處理,擁有記憶功能,使得前一時刻的狀態能夠對后一時刻的狀態造成影響,實現網絡狀態的反饋;②在LSTM中,引入“門”解決了神經網絡中長序列依賴問題;③RNN本身特有的結構使其預測精度更加準確。RNN的提出是為了描述一個序列當前的輸出與之前狀態信息的關系。RNN包括以下3個特性:①RNN隱含層神經單元間的連接是循環的;②RNN能夠在每個時間節點產生一個輸出向量值,且該時間節點上的輸出值僅與下一時間節點的隱單元有循環連接;③RNN能夠處理序列數據并輸出單一的預測,即RNN會記憶之前的信息,并利用之前的信息作用于后面結點的輸出。RNN相較于傳統神經網絡的隱藏層各結點間是有連接的,隱藏層的輸入不僅包括輸入層的輸出,還包括上一時刻隱藏層的輸出[5]。
LSTM是一種特定形式的RNN,它的提出是為了解決RNN在處理長期依賴時產生的梯度爆炸或梯度消失的現象,其在其他領域也取得了驚人的成就。例如朱肖穎等[6]應用LSTM模型進行新聞分類,在對原始數據展開格式變換、分詞加工后,進行特征提取并建立LSTM網絡模型,解決在海量新聞數據下RNN存在的梯度消失現象已不能提高分類效率的問題,表現出LSTM模型的高準確度和良好的擴展性;王森等[7]通過時間序列模型LSTM對故障的燃料電池進行分類,試驗結果表明分類準確率高達到95%以上;權波等[8]基于LSTM的船舶航跡預測模型,以廣州港內的船舶AIS數據作為LSTM模型的輸入矢量進行訓練,并對未來船舶航行軌跡進行預測,突顯出LSTM模型預測法具有高精確度;陳超強等[9]提出了自動編碼器和LSTM相結合的步態預測模型,該模型可以根據前一時刻的步態序列預測出下一時刻的步態信息,解決了下肢外骨骼機器人跟隨控制問題。結果表明,該模型平均預測準確率能夠達到92.9%以上。可見LSTM在諸多領域應用中具有一定的優勢,但在滑坡預測領域涉及較少,因此其具有較好的研究前景。
LSTM與RNN同屬于動態神經網絡,2種算法均可用于時序數據的處理,并且在處理長序列數據預測問題方面具有明顯的優勢,但在滑坡位移預測方面的應用較少。因此,本文分別使用LSTM和RNN 2種算法,通過對監測點數據采用“3δ”法及歸一化處理并建立動態模型,應用于新灘滑坡工程中。最后,將2種預測模型得到的實驗結果與實測數據進行比對得出預測精度,并利用MAE與MAPE 2個指標做出評價。
1.1.1RNN算法描述
圖1為循環神經網絡RNN結構。該網絡分為3層:輸入層、隱藏層、輸出層[10]。其中x為輸入層的向量值,s為隱藏層的向量值[11](由當前輸入向量x與隱含層上一次的值st-1共同決定),o為輸出層的向量值。U為連接輸入層到隱含層的權重矩陣,W為隱藏層的權重矩陣(取決于隱藏層上一時刻的值),V是隱藏層到輸出層的權重矩陣[12]。

圖1 RNN網絡結構
式(1)、(2)為循環神經網絡計算方法:
st=f(UXt+Wst-1)
(1)
ot=g(Vst)
(2)
式(1)表示隱藏層的計算過程,其中f為激活函數,U代表輸入向量值x的權重矩陣,W為上一時刻結果作為本次輸入時的權重矩陣。式(2)表示t時刻輸出層向量值ot的計算過程,輸出層的每個節點都和隱藏層的對應節點相連。Vst為輸出層的權重矩陣,g為激活函數。RNN采用BPTT算法進行訓練。
1.1.2LSTM算法描述
理論上,RNN能夠處理任意長的序列。然而在實際應用中,RNN會出現梯度消失問題。為了克服傳統RNN的缺點,提出了一種特殊的RNN,稱為LSTM神經網絡。與傳統RNN相比,LSTM中隱藏層的基本單元是存儲塊。存儲塊包含內存單元和3個“門”(遺忘門、輸入門、輸出門)。通過這3個“門”調節信息流入和流出存儲單元。輸入門控制進入存儲單元的輸入向量。遺忘門控制上一時間步驟中的信息是被記住還是被遺忘。當遺忘門打開時,上一時刻的信息傳遞到下一時刻;當遺忘門關閉時,上一時刻的所有信息都被遺忘,不能傳遞到下一時刻。這意味著遺忘門可以過濾信息,保留有用的信息,丟棄無用的信息。輸出門控制輸出向量到其他塊或最終結果。圖2為RNN與LSTM結構對比。

a)RNN
RNN與LSTM的關鍵區別在于隱向量的構造。LSTM的主要結構算法:
ft=σ(Wf·[ht-1,xt]+bf)
(3)
it=σ(Wi·[ht-1,xt]+bi)
(4)
(5)
(6)
ot=σ(Wo·[ht-1,xt]+bo)
(7)
ht=ot·tanh(ct)
(8)

LSTM訓練算法步驟如下:①前向計算神經元ft、it、ct、ot、ht的輸出值;②通過沿時間的反向傳播計算各個時刻誤差項,再將誤差項向上一層傳播;③按照相應的誤差項,計算每個權重的梯度。
新灘滑坡位于湖北省秭歸縣西陵峽段,屬于堆積層滑坡。滑坡長度約2 km,面積0.73 km2。巖層與上游河段傾角25~38°[14],西側是堆積層物質的主要來源,緊鄰一二疊系砂巖和灰巖組成的陡崖,深300~450 m[15];東側為低山丘,主要物質由志留系頁巖組成,來自志留系。滑坡向南延伸至江邊高程約65 m,平均坡度23°。滑前坡體中部有兩級橫向陡坎,一為走向NE30″,坡度50~60°的姜家坡前緣陡坎,將斜坡分為上段(姜家坡斜坡)和下段(新灘斜坡);另一陡坎在毛家院前緣,走向NE75″,將新灘斜坡分為毛家院臺面和陡坎下2段。圖3為滑坡變形監測點具體布設情況。

注:A、B、C、D—SHZ1-01、SHZ1-02、SHZ1-03、SHZ1-04;S2—志留系砂頁巖;頁巖;Q—第四系沖積層、崩積層、坡積層;P2—二疊系上統灰巖;C2—黃龍灰巖;D2+3—泥盆系石英砂巖;馬鞍山煤組巖層;棲履組與第四組灰巖;A-A’—觀測及其編號;1—地層界限;2—第四系與基巖界限;3—巖層產狀;4——斷層;5—泉水出漏點;6—滑坡變形邊界;7—預留觀測及其編號;8—陡崖;9—GPS監測點。
根據新灘滑坡監測資料和調查記錄,1977、1981年北側的廣家崖頻繁發生較大規模崩塌。同年,專家和相關技術人員根據實地坡體情況布設監測點見圖3。為進一步驗證模型的可靠性,選取2011年4月到2012年6月4個監測點的位移數據作為本次訓練樣本。在進行訓練之前需要對采集來的數據做“3δ”法數據異常剔除處理[16]。假設對某監測點進行了n次監測,所得的第i次監測值為Mι(i=1,2,…,n),累積連續3次監測值為Ti-1,Ti,Ti+1(i=2,3,…,n-1),則第i次監測的跳動特征定義為[17]:
hi=|2×Mi-(Ti-1+Ti+1)|
(9)
跳動特征值均值為:
(10)
跳動特征值均方差為:
(11)
相對差值為:
(12)
若Qi>3,則將該數據作為異常值剔除。
圖4為處理后各監測點數據對比結果,縱坐標為水平位移,橫坐標為第N次采集數據,以前15次采集數據為例進行數據剔除處理,可以看出處理前數據波動明顯,處理后曲線較為平緩。

圖4 “3δ”方法處理監測點數據前后對比
在利用“3δ”處理傳感器采集來的數據后,還需對數據做歸一化處理[18],主要目的:①加快收斂速度;②避免大數據淹沒小數據,提升預測精度。采用任意區間法,其步驟如下。
步驟一找到樣本數據Y的最小值Min及最大值Max。
步驟二計算系數見式(13):
(13)
步驟三得到[a,b]區間的歸一化數據,見式(14):
norY=a+k×(Y-Min)
(14)
在函數運算過程中,輸入的取值直接影響著模型的性能,輸入選值不當會導致輸出數值落在曲線飽和區,為防止Sigmoid開函數兩頭飽和區對實驗造成誤差影響,本文選用函數中段的函數關系進行運算[19]。
圖5為LSTM動態建模算法流程。首先進行初始化,包括學習速率、期望精度Ti、各層初始權重Wij等;然后輸入給定向量值,求出目標輸出值并與給定值進行偏差值Ej計算,判斷其是否滿足誤差精度要求,否則對所有各層之間權重進行更新,直到偏差滿足預期給定期望值時,迭代停止,訓練結束。

圖5 LSTM動態建模流程
本文采用“流轉訓練”方式對數據進行訓練,如根據前3組4個監測點的采集數據,預測第4組4個監測點的數據,依此類推,表1為網絡訓練過程[20]。
滑坡體形變是一個復雜的非線性演化過程,合理選擇參數配置可以有效提升模型的預測精度,選擇輸入層個數并不是越多越合理,輸入數量太多有可能會導致訓練效率低,影響網絡訓練精度等問題。隱含層的節點數的選值需要根據轉換函數的型式、樣本數據特性以及要解決問題的復雜程度進行匹配。此外,為避免網絡模型沒有泛化能力,即網絡模型的系統誤差與訓練樣本的特性無關而趨于0。隱含層節點個數還需滿足小于N-1(其中N為訓練樣本數),因此合理的設置參數配置顯得尤為重要。本文采用網格搜索法進行參數尋優[21],最終設定輸入節點數為12,隱藏層節點為18。本文總共選取200個[22]數據,其中每個監測點采集50次。
以新灘滑坡2011年4月到2012年6月,4個監測點SHZ1-01、SHZ1-02、SHZ1-03、SHZ1-04所采集的數據作為本次實驗的樣本來源。本文選取SHZ1-03監測點對其進行分析,其中70%作為輸入數據用于預測模型的建立,30%用于檢驗。本次訓練以第42期監測點的數據為預測目標,前41次采用“流轉訓練”的方式,訓練中所有數據為量化處理后的值。圖6為RNN和LSTM訓練實測-預測,圖7為RNN和LSTM訓練誤差-迭代,表2為訓練后輸出的預測結果和訓練所用時間值。圖6所示,橫坐標為組數,縱坐標為位移量化值(歸一化值)。比較圖6,可知LSTM預測曲線與實測曲線的擬合度更高。究其原因,RNN存在梯度消失現象,無法處理長序列數據:即當進行某一輪訓練時,某一時刻梯度已減小為0,并且從此刻以后所得到的梯度都近似為0,其對權重數組W最終的梯度貢獻為0(即W不再更新)。而LSTM由于算法結構的特殊及復雜,可以解決梯度消失問題并且提高預測精度。

表2 各算法針對第42次數據進行驗證的結果比較

圖6 實測-預測結果
本次訓練中預設期望精度為0.003,2種算法初始學習速率均為0.001,每經過1 000步長,學習率衰減0.1倍。圖7所示,當迭代步數為500時,RNN訓練結果的誤差約為0.009 7,未達到目標要求。而LSTM訓練結果的誤差約為0.001 9,此時已滿足預設期望精度;當RNN訓練滿足預設期望精度時,此時迭代步數為3 000,而LSTM在迭代步數為3 000時的誤差約為0.000 03,顯然LSTM訓練算法結果更優。

a)RNN
LSTM由于引進了“門”以及其算法內部結構、參數的復雜,使其在處理長時序數據的能力大大提高,但其在預測計算時間上比RNN要慢。表2中RNN訓練所用時間為2.484 s,LSTM訓練所用時間為119.476 s,得出RNN的訓練時間比LSTM約快50倍,驗證了上述觀點。圖6曲線可得LSTM算法預測較RNN預測擬合程度更高。圖7(RNN誤差-迭代)實際訓練誤差接近0.003與(LSTM誤差-迭代)實際訓練誤差接近0.000 03相比,LSTM訓練的誤差精度比RNN訓練的誤差精度更高。基于以上數據結果,更加印證了RNN循環神經網絡在處理距離較近的信息方面的優勢,也表明了其在處理距離較遠信息時能力不足。而在本次滑坡位移預測實例中,2種算法的計算時間可忽略,因其位移的演化是一個逐漸累積的過程,需要的時間遠大于計算機預測所需的時間。
通過對比2種算法位移預測值,實驗結果表明2種算法整體的預測結果基本一致。為驗證模型的科學性,本文選用平均絕對誤差(MAE)、平均相對誤差(MAPE)2個評價指標進一步評估模型預測精度[23],見式(15)、(16):
(15)
(16)
式中c——實際測量值;ci——預測值;n——組數。
以No.3監測點為例,表3為該監測點應用2種算法后的MAE與MAPE指標評價結果對比。
綜合表3可得,LSTM算法訓練的效果總體優于RNN。2種算法中,LSTM訓練后的結果更靠近實際值;在數值上,MAE與MAPE 2項評價指標,LSTM明顯小于RNN。
圖8所示,比較2種算法的預測曲線與實測曲線,LSTM的預測曲線基本與實測曲線吻合,可見LSTM訓練模型的效果更好。以表3中第5組為例分析(圖9):RNN的預測值與LSTM的預測值在一定范圍內都滿足要求,而在計算誤差之后,RNN模型訓練的MAE為0.024 1,LSTM模型訓練的MAE為0.006 0,顯然LSTM模型訓練后的MAE更小,表明LSTM收斂程度要高于RNN。表4為第5組、第6組數據分別在2種算法下的MAE與MAPE偏差。

表3 No.3監測點2種訓練MAE、MAPE值

圖8 RNN、LSTM實測

a)MAE

表4 2種算法MAE與MAPE偏差
表4中LSTM的MAE與MAPE偏差明顯大于RNN,表明第6組預測值存在異常,輸出不穩定。究其原因在RNN與LSTM訓練過程中,每一個循環的輸出都依賴于上一層的ht-1與ct-12個因素。在計算過程中可能會出現當前ht或ct的前向計算被阻止或處于閑置狀態,直到上一層的ht-1、ct-1的整個計算完成,才會進入下一循環。
針對新灘滑坡實時變形進行的動態預測,本文選用2種適用于建立動態模型的算法RNN與LSTM,并應用于新灘滑坡實際工程中,結果表明LSTM比RNN在滑坡位移預測中的總體效果更優。
a)LSTM算法預報精度更高。由圖7可知,當RNN訓練步數達到3 000步,誤差函數滿足期望精度時,LSTM和RNN的訓練誤差分別為0.000 03和0.003,表明LSTM比RNN的訓練結果更精確。表2中LSTM和RNN在本次訓練中計算所用時間分別為119.476、2.484 s表明:LSTM算法結構比RNN更為復雜,其動態模型的參數與訓練樣本數目也相對較多,訓練結果更加具有可靠性。
b)滑坡預測的結果可轉化為滑坡風險預測,因此LSTM動態模型算法可應用于預警預測中,防止災害的發生,保障人民的生命和財產安全。