王麗蓉,鄭東健
(1.中國電建集團西北勘測設計研究院有限公司,西安 710065;2.河海大學水利水電學院,南京 210098)
建立大壩安全監控模型,可以預測監測值變化趨勢,解釋主要荷載對監測效應量變化的影響,擬定監控指標。統計模型是應用最廣的大壩安全監控模型,以水壓、溫度、降雨和時效為主要影響因素,建立回歸模型[1-2]。若統計模型的各分量部分或全部采用有限元分析擬合的表達式,則為混合模型或確定性模型[3-4]。近年來,支持向量機模型M[5-6]、神經網絡模型[7-8]、灰色預測模型[9]等采用新興算法的大壩安全監控模型也被廣泛研究。上述大壩安全監控模型一般是針對同一監測項目單測點或多測點進行建模。實際上,大壩各監測項目的測點監測資料是大壩安全工作狀態的不同層次、不同角度的反映,是大壩安全狀態監測信息整體的不同部分。大壩各監測項目如變形、滲流、應力應變均同時受到上下游水位、氣溫、降雨等環境量的影響,在工作性態相似的大壩區域,各監測項目的變化存在同步性和相似性?;诒O測的整體信息建立安全監控模型,有助于挖掘信息的內在聯系,從監測信息整體角度監控大壩安全狀態。如何從時間和空間上,反映各監測項目各測點的內在邏輯關系,是建立整體信息聯合安全監控模型的關鍵。
卷積神經網絡(Convolutional Neural Network,CNN)具有學習數據內在空間相關規律的能力,長短時記憶網絡期記憶神經網路(Long Short-Term Memory,LSTM)是一種專門處理時序數據的神經網絡。ConvLSTM(卷積長短時記憶網絡)集成了LSTM處理時間維信息的能力和卷積層處理局部強相關數據的優勢,允許多組測值形成一個矩陣進入網絡,并且具有獲取測點相關性信息的能力。但卷積層提取關聯信息的位置有限,一旦網絡搭建完畢,ConvLSTM只能注意到固定幾組測點的相關性。同時,監測值總是隨時間動態變化,測點相關度也同步變化,若卷積層跨度不足,那么ConvLSTM會忽略部分測點相關性,模型的精度會受到影響。動態時間規整算法(Dynamic Time Warping,DTW)可以規整由于測點位置和監測項目不同,各個監測序列變化的不同步,從而增強模型提取測點相關性的能力。為此,本文在分析卷積長短時記憶網絡和動態時間規整算法基本原理的基礎上,融合ConvLSTM模型和DTW算法的優勢,構建大壩安全監測整體信息聯合監控模型,以提高模型監控大壩整體安全狀態的能力。
長短時記憶網絡是一種專門處理序列數據的深度神經網絡,由循環神經網絡(Recurrent Neural Network ,RNN)引入門控系統而來[10]。LSTM難以處理帶有很強局部相關性的空間數據,卷積層(Conv)與LSTM結合的卷積長短時記憶網絡(ConvLSTM)能夠更好地捕捉時空相關性[11]。網絡中卷積層提取每時刻輸入數據的局部關聯信息;LSTM提取時間維特征。ConvLSTM擴展了LSTM,使其在輸入-狀態轉換和狀態-狀態轉換中都具有卷積結構[11],如圖1,ConvLSTM不僅有外循環,還有ConvLSTM“細胞”內循環。

圖1 ConvLSTM的外循環
時序數據依時步流入相同的ConvLSTM“細胞”?!凹毎鼻跋蛴嬎懔鞒倘鐖D2所示。

