?

基于混沌云量子蝙蝠CNN-GRU大壩變形智能預報方法研究

2024-01-15 05:56陳以浩李明偉安小剛王宇田徐瑞喆
哈爾濱工程大學學報 2024年1期
關鍵詞:大壩卷積深度

陳以浩, 李明偉, 安小剛, 王宇田, 徐瑞喆

(1.交通運輸部水運科學研究院, 北京 100088; 2.哈爾濱工程大學 船舶工程學院,黑龍江 哈爾濱 150001)

大壩安全關乎國民經濟和人民生命財產安全,大壩變形預報是大壩安全管理的重要組成部分,然而,大壩變形受庫水位、材料特性、溫度、時效、氣候等[1]多種因素耦合影響,變形主控因素變化頻繁,內在影響機理錯綜復雜,導致很難對其做出精確的預報。因此,大壩變形預報一直是被廣泛關注的熱點問題。

傳統預報方法主要包括:時間序列模型、灰色GM模型、回歸預測模型和混合模型等[2],傳統預報方法因為大壩變形時間序列的高非線性和不確定性,很難滿足大壩變形預測精度的要求[3]。隨著機器學習和人工智能技術的快速發展,目前極限學習機、支持向量機和人工神經網絡等多種機器學習和人工智能算法[4-11]開始被用于大壩變形預報。李明等[12]應用綜合自回歸移動平均(auto-regressive integrated moving average,ARIMA)模型,構建非平穩時間序列模型對監測數據進行分析處理。羅德河等[13]應用時間序列原理建立變形預報自回歸滑動平均(auto-regressive moving average, ARMA)模型研究大壩變形預報。范千等[14]針對大壩變形具有強非線性的特點,基于SVM方法建立大壩變形預報模型。此類方法能較好地解決傳統方法難以解決的問題,但以上模型均具有一定的局限性?;谔荻认陆捣˙PNN方法容易陷入局部極值,而導致過早收斂,收斂速度較慢;支持向量機模型的超參選擇決定著模型的預報精度,但目前尚未出現統一的支持向量機超參優選方法,因此上述方法的不足限制了其在工程中的大規模應用。

近年來深度學習因其良好的數據挖掘能力已經被嘗試用于預報領域,并且取得了優異的效果[9]。沈細中等[15]結合模糊系統和神經網絡提出了自適應神經模糊系統預報模型。張豪等[16]結合經驗模態分解和SVM來進行大壩變形預報。梁嘉琛等[17]提出了一種結合經驗模態分解和自回歸滑動平均模型的大壩變形預報模型。為進一步提高大壩變形預報精度,本文針對大壩變形非線性動力系統的強非線性特點,引入CNN和GRU深度學習網絡,設計面向大壩變形數據空間特征提取的卷積深度學習網絡架構和基于GRU的大壩變形時間序列特征提取深度學習網路,完成構建面向大壩變形預報的CNN-GRU組合深度學習網絡;為獲取組合深度學習網絡超參,引入CCQBA算法對超參進行優選,建立了CNN-GRU-CCQBA大壩變形組合深度學習智能預報方法?;诖髩螌崪y變形數據開展預報試驗研究,測試建立方法的可行性和優越性。

1 CNN-GRU-CCQBA大壩變形組合深度學習預報方法提出

1.1 基于CNN的大壩變形數據特征提取

(1)

式中的“*”號實質是讓卷積核f在第n-1層所有關聯的特征圖上做卷積運算,然后求和,再加上一個偏置參數,并取激活函數得到最終激勵值的過程:

卷積前與卷積后的特征圖尺寸對應關系為:

Wb=(Wf-F+2Z)/S+1

(2)

Hb=(Hf-F+2Z)/S+1

(3)

式中:W為寬度;H為高度;下標b表示后方,下標f表示前方;F為濾波器的尺寸;S為卷積步長;Z為零填充的圈數。

CNN的誤差反向傳播分為卷積層和池化層2種不同的情況,卷積層見式(4)。

(4)

