郭新宇,方圣恩,2
(1.福州大學(xué)土木工程學(xué)院,福建 福州 350108;2.福州大學(xué)土木工程防震減災(zāi)信息化國(guó)家地方聯(lián)合工程研究中心,福建 福州 350108)
拉索作為大跨徑斜拉橋的主要承重構(gòu)件,索力監(jiān)測(cè)是橋梁健康監(jiān)測(cè)系統(tǒng)的重要組成部分。據(jù)統(tǒng)計(jì),中國(guó)自1970 年至1990 年建造的30 多座斜拉橋中,有近50%的加固乃至拆除等措施與拉索力學(xué)性能劣化直接相關(guān)[1]。因此,準(zhǔn)確掌握索力狀態(tài)是保障橋梁安全運(yùn)營(yíng)和維養(yǎng)的重要先決條件。目前索力監(jiān)測(cè)和測(cè)試主要分為直接測(cè)試法和間接測(cè)試法兩類,其中頻率法作為一種操作簡(jiǎn)單、經(jīng)濟(jì)快捷的間接方法被廣泛應(yīng)用。近年來,在最初張緊弦公式[2]的基礎(chǔ)上,針對(duì)不同邊界或應(yīng)用條件下的索力公式也不斷被提出[3-4]。然而目前研究的重點(diǎn)仍是從一系列振動(dòng)響應(yīng)中識(shí)別不變的索力[5]。大多數(shù)對(duì)于拉索索力的研究仍是事后的索力識(shí)別,而不是事前的索力預(yù)測(cè),對(duì)斜拉橋性能監(jiān)測(cè)來說存在不足。
機(jī)器學(xué)習(xí)的發(fā)展[6]及健康監(jiān)測(cè)系統(tǒng)的完善[7]為索力預(yù)測(cè)研究提供了可能。自基于反向傳播的BP 神經(jīng)網(wǎng)絡(luò)被開發(fā)以來[8],針對(duì)不同領(lǐng)域的特定任務(wù)衍生出了基于深度學(xué)習(xí)算法的網(wǎng)絡(luò)形式,比如卷積神經(jīng)網(wǎng)絡(luò)[9]、循環(huán)神 經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)以及它們的變種或組合模型等[10]。其中RNN打破了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)對(duì)輸入輸出的諸多限制,能夠有效挖掘數(shù)據(jù)中的時(shí)序信息,已成功應(yīng)用于如橋梁性能劣化預(yù)測(cè)[11]、損傷識(shí)別[12]及傳感數(shù)據(jù)重構(gòu)[13]等方面,但尚未發(fā)現(xiàn)其在索力預(yù)測(cè)方面的研究。另一方面,光纖光柵傳感技術(shù)的發(fā)展,也使高精度的索力監(jiān)測(cè)有了新的突破[14],可以為研究提供高準(zhǔn)確率的索力數(shù)據(jù)。
基于某實(shí)際大跨度斜拉橋的索力時(shí)程數(shù)據(jù),研究了基于門控循環(huán)單元(Gated Recurrent Unit,GRU)神經(jīng)網(wǎng)絡(luò)的索力預(yù)測(cè)模型。在分析了GRU網(wǎng)絡(luò)的組成結(jié)構(gòu)及運(yùn)算特點(diǎn)后,提出了基于GRU 的索力預(yù)測(cè)模型。將完整的索力數(shù)據(jù)通過滑動(dòng)窗口等操作進(jìn)行預(yù)處理,采用GRU 層對(duì)索力序列的內(nèi)在規(guī)律進(jìn)行學(xué)習(xí),通過全連接層將學(xué)習(xí)到的信息綜合輸出為一個(gè)索力值,實(shí)現(xiàn)對(duì)未來索力的預(yù)測(cè)。該方法可根據(jù)歷史索力數(shù)據(jù)實(shí)現(xiàn)對(duì)未來索力的預(yù)測(cè)。
RNN 作為經(jīng)典前饋神經(jīng)網(wǎng)絡(luò)的拓展,主要是用于處理和預(yù)測(cè)序列數(shù)據(jù)。如圖1 所示,RNN 主要由輸入層X、隱藏層U,V,W以及輸出層Y組成。但與前饋神經(jīng)網(wǎng)絡(luò)不同的是,RNN 能夠記憶時(shí)間軸上的歷史信息,并影響后續(xù)節(jié)點(diǎn)的輸出。
圖1 循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.1 Structure of a recurrent neural network
根據(jù)上述特點(diǎn),可以得到t時(shí)刻隱藏節(jié)點(diǎn)與輸出節(jié)點(diǎn)的數(shù)學(xué)表達(dá)式[15]:
式中f與g均為激 活函數(shù);xt為t時(shí)刻的輸入;yt為t時(shí)刻的輸出;st為t時(shí)刻的隱藏層狀態(tài)。若將式(1)循環(huán)代入式(2),則可進(jìn)一步得到如下表達(dá)式:
由圖1 與式(3)可以看出,某個(gè)時(shí)刻的狀態(tài)st-1將會(huì)與下個(gè)時(shí)刻的輸入xt一起被訓(xùn)練并形成回路,形成所謂的循環(huán)神經(jīng)網(wǎng)絡(luò)。要注意的是,每個(gè)時(shí)刻的U,V,W都是相同的,這種權(quán)值共享的機(jī)制不僅降低了模型的復(fù)雜度,更是其捕捉序列規(guī)律的關(guān)鍵。盡管RNN 在理論上能夠解決序列問題的訓(xùn)練,但隨著序列長(zhǎng)度的增加,基于梯度的優(yōu)化算法將無法進(jìn)行,這一點(diǎn)也可由式(3)看出,即序列長(zhǎng)度的增加將導(dǎo)致梯度的計(jì)算復(fù)雜度呈指數(shù)型的增加,導(dǎo)致梯度消失或梯度爆炸。
為解決上述問題,RNN 的另一種變體長(zhǎng)短期記憶(Long Short Term Memory,LSTM)[15]神經(jīng)網(wǎng)絡(luò)通過引入輸入門、遺忘門及輸出門動(dòng)態(tài)調(diào)節(jié)信息流動(dòng),減少計(jì)算負(fù)擔(dān),有效解決訓(xùn)練過程中梯度爆炸或消失的問題。隨后,又有研究將LSTM 中的輸入門與遺忘門合并,創(chuàng)建了結(jié)構(gòu)形式更加簡(jiǎn)單的GRU 神經(jīng)網(wǎng)絡(luò)[16],其神經(jīng) 元結(jié)構(gòu)如圖2 所示。圖中zt代表更新門,控制訓(xùn)練過程中要添加或舍棄的信息內(nèi)容;rt代表重置門,控制對(duì)歷史時(shí)刻信息的保留程度;ht為t時(shí)刻隱藏層單元狀態(tài),為更新后t時(shí)刻隱藏層單元狀態(tài)。整個(gè)數(shù)據(jù)傳遞的數(shù)學(xué)表達(dá)式如下[16]:
圖2 門控循環(huán)單元神經(jīng)網(wǎng)絡(luò)示意圖Fig.2 Schematic diagram of gated recurrent unit neural networks
式中Wg,Wgz,Wgr,Vg,Vgz,Vgr為各式的網(wǎng)絡(luò)權(quán)重矩陣。
利用GRU 神經(jīng)網(wǎng)絡(luò)對(duì)序列數(shù)據(jù)的學(xué)習(xí)能力,提出基于GRU 的斜拉橋索力預(yù)測(cè)框架,如圖3 所示。按照對(duì)數(shù)據(jù)處理的功能不同,可分為輸入層、GRU隱藏層與索力輸出層。
圖3 基于GRU 網(wǎng)絡(luò)的索力預(yù)測(cè)Fig.3 Cable force prediction using GRU networks
輸入層:由于索力的影響因素眾多,想要得到較好的預(yù)測(cè)模型,需要較長(zhǎng)一段時(shí)間的索力數(shù)據(jù)作為訓(xùn)練樣本。為了學(xué)習(xí)序列間的前后依賴關(guān)系,需要對(duì)時(shí)序數(shù)據(jù)進(jìn)行切片才能得到最終的神經(jīng)網(wǎng)絡(luò)樣本。因此,在訓(xùn)練神經(jīng)網(wǎng)絡(luò)之前,首先需要將一段完整的索力數(shù)據(jù)進(jìn)行切片、歸一化等處理,并根據(jù)實(shí)際情況劃分訓(xùn)練樣本;
GRU 隱藏層:GRU 層是整個(gè)神經(jīng)網(wǎng)絡(luò)的核心,它的作用是學(xué)習(xí)索力時(shí)程數(shù)據(jù)之間的內(nèi)在一般規(guī)律,從而使網(wǎng)絡(luò)獲得對(duì)未來索力預(yù)測(cè)的能力。該過程需要設(shè)定相關(guān)訓(xùn)練參數(shù),如優(yōu)化器、迭代次數(shù)等,同時(shí)不斷調(diào)整網(wǎng)絡(luò)拓?fù)洌覍け容^合適的時(shí)間步長(zhǎng)。
索力輸出層:本文研究的是索力預(yù)測(cè)問題,最終輸出結(jié)果為基于已有數(shù)據(jù)的下一時(shí)間節(jié)點(diǎn)上的索力值,而GRU 隱藏層輸出的是對(duì)各輸入時(shí)間節(jié)點(diǎn)上的預(yù)測(cè)結(jié)果,并非未來索力預(yù)測(cè)的期望值。因此,需要通過全連接層進(jìn)一步對(duì)GRU 層的輸出結(jié)果進(jìn)行綜合,需要在神經(jīng)網(wǎng)絡(luò)的末端添加一層全連接隱藏層,實(shí)現(xiàn)對(duì)GRU 層輸出結(jié)果的綜合,并將GRU 層的輸出結(jié)果作為全連接層的輸入層數(shù)據(jù),再設(shè)定與之相對(duì)應(yīng)的索力標(biāo)簽作為整個(gè)神經(jīng)網(wǎng)絡(luò)的索力輸出層,便可以實(shí)現(xiàn)對(duì)未來索力的預(yù)測(cè)。
如圖4 所示,本文以某實(shí)際大跨斜拉橋?yàn)檠芯繉?duì)象,驗(yàn)證所提方法的可行性[17],斜拉橋主跨長(zhǎng)260 m,兩邊跨均為99.85 m+26.55 m。該橋于1987 年12 月通車,由于超載等原因,在運(yùn)營(yíng)19 年后發(fā)現(xiàn)嚴(yán)重?fù)p傷,2005 年至2007 年間進(jìn)行了一系列加固維護(hù)措施。對(duì)主梁進(jìn)行了重鑄,并在其他梁段表面粘貼了碳纖維布進(jìn)行加固,同時(shí)更換了所有拉索。在維修過程中,安裝了一套完整的結(jié)構(gòu)健康監(jiān)測(cè)系統(tǒng),其中也包括了對(duì)部分索力的監(jiān)控。索力測(cè)量通過在拉索中嵌入光纖光柵傳感器來記錄應(yīng)力時(shí)程,進(jìn)而轉(zhuǎn)換為拉索索力。
圖4 某實(shí)際斜拉橋Fig.4 An actual cable-stayed bridge
本文選取該橋1周(2008 年1 月10 日12:00—2008 年1 月17 日12:00)內(nèi)具有代表性的3 根拉索的索應(yīng)力實(shí)測(cè)數(shù)據(jù)。如圖4(b)所示,C1,C2 及C3 分別代表了短索、中長(zhǎng)索及長(zhǎng)索。索力的采樣頻率為2.5 Hz,考慮到一般情況下短時(shí)間內(nèi)的索力變化較小,因此先對(duì)數(shù)據(jù)進(jìn)行壓縮,取10 min 內(nèi)索力數(shù)據(jù)的平均值為一個(gè)樣本。然后選取了上述時(shí)間內(nèi)連續(xù)采集的1000 個(gè)樣本來驗(yàn)證方法的可行性,其中前700 個(gè)用作訓(xùn)練樣本,后300 個(gè)作為驗(yàn)證樣本。
由前文和圖5 可知,待訓(xùn)練及預(yù)測(cè)樣本實(shí)際為該橋在一周內(nèi)連續(xù)不間斷采集的數(shù)據(jù)。根據(jù)圖3 所示的索力預(yù)測(cè)流程,首先需要對(duì)這一段索力數(shù)據(jù)進(jìn)行切片以劃分?jǐn)?shù)據(jù)集。在處理時(shí)間序列問題上,定長(zhǎng)滑動(dòng)窗口是一種常用的數(shù)據(jù)分割手段[18],通過滑動(dòng)窗口可將原本完整的時(shí)序數(shù)列劃分為若干子序列,作為神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)集。需要注意的是,所設(shè)定的滑動(dòng)窗口長(zhǎng)度表示期望采用多長(zhǎng)時(shí)間的歷史數(shù)據(jù)實(shí)現(xiàn)對(duì)未來索力的預(yù)測(cè)。若滑動(dòng)窗口長(zhǎng)度過短,則不能充分學(xué)習(xí)歷史索力數(shù)據(jù)的變化趨勢(shì);反之,則會(huì)增加很多冗余信息,加重網(wǎng)絡(luò)訓(xùn)練負(fù)擔(dān)。如圖5 所示,本算例通過50 min 時(shí)長(zhǎng)的5 個(gè)索力均值數(shù)據(jù)X去預(yù)測(cè)未來10 min 的索力均值Y,故將滑動(dòng)窗口的時(shí)間步長(zhǎng)設(shè)定為5,即全部樣本在時(shí)間軸上的連續(xù)5個(gè)索力數(shù)據(jù)組成一組樣本的輸入層,然后取窗口下個(gè)索力值作為當(dāng)前窗口的標(biāo)簽。
圖5 滑動(dòng)窗口與數(shù)據(jù)切片F(xiàn)ig.5 Sliding window and data slices
劃分好訓(xùn)練樣本后,便可開始該橋GRU 神經(jīng)網(wǎng)絡(luò)的搭建。采用了基于Python 語言的PyTorch 框架[19]。在網(wǎng)絡(luò)訓(xùn)練之前,通常還需對(duì)數(shù)據(jù)進(jìn)行歸一化,其目的是使各特征具有相同的度量尺度,以便于神經(jīng)網(wǎng)絡(luò)的快速收斂。本文對(duì)樣本數(shù)據(jù)處理所用的歸一化公式如下:
式中xi為樣本值;Xmin為樣本中最小值;Xmax代表樣本中最大值代表歸一化后的值。網(wǎng)絡(luò)訓(xùn)練采用了可以自適應(yīng)調(diào)節(jié)學(xué)習(xí)率的Adam 優(yōu)化器[20],并通過最小化均方誤差損失函數(shù)實(shí)現(xiàn)對(duì)GRU 模型的迭代訓(xùn)練。經(jīng)過多次調(diào)試后,確定輸入層的節(jié)點(diǎn)數(shù)為5 個(gè),對(duì)應(yīng)上述時(shí)間步長(zhǎng)為5 的5 個(gè)索力值;GRU隱藏層為1 層,各時(shí)間節(jié)點(diǎn)上的神經(jīng)元個(gè)數(shù)為64 個(gè);輸出層節(jié)點(diǎn)為1,對(duì)應(yīng)了預(yù)測(cè)索力值,將GRU 層的64 個(gè)神經(jīng)元節(jié)點(diǎn)與這1 個(gè)輸出節(jié)點(diǎn)通過線性的全連接層相連接,便完成了整個(gè)網(wǎng)絡(luò)的搭建。
GRU 網(wǎng)絡(luò)模型預(yù)測(cè)準(zhǔn)確度采用整體平均誤差作為評(píng)價(jià)指標(biāo),整體平均誤差是所有樣本預(yù)測(cè)誤差百分比的平均值,用于評(píng)價(jià)數(shù)據(jù)整體誤差程度:
式中N為樣本個(gè)數(shù);為第i個(gè)樣本的真實(shí)值;mi為第i個(gè)樣本的預(yù)測(cè)值。
300 個(gè)驗(yàn)證樣本中第1~5 個(gè)樣本作為輸入層數(shù)據(jù)時(shí),網(wǎng)絡(luò)輸出對(duì)應(yīng)第6 個(gè)時(shí)刻的值,可與第6 個(gè)驗(yàn)證樣本對(duì)比,以此類推,最終得到295 個(gè)預(yù)測(cè)值,如圖6 所示。C1~C3 號(hào)拉索的預(yù)測(cè)索應(yīng)力平均誤差分別為0.072%,0.104%及0.090%,說明GRU 神經(jīng)網(wǎng)絡(luò)能夠很好地預(yù)測(cè)索力的發(fā)展趨勢(shì)。另一方面,3組預(yù)測(cè)索力的最大誤差分別為0.443%,0.763%及0.670%,對(duì)應(yīng)于圖6 中C1,C2 及C3 號(hào)索的第228,72 及72 號(hào)樣本值。需要指出的是,該最大誤差值實(shí)際也很小,說明所提出的索力預(yù)測(cè)方法效果良好。
圖6 拉索應(yīng)力預(yù)測(cè)結(jié)果Fig.6 Cable stress prediction results
以某實(shí)際大跨斜拉橋?yàn)榉治鰧?duì)象,提出了一種基于GRU 神經(jīng)網(wǎng)絡(luò)的索力預(yù)測(cè)方法,并基于該橋3根不同長(zhǎng)度拉索一周時(shí)間連續(xù)采集的索應(yīng)力數(shù)據(jù)驗(yàn)證了所提方法的可行性并得到以下結(jié)論:
(1)GRU 神經(jīng)網(wǎng)絡(luò)對(duì)橋梁健康監(jiān)測(cè)獲取的時(shí)序型數(shù)據(jù)具備良好的數(shù)據(jù)處理能力,可以利用拉索歷史數(shù)據(jù)實(shí)現(xiàn)對(duì)未來索力的預(yù)測(cè)。對(duì)于實(shí)際斜拉橋上的不同長(zhǎng)度拉索均可以獲得較好的預(yù)測(cè)效果,平均誤差及最大誤差均小于1%。
(2)對(duì)實(shí)橋監(jiān)測(cè)的龐大數(shù)據(jù)量進(jìn)行預(yù)處理,如本文采用的壓縮、數(shù)據(jù)切片和歸一化,有利于提高GRU 網(wǎng)絡(luò)的訓(xùn)練和預(yù)測(cè)準(zhǔn)確度。
(3)在GRU 神經(jīng)網(wǎng)絡(luò)的末端添加一層全連接隱藏層,可實(shí)現(xiàn)對(duì)GRU 層輸出結(jié)果的綜合,有利于獲取準(zhǔn)確的預(yù)測(cè)結(jié)果。