圖2 ConvLSTM“細胞”結構
(1) 上一時步的輸出信息h(t-1)和當前時步的X(t)作為輸入數據進入細胞。
(2) 輸入數據分別與4組不同的權值W(i)、U(i)、b(i);W(f)、U(f)、b(f);W(o)、U(o)、b(o);W(C)、U(C)、b(C)進行卷積運算,再通過激活函數,得到輸入門i(t)、遺忘門f(t)、輸出門o(t)以及C′(t),見公式(1)。sigmoid激活函數表達式見公式(2),tanh激活函數表達式見公式(3)。
(3) 當前時步的細胞狀態cell(t)是輸入門與C′(t)的Hadamard積、遺忘門與上一時步細胞狀態cell(t-1)的Hadamard積之和,見公式(4)。
(4) 輸出門與經過tanh激活函數的cell(t)求Hadamard積,得到當前時步的輸出信息h(t),見公式(5)。
i(t)=σ[W(i)*h(t-1)+U(i)*X(t)+b(i)]
f(t)=σ[W(f)*h(t-1)+U(f)*X(t)+b(f)]
o(t)=σ[W(o)*h(t-1)+U(o)*X(t)+b(o)]
C′(t)=tanh[W(C)*h(t-1)+U(C)*X(t)+b(C)]
(1)
cell(t)=i(t)oC′(t)+f(t) ocell(t-1)
(4)
h(t)=o(t)o tanh[cell(t)]
(5)
公式(1)~(5)中:i(t)為t時刻的輸入門;f(t)為t時刻的遺忘門;o(t)為t時刻的輸出門;σ為sigmoid激活函數;tanh為雙曲正切激活函數;e為自然數;W(·)、U(·)為網絡連接權值;b(·)為偏置;*代表卷積操作;o代表求Hadamard積。圖2中σ表示sigmoid激活函數,值在(0,1)之間;tanh表示雙曲正切激活函數,值在(-1,1)之間。
卷積層只能提取模型輸入數據的局部相關性信息,導致ConvLSTM只能提取輸入模型測點中部分測點的相關性。為此,結合動態時間規整算法(DTW)對ConvLSTM進行改進,建立結合動態時間規整算法的卷積長短時記憶網絡(DTW-ConvLSTM),使其獲取更為全面的測點相關性信息,用以提高模型的預測精度。
由于測點位置和監測項目不同,各個監測序列的變化并不同步。因此采用動態時間規整算法(DynamicTimeWarping,DTW)度量監測序列的相關程度更為可靠。
DTW是一種計算2條扭曲軌跡相似度的算法[12]。當兩段時間序列具有相似的形狀而形狀變化在時間軸上不對齊時,DTW對序列在時間軸上進行局部縮放,使得二者形態盡可能一致,從而得到最大相似度。
設兩段序列Q={q1,q2,…,qi,…,qu}、C={c1,c2,…,cj,…,cv},Q的時間長度為u,C的時間長度為v,DTW計算二者相似度的過程為:
(1) 構建u×v大小的矩陣P,P(i,j)=di,j是qi與cj的歐幾里得距離,見公式(6);
(2) 搜尋P從起點P(1,1)到終點P(u,v)的所有路徑里距離最短的路徑W,最短距離即為Q、C的距離,值越小,Q、C相似度越高。
搜尋最短路徑時,至P(i,j)元素的路徑累積距離Di,j為di,j與前面元素累積距離的最小值之和,表示為:
Di,j=di,j+min[Di-1,j,Di,j-1,Di-1,j-1]
i=2,…,u;j=2,…,v
(7)
Di,j的初始條件為:
設W={w1,w2,…,wk,…,wK},wk為P中元素的坐標。W必須滿足以下條件:
(1) 邊界條件:w1=(1,1),wK=(u,v)。
(2) 連續性:若wk-1=(a′,b′),wk=(a,b),則a-a′≤1,b-b′≤1。
(3) 單調性:若wk-1=(a′,b′),wk=(a,b),則a-a′≥0,b-b′≥0。

圖3 DTW-ConvLSTM結構
將m行n列的矩陣L輸入模型,則輸入網絡的維度轉換成[m,1,1,n],該張量元素從左至右分別是時間維、通道維、高、寬;h(t-1)、X(t)分別是上一時步ConvLSTM“細胞”輸出和當前時步輸入,維度不包含時間維,分別為[b,1,n]和[1,1,n],b為隱藏層維數,數值取決于網絡設置。用DTW計算L中所有測點相關度,可得到n×n大小的相關度矩陣S。為使S參與網絡運算,需將S、h(t-1)、X(t)在通道維拼接,這要求三者高、寬相同。如圖3,在拼接前添加兩層卷積層,輸入維度為[1,n,n]的S(沒有時間維),輸出維度為[2,1,n]的S′。S′、h(t-1)、X(t)拼接得到維度為[b+3,1,n]的ConvLSTM“細胞”輸入數據。DTW融入ConvLSTM后,網絡后續運算與ConvLSTM相同。
在置信區間法[13]的基礎上,采用DTW-ConvLSTM(結合動態時間規整算法的卷積長短時記憶網絡)預測值擬定監控指標,構建DTW-ConvLSTM聯合監控模型。由于DTW-ConvLSTM的預測功能,該模型可實現監控指標的預先擬定,并隨時間不斷更新,幫助及時預警。
DTW-ConvLSTM模型用多個監測項目測點的前m天測值結合水位、氣溫、降雨量等環境量預測后續m天測值,可預先擬定后續m天的監控指標。多組測值構成的矩陣L輸入模型,L包括m個時步n組測值,L為m行n列。模型輸出的數據結構與L相同,為m行n列。
DTW-ConvLSTM模型搭建采用編碼-解碼的結構形式,如圖4,編碼器將輸入數據編碼成狀態量,解碼器將狀態量翻譯成輸出量即預測值,二者分別完成信息提取和預測工作;ConvLSTM“細胞”是模型的核心,與編碼、解碼器分別形成回路。

