陳 堯 羅雨舟
(1.西華大學(xué)土木建筑與環(huán)境學(xué)院, 四川 成都 610039;2.四川路橋橋梁工程有限公司, 四川 成都 610039)
橋梁等基礎(chǔ)設(shè)施隨著其運(yùn)行使用,設(shè)計(jì)功能會(huì)出現(xiàn)一定的損傷,這一不可避免的過程意味著很有必要對(duì)結(jié)構(gòu)進(jìn)行健康檢測(cè)。由于各種不確定性和非均勻分布的環(huán)境影響,傳統(tǒng)的損傷檢測(cè)方法面臨著很多挑戰(zhàn),并且傳統(tǒng)的檢測(cè)方法無法實(shí)現(xiàn)實(shí)時(shí)的橋梁損傷檢測(cè)。
卷積神經(jīng)網(wǎng)絡(luò),英語稱為Convolutional Neural Network,簡(jiǎn)稱CNN,思想源于Hubel等在1962年對(duì)動(dòng)物視覺皮層細(xì)胞研究提出的感受野(Receptive Field)概念。近年來學(xué)界不斷地提出新的CNN模型,與一些傳統(tǒng)算法相融合是這些年CNN的發(fā)展趨勢(shì)。因此CNN在眾多領(lǐng)域獲得了快速的應(yīng)用擴(kuò)展。通過CNN將結(jié)構(gòu)加速度響應(yīng)作為輸入向量,李雪松等人系統(tǒng)對(duì)比經(jīng)驗(yàn)?zāi)B(tài)分解法與小波包變化法,結(jié)果顯示,CNN 自主提取的特征向量能更準(zhǔn)確地反映結(jié)構(gòu)的損傷情況[1]。Cha[2]等利用CNN自動(dòng)的圖像識(shí)別能力,在不結(jié)合圖像識(shí)別技術(shù)的情況下,研究了CNN對(duì)混凝土結(jié)構(gòu)裂縫等缺陷的圖像識(shí)別精度。Duy-Tang Hoang[3]指出在振動(dòng)信號(hào)中,含有很多能反映結(jié)構(gòu)損傷的信息,將振動(dòng)信號(hào)轉(zhuǎn)化成二維灰度圖像,利用CNN網(wǎng)絡(luò)出色的圖像識(shí)別能力,從中提取損傷特征并進(jìn)行分類,以此來實(shí)現(xiàn)結(jié)構(gòu)損傷識(shí)別因此,受到上述學(xué)者研究成果的啟發(fā),本文擬采用階段式學(xué)習(xí)法與自主學(xué)習(xí),研究CNN對(duì)結(jié)構(gòu)損傷的個(gè)數(shù)和位置的判斷,以及CNN對(duì)損傷橫向分布的識(shí)別準(zhǔn)確率。
卷積神經(jīng)網(wǎng)絡(luò)的本質(zhì)是原始輸入數(shù)據(jù)經(jīng)過多個(gè)卷積層和池化層的交替處理后,提取原始數(shù)據(jù)的特征信息,再映射到一個(gè)新的特征表達(dá)的數(shù)學(xué)模型。CNN是典型的前饋網(wǎng)絡(luò),先通過前饋運(yùn)算從原始數(shù)據(jù)中提取數(shù)據(jù)特征,再利用反向傳播算法進(jìn)行網(wǎng)絡(luò)參數(shù)的優(yōu)化,求解出最優(yōu)的權(quán)值與閾值。前饋運(yùn)算,即是采用原始數(shù)據(jù)作為網(wǎng)絡(luò)的輸入,通過卷積層將原始數(shù)據(jù)中包含的各類特征進(jìn)行提取和抽象,再由非線性激活函數(shù)激活后傳入池化層,然后池化層把特征提取后的信息進(jìn)行匯合和壓縮,最后將數(shù)據(jù)通過全連接的方式繼續(xù)向前運(yùn)算得到計(jì)算值。所謂反向傳播,即通過對(duì)比計(jì)算值與目標(biāo)值之間的差距得到損失函數(shù),依據(jù)BP反饋算法,將損失函數(shù)從最后一層向上一次逐層反饋,從而更新權(quán)值和閾值。因此,通過前饋運(yùn)算與反饋運(yùn)算,持續(xù)的更新網(wǎng)絡(luò)的權(quán)值和閾值,直到損失函數(shù)逐漸收斂為止,這便是卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練目的。
卷積神經(jīng)網(wǎng)絡(luò)組成部分一般有輸入層、卷積層、池化層、全連接層和輸出層,卷積層和池化層一般會(huì)取若干個(gè),并交替設(shè)置,即一個(gè)卷積層連接一個(gè)池化層,池化層后再連接一個(gè)卷積層,依此類推[4]。卷積神經(jīng)網(wǎng)絡(luò)的核心就在于局部感受野,它是通過卷積層這一數(shù)學(xué)模型來模擬的。池化層也稱為下采樣層,是CNN網(wǎng)絡(luò)的重要組成之一。池化層一般緊跟卷積層之后,其主要功能是匯總和壓縮卷積層中提取到的特征,在一定程度上維持特征的尺度不變,提高泛化能力。在卷積深度網(wǎng)絡(luò)結(jié)構(gòu)中,在經(jīng)過多個(gè)卷積層和多個(gè)池化層的交替?zhèn)鬟f后,連接著多個(gè)全連接層。全連接層的主要作用是整合卷積層和池化層中的局部信息。在全連接層中可采用例如Softmax函數(shù)進(jìn)行分類。
本文進(jìn)行了多次反復(fù)的試驗(yàn),最終確定了第一階段與第二階段的CNN框架。對(duì)于第一階段的CNN框架,本文設(shè)置了三個(gè)卷積層,三個(gè)池化層。經(jīng)過認(rèn)真的分析理解,在第一卷積層中,卷積核的數(shù)量設(shè)定為3個(gè),尺寸大小為3×3。一般 CNN 中兩層之間會(huì)含有多個(gè)卷積核,目的是學(xué)習(xí)出 Input 的不同特征,對(duì)應(yīng)得到多個(gè)特征圖。對(duì)于第二卷積層和第三卷積層,所以卷積核的數(shù)量設(shè)置為6個(gè),尺寸同為3×3。池化層采用最大值池化,池化窗口為2×2。經(jīng)過卷積與池化后,設(shè)置有兩個(gè)全連接層。第一全連接層經(jīng)過壓縮后,有50個(gè)節(jié)點(diǎn)數(shù)量;第二全連接層壓縮到10個(gè)節(jié)點(diǎn)數(shù)量。最后通過Softmax函數(shù)輸出4個(gè)節(jié)點(diǎn)。在第二階段,對(duì)于第一卷積層,設(shè)置了4個(gè)卷積核,第二、三卷積層,都設(shè)置了8個(gè)卷積核,且輸出層設(shè)置了3個(gè)節(jié)點(diǎn)。兩個(gè)階段的具體CNN框架如圖1~2所示。
圖1 第一階段CNN框架
圖2 第二階段CNN框架
為研究CNN對(duì)橋梁結(jié)構(gòu)損傷的定位能力,本文利用有限元軟件,構(gòu)建了裝配式簡(jiǎn)支梁模型,如圖3所示。該簡(jiǎn)支梁模型一共設(shè)置了三個(gè)主梁,分別用數(shù)字編號(hào)為1~3。隨機(jī)選取損傷一片主梁中4個(gè)連續(xù)的單元,并利用CNN識(shí)別損壞的主梁。該模型通過對(duì)梁?jiǎn)卧獎(jiǎng)偠瘸甩南禂?shù)實(shí)現(xiàn)損傷方式,即δ·EI,δ為0.5~1上的隨機(jī)數(shù)[5]。由三個(gè)橫隔板將三片主梁連接,橫隔板每單位長(zhǎng)度的質(zhì)量m取815kg/m,其他參數(shù)慣性矩I取0.022m4,橫截面積A取0.3m2,彈性模量E取27.6GN/m2。在下圖中,標(biāo)記紅點(diǎn)的位置,為加速度的采集位置。在本文有限元模擬中,自由荷載的大小,自由載荷的速度,損傷單元的單元號(hào),損傷單元的損傷程度這四個(gè)量為隨機(jī)量。因?yàn)橐涌煊?jì)算的速度,所以在每個(gè)樣本中,采樣點(diǎn)的采樣個(gè)數(shù)都需要減少。經(jīng)過減少后,每片主梁的信號(hào)都變成了3×80的矩陣,因此全模型為大小為9×80的輸入矩陣。
圖3 裝配式簡(jiǎn)支梁模型
卷積神經(jīng)網(wǎng)絡(luò)的算法屬于監(jiān)督學(xué)習(xí),對(duì)于CNN來說,就是將已知數(shù)據(jù)通過CNN訓(xùn)練后,然后再判斷未知的數(shù)據(jù)。對(duì)于本文已建立的有限元模型,一共可以分成8種情況。在這8種情況里,有1種無損傷的情況,單片梁損傷的情況有3種。存在3種雙片梁損傷的情況以及1種三片梁同時(shí)損傷的情況。理論上,這8種類型的數(shù)據(jù)可以使用一個(gè)數(shù)據(jù)集糅合起來,之后再對(duì)CNN模型進(jìn)行訓(xùn)練。然而在訓(xùn)練過程中,作者發(fā)現(xiàn)CNN在訓(xùn)練集中的識(shí)別精度會(huì)迅速地回落至最低點(diǎn)在其上升小段之后。經(jīng)過仔細(xì)認(rèn)真的分析后,得到其主要原因?yàn)樵揅NN架構(gòu)能夠提取到的特征信息不夠多。此外由于硬件的限制問題,很難有效的對(duì)更復(fù)雜的CNN框架進(jìn)行訓(xùn)練。
為了克服上述的限制問題,本文采用了一種有效的方法,叫做階段式學(xué)習(xí)法,該方法的具體步驟如圖4所示。在第一階段中,由首層CNN模型區(qū)分是幾片梁損傷還是無損傷。第二階段,初步分類的數(shù)據(jù)是特定CNN模型的輸入,進(jìn)而對(duì)損傷進(jìn)行定位。該階段的兩個(gè)CNN模型,分別用數(shù)字1和2進(jìn)行編號(hào),兩個(gè)模型進(jìn)行訓(xùn)練時(shí),使用不同的數(shù)據(jù),因此互不影響。
圖4 階段式學(xué)習(xí)流程
在訓(xùn)練時(shí),模型在優(yōu)化的過程中,存在一定的隨機(jī)性與不確定性,并且優(yōu)化過程容易出現(xiàn)過擬合現(xiàn)象。在經(jīng)過多次試驗(yàn)后,發(fā)現(xiàn)迭代步通常在8000~12000之間時(shí),識(shí)別準(zhǔn)確率開始逐步上升。在第一階段試驗(yàn)過程中,CNN模型輸入了4000個(gè)樣本,其中每種類別各有1000個(gè)。經(jīng)過多次反復(fù)地試驗(yàn),發(fā)現(xiàn)對(duì)于無損傷情況、一片梁損傷以及兩片梁損傷的情況,模型均能夠較好的識(shí)別。其中無損傷情況的平均識(shí)別率達(dá)到了98.4%,一片梁損傷的情況的平均識(shí)別率達(dá)到了96.4%,對(duì)于兩片梁同時(shí)損傷的情況,平均識(shí)別率達(dá)到了96.7%。對(duì)三片梁同時(shí)損傷的情況,模型出現(xiàn)了判斷出錯(cuò)的情況,經(jīng)過認(rèn)真研究分析原因,是模型判斷成損傷兩片梁的情況。因此,本文對(duì)同時(shí)損傷三片梁的情況進(jìn)行了單獨(dú)訓(xùn)練,另外單獨(dú)訓(xùn)練兩片梁同時(shí)損失的情況作為對(duì)比。結(jié)果顯示,相比之前的結(jié)果,三片梁同時(shí)損傷的識(shí)別精度有了明顯的提高,平均識(shí)別率為89%,最高識(shí)別率達(dá)到了93%。
在第二階段,本文以3000個(gè)樣本(每種類別1000個(gè)樣本)為CNN的訓(xùn)練集,對(duì)于CNN的預(yù)測(cè)集,同樣用3000個(gè)樣本,每種類別1000個(gè),測(cè)試CNN的分類準(zhǔn)確率。其結(jié)果顯示,對(duì)于橋梁損傷,該CNN模型可以進(jìn)行初步有效的定位。其中對(duì)于一片梁損傷的情況,平均識(shí)別準(zhǔn)確率達(dá)到了96.7%;對(duì)于兩片梁同時(shí)損傷的情況,平均識(shí)別準(zhǔn)確率達(dá)到了97.8%。綜合第一階段與第二階段的工作,CNN損傷定位的最終精度為第一階段精度與第二階段精度的乘積。因此最后匯總得出,CNN模型的分類精度如表1所示。
表1 CNN總準(zhǔn)確率
本文利用有限元軟件,構(gòu)建了一個(gè)裝配式簡(jiǎn)支梁模型,同時(shí)搭建了相應(yīng)的CNN框架,并且對(duì)于改模型,本文通過數(shù)值模擬數(shù)據(jù)進(jìn)行了訓(xùn)練,從中提取結(jié)構(gòu)損傷的特征信息,再將這些信息運(yùn)用到實(shí)際結(jié)構(gòu)的損傷識(shí)別診斷中。兩個(gè)階段的試驗(yàn)訓(xùn)練并測(cè)試了CNN對(duì)損傷橫向分布的識(shí)別準(zhǔn)確率,因?yàn)楸疚牟捎玫碾A段式學(xué)習(xí)法以及自主學(xué)習(xí)的優(yōu)勢(shì),對(duì)于結(jié)構(gòu)損傷的個(gè)數(shù)和位置,CNN識(shí)別判斷的較為精確。
本文的結(jié)論大多為通過有限元數(shù)值分析所得到的理論值,缺乏實(shí)際數(shù)據(jù)對(duì)本文結(jié)論的佐證,因此對(duì)本文結(jié)論的實(shí)效性還需做進(jìn)一步的深入研究。