由于池化層沒有權重參數,因此,誤差項只需要向前傳播即可,對于最大池化,下一層的誤差項的值會自動傳遞到上一層對應區塊中的最大值所對應的神經元,而其他神經元的誤差項的值都是0,對于平均池化,下一層的誤差項的值會平均分配到上一層對應區塊中的所有神經元。因此,只需要由輸出層開始計算誤差項,按層反向計算,即可完成CNN的權重參數更新。

1.2 基于GRU的大壩變形數據特征提取

影響大壩變形的溫度、水壓力、時效分量等因素各自呈現出一定的周期性變化,一般來說,各個影響分量的周期是不規則變化的、變周期的,難以具體去描述,這也造成了其周期特征人工表示的困難??紤]到這種情況,本文利用RNN深度學習網絡來自動提取大壩變形非線性動力系統的時間特征。經過CNN卷積和池化操作處理的序列變成了高維張量,在輸入到RNN之前,將其進行展平操作,變成一維序列。一維序列經過GRU循環處理,最終輸出為多個時刻不同的特征張量。

常用的RNN有LSTM和GRU 2種??紤]到GRU在處理序列建模問題時,在網絡內部引入重置門和更新門,效果優于傳統RNN,當使用固定數量參數時,在CPU時間的收斂性以及參數更新和泛化方面,GRU要勝過LSTM[19],為此,本文選用GRU網絡挖掘大壩變形非線性動力系統的時間特征。此時,GRU控制門以及狀態計算為:

zt=φ(Wz·xt+Uz·ht-1)

(5)

rt=φ(Wr·xt+Ur·ht-1)

(6)

(7)

(8)

GRU的訓練算法是沿時間反向傳播算法(back-propagation through time, BPTT)。GRU的誤差項與DNN和CNN有所不同,定義為損失函數對隱藏輸出的偏導數,即如式(9)所示。誤差項沿時間的反向傳播如式(10)和(11)推導所示。

(9)

(10)

(11)

1.3 CNN-GRU大壩變形深度組合預報網絡建立

基于CNN和GRU的大壩變形深度組合預報網絡由3個部分組成:1)CNN網絡的空間特征提取層,包括CNN輸入層、CNN卷積層、CNN池化層;2)GRU網絡的時間特征提取層,包括GRU輸入層、GRU隱藏層和GRU輸出層;3)在GRU輸出層后設置一個全連接層,映射為大壩變形值。在學習過程中,首先,對大壩變形多因素變量組成的二維矩陣進行數據的初步處理,將處理后數據作為CNN的輸入層,經過卷積操作后完成特征提取,獲取多個特征圖。將特征圖利用最大池化進行采樣,實現其維度的自動壓縮,獲取一個二維張量,然后將這個二維張量進行重塑操作,即將二維向量展開為一維向量,使其符合GRU學習網路的輸出格式,完成大壩變形非線性動力系統的空間特征提取。然后,將新構造的大壩變形特征向量作為GRU層的輸入,由GRU的隱藏層完成循環和門控計算,實現大壩變形非線性動力系統的時間特征提取。深度組合預報網絡架構如圖1所示。

圖1 CNN-GRU大壩變形組合學習網絡架構Fig.1 CNN-GRU dam deformation combination learning network architecture

1.4 基于CCQBA的預報網絡超參優選方法

深度學習模型的參數分為2種,層與層之間的連接權重參數和模型的超參。一般來說,權重參數的調節可以通過深度學習框架來設置某種權重參數優化算法,本文設置的為反向傳播算法。而模型的超參數則需要人為去設定,并通過不斷地嘗試修改,最終選擇合理的超參。人工調參不僅需要大量的實踐經驗,而且耗費的時間也較長。為此,本文采用智能優化算法替代人工調參,實現超參數自動優選。

蝙蝠算法(bat algorithm, BA)具有收斂速度快,結構簡單,搜索能力強等特點,是廣大學者研究的重點算法之一。針對BA的不足,本文基于量子理論、混沌理論和云模型提出了混沌云量子蝙蝠算法(chaotic cloud quantum bat algorithm, CCQBA)[20],及經典測試函數開展優化試驗,效果良好,為此本文嘗試將其應用于CNN-GRU大壩變形深度組合預報網絡的超參優選,以進一步提高預報精度。