圖4 編碼-解碼的網絡結構
在歷史監測資料中,當DTW-ConvLSTM預測值與實測值的復相關系數R高于0.8時,可用該模型預先擬定監測量的監控指標:

如果實測值落在監控指標內,則認為大壩運行正常;如果實測值超出監控指標之外,并且有趨勢性變化,則認為測值異常,應加強監測并分析成因。
某壩為寬縫式混凝土重力壩,二級建筑物,壩長1 354m,壩頂高程138.80m(黃海高程),最低基巖高程86.00m,最大壩高52.80m,保壩洪水位138.50m,正常蓄水位133.00m(與設計洪水位相同),死水位121.50m。庫容為3.37億m3。目前在測觀測項目有:大壩變形、滲流、環境量、內部監測4個監測項目。

圖5 28號壩段測點布置
考慮重力壩的工作特點,針對每個壩段建立多種監測項目測點的聯合監控模型。以28號壩段為例,圖5為測點布置圖,28號壩段共布置有6個監測點,分別為壩基揚壓力測點UP28_1、UP28_2、UP28_3、UP28_4,110.00m高程廊道水平位移測點EXL_28,和壩基廊道垂直位移測點JL_28;環境量考慮上游水位、氣溫和降雨量的影響。用上述包含變形和揚壓力的6個測點和3個環境量測點的前6d測值建立DTW-ConvLSTM模型,并預測后續6d測值,將9組測值構成的矩陣L輸入監控模型進行訓練。L包括6個時步和9個測點的測值,則L為6行9列。針對大小為6×9的輸入、輸出數據搭建DTW-ConvLSTM聯合監控模型,并與常規統計模型和LSTM模型的預測結果進行比較。
以連續6 d測值預測后續6 d測值,訓練集時段選擇2009年11月5日至2011年7月11日(測量頻率1次/天),為了得到盡可能多的可用數據,每隔1 d取一組訓練數據,共560組(6天/組),每組訓練數據與前一組訓練數據在時間維上相差1 d,存在5 d重復值;測試集時段選擇2011年7月12日至2012年1月10日(測量頻率1次/天),每隔6 d取一組測試數據,共31組(6天/組),測試數據間沒有時間重疊。各測點監測時間不同時,通過插值進行規整。表1為某6 d模型輸入矩陣L。輸入模型前需將數據集按公式(10)分測點進行Max-Min標準化,使數值全部落在[0,1]區間。


表1 6天模型輸入矩陣L
4.2.1LSTM聯合監控模型
采用Python軟件深度學習框架keras,針對6×9大小的矩陣L搭建LSTM聯合監控模型,網絡優化方法為Adam,損失函數采用均方誤差MSE,采用Dropout正則化方法,訓練2000代;神經網絡各層見表2。將28號壩段6個測點和3個環境量測點的監測數據輸入LSTM模型。

表2 LSTM聯合監控模型網絡結構
4.2.2DTW-ConvLSTM聯合監控模型
采用Python機器語言庫PyTorch針對6×9大小的矩陣L搭建DTW-ConvLSTM聯合監控模型;網絡搭建方法見圖4,其中ConvLSTM“細胞”包含一層卷積,特征數為20(即存在20個卷積核),卷積核大小為3×3,零填充方式為相同卷積[10];解碼器卷積層的特征數為1,卷積核大小為1×1。網絡優化方法為Adam,損失函數為均方誤差MSE,學習率為0.001,訓練300代。2.2節中,隱藏層維數b的值取5;已經說明矩陣L大小為6×9,故m=6,n=9。將28號壩段6個測點和3個環境量測點的監測數據輸入搭建好的DTW-ConvLSTM模型。
對28號壩段6個測點分別建立統計模型,建模時間為2009年11月5日至2011年7月11日(測量頻率1次/天),與聯合監控模型的訓練集時間相同。對揚壓力測點,考慮上下游水位、周期溫度、降雨量、時效影響因子,建模為公式(11)。對變形測點,考慮上游水位、周期溫度、時效影響因子,建模為公式(12)。
各測點的模型復相關系數和回歸系數見表3、4,表中的復相關系數R均大于0.8,各測點統計模型的擬合精度高。用得到的統計模型計算2011年7月12日至2012年1月10日(測量頻率1次/天)的預測值,預測時間段與聯合監控模型預測集相同。
公式(11)中:H為揚壓水頭的統計模型擬合值,m;Hh為上下游水位分量;HT為周期溫度分量;Hp為降雨量分量;Hθ為時效分量;Hui、Hdi為監測日當天、監測日前1~4d、前5~10d、前11~20d、前21~30d的平均上游水位和平均下游水位(i =1~5);Hu0i、Hd0i為計算時段第一天上述各時段對應的上下游水位平均值(i =1~5);a1i、a2i為水位因子回歸系數(i =1~5);t0為計算時段第一天對應的t,t0=1;t為計算時段各天對應的t,為計算時段各天減去計算時段第一天所得分量;b1i、b2i為溫度因子回歸系數(i =1,2);Pi為監測日當天降雨量、監測日前1d降雨量、監測日前2d降雨量、監測日前3、4兩天降雨量均值、監測日前5~15d降雨量均值、監測日前16~30d的平均降雨量(i =1~6);ci為降雨量因子回歸系數(i =1~6);θ=t/100;θ0=t0/100=1/100;d1、d2為時效分量回歸系數。


