王雪芳,劉豪杰,馬世龍,沈妍燃,吳文達(dá)*,許利惟,張曉平
(1.福州大學(xué)a先進(jìn)制造學(xué)院,福建 泉州 362251;b.土木工程學(xué)院,福建 福州 350108;2.福建工程學(xué)院土木工程學(xué)院,福建 福州 350118;3.北方工業(yè)大學(xué)電氣與控制工程學(xué)院,北京 100144)
目前,人們?nèi)找骊P(guān)注全球氣候變化及其對社會產(chǎn)生的不利影響,這給最大溫室氣體生產(chǎn)來源之一的建筑業(yè)帶來了巨大壓力[1],同時(shí)也不符合我國的“雙碳”發(fā)展目標(biāo),急需尋找一種高效水泥替代品。堿激發(fā)材料具有力學(xué)性能優(yōu)異、耐高溫、抗酸堿腐蝕性好、節(jié)能環(huán)保等優(yōu)點(diǎn),受到人們廣泛關(guān)注[2-4]。與普通硅酸鹽水泥相比,其制備過程不需要高溫煅燒,碳排放量僅為普通硅酸鹽水泥的26%~45%,是公認(rèn)的綠色膠凝材料[5]。為了獲得所需要的堿激發(fā)礦渣混凝土強(qiáng)度,通常要通過大量的試驗(yàn)去驗(yàn)證,這勢必會帶來各種資源上的消耗。因此,需要一個(gè)有效的強(qiáng)度預(yù)測模型來縮減大量不必要的試驗(yàn),提高工作效率。
堿激發(fā)礦渣混凝土的內(nèi)部組分對應(yīng)關(guān)系復(fù)雜,不僅會受到水膠比、砂率等因素的影響,還受到堿激發(fā)劑的影響,這更加深了其復(fù)雜性。傳統(tǒng)的預(yù)測模型雖然能一定程度地反映其復(fù)雜特性,但會受到變量復(fù)雜程度及人為因素的影響,具有一定的局限性,可重復(fù)性差[6],使得堿激發(fā)礦渣混凝土難以采用傳統(tǒng)的以回歸方法建立的預(yù)測模型進(jìn)行精準(zhǔn)預(yù)測。
人工神經(jīng)網(wǎng)絡(luò)正是模擬這種高度非線性關(guān)系問題的一種有效工具,人工神經(jīng)網(wǎng)絡(luò)模型在預(yù)測混凝土強(qiáng)度方面具有良好的精度與準(zhǔn)確性[7-9],對于其他性能的預(yù)測也有較好的效果[10-11]。它可以很好地建立起混凝土與各影響因素之間的非線性映射關(guān)系[12],為堿激發(fā)礦渣混凝土強(qiáng)度的預(yù)測提供了有力的支持。
因此本文通過人工網(wǎng)絡(luò)模型對堿礦渣混凝土的強(qiáng)度進(jìn)行預(yù)測,并且針對傳統(tǒng)BP網(wǎng)絡(luò)模型對輸入樣本預(yù)處理方面的不足的缺點(diǎn),引入了基于數(shù)理統(tǒng)計(jì)的主成分分析法(principal components analysis,PCA),對原始樣本的影響因素進(jìn)行降維處理,將多個(gè)輸入變量轉(zhuǎn)化為少數(shù)幾個(gè)主成分,使這些主成分能夠反映原始變量的大部分信息,從而提高運(yùn)算效率,減少訓(xùn)練次數(shù),以期能夠達(dá)到更好的預(yù)測效果。
BP神經(jīng)網(wǎng)絡(luò)是基于BP算法和訓(xùn)練基礎(chǔ)上形成的多層前饋網(wǎng)絡(luò),其應(yīng)用范圍較廣泛,常常使用在多層網(wǎng)絡(luò)計(jì)算中,最早提出該模型是在上個(gè)世紀(jì)80年代后期,并且在計(jì)算機(jī)領(lǐng)域發(fā)揮了重要作用和價(jià)值。其算法可以分為2個(gè)過程[13]:一是正向傳播過程,從輸入端開始,經(jīng)過每一層結(jié)構(gòu)完成計(jì)算,最終輸出計(jì)算結(jié)果;二是反向傳播過程,通過驗(yàn)證輸出層的數(shù)據(jù),若是數(shù)據(jù)與期望數(shù)據(jù)不符合,則會逐層重新計(jì)算,降低期望值與輸出值之間的差距,以便根據(jù)此差值調(diào)節(jié)權(quán)值。權(quán)值和閾值不斷調(diào)整的過程,也就是網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練過程,此過程會進(jìn)行到所設(shè)定的誤差值或者學(xué)習(xí)次數(shù)為止。
BP算法是根據(jù)輸出維度上的誤差預(yù)測輸出前導(dǎo)層的誤差,通過誤差對比計(jì)算能夠預(yù)測出前一層的誤差范圍,經(jīng)過不斷循環(huán)計(jì)算,從而獲得每一個(gè)維度上的誤差。雖然這種誤差估計(jì)本身的精度會隨著誤差本身的反向傳遞不斷降低,但它的多層網(wǎng)絡(luò)訓(xùn)練還是能夠能逼近任意非線性函數(shù)。隨著算法的演進(jìn)與優(yōu)化,常規(guī)BP算法的不足逐漸突出,主要體現(xiàn)在以下幾個(gè)方面[13]:其一算法速度逐步下降,不論從理論研究上還是實(shí)踐研究中,該算法訓(xùn)練路徑都沿著誤差曲面逐步逼進(jìn),隨著神經(jīng)元網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜,使得誤差曲面非常復(fù)雜且分布著許多局部極值點(diǎn)[14],在訓(xùn)練過程中一旦陷入了這些節(jié)點(diǎn)上,就會導(dǎo)致算法不能有序跟進(jìn),容易產(chǎn)生新誤差問題。其二訓(xùn)練權(quán)值會逐步增大,使得節(jié)點(diǎn)輸入變大,導(dǎo)致了其激活函數(shù)的導(dǎo)函數(shù)在該點(diǎn)的取值變小,使得訓(xùn)練路程增加,速度降低,網(wǎng)絡(luò)逐漸停止收斂。針對以上缺陷,很多學(xué)者在不同方面對傳統(tǒng)的BP算法進(jìn)行改進(jìn),主要包括動量BP算法、學(xué)習(xí)率可變BP算法、彈性BP算法、擬牛頓算法、LM算法等。
利用BP神經(jīng)網(wǎng)絡(luò)強(qiáng)大的非線性逼進(jìn)的特性對正弦函數(shù)y=sin(x)進(jìn)行逼進(jìn),x值的選取是在[-3,3]以步幅為0.15取樣,取x及其對應(yīng)的y值作為網(wǎng)絡(luò)的訓(xùn)練樣本逼進(jìn)正弦函數(shù)圖像;取在[-3,3]以步幅為0.3取樣的x作為檢驗(yàn)樣本,輸入層神經(jīng)元的個(gè)數(shù)為1,隱含層神經(jīng)元個(gè)數(shù)為5,輸出層神經(jīng)元個(gè)數(shù)為1,即網(wǎng)絡(luò)結(jié)構(gòu)為1-5-1;隱含層的激活函數(shù)采用logsig函數(shù),輸出層采用purelin線性函數(shù);訓(xùn)練算法分別采用傳統(tǒng)BP算法、動量BP算法、學(xué)習(xí)率可變的BP算法、彈性BP算法、擬牛頓BP算法以及LM算法;以固定最大迭代次數(shù)2 000次,或最小均方誤差0.000 1為訓(xùn)練結(jié)束的標(biāo)準(zhǔn)。
通過分析訓(xùn)練誤差曲線對比得出:采用彈性BP算法、擬牛頓BP算法和LM算法的網(wǎng)絡(luò)收斂性更好,利用這3種算法對正弦函數(shù)進(jìn)行擬合,其具體的網(wǎng)絡(luò)性能和預(yù)測結(jié)果比較如表1。
表1 3種改進(jìn)算法的比較
綜合分析以上3種算法,很明顯,LM算法收斂速度最快,網(wǎng)絡(luò)的訓(xùn)練誤差最小,而且預(yù)測精度也最高。所以,本文后面對堿激發(fā)礦渣混凝土性能預(yù)測的BP網(wǎng)絡(luò)模型的訓(xùn)練算法均采用LM算法。
參考了已有研究成果[15]中的相關(guān)實(shí)驗(yàn)數(shù)據(jù),梳理后作為原始數(shù)據(jù)樣本使用,并總結(jié)了5種常見的影響因素,分別為水膠比、堿當(dāng)量、凝膠材料用量、堿種類、砂率,如表2所示。
表2 樣本影響因素
常見的網(wǎng)絡(luò)激活函數(shù)模型主要有l(wèi)ogsig、tansig、purelin模型。3類模型中l(wèi)ogsig、tansig模型均表示微函數(shù)面模型,輸入值取值范圍在正負(fù)無窮之間,輸出取值范圍在0與±1之間;模型purelin屬于線性函數(shù)模型,不論是輸入層還是輸出層,其取值是比較廣泛的。對于激活函數(shù)模型選擇,綜合對比計(jì)算效果后進(jìn)行確定。通過分析不同維度上激活函數(shù)對應(yīng)誤差,本文確定了組合類函數(shù)logsig-purelin,輸入層到隱含層為logsig函數(shù),隱含層到輸出層為purelin函數(shù),該組合函數(shù)能夠有效穩(wěn)定網(wǎng)絡(luò)收斂效率。
2.3.1 傳統(tǒng)BP網(wǎng)絡(luò)模型
輸入數(shù)據(jù)和輸出數(shù)據(jù)只做歸一化處理,不做任何其他統(tǒng)計(jì)處理,本文把此種BP網(wǎng)絡(luò)模型稱之為傳統(tǒng)BP網(wǎng)絡(luò)模型(簡稱為T-BP網(wǎng)絡(luò)模型)。T-BP網(wǎng)絡(luò)模型訓(xùn)練步驟少,相關(guān)學(xué)習(xí)數(shù)據(jù)較少,整體上看網(wǎng)絡(luò)收斂速度相對較合理,但是在實(shí)際訓(xùn)練過程中,發(fā)現(xiàn)網(wǎng)絡(luò)存在不穩(wěn)定問題,訓(xùn)練樣本增加后,會存在冗余信息,訓(xùn)練時(shí)間會加長,從而使得網(wǎng)絡(luò)收斂速度較慢,而且大量的冗余信息還會降低網(wǎng)絡(luò)的預(yù)測精度。為了解決這些缺點(diǎn),把數(shù)理統(tǒng)計(jì)理論中的主成分分析方法應(yīng)用到神經(jīng)網(wǎng)絡(luò)中。
2.3.2 基于統(tǒng)計(jì)理論的BP網(wǎng)絡(luò)模型
主成分分析法是常用的統(tǒng)計(jì)方法,就是利用降維思想[16],將多指標(biāo)轉(zhuǎn)化為少數(shù)幾個(gè)可以最大反映原來多指標(biāo)信息的綜合指標(biāo)。將PCA方法與BP網(wǎng)絡(luò)相結(jié)合有以下優(yōu)點(diǎn):第一,輸入層的神經(jīng)元數(shù)量有相應(yīng)的減少,網(wǎng)絡(luò)結(jié)構(gòu)變得簡單;第二,能夠?qū)颖炯袃?yōu)化訓(xùn)練,在保障信息完整的基礎(chǔ)上,降低了矢量維數(shù),提高計(jì)算效率,使網(wǎng)絡(luò)收斂速度加快,精度提高。本文把此種網(wǎng)絡(luò)模型稱之為基于統(tǒng)計(jì)理論的BP網(wǎng)絡(luò)模型(簡稱為PCA-BP網(wǎng)絡(luò)模型)。
運(yùn)用MATLAB7.0中神經(jīng)網(wǎng)絡(luò)工具箱(Neural Network Toolbox)編寫相應(yīng)的程序,建立T-BP網(wǎng)絡(luò)預(yù)測模型和PCA-BP網(wǎng)絡(luò)預(yù)測模型對堿礦渣混凝土的28 d抗壓強(qiáng)度進(jìn)行預(yù)測,以文獻(xiàn)[15]中的數(shù)據(jù)作為訓(xùn)練樣本,從本課題組長期以來進(jìn)行的堿礦渣混凝土的試驗(yàn)研究數(shù)據(jù)中選取24組作為預(yù)測樣本,從而比較這2種網(wǎng)絡(luò)模型的性能。
2.4.1 樣本數(shù)據(jù)的主成分分析
為了使樣本不受量綱的影響,將樣本數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,將相關(guān)樣本數(shù)據(jù)導(dǎo)入到公式(1)中:
(1)
式中:μi=E(xi),σii=Var(xi)。
利用MATLAB7.0中的相關(guān)函數(shù)對標(biāo)準(zhǔn)化處理后的數(shù)據(jù)進(jìn)行主成分分析,經(jīng)計(jì)算樣本數(shù)據(jù)從原來的五維降為三維,同時(shí)為了避免輸入或輸出向量中數(shù)值大的分量絕對誤差大,數(shù)值小的分量絕對誤差小,對主成分分析后的輸入、輸出向量進(jìn)行歸一化處理,函數(shù)形式如式(2)、式(3)所示:
(2)
式中:xmin、xmax分別為樣本數(shù)據(jù)組中網(wǎng)絡(luò)輸入向量的最小值、最大值。
(3)
式中:ymin、ymax分別為樣本數(shù)據(jù)組中網(wǎng)絡(luò)輸出向量的最小值與最大值。
2.4.2 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)設(shè)計(jì)
1)輸入層設(shè)計(jì)。T-BP網(wǎng)絡(luò)模型的輸入層神經(jīng)元個(gè)數(shù)為5個(gè);PCA-BP網(wǎng)絡(luò)模型的輸入層神經(jīng)元主成分分析經(jīng)主成分分析后個(gè)數(shù)為3個(gè)。
2)隱含層設(shè)計(jì)。隱含層節(jié)點(diǎn)數(shù)量的確認(rèn)需要通過經(jīng)驗(yàn)公式進(jìn)行計(jì)算,計(jì)算式如下:
(4)
式中:n為隱含層上的節(jié)點(diǎn)數(shù)量;ni為輸入層上的節(jié)點(diǎn)數(shù)量;n0為輸出層上的節(jié)點(diǎn)數(shù)量,其中參數(shù)a一般為常數(shù),取值范圍在1~10之間。經(jīng)過計(jì)算得出,隱含層上節(jié)點(diǎn)數(shù)量應(yīng)該在4~13個(gè)之間,節(jié)點(diǎn)數(shù)量應(yīng)該界定在4~20個(gè)之間。通過程序的搜索結(jié)果可知,T-BP網(wǎng)絡(luò)模型和PCA-BP網(wǎng)絡(luò)模型的最佳隱含層節(jié)點(diǎn)數(shù)均為12。
3)輸出層設(shè)計(jì)。輸出層參數(shù)即為堿礦渣混凝土28 d抗壓強(qiáng)度,以此判斷在該層上神經(jīng)元個(gè)數(shù)為1個(gè)。
4)激活函數(shù)。其中輸入層到隱含層采用了logsig函數(shù),隱含層到輸出層則選擇了purelin函數(shù)。
5)訓(xùn)練算法。2種網(wǎng)絡(luò)模型皆采用改進(jìn)BP算法,即LM算法。
6)訓(xùn)練模式各種參數(shù)設(shè)計(jì)。訓(xùn)練模式中最大訓(xùn)練步數(shù)設(shè)計(jì):net.trainP aram.epochs=2 000;性能誤差參數(shù)設(shè)計(jì):net.trainP aram.goal=0.001;確認(rèn)失敗的最大次數(shù)設(shè)計(jì):net.trainP aram.max_fail=5;間隔顯示步數(shù)設(shè)計(jì):net.trainP aram.show=20;最大訓(xùn)練時(shí)間設(shè)計(jì):net.trainP aram.time=inf。
2.4.3 預(yù)測結(jié)果
T-BP與PCA-BP網(wǎng)絡(luò)模型抗壓強(qiáng)度的實(shí)測值(f實(shí)際)、預(yù)測值(f預(yù)測)及相對誤差(δ)結(jié)果如表3、表4所示。
表3 T-BP網(wǎng)絡(luò)模型對堿激發(fā)礦渣混凝土28 d抗壓強(qiáng)度的預(yù)測結(jié)果
表4 PCA-BP網(wǎng)絡(luò)模型對堿激發(fā)礦渣混凝土28 d抗壓強(qiáng)度的預(yù)測結(jié)果
T-BP網(wǎng)絡(luò)模型和PCA-BP網(wǎng)絡(luò)模型性能對比如表5所示。
表5 T-BP和PCA-BP網(wǎng)絡(luò)模型性能比
T-BP網(wǎng)絡(luò)模型與PCA-BP網(wǎng)絡(luò)模型的實(shí)測值與預(yù)測值的擬合情況如圖1、圖2所示??梢钥闯?PCA-BP網(wǎng)絡(luò)模型較T-BP網(wǎng)絡(luò)模型表現(xiàn)出了突出的優(yōu)越性。由于經(jīng)過主成分分析,去除了原始試驗(yàn)數(shù)據(jù)中大量的冗余信息,使網(wǎng)絡(luò)的計(jì)算效率提高,收斂速度加快,從而訓(xùn)練次數(shù)從195次減少到75次;另一方面,降低了原始數(shù)據(jù)中大量冗余信息所引起的網(wǎng)絡(luò)誤差振蕩幅度,使網(wǎng)絡(luò)的預(yù)測精度大幅度提高。T-BP網(wǎng)絡(luò)模型的最大相對誤差是PCA-BP網(wǎng)絡(luò)模型的3.2倍,平均相對誤差是PCA-BP網(wǎng)絡(luò)模型的2.3倍,誤差的振蕩幅度比PCA-BP網(wǎng)絡(luò)模型大得多。另一方面,T-BP網(wǎng)絡(luò)模型的預(yù)測值與實(shí)測值的相關(guān)系數(shù)只有0.682 5,而PCA-BP網(wǎng)絡(luò)模型為0.954 3,較T-BP網(wǎng)絡(luò)模型大為改善,準(zhǔn)確度更高,可以用于堿礦渣混凝土強(qiáng)度的預(yù)測。
f預(yù)測/MPa
f預(yù)測/MPa
1)本文使用T-BP網(wǎng)絡(luò)模型和PCA-BP網(wǎng)絡(luò)模型對堿礦渣混凝土的抗壓強(qiáng)度進(jìn)行預(yù)測,證明PCA-BP網(wǎng)絡(luò)模型較T-BP網(wǎng)絡(luò)模型訓(xùn)練時(shí)間短、收斂速度快、誤差振幅小、預(yù)測精度高(R2=0.954 3),具有顯著的優(yōu)越性。
2)將上述的PCA-BP網(wǎng)絡(luò)模型與全計(jì)算法相結(jié)合,以MATLAB為平臺構(gòu)建一種適用于堿礦渣混凝土強(qiáng)度預(yù)測的智能方法。此方法與計(jì)算機(jī)緊密結(jié)合,可以有效地預(yù)測堿礦渣混凝土的強(qiáng)度,能夠在很大程度上減輕對人工和資源的消耗。