崔 崗,周廣得,凌 騏,張 翰
(1.國(guó)網(wǎng)電力科學(xué)研究院有限公司/南瑞集團(tuán)有限公司,江蘇 南京 211000;2.河海大學(xué)力學(xué)與材料學(xué)院,江蘇 南京 211100;3.中國(guó)長(zhǎng)江三峽集團(tuán)有限公司科學(xué)技術(shù)研究院,北京 101100)
預(yù)應(yīng)力錨索能顯著改善閘墩應(yīng)力狀態(tài)與變形規(guī)律,并保障閘墩在弧門(mén)大推力作用下的安全穩(wěn)定。因此,掌握預(yù)應(yīng)力錨索的預(yù)應(yīng)力狀態(tài),對(duì)評(píng)估預(yù)應(yīng)力閘墩的安全性具有重要意義。為獲取閘墩錨索的有效預(yù)應(yīng)力,工程上通常選取部分錨索布置測(cè)力計(jì),根據(jù)錨索測(cè)力計(jì)監(jiān)測(cè)信息的變化規(guī)律判斷錨索預(yù)應(yīng)力狀態(tài)是否可靠。由于錨索測(cè)力計(jì)在長(zhǎng)期工作中容易發(fā)生損壞且難以更換,僅憑部分完好的儀器也無(wú)法反映錨索整體應(yīng)力狀態(tài),因此以閘墩其他可用監(jiān)測(cè)信息作為補(bǔ)充來(lái)推斷錨索應(yīng)力狀態(tài)具有十分重要的工程意義。
近年來(lái),以機(jī)器學(xué)習(xí)[1-2]、模式識(shí)別[3-4]和深度學(xué)習(xí)[5-6]為代表的人工智能方法在工程領(lǐng)域得到了廣泛的關(guān)注[7]。葛盼猛等[8]通過(guò)BP神經(jīng)擬合有限元計(jì)算結(jié)果,并采用改進(jìn)的灰狼算法對(duì)大壩錨索整體錨固力進(jìn)行了反演;竇思齊等[9]將錨索預(yù)應(yīng)力組合簡(jiǎn)化為合力與合力矩,采用基于混合煙花算法的反演方法識(shí)別了閘墩錨索體系的等效預(yù)應(yīng)力狀態(tài)?;跀?shù)據(jù)驅(qū)動(dòng)的方法構(gòu)建結(jié)構(gòu)深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)響應(yīng)模型,實(shí)現(xiàn)輸入和輸出數(shù)據(jù)之間復(fù)雜的映射關(guān)系,可以避免建立復(fù)雜的數(shù)學(xué)模型,同時(shí)結(jié)合尋優(yōu)算法可以用于反問(wèn)題的求解,被廣泛用于損傷識(shí)別、狀態(tài)評(píng)估等結(jié)構(gòu)健康監(jiān)測(cè)問(wèn)題中。此外,本征正交分解(Proper Orthogonal Decomposition,POD)能夠在提取數(shù)據(jù)特征信息的同時(shí)有效降低數(shù)據(jù)維數(shù),常用于模型的降階[10-11]。本文以某水電站重力壩預(yù)應(yīng)力閘墩為例,建立數(shù)據(jù)驅(qū)動(dòng)的POD-DNN降階預(yù)測(cè)模型,并結(jié)合粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法對(duì)錨索預(yù)應(yīng)力損失進(jìn)行反演預(yù)測(cè),輔助評(píng)估預(yù)應(yīng)力閘墩的工作性能。
深度神經(jīng)網(wǎng)絡(luò)即多層感知器,在輸入層與輸出層之間包含多個(gè)隱藏層,利用反向傳播過(guò)程對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行訓(xùn)練,對(duì)輸入輸出數(shù)據(jù)之間的非線性關(guān)系進(jìn)行建模[12]。深度神經(jīng)網(wǎng)絡(luò)的每一層由若干個(gè)神經(jīng)元組成,當(dāng)前層的神經(jīng)元通過(guò)權(quán)重和偏置與前一層的所有神經(jīng)元連接,構(gòu)成全連接神經(jīng)網(wǎng)絡(luò),如圖1所示。
圖1 DNN網(wǎng)絡(luò)結(jié)構(gòu)
DNN神經(jīng)網(wǎng)絡(luò)的第i層隱含層的輸入和輸出為
s(i)=W(i)h(i-1)+b(i)?i=1,2,…,m
(1)
h(i)=f(W(i)h(i-1)+b(i)) ?i=1,2,…,m
(2)
式中,W(i)和b(i)分別為第層與第i層隱含層間的權(quán)值與偏置;s(i)與h(i)為第i層隱含層的輸入與輸出,當(dāng)m=1時(shí),h(0)為網(wǎng)絡(luò)的輸入;f和O為激活函數(shù)。
DNN的非線性映射能力源于非線性的激活函數(shù),為隱含層選擇合適的激活函數(shù)可以增強(qiáng)網(wǎng)絡(luò)的學(xué)習(xí)能力,提高模型精度[13]。當(dāng)激活函數(shù)取sigmoid函數(shù)時(shí),輸出值為
(3)
DNN神經(jīng)網(wǎng)絡(luò)的輸出可表示為
(4)
DNN是一種基于有監(jiān)督學(xué)習(xí)的方法,使用梯度下降算法最小化預(yù)測(cè)結(jié)果與真實(shí)值構(gòu)成的損失函數(shù),以獲得最佳的網(wǎng)絡(luò)權(quán)值和偏置,通常使用預(yù)測(cè)結(jié)果與真實(shí)值的均方誤差度量網(wǎng)絡(luò)的泛化誤差[14],即
(5)
反向傳播是目前最流行的訓(xùn)練算法之一,通過(guò)損失函數(shù)的梯度修正網(wǎng)絡(luò)的權(quán)重和偏差,被廣泛地用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)。為提高神經(jīng)網(wǎng)絡(luò)的訓(xùn)練精度與效率,目前很多研究者通過(guò)調(diào)整動(dòng)量參數(shù)與學(xué)習(xí)率對(duì)梯度下降法進(jìn)行優(yōu)化,提出了各種優(yōu)化算法,例如,SGD、AdaGrad、RMSProp和Adam。其中,Adam結(jié)合了AdaGrad和RMSProp的優(yōu)點(diǎn),能夠基于訓(xùn)練數(shù)據(jù)迭代地更新神經(jīng)網(wǎng)絡(luò)權(quán)重,在高維參數(shù)空間、非平穩(wěn)目標(biāo)、噪聲和稀疏梯度等問(wèn)題上具有很好的適用性和魯棒性[15]。
POD是一種基于模態(tài)分解技術(shù)的數(shù)據(jù)分析方法,常用于構(gòu)建數(shù)學(xué)降階模型[10]。以預(yù)應(yīng)力閘墩為例,定義錨索預(yù)應(yīng)力損失p∈[0,1],當(dāng)p=0時(shí),錨索沒(méi)有預(yù)應(yīng)力損失;當(dāng)p=1時(shí),錨索有效預(yù)應(yīng)力為0。設(shè)置n組錨索預(yù)應(yīng)力損失組合得到樣本矩陣X=[x1,x1,…,xn],其中,xi為不同錨索預(yù)應(yīng)力損失值組成的向量。在相同條件下,通過(guò)有限元計(jì)算閘墩在不同預(yù)應(yīng)力組合下對(duì)應(yīng)的位移響應(yīng),將錨塊的位移響應(yīng)矩陣設(shè)為Y=[y1,y2,…,yn],其中,yi為錨塊m個(gè)測(cè)點(diǎn)位移構(gòu)成的m維向量。當(dāng)錨塊網(wǎng)格劃分很密時(shí),位移響應(yīng)矩陣Y的維數(shù)很大,此時(shí)為減少計(jì)算量,使用POD對(duì)Y進(jìn)行降維就很必要了。將Y進(jìn)行奇異值分解
Y=Φ·Λ·VT
(6)
式中,Φ=(φ1,φ2,…,φn),φi∈Rn和V=(v1,v2,…,vn),vi∈Rm分別為Y的左右奇異矩陣,SVD保證Φ和V為正交矩陣;Λ為對(duì)對(duì)角矩陣,由協(xié)方差矩陣YTY特征值的平方根λi(i=min(m,n))組成,即Y的奇異值。由POD的性質(zhì)可知,前幾階模態(tài)就可包含樣本的主要信息[16],設(shè)置一個(gè)閾值ξ截取前幾階基向量,即
(7)
(8)
(9)
(10)
式中,α(x)為組合系數(shù)向量。
將樣本矩陣X作為輸入數(shù)據(jù)、α作為輸出數(shù)據(jù)訓(xùn)練DNN,則α(x)可由神經(jīng)網(wǎng)絡(luò)表示為
α(x)=O(W(m)h(m-1)+b(m))
(11)
由式(10)、(11)可得POD-DNN預(yù)測(cè)模型為
(12)
粒子群優(yōu)化(PSO)算法是一種基于群體的智能優(yōu)化算法,其核心思想是通過(guò)粒子的運(yùn)動(dòng)來(lái)搜尋最優(yōu)解[17]。種群的位置可表示為S=(s1,s2,…,sn),其中,每個(gè)粒子si的位置都是一組待優(yōu)化的參數(shù),并由此計(jì)算粒子的適應(yīng)度函數(shù)fitness(si)。在每次迭代中,粒子會(huì)相對(duì)于自己所經(jīng)歷的歷史最佳位置pbest和種群歷史最佳位置gbest移動(dòng)。粒子第i次迭代的速度和位置為
(13)
(14)
式中,c1、c2為學(xué)習(xí)因子,通常在[0,2]之間取值,分別為調(diào)節(jié)粒子向pbest和gbest運(yùn)動(dòng)的最大步長(zhǎng);r1、r2為[0,1]之間的隨機(jī)數(shù);v為粒子速度;ω為粒子慣性權(quán)重。粒子群迭代終止條件一般設(shè)為迭代次數(shù)達(dá)到設(shè)置的最大值,或全局最優(yōu)解的誤差小于設(shè)定的閾值。
代理模型的預(yù)測(cè)精度很大程度上依賴于樣本點(diǎn)的選取,在設(shè)計(jì)空間中合理分配樣本點(diǎn)對(duì)平衡計(jì)算成本與模型精度的關(guān)系具有重要意義。拉丁超立方抽樣(Latin Hypercube Sampling,LHS)是一種分層的隨機(jī)抽樣方法,可以從多元分布中進(jìn)行有效抽樣,以較少的樣本點(diǎn)就能反映變量的整體分布特征[18],常被用于代理模型的構(gòu)建中。
結(jié)合PSO和POD-DNN代理模型的反演步驟為:
(1)通過(guò)LHS方法在參數(shù)設(shè)計(jì)空間抽樣,并通過(guò)有限元計(jì)算得到相應(yīng)響應(yīng),建立設(shè)計(jì)參數(shù)-位移響應(yīng)數(shù)據(jù)集。
(2)通過(guò)POD對(duì)位移響應(yīng)數(shù)據(jù)降維,并根據(jù)數(shù)據(jù)集訓(xùn)練DNN,建立POD-DNN代理模型。
本文以某水電站重力壩預(yù)應(yīng)力閘墩為例,通過(guò)POD-DNN模型對(duì)其錨索預(yù)應(yīng)力損失進(jìn)行反演預(yù)測(cè)。閘墩頂面高程254.5 m,中墩順?biāo)鏖L(zhǎng)41 m,墩厚4 m,混凝土強(qiáng)度等級(jí)為C30;預(yù)應(yīng)力錨固采用混凝土錨塊,順?biāo)鞣较蜷L(zhǎng)7.25 m,垂直水流方向中墩寬7.80 m,混凝土強(qiáng)度等級(jí)C45。閘墩在鉛直向布置5排主錨索、呈扇形分布,錨束間夾角5°,在水平向?qū)ΨQ于閘墩中心線布置4排主錨索,共20束主錨,每根錨束的設(shè)計(jì)噸位為3 970 kN;錨塊內(nèi)在鉛直向布置4排次錨索,垂直水流的水平向布置3排次錨束,共12束,設(shè)計(jì)噸位為1 210 kN。正常蓄水位248.00 m,弧門(mén)支座承受的單側(cè)最大推力順?biāo)鞣较驗(yàn)?9 700 kN,垂直水流方向?yàn)? 120 kN。預(yù)應(yīng)力閘墩有限元計(jì)算模型如圖2所示。為節(jié)約計(jì)算成本,本文以鉛直方向中間的4根主錨索為研究對(duì)象,進(jìn)行預(yù)應(yīng)力損失反演。
圖2 預(yù)應(yīng)力閘墩有限元模型
以錨索設(shè)計(jì)噸位為初始值,識(shí)別錨索預(yù)應(yīng)力損失值。錨索預(yù)應(yīng)力損失范圍設(shè)為[0,1],取0時(shí),錨索有效預(yù)應(yīng)力值為設(shè)計(jì)噸位;取1時(shí),錨索預(yù)應(yīng)力完全損失。本文采用LHS方法在錨索預(yù)應(yīng)力損失設(shè)計(jì)空間抽取24組樣本,其中20組作為訓(xùn)練樣本,另外4組作為測(cè)試樣本。通過(guò)有限元計(jì)算錨塊所有結(jié)點(diǎn)對(duì)應(yīng)的順河道方向位移響應(yīng),使用POD對(duì)位移響應(yīng)數(shù)據(jù)降維,并構(gòu)建POD-DNN代理模型。
考慮神經(jīng)網(wǎng)絡(luò)隱藏層對(duì)模型精度的影響,本文取隱藏層的層數(shù)為1~4,用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)。不同隱含層層數(shù)和優(yōu)化器的DNN訓(xùn)練過(guò)程見(jiàn)圖3。由圖3a可知,當(dāng)隱藏層取為1時(shí),神經(jīng)網(wǎng)絡(luò)收斂速度較慢、訓(xùn)練誤差很大;當(dāng)隱藏層取為2~3時(shí),神經(jīng)網(wǎng)絡(luò)的收斂速度比只有一層隱藏層時(shí)提升很大,且可以獲得更小的訓(xùn)練誤差。在訓(xùn)練初期,訓(xùn)練誤差隨隱藏層層數(shù)的增加下降速度更快,但隱藏層為2時(shí)最終的訓(xùn)練誤差更小,為平衡計(jì)算量與訓(xùn)練誤差的關(guān)系,本文取2個(gè)隱藏層構(gòu)建DNN模型。由圖3b可知,不同的優(yōu)化器對(duì)DNN的訓(xùn)練速度和最終誤差有很大的影響,其中Adam方法的效果更好,因此,采用Adam方法更新DNN的權(quán)重和偏置,加速DNN
圖3 不同隱含層層數(shù)和優(yōu)化器的DNN訓(xùn)練過(guò)程
訓(xùn)練的收斂速度和模型精度。為檢驗(yàn)代理模型的精度,將表1的錨索有效預(yù)應(yīng)力測(cè)試樣本代入已訓(xùn)練好的POD-DNN代理模型,基于POD-DNN的預(yù)測(cè)位移和有限元計(jì)算位移的均方誤差為9.687 7×10-4,此時(shí)POD-DNN代理模型已達(dá)到較高精度,可代替有限元模型對(duì)閘墩錨索預(yù)應(yīng)力損失進(jìn)行反演。
表1 錨索預(yù)應(yīng)力損失測(cè)試樣本
對(duì)于一個(gè)給定的錨索預(yù)應(yīng)力損失組合(0.836 6,0.822 9,0.406 2,0.182 2),通過(guò)有限元得到響應(yīng)的位移響應(yīng)向量y*,并將y*作為真實(shí)位移,并基于POD-DNN代理模型和PSO算法反演錨塊位移為y*時(shí)的錨索預(yù)應(yīng)力損失。其中,取PSO算法的學(xué)習(xí)因子c1=c2=2;慣性權(quán)重取為
(16)
式中,titer為PSO算法當(dāng)前迭代次數(shù);ωmax、ωmin分別為慣性權(quán)重最大值和最小值;Titer為最大迭代次數(shù)。
PSO算法規(guī)模取為30,最大迭代次數(shù)取為500。通過(guò)PSO和POD-DNN代理模型得到的錨索有效預(yù)應(yīng)力反演結(jié)果為(0.832 9,0.912 7,0.419 5,0.167 5),平均相對(duì)誤差為5.68%,這表明本文方法能較為準(zhǔn)確反演出錨索有效預(yù)應(yīng)力。
本文針對(duì)預(yù)應(yīng)力閘墩錨索預(yù)應(yīng)力損失的不確定性問(wèn)題,基于本征正交分解和深度神經(jīng)網(wǎng)絡(luò)建立了POD-DNN代理模型,并結(jié)合PSO算法構(gòu)建了基于POD-DNN代理模型的高效反演方法。通過(guò)POD對(duì)位移數(shù)據(jù)進(jìn)行降維,有效降低了DNN代理模型訓(xùn)練的計(jì)算量。比較了不同隱藏層和梯度下降優(yōu)化算法對(duì)DNN訓(xùn)練收斂速度和訓(xùn)練誤差的影響,得到了高精度的POD-DNN代理模型,并將構(gòu)建好的代理模型應(yīng)用于混凝土預(yù)應(yīng)力閘墩實(shí)例,對(duì)預(yù)應(yīng)力閘墩的錨索預(yù)應(yīng)力損失進(jìn)行了反演,驗(yàn)證了本文的反演方法在混凝土預(yù)應(yīng)力閘墩錨索預(yù)應(yīng)力損失反演的適用性和高效性。