表3 揚壓力測點復相關系數和回歸系數
3種模型的訓練/擬合集、預測集完全一樣,訓練/擬合集為2009年11月5日至2011年7月11日,預測集為2011年7月12日至2012年1月10日,測量頻率1次/天。以公式(13)的均方根誤差(RMSE)評價模型性能,分別計算28號壩段6個測點LSTM模型、DTW-ConvLSTM模型和統計模型各測點預測值的RMSE,DTW-ConvLSTM模型預測值的RMSE比統計模型下降的百分比評價,結果見表5。

表4 變形測點復相關系數和回歸系數

表5 模型預測性能量化評估結果
由表5可知:
(1) 28號壩段6個建模測點中,DTW-ConvLSTM模型預測值的RMSE在3種模型中最低,對揚壓水頭測點,數值在4.44~5.20cm之間,對變形測點,數值分別為0.06和0.09mm;除UP28_2和JL_28的4個建模測點中,統計模型預測值的RMSE最高。
(2) 對全部6個建模測點,DTW-ConvLSTM預測值的RMSE比統計模型預測值下降的百分比在19.77%~82.17%之間,有5個測點超過40%。
計算3種模型預測值和實測值之間的復相關系數R,如表6所示。該表反映出DTW-ConvLSTM模型預測值的R均大于0.8,遠高于LSTM和統計模型。

繪制28號壩段6個測點實測值和3種模型預測值的過程線見圖6。由圖可知DTW-ConvLSTM模型的預測過程線始終與實測過程線最為接近;DTW-ConvLSTM模型掌握測值變化趨勢的能力較強,在圖6(e)中實測過程線在2011年10月15日至26日出現波動,DTW-ConvLSTM模型預測值出現了相同的波動,LSTM和統計模型沒有預測到波動現象,在圖6(f)中可明顯察覺到DTW-ConvLSTM模型適應測值下降,LSTM和統計模型預測值沒有減小,這一區別由DTW和卷積層導致;另外,DTW-ConvLSTM模型對UP28_1、UP28_2、UP28_3、UP28_4測點的預測效果明顯好于統計模型。
綜上所述:

圖6 28號壩段預測值過程線
(1) 由于DTW算法和卷積層具有提取測點相關性信息的能力,且DTW算法對測點的相關性分析隨訓練集每組數據進入“ConvLSTM細胞”而實時更新,DTW-ConvLSTM模型適應測值變化趨勢的能力強于LSTM模型和統計模型;
(2)DTW-ConvLSTM模型的預測精度高于統計模型的預測精度;
(3)DTW-ConvLSTM模型預測效果較好,具有實用性。
本文針對傳統大壩安全監控模型僅能對相同監測項目測點進行單測點或多測點建模的不足,通過分析卷積神經網絡(CNN),長短時記憶神經網絡(LSTM)和動態時間規整算法(DTW)的特點,提出了大壩安全監測信息聯合建模方法,主要研究成果如下:
(1) 分析了傳統大壩安全監控模型限于同項目建模的不足,闡述了長短時記憶神經網絡(LSTM)、卷積神經網絡(CNN)和卷積長短時記憶網絡(ConvLSTM)的建模原理,結合動態時間規整算法(DTW),提出了卷積長短時記憶網絡模型改進方法。
(2) 采用編碼-解碼結構形式,構建了DTW-ConvLSTM多項目測點聯合監控模型,給出了模型輸入和輸出數據結構,編寫了DTW-ConvLSTM模型訓練過程偽代碼,基于Python開發了相關程序。
(3) 實例分析表明,聯合監控模型可以實現多監測項目多測點的同時監控。DTW-ConvLSTM模型適應測值變化趨勢,精度明顯高于LSTM模型和常規統計模型??蔀榇髩伟踩O控及預警的可靠性提供保障。