CCQBA算法的優化過程如下:種群內每一個個體為CNN-GRU的超參組合,對CCQBA進行編碼;種群位置、頻率和響度初始化后,采用量子蝙蝠算法進行位置更新。經過一定的迭代次數,將每個個體當前的最優位置視為一個新種群,并根據適應度對新種群進行排序。將新種群分為2部分,具有較好適應度值的部分繼續在云模型中進行局部搜索,以加快搜索速度;具有較差適應度值的部分進行混沌全局擾動,以增加種群多樣性。CCQBA算法的實現過程如下,具體信息請參考文獻[20]。

1)基本參數設置。設置蝙蝠種群的大小(n)、迭代循環的最大數目(gen)、頻率范圍([fmin,fmax])、擾動尺度因子(dissca)、混合執行參數(mixexe)、聚合參數(σ)、停止條件(tol)。

4)迭代代數初始化。令t=1,tt=1。

6)更新迭代循環。更新t=t+1,tt=tt+1。

7)計算新精英種群的適應度值。Iftt≤mixexe×n,則轉到步驟5);否則,使用每個個體當前的最佳位置生成一個新的種群,該種群使用個體的適應值進行排序。新種群分為2部分:一部分由較好個體組成,大小為(1-dissca)×n,另一部分由較差個體組成,大小為dissca×n。通過局部云搜索在較小范圍內搜索較好的個體,以產生新的優秀個體。對較差個體施加全局擾動,且在這種新的擾動后會得到優秀個體。形成精英種群的規模為n,從而可以計算每個個體的適應度值。

8)計算新精英種群的適應度值。令tt=1;然后,返回步驟5)。

CCQBA流程圖如圖2所示。

圖2 CCQBA優化流程Fig.2 CCQBA optimization flowchart

1.5 CNN-GRU-CCQBA大壩變形集成預報方法建立

隨著CNN-GRU組合深度學習網絡的不斷訓練,網絡損失會不斷降低,但是僅僅能說明獲得網絡不斷逼近所用的訓練數據,不能說明在其他時刻數據也表現良好。因此,將訓練數據對應的回歸誤差值作為CCQBA的適應度函數顯然不充分。為此,本文將試驗數據集分為訓練數據集、檢驗數據集和測試數據集3部分。訓練數據集用于CNN-GRU組合深度學習網絡訓練,訓練完成后,計算檢驗數據集的回歸誤差,為了提高優化得到組合深度學習網絡的泛化性能,將訓練數據集回歸誤差和檢驗數據集回歸誤差之和作為CCQBA的適應度函數值,用于CNN-GRU組合深度學習網絡優化。CNN-GRU-CCQBA集成預報流程設計如下,流程圖如圖3所示。

圖3 CNN-GRU-CCQBA大壩變形預報方法流程Fig.3 Flow chart of CNN-GRU-CCQBA dam deformation prediction method

1)數據預處理。大壩變形時間序列以及影響因素序列經過數據歸一化,使其值域變為[0,1]。然后處理其格式,使其滿足CNN-GRU-CCQBA的訓練要求。

2)模型結構及參數初始化。初始化CNN-GRU組合學習網絡的輸入維度、卷積核數量、卷積核尺寸、池化尺寸、GRU隱藏節點數等網絡超級參數;設置CNN-GRU組合學習網絡的卷積層數、池化層數、卷積與循環結合方式和激活函數等網絡結構參數;根據算法參數上下限,初始化CCQBA各參數的上下限。

3)內置模型訓練。將1)訓練數據輸入到CNN-GRU模型中獲得模型輸出;根據模型的輸出值和標簽值計算每層網絡的誤差項;按照梯度更新公式,對每層的權重梯度進行更新。判斷是否達到訓練輪數,若沒有達到,則重復上述網絡訓練流程,反之則停止訓練,跳轉到5)。

