段妹玲,張 單,袁錦虎,孫愛軍,強 晟
(1.河海大學(xué)水利水電學(xué)院,南京 210098;2.中國電建集團華東勘測設(shè)計研究院有限公司,杭州 311122;3.江西省鄱陽湖水利樞紐建設(shè)辦公室,南昌 330046;4.余姚市水利局,寧波 315402)
混凝土是當(dāng)今必不可少的建筑材料之一[1]。現(xiàn)如今,結(jié)構(gòu)工程對于混凝土力學(xué)性能的提升具有迫切需求,其中抗壓強度是最重要的指標(biāo)之一,它直接關(guān)系到結(jié)構(gòu)的安全,因此,如何快速確定混凝土的抗壓強度對工程建設(shè)與運行的影響至關(guān)重要[2-3]。目前,混凝土抗壓強度的獲取方法主要有回彈法[4]、鉆芯法[5]和模型預(yù)測法[6]等?;貜椃ú僮骱啽?但是對于同種混凝土,采用不同回彈儀時會有較大的差異,不能準確地估計混凝土的內(nèi)部強度;鉆芯法的均值較為精確,但是標(biāo)準差偏大,試驗耗時且結(jié)果不穩(wěn)定;模型預(yù)測法是通過建立材料配合比、齡期與混凝土抗壓強度的數(shù)學(xué)模型進行預(yù)測,但是由于各因素與抗壓強度并非簡單的線性關(guān)系,直接建立顯式的數(shù)學(xué)模型比較困難。因此,亟需一種快速、準確、可靠的混凝土抗壓強度預(yù)測方法[7]。
近年來,國內(nèi)外學(xué)者針對混凝土抗壓強度預(yù)測模型進行了大量的探索,其中統(tǒng)計方法和機器學(xué)習(xí)方法已被廣泛應(yīng)用[8]。許開成等[9]利用SPSS統(tǒng)計分析軟件,通過逐步回歸分析法和多元非線性回歸分析法建立了鋰渣混凝土強度預(yù)測模型,但該模型只有在使用P·O 42.5級普通硅酸鹽水泥時才有效。陳洪根等[10]考慮不同配合比與強度的非線性結(jié)構(gòu)關(guān)系,利用誤差反向傳播(error back propagation training, BP)神經(jīng)網(wǎng)絡(luò)預(yù)測粉煤灰混凝土的抗壓強度,然而,在分析時未綜合考慮齡期對混凝土抗壓強度的影響。如今,將深度學(xué)習(xí)算法應(yīng)用于混凝土領(lǐng)域已成為當(dāng)前研究熱點。高蔚[11]采用卷積神經(jīng)網(wǎng)絡(luò)預(yù)測了再生混凝土的抗壓強度,與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型相比,卷積神經(jīng)網(wǎng)絡(luò)模型具有高精度和高泛化性能的優(yōu)點。Chen等[12]利用長短期記憶(long short-term memory, LSTM)網(wǎng)絡(luò)模型評估了在一定配合比下高強混凝土抗壓強度,證明LSTM能很好捕捉原材料的不同配合比與混凝土抗壓強度的非線性關(guān)系。
門控循環(huán)單元(gate recurrent unit, GRU)是LSTM網(wǎng)絡(luò)的改進形式,不僅在預(yù)測中考慮了時間序列,還通過引入門機制有效解決了記憶網(wǎng)絡(luò)中易引發(fā)梯度爆炸的問題,使得該模型具有結(jié)構(gòu)更簡單、計算效率更高的明顯優(yōu)勢。因此,本研究采用GRU模型作為混凝土抗壓強度預(yù)測的主體模型。對于混凝土抗壓強度的預(yù)測主體模型中參數(shù)的選擇,張靜等[13]利用混沌灰狼群算法優(yōu)化了最小二乘支持向量機(least squares support vector machines, LSSVM)的混凝土強度預(yù)測模型,提高了機器學(xué)習(xí)算法在實際應(yīng)用的泛化性能和穩(wěn)定性,但訓(xùn)練集與測試集的任意選取降低了預(yù)測模型的泛化性能。Rankbar等[14]結(jié)合卷積神經(jīng)網(wǎng)絡(luò)與遺傳算法對高性能混凝土的抗壓強度進行預(yù)測,通過10折交叉驗證了所提出方法的可靠性。
鑒于此,本研究采用改進麻雀搜索算法優(yōu)化門控循環(huán)單元神經(jīng)網(wǎng)絡(luò)(ISSA-GRU)的高性能混凝土抗壓強度預(yù)測優(yōu)化模型。利用光譜-理化值共生距離(SPXY)抽樣方法綜合考慮輸入變量與輸出變量的差異性,合理劃分ISSA-GRU模型訓(xùn)練和測試樣本集;采用引入動態(tài)慣性權(quán)重的麻雀搜索算法綜合全局搜索與局部搜索,優(yōu)化GRU模型的units、batch_size、epochs參數(shù)以提高預(yù)測精度;通過對比LSTM、核極限學(xué)習(xí)機(kernel extreme learning machine, KELM)和支持向量回歸(support vector regression, SVR)模型預(yù)測結(jié)果,驗證ISSA-GRU預(yù)測模型的有效性;最后,分析訓(xùn)練集數(shù)據(jù)量和輸入變量對預(yù)測模型的影響。
不同于將所有訓(xùn)練數(shù)據(jù)統(tǒng)一看待而隨機選取樣本訓(xùn)練集的傳統(tǒng)方法,SPXY樣本劃分方法依據(jù)數(shù)據(jù)間的歐式距離來構(gòu)建樣本訓(xùn)練集,這避免了因樣本隨機劃分而降低模型本身預(yù)測性能的影響,計算式如式(1)~(3)所示。
(1)
(2)
dy(p,q)=|yp-yq|
(3)
式中:N為數(shù)據(jù)樣本集的樣本總數(shù);xp、xq為樣本數(shù)據(jù)值;yp、yq為樣本標(biāo)簽值;dx(p,q)為樣本p數(shù)據(jù)值與樣本q數(shù)據(jù)值的歐氏距離;dy(p,q)為樣本p標(biāo)簽值與樣本q標(biāo)簽值的歐氏距離;dxy(p,q)為樣本數(shù)據(jù)值與樣本標(biāo)簽值的綜合距離。算法的具體計算步驟詳見文獻[15-16]。
GRU網(wǎng)絡(luò)是LSTM網(wǎng)絡(luò)的改進形式,能有效解決梯度爆炸問題。GRU網(wǎng)絡(luò)通過巧妙地使用門結(jié)構(gòu)來減少傳統(tǒng)遞歸神經(jīng)網(wǎng)絡(luò)中的梯度消失現(xiàn)象,能更好地捕捉序列中的長期依賴性關(guān)系。核心思想是GRU單元的門結(jié)構(gòu)可以通過同時接收當(dāng)前輸入和輸出的新信息,利用動態(tài)更新機制有效捕獲記憶時間序列的長期歷史信息和前一狀態(tài)信息。與由遺忘門、輸入門和輸出門組成的LSTM單元相比,GRU單元僅使用重置門和更新門來調(diào)節(jié)信息流。因此,GRU網(wǎng)絡(luò)具有結(jié)構(gòu)簡單、參數(shù)少、計算效率高等優(yōu)點[17-18]。
GRU模型計算式如式(4)~(7)所示。
zt=σ(Wz[ht-1,xt]+bz)
(4)
rt=σ(Wr[ht-1,xt]+br)
(5)
(6)
(7)
麻雀搜索算法(sparrow search algorithm, SSA)是通過模仿麻雀群體的搜索行為提出的方法[19]。根據(jù)麻雀群體中個體的健康狀況,可以被分為發(fā)現(xiàn)者和追隨者,此外,在麻雀種群中隨機分配10%~20%的警備者,它們在群體覓食的過程中負責(zé)躲避捕食者。簡而言之,麻雀群體可以通過不斷更新位置來尋找更低風(fēng)險的食物,其發(fā)現(xiàn)者、追隨者和警備者的位置更新公式如(8)~(10)所示[20-22]。
(8)
(9)
(10)
與其他元啟發(fā)算法相同,如何平衡算法的全局搜索能力和局部搜索能力一直是算法工程師關(guān)注的重點問題[23]。麻雀種群中的發(fā)現(xiàn)者負責(zé)引領(lǐng)整個種群并確定覓食方向,進而影響算法的最終尋優(yōu)效果。為了適應(yīng)算法在不同階段的需要,引入動態(tài)慣性權(quán)重w。在迭代計算的早期,w的值較大,全局搜索效果越好;在迭代計算的后期,w自適應(yīng)減小,使得局部搜索效果更好,也使得算法收斂速度更快。w的計算公式如式(11)所示,改進的發(fā)現(xiàn)者更新方法如式(12)所示。
(11)
(12)
數(shù)據(jù)來源于UCI Machine Learning Database,該數(shù)據(jù)集由水泥、高爐礦渣、粉煤灰、水、高效減水劑、粗骨料、細骨料、齡期和混凝土抗壓強度9種參數(shù)下的1 030組實測數(shù)據(jù)值組成[24]。根據(jù)相關(guān)學(xué)者[25-27]的研究,混凝土的原材料和齡期對抗壓強度有不同的影響,因此,不可直接忽略任一屬性對混凝土抗壓強度預(yù)測的影響。本研究采用的GRU主體預(yù)測模型結(jié)構(gòu)較簡單,可以很好地考慮該數(shù)據(jù)集中所有原材料的配合比。在此,選擇前8個參數(shù)作為模型的輸入變量,第9個參數(shù)作為模型的輸出變量,構(gòu)建高性能混凝土抗壓強度預(yù)測模型的初始指標(biāo)體系。分別用X1~X8表示8個輸入變量,Y表示輸出變量,現(xiàn)將反映數(shù)據(jù)分布情況的幾個統(tǒng)計特征歸納至表1。Max、Min、Mean和SD分別表示數(shù)據(jù)的最大值、最小值、平均值和標(biāo)準差。
表1 原始數(shù)據(jù)統(tǒng)計特征Table 1 Statistical features of raw set
從表1中可以明顯看出各個變量之間數(shù)值差異較大,未縮放的輸入變量和輸出變量可能導(dǎo)致緩慢或不穩(wěn)定的訓(xùn)練過程。因此,采用式(13)對原始數(shù)據(jù)進行歸一化處理,處理后的數(shù)值皆在0~1,歸一化結(jié)果如圖1所示。由圖1可知,歸一化處理不僅消除了齡期所具備的量綱與其他輸入變量所具備的量綱之間的差異性影響,還避免了由各變量值域差異引起的訓(xùn)練過程僅受單個輸入變量控制的情況。
(13)
式中:xnorm為第i個數(shù)據(jù)變量歸一化后的值;xi為第i個數(shù)據(jù)變量的原始值;xmax和xmin分別為第i個數(shù)據(jù)變量的最大值和最小值。
由于GRU主體預(yù)測模型中的units、batch_size、epochs是影響 GRU擬合精度的關(guān)鍵參數(shù),為了避免參數(shù)估計帶來的偏差,采用ISSA同時優(yōu)化這3個參數(shù),實現(xiàn)對混凝土抗壓強度的精準預(yù)測。對收集數(shù)據(jù)集進行分析和整理,并且考慮樣本劃分方式,ISSA-GRU模型預(yù)測混凝土抗壓強度的具體實施步驟如下:
1)數(shù)據(jù)預(yù)處理。根據(jù)混凝土實際性能發(fā)展原理分析收集數(shù)據(jù)的可用性,合理選擇輸入變量和輸出變量。采用SPXY樣本集劃分方法,將歸一化后的所有數(shù)據(jù)樣本按一定比例劃分為訓(xùn)練集和測試集。使用訓(xùn)練集對建立的預(yù)測模型進行訓(xùn)練后,代入測試集數(shù)據(jù)可得到混凝土抗壓強度預(yù)測值。
2)ISSA-GRU算法終止條件。初始化ISSA算法中的麻雀種群信息,設(shè)置GRU算法來優(yōu)化參數(shù)的范圍和ISSA算法的最大迭代次數(shù)。設(shè)定適應(yīng)度函數(shù)值≤0.001或達到最大迭代次數(shù)作為算法的終止條件。
3)ISSA優(yōu)化算法。根據(jù)麻雀種群信息計算適應(yīng)度值,標(biāo)記當(dāng)前最壞和最佳適應(yīng)情況,并給出相應(yīng)的位置信息。隨后,根據(jù)適應(yīng)度值對麻雀種群進行排序并分類,從種群中選擇適應(yīng)度較好的麻雀作為發(fā)現(xiàn)者,種群中的其他麻雀扮演追隨者,種群中隨機選取一部分麻雀作為警備者。根據(jù)引入動態(tài)慣性權(quán)重的式(12)更新發(fā)現(xiàn)者位置;根據(jù)式(9)更新追隨者位置;根據(jù)式(10)更新警備者位置。一次迭代完成后,計算麻雀種群位置更新后的適應(yīng)度值,其中,最小適應(yīng)度值為局部最優(yōu)適應(yīng)度值。將局部最優(yōu)適應(yīng)度值與位置更新前的全局最優(yōu)適應(yīng)度值進行比較,取更小的適應(yīng)度值作為位置更新后的全局最優(yōu)適應(yīng)度值,此時全局最優(yōu)適應(yīng)度值對應(yīng)的超參數(shù)組即為最優(yōu)超參數(shù)組。更新全局最優(yōu)適應(yīng)度值,并將最新確定的超參數(shù)組傳遞給GRU模型。
4)GRU主體預(yù)測模型。判斷是否滿足步驟2中設(shè)定的終止條件,如不滿足則返回步驟3;如滿足則根據(jù)全局最優(yōu)超參數(shù)組獲取GRU模型中units、batch_size和epochs的最佳值。最后,利用最佳模型參數(shù)建立GRU預(yù)測模型。
綜上所述,基于ISSA-GRU的混凝土抗壓強度預(yù)測模型流程如圖2所示。
圖2 混凝土抗壓強度預(yù)測模型流程圖Fig.2 Flow chart of prediction model of concrete compressive strength
為評估ISSA-GRU模型的擬合預(yù)測性能,使用廣泛的評估指標(biāo)來評估模型以確定最佳模型,在分析時采用如式(14)~(16)的具體評價指標(biāo)[28-29]。所采用的各評價指標(biāo)具有以下趨勢時說明模型具有更優(yōu)預(yù)測性能:決定系數(shù)R2值越接近1;均方根誤差(root mean square error, RMSE)越小;平均絕對誤差(mean absolute error, MAE)越小。
(14)
(15)
(16)
為測試SPXY劃分數(shù)據(jù)樣本訓(xùn)練集和測試集的性能,參考Feng等[30]研究,將原始數(shù)據(jù)樣本集按9-1劃分為訓(xùn)練集和測試集,同時與隨機抽樣(random sampling, RS)方法進行對比分析。樣本集中9個變量的量綱不完全相同且測量尺度具有較大差異,故采用變異系數(shù)對數(shù)據(jù)進行比較,SPXY與RS兩種數(shù)據(jù)樣本劃分方法得到的變異系數(shù)結(jié)果如圖3所示。
圖3 SPXY和RS劃分樣本的變異系數(shù)Fig.3 Coefficient of variation of SPXY and RS divided samples
從圖3(a)可以看出,利用SPXY和RS兩種方法劃分數(shù)據(jù)樣本,得到的訓(xùn)練集變異系數(shù)與原始數(shù)據(jù)變異系數(shù)都呈現(xiàn)較好的一致性,表明兩種方法皆具較強的針對遵循變量原始數(shù)據(jù)分布特征的訓(xùn)練集數(shù)據(jù)篩選的能力,使訓(xùn)練模型更具代表性。分別代表高爐礦渣、粉煤灰、高效減水劑和齡期的變量X2、X3、X5和X8變異系數(shù)均超過了50%,說明這些變量數(shù)據(jù)的離散性較大。同時,結(jié)合圖1可以看出,產(chǎn)生較大變異系數(shù)的原因主要有兩種:一是高爐礦渣、粉煤灰和高效減水劑具有較多值為零的數(shù)據(jù);二是齡期具有階段劃分的特征。從圖3(b)可以看出,在SPXY方法劃分得到的測試集結(jié)果中,高爐礦渣、粉煤灰、高效減水劑和齡期的變異系數(shù)較RS法分別降低了22.03%、2.93%、37.87%和52.92%,表明SPXY具有更強的測試集數(shù)據(jù)選取能力,能自發(fā)地避免由混凝土抗壓強度及其原材料因素帶來的變量數(shù)值異常性影響。現(xiàn)分別利用SPXY和RS數(shù)據(jù)樣本劃分方法,使用本研究提出的ISSA-GRU模型對混凝土抗壓強度進行預(yù)測,輸出結(jié)果表現(xiàn)為:訓(xùn)練集RMSE分別為2.89%和3.28%;測試集RMSE分別為3.60%和4.44%;訓(xùn)練集MAE分別為2.04%和2.29%;測試集MAE分別為2.70%和3.13%。涉及兩種樣本集劃分方法中更直觀的ISSA-GRU模型預(yù)測精度結(jié)果如圖4所示。
圖4 SPXY與RS劃分樣本的模型誤差Fig.4 Model error between SPXY and RS
從圖4中可以明顯看出,與RS劃分數(shù)據(jù)樣本集相比,將SPXY方法劃分的訓(xùn)練集和測試集數(shù)據(jù)代入預(yù)測模型均會得到更小的RMSE和MAE值,說明采用SPXY方法劃分樣本集對混凝土抗壓強度數(shù)據(jù)預(yù)測具有更強的適應(yīng)性,具備更高的預(yù)測精度。從圖4中可以發(fā)現(xiàn),測試集數(shù)據(jù)對應(yīng)的RMSE和MAE值均大于訓(xùn)練集,與實際相符。因為預(yù)測模型是針對訓(xùn)練集數(shù)據(jù)特征對提出模型進行訓(xùn)練的結(jié)果,所以測試集數(shù)據(jù)下的RMSE和MAE值應(yīng)均大于訓(xùn)練集,否則將表現(xiàn)為弱化訓(xùn)練集數(shù)據(jù)及過擬合現(xiàn)象。
因此,通過將變量間距離加以考慮并為樣本空間賦權(quán)的SPXY樣本劃分方法,能高效覆蓋變量的各個空間,智能表征變量分布特征,在混凝土抗壓強度預(yù)測模型的穩(wěn)定性與預(yù)測精度方面表現(xiàn)優(yōu)異。
ISSA-GRU模型針對測試集數(shù)據(jù)得到的混凝土抗壓強度預(yù)測值與實測值對比結(jié)果如圖5所示。其中,中心線代表抗壓強度預(yù)測值等于實測值,即測試集數(shù)據(jù)點越接近中心線,預(yù)測精度越高。從圖5可以看到數(shù)據(jù)點大致分布在中心線兩側(cè),且無明顯離群點,表明ISSA-GRU模型的預(yù)測強度值與實測強度值接近,模型的整體擬合預(yù)測結(jié)果較好。同時,從圖5中觀察測試集數(shù)據(jù)的相對誤差可以發(fā)現(xiàn),當(dāng)混凝土抗壓強度值較小時,預(yù)測結(jié)果的相對誤差較大,最大相對誤差接近35%;當(dāng)混凝土抗壓強度值較大時,預(yù)測結(jié)果的相對誤差較小,且當(dāng)強度值大于25 MPa之后時,預(yù)測結(jié)果的相對誤差在20%之內(nèi),這與早期混凝土的強度增長不穩(wěn)定有關(guān),符合預(yù)期。
圖5 ISSA-GRU模型抗壓強度預(yù)測值與實測值Fig.5 Prediction values versus real values under ISSA-GRU
為評估ISSA-GRU模型對于混凝土抗壓強度預(yù)測能力的優(yōu)越性,采用相同數(shù)據(jù)集,選擇LSTM、KELM、SVR三種模型與本研究所提出的模型進行對比分析。各模型的預(yù)測性能指標(biāo)如表2所示。
表2 模型預(yù)測性能指標(biāo)Table 2 Performance criteria values of models
從表2結(jié)果可以看出,與LSTM、KELM、SVR模型相比,本研究提出的ISSA-GRU模型測試集R2=0.98,具有最大的決定系數(shù)值,擬合優(yōu)度好;同時,測試集RMSE值分別降低了9.3%、37.5%、33.5%,測試集MAE值分別降低了13.5%、38.5%、41.7%,針對混凝土抗壓強度預(yù)測具有最高的整體預(yù)測精度。
為考慮數(shù)據(jù)訓(xùn)練集數(shù)據(jù)量對模型預(yù)測性能的影響,訓(xùn)練集數(shù)據(jù)量與測試集數(shù)據(jù)量分別選取為8.5-1.5、8-2、7.5-2.5和7-3,采用ISSA-GRU模型對混凝土抗壓強度進行預(yù)測,不同數(shù)據(jù)集劃分比例下的預(yù)測性能指標(biāo)如表3所示。
表3 不同數(shù)據(jù)集劃分比例下的預(yù)測性能指標(biāo)Table 3 Prediction performance values under different data set division
由表3可知,ISSA-GRU模型在不同訓(xùn)練集數(shù)據(jù)量下,對應(yīng)的測試集性能指標(biāo)表現(xiàn)為:RMSE最大值為4.38;MAE最大值為3.38;R2最小值為0.97,這表明在不同的訓(xùn)練集數(shù)據(jù)量下,ISSA-GRU模型整體預(yù)測的誤差均較小,具備較強的混凝土抗壓強度預(yù)測能力。同時,模型預(yù)測精度隨著訓(xùn)練集數(shù)據(jù)量的減少而降低,符合數(shù)據(jù)驅(qū)動模型的特性,但并沒有表現(xiàn)出較大程度的降低,表明ISSA-GRU模型穩(wěn)定性較高,對不同數(shù)據(jù)樣本劃分比例均有較好的適定性。
輸入變量也對模型性能有很大的影響。參考相關(guān)文獻[30],另外選取三種輸入變量組合,與表2中ISSA-GRU的測試集性能指標(biāo)進行對比分析,不同輸入變量下的預(yù)測性能指標(biāo)如表4所示。
表4 不同輸入變量下的預(yù)測性能指標(biāo)Table 4 Performance criteria values under different input variable
從表4可以看出隨著輸入變量的減少,預(yù)測數(shù)據(jù)集的性能指標(biāo)明顯降低,并且模型的預(yù)測性能與輸入變量數(shù)之間沒有明確的相關(guān)關(guān)系,例如,僅缺少“水泥”1個輸入變量的預(yù)測誤差大于缺少“粉煤灰”和“高效減水劑”2個輸入變量的預(yù)測誤差。這表明直接減少輸入變量的數(shù)量是不可行的,會造成輸入信息損失,為保證模型的預(yù)測性能,需保留所有輸入變量。
1)通過SPXY抽樣方法合理劃分數(shù)據(jù)集,能減少隨意劃分數(shù)據(jù)集對于預(yù)測結(jié)果的影響,有效避免對模型預(yù)測性能評估的干擾。
2)在基礎(chǔ)SSA模型中引入動態(tài)慣性權(quán)重,具有前期擴大搜索范圍,避免陷入局部最優(yōu),后期增強局部搜索,加快計算收斂的特點,提高計算效率和泛化性能。
3)提出的ISSA-GRU模型避免了傳統(tǒng)GRU網(wǎng)絡(luò)參數(shù)的人為選取方式,能高效獲取對預(yù)測性能有較大影響的GRU網(wǎng)絡(luò)參數(shù)。ISSA-GRU模型能有效預(yù)測混凝土抗壓強度,與LSTM、KELM、SVR模型相比,ISSA-GRU模型具有更好的預(yù)測能力。
4)一般數(shù)據(jù)驅(qū)動模型的預(yù)測精度會隨著訓(xùn)練集數(shù)據(jù)量的減少而降低,本文提出的ISSA-GRU模型符合該特征,但降低程度較小,表明ISSA-GRU模型針對不同訓(xùn)練集數(shù)據(jù)量均有較穩(wěn)定的預(yù)測性能。輸入變量的減少會極大影響模型預(yù)測精度,需將混凝土所有材料參數(shù)加以考慮,保留全部輸入變量。