卜良桃,洪俊鵬
(湖南大學(xué)土木工程學(xué)院,湖南 長(zhǎng)沙 410082)
隨著我國(guó)經(jīng)濟(jì)不斷發(fā)展,大跨度結(jié)構(gòu)、高層建筑不斷涌現(xiàn),對(duì)軸心受壓構(gòu)件的承載力有了更高的要求,型鋼-混凝土組合結(jié)構(gòu)應(yīng)運(yùn)而生。圓鋼管活性粉末混凝土柱作為其中的代表,通過(guò)將活性粉末混凝土(Reactive Powder Concrete,RPC)填充于圓鋼管中,借助圓形鋼管對(duì)核心混凝土的套箍約束作用,使核心區(qū)RPC處于三向受壓狀態(tài),使RPC的塑性和韌性有效改善,承載力和變形性能大幅提升[1]。承載力計(jì)算是結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ),由于RPC具有高強(qiáng)的特點(diǎn),當(dāng)前規(guī)范[2-4]對(duì)材料強(qiáng)度又有所限制導(dǎo)致適用性較差,因此眾多學(xué)者針對(duì)各影響因素與承載力之間的關(guān)系開(kāi)展研究。王彥博[5]考慮提高混凝土強(qiáng)度對(duì)約束效應(yīng)的減弱,對(duì)規(guī)范[3]的計(jì)算公式進(jìn)行系數(shù)修正,使鋼管高強(qiáng)、超高強(qiáng)混凝土柱的安全保證率得以提高。J.P.Liu等[6]提出鋼管應(yīng)力的表達(dá)式,以此為基礎(chǔ)建立承載力預(yù)測(cè)公式,預(yù)測(cè)結(jié)果與試驗(yàn)值平均比值為0.912。但以上研究預(yù)測(cè)精度偏低,這是由于各影響因素相互耦合,與承載力間呈現(xiàn)出非線(xiàn)性映射關(guān)系,從而導(dǎo)致傳統(tǒng)方法難以實(shí)現(xiàn)圓鋼管RPC柱軸壓承載力的高精度預(yù)測(cè)。
目前機(jī)器學(xué)習(xí)算法發(fā)展迅速,其中BP神經(jīng)網(wǎng)絡(luò)由于其出眾的非線(xiàn)性擬合效果,在承載力預(yù)測(cè)上得到廣泛使用。V.L.Tran 等[7]基于BP神經(jīng)網(wǎng)絡(luò)對(duì)圓鋼管RPC柱承載力進(jìn)行預(yù)測(cè),預(yù)測(cè)精度相比于規(guī)范[2-4]得到提升。陸征然等[8]使用雙隱含層BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了對(duì)缺陷圓鋼管混凝土短柱承載力的預(yù)測(cè)。M.Ahmadi等[9]采用BP神經(jīng)網(wǎng)絡(luò)對(duì)鋼管混凝土柱承載力預(yù)測(cè),平均誤差為11.17%,低于其他數(shù)學(xué)模型。但也有學(xué)者指出,由于算法的局限性,BP神經(jīng)網(wǎng)絡(luò)對(duì)預(yù)測(cè)精度的提升有限,穩(wěn)定性也不足[10]。因此,筆者擬對(duì)BP神經(jīng)網(wǎng)絡(luò)承載力預(yù)測(cè)模型進(jìn)行進(jìn)一步優(yōu)化。麻雀搜索算法(Sparrow Search Algorithm,SSA)作為一種新型智群搜索算法,于2020年[11]提出,在單峰函數(shù)和多峰函數(shù)全局尋優(yōu)測(cè)試中表現(xiàn)出良好的收斂精度、穩(wěn)定性和收斂速度。在土體開(kāi)挖受損區(qū)域厚度的預(yù)測(cè)研究中,BP神經(jīng)網(wǎng)絡(luò)經(jīng)過(guò)SSA算法優(yōu)化后均方根誤差降低43.06%[12]。此外,在降雨預(yù)測(cè)[13]等研究中,SSA算法也表現(xiàn)出對(duì)BP神經(jīng)網(wǎng)絡(luò)的良好優(yōu)化能力,但目前SSA-BP神經(jīng)網(wǎng)絡(luò)在承載力預(yù)測(cè)問(wèn)題上的使用卻并不廣泛。
為建立高精度圓鋼管RPC短柱軸壓承載力預(yù)測(cè)模型,筆者引入SSA算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)重、閾值進(jìn)行優(yōu)化,形成SSA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,并與其他預(yù)測(cè)模型進(jìn)行綜合對(duì)比分析。研究表明:使用SSA-BP神經(jīng)網(wǎng)絡(luò)對(duì)圓鋼管RPC短柱承載力進(jìn)行預(yù)測(cè)具備可行性,在預(yù)測(cè)精度、預(yù)測(cè)效率、模型穩(wěn)定性等方面表現(xiàn)良好。
建立BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,首要問(wèn)題是獲取足量的樣本數(shù)據(jù)。筆者統(tǒng)計(jì)文獻(xiàn)[14-22]中共計(jì)155組圓鋼管RPC短柱軸壓試驗(yàn)數(shù)據(jù),如表1所示。
表1 圓鋼管RPC短柱軸壓試驗(yàn)數(shù)據(jù)Table 1 The axial compression experimental data of RPC filled circular steel tube stub columns
數(shù)據(jù)庫(kù)中,試驗(yàn)變量為柱外直徑D、鋼管壁厚t、柱高度L、鋼管屈服強(qiáng)度f(wàn)y和RPC抗壓強(qiáng)度f(wàn)c,分析試驗(yàn)數(shù)據(jù)的構(gòu)件幾何參數(shù)和材料強(qiáng)度參數(shù)見(jiàn)表2,其中標(biāo)準(zhǔn)差和變異系數(shù)用于評(píng)估各參數(shù)的離散程度。
數(shù)據(jù)庫(kù)各參數(shù)的頻率分布如圖1所示。由圖可知,各變量分布相對(duì)集中,D與L分別集中分布在130~140 mm和380~460 mm,這是由于試驗(yàn)中常把柱高設(shè)置為柱外徑的3倍,而外徑133 mm的鋼管可直接購(gòu)置成品鋼管,對(duì)應(yīng)型號(hào)為DN125,且此時(shí)構(gòu)件大小適宜試驗(yàn),因此較多學(xué)者選擇直徑為133 mm、高為400 mm的試驗(yàn)構(gòu)件;數(shù)據(jù)庫(kù)中鋼管壁厚、鋼管屈服強(qiáng)度和RPC抗壓強(qiáng)度主要分布于常見(jiàn)范圍。
圖1 數(shù)據(jù)集各參數(shù)頻率分布Fig.1 Frequency distribution of parameters in the data set
SSA算法是通過(guò)模擬麻雀種群的捕食行為而提出的一種新型智群算法,其生物原理為:根據(jù)麻雀種群在捕食過(guò)程中的行為,將其劃分為發(fā)現(xiàn)者、加入者兩種角色。發(fā)現(xiàn)者在發(fā)現(xiàn)食物后釋放信號(hào)給加入者,共同獲取食物,在捕食過(guò)程中,麻雀會(huì)在發(fā)現(xiàn)者和加入者兩種角色中轉(zhuǎn)換。種群中的個(gè)體也會(huì)綜合自身危險(xiǎn)程度和體能,判斷自身是否為危險(xiǎn)者,危險(xiǎn)者會(huì)更注意周?chē)鞌车幕顒?dòng)情況,在發(fā)現(xiàn)危險(xiǎn)時(shí),釋放信號(hào)使種群轉(zhuǎn)移至安全區(qū)域?;诖嗽?麻雀種群得以實(shí)現(xiàn)高效率獲取食物,并躲避天敵的攻擊。具體數(shù)學(xué)建模過(guò)程可參考文獻(xiàn)[11]。
傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)通過(guò)對(duì)數(shù)據(jù)間隱含關(guān)系的挖掘,進(jìn)行數(shù)據(jù)擬合,從而實(shí)現(xiàn)數(shù)據(jù)預(yù)測(cè)。由于結(jié)構(gòu)簡(jiǎn)單、非線(xiàn)性擬合能力強(qiáng)等特點(diǎn),在承載力預(yù)測(cè)方面得到廣泛運(yùn)用。但在實(shí)踐過(guò)程中,也顯現(xiàn)出一些不足,由于訓(xùn)練的局限性,存在誤差偏高、初始權(quán)重和閾值具有隨機(jī)性、穩(wěn)定性差、容易陷入局部最優(yōu)化等不足。
針對(duì)BP神經(jīng)網(wǎng)絡(luò)的不足,本研究使用SSA算法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,同時(shí)以一種更利于尋優(yōu)的方式對(duì)BP神經(jīng)網(wǎng)絡(luò)的隱含層節(jié)點(diǎn)數(shù)進(jìn)行優(yōu)選,具體算法流程如圖2所示。
圖2 SSA-BP神經(jīng)網(wǎng)絡(luò)流程圖Fig.2 The flow chart of SSA-BP neural network
(1)數(shù)據(jù)輸入與歸一化處理。將試驗(yàn)數(shù)據(jù)庫(kù)隨機(jī)劃分為訓(xùn)練樣本集(75%)和測(cè)試樣本集(25%)。其中,116組作為訓(xùn)練樣本,用以訓(xùn)練模型達(dá)到最佳預(yù)測(cè)狀態(tài);39組為測(cè)試樣本集,用以驗(yàn)證各模型的預(yù)測(cè)效果。由于所收集的數(shù)據(jù)集各變量數(shù)量級(jí)相差較大,需要將其映射在小范圍內(nèi),采用式(1)進(jìn)行歸一化處理:
(1)
式中:xi為歸一化之后的數(shù)據(jù);x為原始數(shù)據(jù);xmax、xmin分別為原始數(shù)據(jù)組中的最大值和最小值;ymax、ymin分別為共同決定歸一化后值域的最大值和最小值。本研究中選擇將各影響因素歸一化至[0,1]內(nèi),軸壓承載力歸一化至[-1,1]內(nèi)。
(2)算法參數(shù)設(shè)置。在BP神經(jīng)網(wǎng)絡(luò)部分,選擇“Tansig”函數(shù)作為神經(jīng)網(wǎng)絡(luò)輸入層至隱含層之間的激勵(lì)函數(shù),“Purelin”函數(shù)作為隱含層至輸出層之間的激勵(lì)函數(shù),訓(xùn)練方法選擇L-M算法,訓(xùn)練次數(shù)設(shè)置為100,學(xué)習(xí)率設(shè)置為0.01,訓(xùn)練目標(biāo)誤差為10-6。GA算法與SSA算法部分,保持相似的設(shè)置狀態(tài),種群數(shù)量設(shè)置為20,最大迭代次數(shù)為15。
(3)確定隱含層節(jié)點(diǎn)數(shù)范圍。本研究中輸入層節(jié)點(diǎn)選擇D、t、L、fy和fc,輸出層節(jié)點(diǎn)選擇Nu,輸入層、輸出層節(jié)點(diǎn)數(shù)分別為5和1。根據(jù)式(2)確定隱含層節(jié)點(diǎn)數(shù)范圍,確定拓?fù)浣Y(jié)構(gòu)為5-Ihid-1,其中Ihid∈[3,12],單次程序運(yùn)行只需訓(xùn)練模型10個(gè)。
(2)
式中:Ihid為隱含層節(jié)點(diǎn)數(shù);Iin為輸入層節(jié)點(diǎn)數(shù);Iout為輸出層節(jié)點(diǎn)數(shù)。
(4)SSA算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)初始權(quán)重和閾值。基于SSA算法,以預(yù)測(cè)值與實(shí)際值之差作為種群適應(yīng)度,尋找適應(yīng)度最小的位置作為最優(yōu)解。每次迭代更新種群中麻雀定位,即重新確定發(fā)現(xiàn)者、加入者,同時(shí)確定10%~20%的個(gè)體為警戒者。重復(fù)迭代尋優(yōu),直至達(dá)到最大迭代次數(shù)。
(5)BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練。將SSA優(yōu)化所得初始權(quán)重、閾值賦予BP神經(jīng)網(wǎng)絡(luò)后,對(duì)權(quán)重與閾值進(jìn)行迭代,直至神經(jīng)網(wǎng)絡(luò)達(dá)到最優(yōu)預(yù)測(cè)狀態(tài),將模型存儲(chǔ)于Matlab程序的單元數(shù)組cell中。將預(yù)設(shè)的拓?fù)浣Y(jié)構(gòu)依次進(jìn)行訓(xùn)練并進(jìn)行存儲(chǔ)。
(6)神經(jīng)網(wǎng)絡(luò)仿真預(yù)測(cè)。以均方誤差MSE為評(píng)價(jià)依據(jù),對(duì)存儲(chǔ)于cell中的各模型進(jìn)行對(duì)比,調(diào)用最優(yōu)模型進(jìn)行圓鋼管RPC短柱軸壓承載力仿真預(yù)測(cè)。
以SSA-BP神經(jīng)網(wǎng)絡(luò)為例,各拓?fù)浣Y(jié)構(gòu)下神經(jīng)網(wǎng)絡(luò)的MSE如圖3所示。當(dāng)隱含層節(jié)點(diǎn)數(shù)為9時(shí)MSE最小,此時(shí)預(yù)測(cè)效果將達(dá)到最優(yōu),因此選擇調(diào)用拓?fù)浣Y(jié)構(gòu)為5-9-1的模型進(jìn)行仿真預(yù)測(cè)。
圖3 不同隱含層節(jié)點(diǎn)數(shù)下的MSEFig.3 The MSE of different nodes in hidden layer
為驗(yàn)證SSA算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的優(yōu)化效果及優(yōu)化模型適用性,試驗(yàn)分為三部分:建立BP神經(jīng)網(wǎng)絡(luò)模型、GA算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型和SSA算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型,分析SSA算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的優(yōu)化效果,對(duì)比SSA-BP神經(jīng)網(wǎng)絡(luò)與計(jì)算公式的預(yù)測(cè)能力。
引入均方誤差MSE、均方根誤差RMSE、決定系數(shù)R2用以評(píng)價(jià)預(yù)測(cè)精度及模型穩(wěn)定性。計(jì)算公式如下:
(3)
(4)
(5)
訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)、GA-BP神經(jīng)網(wǎng)絡(luò)、SSA-BP神經(jīng)網(wǎng)絡(luò)至穩(wěn)定狀態(tài),對(duì)測(cè)試樣本進(jìn)行預(yù)測(cè),評(píng)價(jià)參數(shù)如表3所示。GA-BP 神經(jīng)網(wǎng)絡(luò)和SSA-BP神經(jīng)網(wǎng)絡(luò)的MSE值相比于BP神經(jīng)網(wǎng)絡(luò)分別降低67.45%和79.05%??梢钥闯?GA算法與SSA算法都能有效提高BP神經(jīng)網(wǎng)絡(luò)對(duì)圓鋼管RPC短柱軸壓承載力的預(yù)測(cè)精度。SSA-BP神經(jīng)網(wǎng)絡(luò)的R2值為0.974 9,相較于另外兩種模型更接近于1,說(shuō)明在相同的數(shù)據(jù)集上,SSA-BP神經(jīng)網(wǎng)絡(luò)具有更高的預(yù)測(cè)精度。
表3 承載力預(yù)測(cè)評(píng)價(jià)參數(shù)Table 3 Evaluation parameters of bearing capacity prediction
將BP神經(jīng)網(wǎng)絡(luò)、GA-BP神經(jīng)網(wǎng)絡(luò)、SSA-BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)值、預(yù)測(cè)誤差統(tǒng)計(jì),結(jié)果如圖4、圖5所示。由圖可知,BP神經(jīng)網(wǎng)絡(luò)在承載力的預(yù)測(cè)上存在較大誤差,誤差平均值為193.20 kN,最大相對(duì)誤差為74.41%;GA-BP神經(jīng)網(wǎng)絡(luò)相較于BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)效果有一定程度的提升,其誤差平均值為121.41 kN,最大相對(duì)誤差為29.43%;SSA-BP神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)效果上有了進(jìn)一步的提升,其誤差平均值為106.34 kN,最大相對(duì)誤差為17.30%。
圖4 承載力預(yù)測(cè)值與試驗(yàn)值比較Fig.4 The comparison between predicted value and experimental value of bearing capacity
圖5 預(yù)測(cè)誤差分布Fig.5 The distribution of predicted error
為比較GA-BP神經(jīng)網(wǎng)絡(luò)和SSA-BP神經(jīng)網(wǎng)絡(luò)的穩(wěn)定性,對(duì)兩種模型各進(jìn)行100次模擬訓(xùn)練,以R2作為評(píng)價(jià)依據(jù),統(tǒng)計(jì)R2值累計(jì)頻率分布情況,如圖6、圖7所示。由圖可知,SSA-BP神經(jīng)網(wǎng)絡(luò)的R2值大于0.950的頻率為0.56,比GA-BP神經(jīng)網(wǎng)絡(luò)高出0.18。同時(shí),GA-BP神經(jīng)網(wǎng)絡(luò)的R2值在各區(qū)間內(nèi)分布均勻,而SSA-BP神經(jīng)網(wǎng)絡(luò)集中于0.965附近,相較而言SSA-BP神經(jīng)網(wǎng)絡(luò)更為穩(wěn)定。另一方面,SSA-BP神經(jīng)網(wǎng)絡(luò)和GA-BP神經(jīng)網(wǎng)絡(luò)單次訓(xùn)練時(shí)間分別為182 s和327 s,使用SSA算法進(jìn)行模型優(yōu)化相比于GA算法使程序運(yùn)行時(shí)間降低44.34%,對(duì)于需要重復(fù)訓(xùn)練調(diào)試的程序而言,這種效率上的提升有重要意義。綜上所述,相比于GA算法,使用SSA算法進(jìn)行BP神經(jīng)網(wǎng)絡(luò)優(yōu)化,效果更為穩(wěn)定,程序調(diào)試時(shí)間明顯縮短。
圖6 GA-BP神經(jīng)網(wǎng)絡(luò)R2值累計(jì)頻率分布Fig.6 The cumulative frequency distribution of R2 in GA-BP neural network
圖7 SSA-BP神經(jīng)網(wǎng)絡(luò)R2值累計(jì)頻率分布Fig.7 The cumulative frequency distribution of R2in SSA-BP neural network
目前學(xué)者們對(duì)于圓鋼管RPC短柱承載力開(kāi)展了一系列研究,筆者選擇近年代表性成果與上文建立的SSA-BP神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)比。王彥博等[5]考慮了混凝土強(qiáng)度提高對(duì)約束效應(yīng)的弱化,以大量試驗(yàn)數(shù)據(jù)為基礎(chǔ)對(duì)歐洲規(guī)范進(jìn)行修正,得到式(6)。J.P.Liu等[6]考慮到鋼管與RPC之間存在黏結(jié)與摩擦,會(huì)對(duì)承載力產(chǎn)生影響,結(jié)合有限元模型,提出鋼管應(yīng)力簡(jiǎn)化表達(dá)式,推導(dǎo)得出式(7)。
(6)
(7)
使用SSA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型和式(6)、式(7)對(duì)數(shù)據(jù)庫(kù)全體樣本進(jìn)行承載力預(yù)測(cè),預(yù)測(cè)值和預(yù)測(cè)誤差分布統(tǒng)計(jì)如圖8所示。使用線(xiàn)性模型對(duì)預(yù)測(cè)值與實(shí)際值進(jìn)行擬合,擬合所得直線(xiàn)斜率越接近1,則說(shuō)明預(yù)測(cè)效果越好,在SSA-BP神經(jīng)網(wǎng)絡(luò)、式(6)和式(7)中擬合所得的直線(xiàn)斜率分別為0.973、0.580和0.672。從圖8(a)~圖8(c)也可以看到,SSA-BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果近乎分布在理想擬合線(xiàn)上,而式(6)、式(7)均有大量數(shù)據(jù)點(diǎn)位置距離理想擬合線(xiàn)較遠(yuǎn)。如圖8(d)~圖8(f),在相對(duì)誤差率的分布上,SSA-BP神經(jīng)網(wǎng)絡(luò)誤差分布更集中,波動(dòng)幅度小,式(6)、式(7)預(yù)測(cè)結(jié)果誤差波動(dòng)較大。說(shuō)明SSA-BP神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)精度上具有優(yōu)勢(shì)顯著。
圖8 承載力預(yù)測(cè)值、預(yù)測(cè)誤差分布Fig.8 The distribution of bearing capacity prediction value and error SSA-BP
(1)針對(duì)傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)在圓鋼管RPC短柱軸壓承載力預(yù)測(cè)問(wèn)題上存在的穩(wěn)定性差 、精度低等缺陷,引入SSA算法和GA算法,使預(yù)測(cè)精度分別提高了67.45%和79.05%,有效提高了BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)性能。
(2)在圓鋼管RPC短柱軸壓承載力預(yù)測(cè)問(wèn)題上,SSA-BP神經(jīng)網(wǎng)絡(luò)相比于BP神經(jīng)網(wǎng)絡(luò)和GA-BP神經(jīng)網(wǎng)絡(luò),具有最低的誤差平均值、MSE值、RMSE值和最高的R2值。同時(shí),SSA-BP神經(jīng)網(wǎng)絡(luò)單次訓(xùn)練時(shí)間較GA-BP神經(jīng)網(wǎng)絡(luò)縮短44.34%;在100次重復(fù)訓(xùn)練中,R2值分布也更加集中。說(shuō)明SSA-BP神經(jīng)網(wǎng)絡(luò)能夠?qū)崿F(xiàn)圓鋼管RPC短柱軸壓承載力的高精度預(yù)測(cè)。
(3)將SSA-BP神經(jīng)網(wǎng)絡(luò)與式(6)、式(7)的預(yù)測(cè)結(jié)果進(jìn)行對(duì)比,結(jié)果顯示SSA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)平均相對(duì)誤差為3.66%,遠(yuǎn)高于公式預(yù)測(cè)精度,且誤差分布更集中,波動(dòng)幅度更小。說(shuō)明SSA-BP神經(jīng)網(wǎng)絡(luò)適用范圍更廣,在設(shè)計(jì)過(guò)程中作為驗(yàn)算補(bǔ)充能提高結(jié)構(gòu)的安全性。