4)CCQBA演化迭代。根據3)中訓練完成的CNN-GRU組合學習網絡,將1)中的訓練數據集和驗證數據集分別代入到新網絡中,獲得網絡在訓練數據和驗證數據上的損失函數值,將兩者加和作為適應度值反饋給CCQBA算法,進行演化迭代。

5)最優超參數訓練與驗證。將所得的最優超參賦值給新的CNN-GRU組合學習網絡,基于訓練數據進行訓練,基于驗證數據對其進行驗證。當其滿足訓練輪數時,判斷是否存在過擬合(訓練集預測誤差很小,測試集預測誤差較大)或欠擬合(訓練集與測試集預測誤差均較大)現象。若存在,則對模型進行微調并重復5);若不存在,則獲得優化后的深度組合學習網絡。

6)模型精度測試。使用測試數據對5)中所得到的模型進行預報實驗,測試預報精度,獲取預報模型。

2 實例分析

(12)

式中:Di為第i個數據歸一化后的結果;di為時間序列中的第i個數據;dmax為時間序列中的最大值;dmin為時間序列中的最小值。

2.1 對比模型及算法選取

1)對比模型選取。

為了對比分析本文建立的預報模型的預報性能,選用ANN、CNN、GRU、CNN-GRU 4種預報網絡分別開展預報試驗。為了確保超參優選可比性,利用CCQBA算法分別優化上述4類網絡的超參,其中,優化變量包括:輸入維度、卷積核數量、卷積核尺寸、池化尺寸和GRU的隱藏節點數。利用ANN-CCQBA、CNN-CCQBA、GRU-CCQBA和CNN-GRU-CCQBA 4種預報方法分別開展預報試驗。經優化獲得上述4種預報模型參數如表1所示。

表1 對比模型超參數設置Table 1 Compare model superparameter settings

2)對比算法選取。

為了測試CCQBA算法在優選CNN-GRU大壩變形深度組合預報網絡超參過程中的性能,本文選取隨機搜索(RS)、網格搜索(GS)、蝙蝠算法(BA)、量子蝙蝠算法(QBA)和CCQBA 5種算法開展超參優選對比試驗?;谠囼灅颖緮祿?經試算確定上述5種算法的參數設置如表2所示。

表2 對比算法參數設置Table 2 Comparison algorithm parameter setting

2.2 預報精度評估指標

本文選取均方根誤差(root mean square error,RMSE)和平均絕對百分比誤差(mean absolute percentage errors,MAPE)作為預報精度評估指標,計算公式為:

(13)

(14)

2.3 預報表現及算法優化性能分析

1)模型預報表現分析。

在進行深度學習之初,其權重參數通常是隨機生成的較小實數,在具體的訓練過程中,隨機梯度下降算法不斷迭代至合適值,但是即使對應于相同的回歸結果,其權重也極有可能不同,再具體測試過程中很可能產生不同的結果。因此,為了減弱波動性對預報性能測試的影響,所以,在相同的超參數設置下,獨立的進行了20次預報實驗,并將這20次結果取平均,作為模型的最終預報結果?;贑CQBA算法確定的模型超參,依次完成了ANN、CNN、GRU、CNN-GRU 4種網絡的預報實驗,預報結果與真實值對比見圖4,預報精度評估值見表3。

表3 預報模型的精度評估表Table 3 Accuracy evaluation table of prediction model

圖4 預報模型結果對比Fig.4 Comparison chart of prediction model results

