林旭梅,胡 川,朱廣輝,陳一戈,苗芳榮
(青島理工大學(xué)信息與控制工程學(xué)院,青島 266520)
海水是一種富含侵蝕性鹽類的腐蝕電解質(zhì)溶液[1],架駐在海洋環(huán)境下的鋼筋混凝土工程在漫長服役期里易遭受腐蝕侵壞,其中內(nèi)部鋼筋的腐蝕是造成混凝土結(jié)構(gòu)工程耐久性失效的主要原因,因此提高對服役鋼筋損傷狀態(tài)的檢測精度,及時對危險(xiǎn)工程做出預(yù)判尤為重要。
近年來,中外學(xué)者對鋼筋混凝土腐蝕檢測做出大量研究,Gotoh等[2]利用鋼筋銹蝕過程中磁導(dǎo)率產(chǎn)生變化這一特性,利用電磁感應(yīng)原理結(jié)合霍爾元件來檢測鋼筋銹蝕程度。王瀟舷等[3]通過研究鋼筋銹蝕應(yīng)變力的變化結(jié)合數(shù)字圖像技術(shù)實(shí)現(xiàn)對混凝土內(nèi)部腐蝕程度的檢測。V?lker等[4]將探地雷達(dá)引入混凝土腐蝕檢測之中,通過測量鋼筋反射振幅,電勢等特征數(shù)據(jù),采用機(jī)器學(xué)習(xí)方法對數(shù)據(jù)進(jìn)行融合處理來判斷鋼筋銹蝕程度。
陽極梯傳感器在海洋工程鋼筋腐蝕監(jiān)測中被廣泛應(yīng)用[5],現(xiàn)采用陽極梯傳感器監(jiān)測系統(tǒng)對腐蝕樣本數(shù)據(jù)進(jìn)行采集,將采集的腐蝕電壓、腐蝕電流、腐蝕阻抗及環(huán)境溫度等特征參數(shù)作為模型的輸入,鋼筋的腐蝕狀態(tài)作為模型輸出。針對小樣本數(shù)據(jù)下淺層神經(jīng)網(wǎng)絡(luò)模型擬合能力不足,而加深網(wǎng)絡(luò)層數(shù)出現(xiàn)網(wǎng)絡(luò)性能退化問題,建立雙跳躍深度殘差網(wǎng)絡(luò)模型,同時對Adam算法中影響學(xué)習(xí)率的二階矩估計(jì)梯度進(jìn)行調(diào)整,并將其用于鋼筋混凝土腐蝕狀態(tài)預(yù)測。
鋼筋混凝土腐蝕狀態(tài)與各特征之間具有強(qiáng)耦合性,常規(guī)數(shù)學(xué)建模往往無法準(zhǔn)確全面地反映出各因素與腐蝕程度之間的高度復(fù)雜關(guān)系。因此,采用神經(jīng)網(wǎng)絡(luò)模型對鋼筋混凝土腐蝕程度進(jìn)行判別,利用其強(qiáng)大的非線性映射能力,從預(yù)處理后的數(shù)據(jù)中直接提取特征,自動學(xué)習(xí)擬合各特征量與輸出標(biāo)簽間的函數(shù)關(guān)系,避免了復(fù)雜的數(shù)學(xué)建模過程。鋼筋混凝土腐蝕檢測模型結(jié)構(gòu)如圖1所示。
圖1 鋼筋混凝土腐蝕監(jiān)測模型結(jié)構(gòu)圖Fig.1 Structure diagram of reinforced concrete corrosion monitoring model
數(shù)據(jù)集中于陽極梯測得的腐蝕電壓、腐蝕電流、腐蝕阻抗、環(huán)境溫度特征量綱各不相同,且數(shù)值之間存在較大差異,使用梯度下降法時勢必會減緩梯度的尋優(yōu)速度。因此,使用min-max歸一化方法對上述特征值進(jìn)行歸一化處理,消除不同特征之間的量綱影響,且使損失函數(shù)無論從任何位置開始,使用梯度下降法都能更迅速地找到最小值,加速模型的收斂速度,公式為
(1)
f(x)=max(0,x)
(2)
式(2)為激活函數(shù)Relu表達(dá)式,其具有擬合非線性的能力[6]。
數(shù)據(jù)集中鋼筋銹蝕數(shù)據(jù)的標(biāo)簽分成“未腐蝕”“輕度腐蝕”“重度腐蝕”3類。為了將類別變量轉(zhuǎn)換成計(jì)算機(jī)能夠識別的形式,采用One-hot編碼。如表1所示。
表1 One-hot編碼Table 1 One-hot coding
基于傳統(tǒng)反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)的鋼筋混凝土腐蝕分類方法,在樣本規(guī)模相對較小的情況下,當(dāng)網(wǎng)絡(luò)層數(shù)達(dá)到一定深度時,網(wǎng)絡(luò)的擬合能力將達(dá)到飽和,其分類準(zhǔn)確率很難再得到提升[7]。若繼續(xù)加深網(wǎng)絡(luò)層數(shù),則會導(dǎo)致網(wǎng)絡(luò)退化。為了提高鋼筋腐蝕分類準(zhǔn)確率,提出雙跳躍深度殘差BP神經(jīng)網(wǎng)絡(luò)模型。
所提的雙跳躍殘差神經(jīng)網(wǎng)絡(luò)模塊如圖2所示,在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上引入雙跳躍連接,每個殘差模塊使用3個同維度的網(wǎng)絡(luò)層進(jìn)行堆疊,分別在網(wǎng)絡(luò)的一層到二層、一層到三層之間加入跳躍連接,在不增加額外參數(shù)的基礎(chǔ)上構(gòu)成雙跳躍連接殘差神經(jīng)網(wǎng)絡(luò)模塊,加強(qiáng)特征信息在網(wǎng)絡(luò)層間的傳遞和利用。這里規(guī)定一層到二層的跳躍連接用S1表示,一層到三層間的跳躍連接用S2表示。
圖2 雙跳躍殘差神經(jīng)網(wǎng)絡(luò)模塊Fig.2 Double jump residual module
在單個殘差模塊中,對輸入樣本的處理主要包括以下3個步驟。
步驟1特征向量x作為殘差網(wǎng)絡(luò)模塊的輸入,經(jīng)過第一層的權(quán)值線性加權(quán)后輸出為f1(x),R(·)表示Relu激活函數(shù)。
f1(x)=w(1)x+b(1)
(3)
F1(x)=R[f1(x)]
(4)
式中:w(1)、b(1)分別為第一層的權(quán)重和偏置參數(shù);F1(x)為對f1(x)激活后的輸出。
步驟2將第一層激活后的非線性輸出F1(x)作為第二層網(wǎng)絡(luò)的輸入,經(jīng)過加權(quán)偏置后輸出f2(x);f2(x)與第一層的跳躍連接f1(x)相加,經(jīng)過Relu激活后輸出F2(x)。
f2(x)=w(2)F1(x)+b(2)
(5)
f21(x)=f2(x)+f1(x)
(6)
F2(x)=R[f21(x)]
(7)
式中:w(2)、b(2)分別為第二層的權(quán)重和偏置參數(shù);f21(x)為第一層的跳躍信息輸出與第二層線性信息輸出的疊加,實(shí)現(xiàn)了淺層特征重用。
步驟3將第二層的非線性輸出F2(x)作為第三層網(wǎng)絡(luò)的輸入,經(jīng)過加權(quán)偏置后輸出f3(x)。H(x)表示加上跳躍連接后殘差模塊期望擬合的基礎(chǔ)映射,經(jīng)過激活后輸出為F3(x)。
f3(x)=w(3)F2(x)+b(3)
(8)
H(x)=f3(x)+f1(x)
(9)
F3(x)=R[H(x)]
(10)
式中:w(3)、b(3)分別為第三層的權(quán)重和偏置參數(shù)。式(9)將傳統(tǒng)堆疊層非線性映射轉(zhuǎn)換為加有跳躍連接的殘差映射。傳統(tǒng)堆疊層網(wǎng)絡(luò)隨著深度的增加,經(jīng)過逐層映射后所表達(dá)信息的非線性復(fù)雜度也在增加,其擬合恒等映射的能力卻在下降,通過跳躍連接,將傳統(tǒng)深度BP神經(jīng)網(wǎng)絡(luò)難以擬合的恒等映射轉(zhuǎn)化為更容易學(xué)習(xí)的殘差映射[8]。
式(9)不僅能利用跳躍傳播使低層信息得到充分利用,也能帶來很好的反向傳播效果,用L表示損失函數(shù),使用梯度下降法來表示S2跳躍連接層之間的梯度傳遞過程。根據(jù)反向傳播的鏈?zhǔn)角髮?dǎo)法則有
(11)
由式(11)可知,梯度?L/?f1(x)由兩部分組成,一部分由?L/?H(x)直接傳播梯度信息到淺層而不涉及任何權(quán)重層,從而保證了梯度信息的反向有效傳遞。另外一部分則是?L/?H(x)與?f3(x)/?f1(x)的鏈?zhǔn)匠朔e,梯度信息的傳遞需要經(jīng)過中間權(quán)重層,如果中間權(quán)重層的梯度信息很小,經(jīng)過鏈?zhǔn)竭B乘后到達(dá)淺層的梯度信息會變得更小,可能導(dǎo)致梯度消失現(xiàn)象,從而使優(yōu)化變得困難[9]。正是由于跳躍連接引入的額外梯度?L/?H(x),使得梯度信息能直接從深層反向跨越傳遞到淺層,避免了梯度消失問題,使得網(wǎng)絡(luò)更容易優(yōu)化。
Adam算法[10]是一種基于低階矩自適應(yīng)估計(jì)的隨機(jī)目標(biāo)函數(shù)的一階梯度優(yōu)化算法。該算法易于實(shí)現(xiàn),計(jì)算效率高,對內(nèi)存的需求小,被廣泛應(yīng)用于深度學(xué)習(xí)訓(xùn)練中,Adam算法過程如表2所示。
由表2可以看出,Adam算法中的學(xué)習(xí)率由mt和vt共同控制調(diào)整,mt為gt的一階矩估計(jì)加權(quán)平均梯度,可將其看做當(dāng)前預(yù)測梯度的近似,即從過去歷史的梯度來預(yù)測下一步應(yīng)該得到的梯度。
表2 Adam算法Table 2 Adam algorithm
引入步長退火思想使用一階矩估計(jì)加權(quán)平均梯度mt對二階矩估計(jì)加權(quán)平均梯度vt進(jìn)行調(diào)整,改進(jìn)后的公式為
(12)
模型共堆疊了4個雙跳躍殘差模塊構(gòu)成雙跳躍深度殘差BP神經(jīng)網(wǎng)絡(luò),如圖3所示,每個殘差模塊均包含3個基礎(chǔ)層,其中第Ⅰ、Ⅲ模塊中每個基礎(chǔ)層的神經(jīng)元個數(shù)為128個,第Ⅱ、Ⅳ模塊中每個基礎(chǔ)層的神經(jīng)元個數(shù)為64個。模型的輸入xi為具有21個特征的列向量,輸出為3個類別概率分布的列向量,模型選擇其中最大概率值對應(yīng)類別為預(yù)測標(biāo)簽[11]。
圖3 雙跳躍深度殘差BP神經(jīng)網(wǎng)絡(luò)模型Fig.3 Double jump depth residual BP neural network model
傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)通過神經(jīng)元的逐層非線性映射來實(shí)現(xiàn)復(fù)雜分類函數(shù)的擬合,其具有一定的自學(xué)習(xí)和決策能力。但在小樣本數(shù)據(jù)下,當(dāng)網(wǎng)絡(luò)層數(shù)達(dá)到一定深度時,網(wǎng)絡(luò)的擬合性能將達(dá)到飽和,若繼續(xù)加深網(wǎng)絡(luò)層數(shù),則會導(dǎo)致網(wǎng)絡(luò)性能下降,產(chǎn)生網(wǎng)絡(luò)退化現(xiàn)象。因此,現(xiàn)通過構(gòu)建殘差神經(jīng)網(wǎng)絡(luò)模塊來增強(qiáng)特征信息在非線性層間的傳遞,增加雙重跳躍連接實(shí)現(xiàn)低非線性度特征信息的重復(fù)充分利用。將改進(jìn)的Adam算法與雙跳躍深度殘差神經(jīng)網(wǎng)絡(luò)相結(jié)合,對鋼筋混凝土的腐蝕程度進(jìn)行預(yù)測分類。
實(shí)驗(yàn)在Windows 10系統(tǒng)環(huán)境下,采用谷歌開發(fā)的TensorFlow 2.2-GPU版本深度學(xué)習(xí)平臺進(jìn)行網(wǎng)絡(luò)訓(xùn)練,實(shí)驗(yàn)中網(wǎng)絡(luò)模型程序由python3.7編寫完成。使用的鋼筋混凝土腐蝕檢測數(shù)據(jù)共有4 500條,其中未腐蝕數(shù)據(jù)、輕度腐蝕數(shù)據(jù)、重度腐蝕數(shù)據(jù)各1 500條。在訓(xùn)練過程中,前l(fā)-1層均使用Relu函數(shù)進(jìn)行激活,最后一層l采用Softmax函數(shù)激活輸出。
將數(shù)據(jù)集分別按照6∶4、7∶3、8∶2的比例分為訓(xùn)練集(T1~T3)和測試集(P1~P3),在訓(xùn)練過程中,設(shè)置迭代次數(shù)為500次,分別用Adam算法優(yōu)化6層,14層普通BP神經(jīng)網(wǎng)絡(luò)和14層殘差神經(jīng)網(wǎng)絡(luò)及本文所提改進(jìn)Adam算法優(yōu)化14層殘差神經(jīng)網(wǎng)絡(luò)。上述4種算法模型在各自比例測試集下的測試準(zhǔn)確率與測試損失誤差趨勢變化如圖4~圖9所示。
對比分析圖4~圖9中在不同比例測試數(shù)據(jù)集上的準(zhǔn)確率、損失誤差的變化趨勢可知,將Adam算法優(yōu)化的普通BP網(wǎng)絡(luò)從6層加深至14層時,訓(xùn)練過程中,曲線波動較大,難以收斂,反映出普通深度BP神經(jīng)網(wǎng)絡(luò)在小樣本數(shù)據(jù)下其網(wǎng)絡(luò)擬合能力退化,泛化性能弱的缺點(diǎn);用Adam算法優(yōu)化的雙跳躍殘差神經(jīng)網(wǎng)絡(luò),由于其增加了雙重跳躍連接實(shí)現(xiàn)低非線性度特征信息的重復(fù)充分利用,其性能較為改善;利用所提改進(jìn)Adam算法優(yōu)化雙跳躍殘差神經(jīng)網(wǎng)絡(luò)其收斂速度及擬合性能均有明顯提升。
圖4 P1測試集下的測試準(zhǔn)確率Fig.4 Test accuracy under test setP1
圖5 P1測試集下的測試損失誤差Fig.5 Test loss error under test setP1
圖6 P2測試集下的測試準(zhǔn)確率Fig.6 Test accuracy under test setP2
圖7 P2測試集下的測試損失誤差Fig.7 Test loss error under test setP2
圖8 P3測試集下的測試準(zhǔn)確率 Fig.8 Test accuracy under test setP3
圖9 P3測試集下的測試損失誤差Fig.9 Test loss error under test setP3
針對小樣本數(shù)據(jù)下鋼筋混凝土腐蝕狀態(tài)檢測方法單一且精度不高等問題,提出一種利用改進(jìn)Adam算法優(yōu)化雙跳躍深度殘差神經(jīng)網(wǎng)絡(luò)檢測鋼筋混凝土腐蝕狀態(tài)的預(yù)測方法。
(1)建立了雙跳躍深度殘差神經(jīng)網(wǎng)絡(luò)模型,該模型能加強(qiáng)了淺層低非線性度特征信息在不同網(wǎng)絡(luò)層間的跨越傳遞和重復(fù)利用,同時在反向傳播過程中避免了梯度消失,相比較淺層和傳統(tǒng)深度BP神經(jīng)網(wǎng)絡(luò)具有更好的預(yù)測分類性能。
(2)引入步長退火思想對Adam算法進(jìn)行改進(jìn),使用一階矩估計(jì)加權(quán)平均梯度對二階矩估計(jì)加權(quán)平均梯度進(jìn)行調(diào)整,促使算法合理動態(tài)調(diào)整學(xué)習(xí)率,加速算法的全局尋優(yōu)能力,使目標(biāo)函數(shù)在不陷入局部極小值的前提下盡快收斂。
(3)仿真表明,改進(jìn)Adam算法優(yōu)化的雙跳躍深度殘差神經(jīng)網(wǎng)絡(luò)模型在小樣本數(shù)據(jù)下具有更好的預(yù)測分類性能。