林旭梅, 胡 川, 朱廣輝, 陳一戈, 苗芳榮
(青島理工大學信息與控制工程學院,山東 青島 266520)
隨著我國海洋工程的蓬勃發(fā)展,鋼筋混凝土工程結(jié)構(gòu)的建筑數(shù)量也在迅速擴張[1]。由于海水中富含侵蝕性元素,長期裸露在海洋環(huán)境下的混凝土結(jié)構(gòu)工程易遭受腐蝕損壞進而威脅工程設(shè)施的安全運行,其中混凝土內(nèi)部鋼筋的腐蝕是造成鋼筋混凝土結(jié)構(gòu)工程耐久性失效的主要因素。因此,及時掌握混凝土中鋼筋腐蝕程度,對危險工程做出預判防護尤為重要[2]。
近年來,國內(nèi)外學者對鋼筋混凝土腐蝕檢測做出大量研究,ZENG D等[3]通過半電位法檢測電位與不同腐蝕程度的鋼筋混凝土結(jié)構(gòu)撓度關(guān)系,結(jié)合有限元分析技術(shù)實現(xiàn)對鋼筋腐蝕程度定量評價。金祖權(quán)教授等[4]通過研究鋼筋銹蝕應變力的變化結(jié)合數(shù)字圖像技術(shù)實現(xiàn)對混凝土內(nèi)部腐蝕程度的檢測。申家瑋等[5]通過測量鋼筋反射振幅,表面波頻率,電勢等特征數(shù)據(jù),采用機器學習算法對特征數(shù)據(jù)融合處理來判斷鋼筋銹蝕程度。GOTOH等[6]利用鋼筋銹蝕過程中磁導率產(chǎn)生變化這一特性,利用電磁感應原理結(jié)合霍爾元件來檢測鋼筋銹蝕程度。
上述鋼筋混凝土腐蝕檢測方法和理論,均從各自角度取得了一定檢測效果,對于該問題的研究起到了巨大推動作用。但是受鋼筋混凝土腐蝕機理的復雜性,影響因素多樣性及各類檢測方式自身缺陷性影響,單一傳感器或檢測方式無法準確真實全方面反映鋼筋腐蝕狀況。鑒于此,本文提出一種基于分段學習率衰減控制的改進ADAM算法優(yōu)化的卷積殘差神經(jīng)網(wǎng)絡模型,并將其用于鋼筋混凝土腐蝕狀態(tài)預測。
普通BP神經(jīng)網(wǎng)絡在執(zhí)行過程可分為輸入特征的前向傳導、誤差反向傳播、權(quán)值更新3個階段[7]。輸入特征前向傳播即每層神經(jīng)元對多傳感器腐蝕輸入特征進行提取,經(jīng)過Relu函數(shù)非線性變換后作為下一層神經(jīng)元的輸入。誤差反向傳播則是計算預測輸出與實際標簽在損失函數(shù)中的誤差,通過鏈式求導法則來尋找最優(yōu)的參數(shù)梯度進行權(quán)值更新。傳統(tǒng)BP神經(jīng)網(wǎng)絡模塊如圖1所示。
圖1 普通BP神經(jīng)網(wǎng)絡模型
假設(shè)有m個樣本,x為輸入特征數(shù)據(jù),y為對應分類標簽,有 { (xi,yi)}={(x1,y1),(x2,y2),···,(xm,ym)},yi∈ {1,2,3,···,K},K表示樣本分類類數(shù)。
1) 輸入特征的前向傳導。
假設(shè)輸入特征x=[x1,x2,···,xm]T,l表示網(wǎng)絡的層數(shù),l∈ {1,2,···,n},z(l)表示第l-1層到第l層的輸入與權(quán)值線性乘積累加和,a(l)表示對z(l)使用Relu函數(shù)進行激活非線性變換。特別地,令首層的輸入與激活值相等,即:z(1)=a(1)=x(1)。
2) Relu函數(shù)表達式為:
3) Softmax函數(shù)常與交叉熵損失函數(shù)相結(jié)合構(gòu)成Softmax模型,來解決多分類問題。對于每個輸入樣本xi,都會輸出相應的類別概率,即P(yi=j|xi),這表示xi被 判別為類別j的概率,其中j∈ {1,2,···,K}。這里使用hw,b(xi)來表示Softmax多分類模型概率分布輸出。
式中:w,b——模型中所有的參數(shù);
4) 交叉熵損失函數(shù)用來衡量輸出類別分布概率與標簽之間的差異,依據(jù)誤差使用反向傳播算法來優(yōu)化模型參數(shù),從而提升模型預測分類的準確度。用L(w,b;xi,yi)表示交叉熵損失函數(shù)
5) 權(quán)值更新:
式中:α——學習率,控制參數(shù)更新幅度;
針對普通淺層BP神經(jīng)網(wǎng)絡模型在小樣本數(shù)據(jù)集下存在擬合能力不足,而加深網(wǎng)絡產(chǎn)生過擬合問題,構(gòu)建一種卷積殘差BP神經(jīng)網(wǎng)絡模型,如圖2所示,首先將一維多傳感器數(shù)據(jù)重塑為二維灰度圖片數(shù)據(jù)形式,采用2×2的卷積核進行特征濾波提取,提取后的信息平展后連接BP殘差神經(jīng)網(wǎng)絡層,增強淺層低非線性度特征信息向深層網(wǎng)絡的直接傳遞和重復利用,提高網(wǎng)絡模型擬合及泛化能力。
圖2 卷積殘差BP神經(jīng)網(wǎng)絡模型
如圖2所示,在卷積殘差BP神經(jīng)網(wǎng)絡模型中,對輸入樣本的分類預測主要分為以下3個步驟:
1)數(shù)據(jù)預處理
將陽極梯傳感器監(jiān)測的7路腐蝕電壓,7路腐蝕電流,6路腐蝕阻抗,應變傳感器監(jiān)測的4路應變力,溫度傳感器監(jiān)測的1路溫度,共25路數(shù)據(jù)組成的一維特征向量歸一化處理后重塑為5×5二維灰度圖片數(shù)據(jù)形式。
2)卷積核特征提取
將二維灰度圖片數(shù)據(jù)形式作為卷積層輸入,利用卷積神經(jīng)網(wǎng)絡(CNN)局部感知和權(quán)值共享優(yōu)勢[8],其中局部感知模式通過卷積核的滑窗局部特征提取保證每個神經(jīng)單元只響應感受野內(nèi)的區(qū)域,加強卷積核對輸入空間局部信息的響應;權(quán)值共享網(wǎng)絡結(jié)構(gòu)相對于全連接結(jié)構(gòu)有效減少權(quán)值數(shù)量,降低網(wǎng)絡模型復雜度,提升模型泛化性能。
3)殘差神經(jīng)網(wǎng)絡連接及分類輸出
卷積層提取后的信息平展為一維數(shù)據(jù)向量,連接殘差神經(jīng)網(wǎng)絡模塊,S1表示殘差網(wǎng)絡的跳躍連接,增強淺層低非線性度特征信息向深層網(wǎng)絡的直接傳遞和重復利用[9],提高模型擬合能力。
數(shù)據(jù)集中鋼筋銹蝕數(shù)據(jù)的輸出(標簽)分成“未腐蝕”,“輕度腐蝕”,“重度腐蝕”三類。采用One-Hot編碼將類別標簽轉(zhuǎn)換成計算機能夠識別的形式[10],如表1所示。
表1 One-Hot獨熱編碼
ADAM(自適應矩估計)是一種基于低階矩自適應估計的隨機優(yōu)化算法[11]。該算法通過梯度的一階矩估計和二階矩估計自適應調(diào)整學習率更新參數(shù),使用ADAM算法優(yōu)化的目標函數(shù)參數(shù)更新過程如流程圖3所示,α表示學習率,θt表示t時刻的網(wǎng)絡參數(shù),gt表示t步的梯度, β1,β2表示一階,二階矩估計衰減因子,mt,vt表示一階,二階矩估計梯度,f(θ)表示帶參數(shù) θ的優(yōu)化目標函數(shù)。初始化參數(shù)值為β1=0.9, β2=0.999,ε=10-8。
圖3 ADAM算法參數(shù)更新流程
雖然ADAM算法被廣泛應用于深度學習模型優(yōu)化訓練之中,但其在后期收斂方面仍存在一定缺陷,Sashank等[12]指出ADAM算法中二階矩估計梯度vt采用指數(shù)移動平均函數(shù)計算所得,其值為有效時間窗口內(nèi)歷史平方梯度的加權(quán)累積,隨著時間窗口的變化,遇到的數(shù)據(jù)可能發(fā)生巨變,使得vt可能會時大時小,不是單調(diào)變化,在訓練后期可能引起學習率的震蕩,導致模型無法收斂。
針對上述問題,提出一種分段學習率指數(shù)步長衰減控制策略,在迭代步長閾值之前,認為距離目標函數(shù)最優(yōu)解較遠,此時保持正常自適應學習率,享受ADAM算法高速搜索效率[13];閾值之后,認為接近最優(yōu)解,強制對學習率進行指數(shù)迭代步長衰減,減緩學習率震蕩,防止越過最優(yōu)解,利于模型后期收斂[14]。
式中:t——當前迭代步長;
tset——設(shè)置的分段迭代步長閾值;
tmax——設(shè)置最大迭代步長。
此外,由圖3可以看出,ADAM算法中的學習率由mt,vt共同控制調(diào)整,mt為gt的一階矩估計加權(quán)平均梯度,可將其視為當前觀測梯度的預測。引入一階矩估計加權(quán)平均梯度mt對二階矩估計加權(quán)平均梯度vt進行調(diào)整,改進后的公式為:
當預測梯度mt和當前觀測梯度gt相近時,此時與ADAM算法中vt的更新公式幾乎等價,如果觀測梯度gt大大偏離了預測梯度mt,那么不信任當前觀測梯度gt,將二者絕對值求平均后作為新的觀察梯度對vt進行更新。
將式(9)分段學習率指數(shù)步長衰減控制策略與式(10)改進算法融入ADAM算法之中,形成本文新的改進ADAM算法,改進算法參數(shù)優(yōu)化過程如圖4所示。
圖4 改進ADAM算法參數(shù)更新流程
基于分段學習率控制的改進ADAM算法優(yōu)化殘差BP神經(jīng)網(wǎng)絡模型的具體步驟如下:
1)讀入樣本數(shù)據(jù),隨機打亂樣本數(shù)據(jù)順序,按照7∶3的比例將樣本分為訓練集和測試集,每次隨機提取小批次樣本數(shù)據(jù)進行訓練及預測。
2)將腐蝕電壓,腐蝕電流,腐蝕阻抗,溫度,應變力等組成的一維特征數(shù)據(jù)進行歸一化處理后重塑為二維灰度圖片形式數(shù)據(jù)。
3)轉(zhuǎn)換后的灰度圖片數(shù)據(jù)經(jīng)過卷積網(wǎng)絡特征提取后展平輸入殘差BP神經(jīng)網(wǎng)絡完成前向傳播,根據(jù)損失函數(shù)反向傳播計算出各層參數(shù)當前觀測梯度。
4)使用分段學習率控制的改進ADAM算法對各層參數(shù)進行計算更新,更新后的參數(shù)作為各層新的網(wǎng)絡參數(shù),為下一輪更新迭代做準備。
5)完成訓練后的模型根據(jù)多傳感器監(jiān)測數(shù)據(jù)對鋼筋腐蝕程度進行智能分類評估。
本文研究將基于分段學習率控制的改進ADAM算法優(yōu)化殘差BP神經(jīng)網(wǎng)絡模型用于鋼筋混凝土腐蝕狀態(tài)預測,其預測流程如圖5所示。
圖5 改進ADAM算法優(yōu)化卷積殘差BP神經(jīng)網(wǎng)絡流程
本課題實驗共采集多傳感器鋼筋混凝土腐蝕樣本數(shù)據(jù)3 000組,其中未腐蝕樣本,輕度腐蝕樣本,重度腐蝕樣本各1 000組。按照7∶3比例分為訓練集和測試集,采用小批度樣本優(yōu)化訓練[15],每個批度為200,初始學習率設(shè)置為0.001,訓練總迭代步長tmax為800,分段迭代步長閾值tSet為600,本文所提卷積殘差神經(jīng)網(wǎng)絡模型共5層,卷積核大小為2×2,殘差模塊中l(wèi)ayers1,layers2,layers3及輸出層神經(jīng)元個數(shù)分別為256,128, 64,3。同時設(shè)置5層普通BP神經(jīng)網(wǎng)絡作為對照模型,各層神經(jīng)元個數(shù)分別為 256,128,64,16,3。選取 TensorFlow 2.3版本作為算法模型仿真驗證平臺,程序由python 3.7編寫完成。
文中約定,基于分段學習率衰減控制的改進ADAM算法優(yōu)化的卷積殘差神經(jīng)網(wǎng)絡、普通BP神經(jīng)網(wǎng)絡及ADAM算法優(yōu)化的普通BP神經(jīng)網(wǎng)絡、卷積殘差神經(jīng)網(wǎng)絡,分別對應仿真圖中簡化標識符號lr_control_adam_cnn, lr_control_adam_bpnn, adam_bpnn,adam_cnn。
圖6、圖7為ADAM算法優(yōu)化的普通BP神經(jīng)網(wǎng)絡、卷積殘差神經(jīng)網(wǎng)絡在對應測試集上的測試準確率及損失誤差趨勢變化。卷積殘差神經(jīng)網(wǎng)絡的卷積層相對于普通神經(jīng)網(wǎng)絡全連接層有更少的參數(shù),且在殘差模塊中添加了跳躍連接,增強淺層低非線性度特征信息向深層網(wǎng)絡的直接傳遞和重復利用,因此,卷積殘差神經(jīng)網(wǎng)絡模型具有較快的響應速度及較高的泛化能力。
圖6 測試集下的測試準確率
圖7 測試集下的測試損失誤差
圖8、圖9為基于分段學習率衰減控制的改進ADAM算法優(yōu)化的卷積殘差神經(jīng)網(wǎng)絡與ADAM算法優(yōu)化的普通BP神經(jīng)網(wǎng)絡在對應測試集上的測試準確率及損失誤差趨勢變化??梢娫谟柧毢笃?,分段學習率衰減策略較為有效的抑制學習率的震蕩,曲線的波動幅度削弱逐步收斂。
圖8 測試集下的測試準確率
圖9 測試集下的測試損失誤差
圖10,圖11為基于分段學習率衰減控制的改進ADAM算法優(yōu)化的卷積殘差神經(jīng)網(wǎng)絡、普通BP神經(jīng)網(wǎng)絡及ADAM算法優(yōu)化的普通BP神經(jīng)網(wǎng)絡在對應測試集上的測試準確率及損失誤差趨勢變化。對比可見本文提出的基于分段學習率衰減控制的改進ADAM算法優(yōu)化的卷積殘差神經(jīng)網(wǎng)絡具有更好的收斂性能及預測準確率。
圖10 測試集下的測試準確率
圖11 測試集下的測試損失誤差
針對鋼筋混凝土腐蝕檢測中單一傳感器或檢測方式獲取銹蝕特征信息不足及準確率不高等問題,提出一種改進神經(jīng)網(wǎng)絡模型結(jié)構(gòu)下對集成陽極梯、應變力、溫度傳感器的多傳感器數(shù)據(jù)融合檢測方式。
1)建立了卷積殘差神經(jīng)網(wǎng)絡模型,將一維多傳感器數(shù)據(jù)二維化卷積層輸入,利用卷積神經(jīng)網(wǎng)絡權(quán)值共享優(yōu)勢,有效減少權(quán)值數(shù)量,降低網(wǎng)絡模型復雜度,通過連接殘差神經(jīng)網(wǎng)絡層,加強淺層低非線性度特征信息向深層網(wǎng)絡的跨越傳遞和重復利用,提升了模型泛化性能。
2)針對ADAM優(yōu)化算法在模型訓練后期學習率可能震蕩不收斂問題,引入分段學習率衰減策略抑制后期震蕩,同時對二階矩估計梯度變化進行調(diào)整,減緩學習率震蕩,防止越過最優(yōu)解,提高迭代收斂效率
3)實驗表明,基于分段學習率衰減控制的改進ADAM算法優(yōu)化的卷積殘差神經(jīng)網(wǎng)絡模型鋼筋腐蝕樣本測試集上的平均準確率為96.2%,展現(xiàn)出良好的預測分類性能。