從表3可以看出,單獨使用CNN和GRU深度學習網絡對大壩變形進行預報時,其EMAP精度指標分別達到了2.207 9%和2.133 3%,而在ERMS指標上,分別達到了2.043 3和1.975 1,與ANN模型的2.689 4%和2.486 7相比有了明顯改善,但CNN和GRU模型之間相差不大。當使用CNN-GRU組合預報網路進行大壩變形預報時,預報精度評估指標EMAP和ERMS分別為1.649 0%和1.524 6,其取值明顯小于CNN和GRU單獨預報網絡。這表明針對大壩變形非線性動力系統演化特點,基于CNN模型深度挖掘序列空間特征和基于GRU模型深度挖掘序列時間特征,有效提升了CNN-GRU組合預報網絡對大壩變形非線性動力系統的模擬精度,進而獲得了更精確預報結果。由此可見,根據大壩變形非線性動力系統特點,通過對CNN和GRU深度學習網絡的優化組合實現大壩變形預測,對于提升大壩變形預報精度的嘗試是可行的。

2)算法優化性能分析。

考慮到群智能優化算法的隨機性,分別使用RS、GS、BA、QBA和CCQBA 5種算法對CNN-GRU模型優化20次,取20次4種算法每一代的適應度值的平均值繪制進化曲線,4種算法在優化CNN-GRU組合網絡超參過程中的進化曲線如圖5所示。

從圖5不難看出,在對CNN-GRU組合網絡超參進行優選時,GS和RS算法前期的收斂速度較慢,而BA算法前期的收斂速度快。這主要是因為GS和RS算法是一種隨機搜索算法,隨機性較強。而對于深度學習網絡,不同的參數對預報精度的影響程度是不同的,當某個重要超參數收斂在一個小范圍內時,網絡的精度可能會相對較高,如果在此時使用的是隨機搜索,很容易直接跳出這個局部而錯過較優參數,而BA算法是啟發式搜索算法,它們在搜索的過程中會根據固定的規則去執行全局搜索或是局部搜索,因此更加適合深度學習網絡的超參數優選。因此導致BA算法收斂速度大于GS和RS算法。

對比BA算法和QBA算法,不難發現,在進化初期,因為量子計算的引入,增加了每代計算耗時,所以降低了收斂速度,但是也正式量子計算的引入,使得種群當陷入邊界局部最優時,種群會自動跳離邊界,從而跳出局部最優位置,避免了陷入局部最優,持續搜索到更優解。與QBA相比,CCQBA通過基于混沌映射的全局擾動和基于云模型的局部加速,獲得了更優秀的進化曲線,混沌擾動使算法在進化后期能夠不斷跳出局部極值,解決了進化后期易陷入局部最優的難題,云模型在進化后期能夠加速最優解局部搜索,進而提升收斂速度。同時,從CCQBA迭代曲線可以發現,該算法前50次迭代收斂速度較快,因此,模型若在前50代停止訓練,將降低CNN-GRU超參組合的優化結果;而在50~200次迭代,因收斂已趨于平穩,所以模型訓練停止條件對優化結果影響不大。

因此,基于CCQBA進行CNN-GRU大壩變形深度組合預報網絡超參優選用于提高預報精度的嘗試是可行的。

3 結論

1)本文從大壩變形非線性動力系統時間序列的強非線性出發,提出了一種基于CNN網絡、GRU網絡和CCQBA算法的CNN-GRU-CCQBA大壩變形組合深度學習智能預報方法。

2)與ANN、CNN和GRU模型對比,CNN-GRU網絡模型顯著降低了預測誤差,極大地提升了預測精度。

3)與RS、GS、BA和QBA算法對比,CCQBA算法具有更好的收斂性能,能夠為CNN-GRU模型提供更優質的超參組合。

4)實際應用結果表明,本文方法有效預測了大壩變形趨勢,且與監測數據具有較好的擬合性,能夠為大壩變形的精準預報提供了新的方法參考。

5)模型精度提高勢必會導致模型復雜度增加,優化時間會有所提高,可進一步開展基于并行計算方法開展大壩預測模型加速訓練優化方法研究。

猜你喜歡
大壩卷積深度
基于3D-Winograd的快速卷積算法設計及FPGA實現
深度理解一元一次方程
從濾波器理解卷積
深度觀察
深度觀察
深度觀察
基于傅里葉域卷積表示的目標跟蹤算法
大壩:力與美的展現
一種基于卷積神經網絡的性別識別方法
正式擋水的馬來西亞沐若大壩
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合