關(guān)鍵詞:SMA驅(qū)動(dòng)器;空間布置參數(shù);BP神經(jīng)網(wǎng)絡(luò);遺傳算法;尋優(yōu)效率
0 引言(Introduction)
為順應(yīng)汽車低碳、輕量化[1]及智能化[2]的發(fā)展趨勢(shì),將具有形狀記憶特性的鎳鈦合金絲(SMA)植入三維編織體中形成SMA驅(qū)動(dòng)器,再將其模塊化并植入汽車鋼板彈簧中,可以在溫度激勵(lì)下實(shí)現(xiàn)變剛度驅(qū)動(dòng)[3-4]。通過優(yōu)化植入驅(qū)動(dòng)器的性能和空間布置參數(shù),可以得到最佳變剛度效果和強(qiáng)度,然而在SMA驅(qū)動(dòng)器模塊化植入大型板式結(jié)構(gòu)以實(shí)現(xiàn)工程應(yīng)用的過程中,如何提高優(yōu)化算法效率是首先要解決的問題。
目前,為了提高模塊化元件布設(shè)參數(shù)尋優(yōu)算法的效率,相關(guān)學(xué)者嘗試將智能算法應(yīng)用到模塊化元件布設(shè)參數(shù)的尋優(yōu)中[5-6],但上述智能算法在處理大型結(jié)構(gòu)時(shí),都會(huì)不可避免地遇到由于布設(shè)點(diǎn)的增加、驅(qū)動(dòng)器數(shù)量增加等所導(dǎo)致的搜索點(diǎn)過多及目標(biāo)函數(shù)值計(jì)算次數(shù)過多、時(shí)間較長(zhǎng)的問題。
基于上述問題,本文提出了采用BP神經(jīng)網(wǎng)絡(luò)[7]預(yù)測(cè)的方法代替?zhèn)鹘y(tǒng)的對(duì)目標(biāo)函數(shù)值進(jìn)行直接計(jì)算的方法[8],并針對(duì)BP神經(jīng)網(wǎng)絡(luò)易收斂在局部極小值而得不到全局最優(yōu)的缺點(diǎn),進(jìn)一步通過遺傳算法對(duì)BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行改善,以提高預(yù)測(cè)精度,進(jìn)而提升對(duì)于大型板式結(jié)構(gòu)中驅(qū)動(dòng)器最優(yōu)空間布置參數(shù)的尋優(yōu)效率。
1BP神經(jīng)網(wǎng)絡(luò)模型建立(Establishment of BPNeural Network model)
1.1 數(shù)據(jù)來源
鑒于篇幅所限,剛度和強(qiáng)度的詳細(xì)理論計(jì)算將在另一篇論文中深入闡述。但是,本文會(huì)引用相關(guān)的Matlab計(jì)算程序作為支持?jǐn)?shù)據(jù)集。
1.2BP神經(jīng)網(wǎng)絡(luò)基本原理
BP神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Networks)是一種多層的前饋型神經(jīng)網(wǎng)絡(luò),由于其對(duì)誤差的調(diào)節(jié)是從輸出層逐步往回推進(jìn),因此又被稱為誤差反向傳播網(wǎng)絡(luò)。BP神經(jīng)網(wǎng)絡(luò)一般由3個(gè)神經(jīng)元層組成,分別為輸入層、隱藏層及輸出層。BP神經(jīng)網(wǎng)絡(luò)通常采用全連接方式,同一層的神經(jīng)元互不干擾,不同層之間的神經(jīng)元通過權(quán)值等網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)實(shí)現(xiàn)非線性連接。傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法具體分為以下兩個(gè)過程[9]。
第一階段是信號(hào)的正向傳播過程:將對(duì)象的特征信號(hào)經(jīng)由輸入層開始正向傳遞,不同的自變量x1,x2,…,xi 對(duì)應(yīng)不同的權(quán)重系數(shù)w1,w2,…,wj,為了使模型更好地收斂,引入偏置項(xiàng)自變量x0 為恒定值-1,對(duì)應(yīng)的權(quán)重系數(shù)為θ,將所有的自變量乘以各自對(duì)應(yīng)的權(quán)重系數(shù)后求和得到b,將b 經(jīng)過激活函數(shù)處理后得到?(b),上一層神經(jīng)元的輸出元又作為下一層的輸入,如此進(jìn)行一系列非線性變換,經(jīng)由隱藏層神經(jīng)元傳遞到輸出層神經(jīng)元,最后將得到的輸出信號(hào)與目標(biāo)輸出信號(hào)進(jìn)行誤差對(duì)比分析,若達(dá)不到條件,則轉(zhuǎn)入誤差的反向傳播過程。
第二階段是誤差的反向傳播過程:輸入層x1,x2,…,xi將信號(hào)經(jīng)由隱藏層正向傳播到輸出層后,得到的預(yù)測(cè)輸出x1,x2,…,xi 與真實(shí)值x1,x2,…,xi 之間存在誤差,為了縮小預(yù)測(cè)輸出與真實(shí)輸出之間的誤差,將誤差從輸出層開始,按照正向傳播時(shí)的權(quán)重系數(shù)進(jìn)行反向傳播,從而根據(jù)算法策略對(duì)權(quán)重系數(shù)進(jìn)行修正。如此循環(huán)往復(fù)正反向傳播,權(quán)重系數(shù)得到不斷的更迭,直到前向傳播達(dá)到期望輸出,即誤差達(dá)到一個(gè)滿意值。此時(shí),神經(jīng)網(wǎng)絡(luò)模型完成訓(xùn)練,可直接對(duì)其他樣本進(jìn)行預(yù)測(cè)。
1.3BP神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)置
BP神經(jīng)網(wǎng)絡(luò)的輸入層是影響板簧剛強(qiáng)度的主要因素,用X 表示;輸出層是影響板簧靜態(tài)性能的主要因素,用Y 表示。其分別可以表示如下:
其中:x1,x2,…,x6 為驅(qū)動(dòng)器在板簧中的橫坐標(biāo),植入12個(gè)驅(qū)動(dòng)器的復(fù)合材料板簧正面示意圖如圖1所示。n1,n2,…,n12為驅(qū)動(dòng)器在板簧厚度方向中鋪層的鋪層位置編號(hào),驅(qū)動(dòng)器鋪層編號(hào)設(shè)計(jì)變量示意圖如圖2所示。Δk 為板簧在通電前后的變剛度效果,稱其為第一目標(biāo)(T1);R 為板簧的結(jié)構(gòu)強(qiáng)度比,稱其為第二目標(biāo)(T2)。
在BP神經(jīng)網(wǎng)絡(luò)模型中,輸入層各因素對(duì)輸出層各因素的影響程度取決于輸入層各影響因素的權(quán)重,通過BP神經(jīng)網(wǎng)絡(luò)的自主學(xué)習(xí)能力,網(wǎng)絡(luò)不斷進(jìn)行自我訓(xùn)練和調(diào)節(jié),使最終的網(wǎng)絡(luò)輸出值不斷逼近實(shí)際值。模型的訓(xùn)練基于Pytorch深度學(xué)習(xí)框架,采用留出法(Holdout)進(jìn)行驗(yàn)證,將整個(gè)數(shù)據(jù)集隨機(jī)分成兩個(gè)部分,完整的數(shù)據(jù)集有8 000組,其中7 920組數(shù)據(jù)作為訓(xùn)練集,80組數(shù)據(jù)作為測(cè)試集。使用SGD(隨機(jī)梯度下降策略)優(yōu)化算法更新訓(xùn)練數(shù)據(jù)中的網(wǎng)絡(luò)權(quán)重。損失函數(shù)采取均方誤差(MSE)來衡量訓(xùn)練過程中預(yù)測(cè)值與真實(shí)值的匹配程度。隱藏層使用激活函數(shù)ReLU,輸出層使用線性激活函數(shù)。本文還考慮了網(wǎng)絡(luò)拓?fù)浜蛯W(xué)習(xí)率對(duì)模型性能的影響,并開發(fā)了幾種網(wǎng)絡(luò)模型,這些模型的隱藏層層數(shù)和神經(jīng)元數(shù)量各不相同,根據(jù)經(jīng)驗(yàn)公式判定隱藏單元數(shù)的大概取值范圍,進(jìn)而通過試錯(cuò)法確定最佳網(wǎng)絡(luò)結(jié)構(gòu),經(jīng)驗(yàn)公式如下:
其中:n 為輸入層單元數(shù)量,m 為輸出層單元數(shù)量,α 為1~10的常數(shù)。
常見的回歸模型一般使用R2 系數(shù)和RMSE 評(píng)估回歸模型的性能。其中,R2 系數(shù)又稱擬合優(yōu)度,通常被用來描述數(shù)據(jù)對(duì)模型擬合程度的好壞,表示自變量對(duì)因變量的解釋程度,值域在[0,1]之間,越接近1,說明回歸擬合效果越好。RMSE 為均方根誤差,它衡量了預(yù)測(cè)值與真實(shí)值之間的均方根差異,表示預(yù)測(cè)值與真實(shí)值之間的平均偏差程度。R2 系數(shù)和RMSE的計(jì)算公式如下:
為了獲得泛化性能良好的模型,需要合理設(shè)置完整遍歷數(shù)據(jù)集的次數(shù),若遍歷次數(shù)過少,則有可能發(fā)生欠擬合(對(duì)于定性數(shù)據(jù)的學(xué)習(xí)不夠充分),若太多,則容易發(fā)生過擬合(泛化能力不足,在非樣本的數(shù)據(jù)上表現(xiàn)很差),所以本文引入提前停止功能,在每次遍歷結(jié)束后進(jìn)行一次誤差檢查,如果200次遍歷中,某次迭代下誤差未得到1e-6的改善降低,便提前停止訓(xùn)練。
1.4 訓(xùn)練結(jié)果總結(jié)與討論
在訓(xùn)練過程中,研究人員嘗試調(diào)整損失權(quán)重(各個(gè)目標(biāo)損失在總損失中的占比),但是發(fā)現(xiàn)這類改變對(duì)于擬合效果的改善效果微乎其微,表明兩個(gè)輸出之間的任務(wù)關(guān)聯(lián)性較強(qiáng),存在一定的依賴關(guān)系,所以網(wǎng)絡(luò)會(huì)自動(dòng)適應(yīng)重要性不同的任務(wù)。本文雖然通過加權(quán)求和得到總損失,但是不會(huì)考慮損失權(quán)重的影響,在BP神經(jīng)網(wǎng)絡(luò)模型中將其設(shè)置為1∶1。輸入層神經(jīng)元數(shù)量恒定為18個(gè),輸出層神經(jīng)元數(shù)量恒定為2個(gè),由此對(duì)不同隱藏層的層數(shù)、不同隱藏層的神經(jīng)元數(shù)量及不同學(xué)習(xí)率的模型進(jìn)行了性能評(píng)估,基于模型性能選擇網(wǎng)絡(luò)拓?fù)浜蛯W(xué)習(xí)率設(shè)置如表1所示。
從表1中的數(shù)據(jù)可知,在經(jīng)驗(yàn)公式給出的范圍內(nèi),當(dāng)學(xué)習(xí)率和隱藏層層數(shù)保持一致時(shí),增加隱藏層神經(jīng)元數(shù)量能夠在一定程度上提升網(wǎng)絡(luò)性能。通常,學(xué)習(xí)率越小,意味著極值點(diǎn)越不容易被忽略,但也可能導(dǎo)致進(jìn)入局部極值點(diǎn)就收斂,并大幅降低收斂速度;學(xué)習(xí)率過大,意味著有可能找不到極值點(diǎn),容易在最優(yōu)解附近振蕩。由表1可知,學(xué)習(xí)率越大對(duì)本文所提網(wǎng)絡(luò)的性能改善效果越好,并且具有較快的訓(xùn)練速度。綜上所述,表1中序號(hào)8的網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)為最佳模型,其網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖3所示,測(cè)試集中預(yù)測(cè)結(jié)果與真實(shí)值的對(duì)比如圖4和圖5所示。描述T1的預(yù)測(cè)效果的R2 系數(shù)達(dá)到了0.992,RMSE僅有0.046。描述T2的預(yù)測(cè)效果的R2 系數(shù)達(dá)到了0.862,RMSE僅有0.026。在本文中,T1作為主要目標(biāo),傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)對(duì)其預(yù)測(cè)效果也比較理想,而對(duì)T2的預(yù)測(cè)效果則稍顯不足,因此還需對(duì)模型進(jìn)行改進(jìn)。
2 GA-BP 算法模擬分析(GA-BP algorithmsimulation analysis)
2.1 GA-BP算法概述
BP神經(jīng)網(wǎng)絡(luò)中存在隱藏單元,雖然在訓(xùn)練過程中采用了梯度下降的策略對(duì)權(quán)值進(jìn)行更新,但是由于無法保證誤差全局最小,因此網(wǎng)絡(luò)的權(quán)值和閾值可能并非最優(yōu)。盡管BP神經(jīng)網(wǎng)絡(luò)模型已經(jīng)具備一定的預(yù)測(cè)精度,但是為了更準(zhǔn)確地預(yù)測(cè)板簧的靜態(tài)性能,本研究采用遺傳算法(GA)[10-11]替代梯度下降策略對(duì)BP神經(jīng)網(wǎng)絡(luò)模型的權(quán)重和閾值進(jìn)行優(yōu)化。遺傳算法基于遺傳學(xué)的原理,以遺傳學(xué)為理論基礎(chǔ),通過模擬群體中個(gè)體的選擇、交叉和變異等過程,逐步優(yōu)化問題。引入GA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)可以很好地解決在BP神經(jīng)網(wǎng)絡(luò)中初始權(quán)重選擇范圍大、誤差無法獲取到全局最小值等問題,從而得到一個(gè)預(yù)測(cè)性能和精度更好的網(wǎng)絡(luò)模型[12]。
使用GA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)分為以下3個(gè)部分:①BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的確定;②使用GA進(jìn)行權(quán)值訓(xùn)練;③進(jìn)行GA-BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)。在已經(jīng)確定了神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)的基礎(chǔ)上,研究人員采用遺傳算法進(jìn)一步優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,在此過程中,每個(gè)遺傳算法的個(gè)體均涵蓋網(wǎng)絡(luò)的所有權(quán)值和閾值,其適應(yīng)度通過特定的適應(yīng)度函數(shù)進(jìn)行計(jì)算。遺傳算法通過選擇、交叉、變異等操作,篩選出最優(yōu)適應(yīng)度值的個(gè)體。BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)利用遺傳算法得到的最優(yōu)個(gè)體分配網(wǎng)絡(luò)的初始權(quán)值和閾值,然后用這些數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò),最終獲得預(yù)測(cè)模型的輸出。GA-BP算法流程圖如圖6所示,GA-BP優(yōu)化步驟如下。
(1)染色體編碼。根據(jù)前文建立的變剛度復(fù)合材料板簧性能預(yù)測(cè)BP神經(jīng)網(wǎng)絡(luò),將其所有的權(quán)值和閾值作為染色體的基因片段,采用分段的實(shí)數(shù)編碼方式,每個(gè)染色體都是一個(gè)實(shí)數(shù)串。所有基因形成染色體向量V=[v1,v2,…,vk,…,vn],其中[v1,v2,…,vk]是染色體的權(quán)重基因,[vk +1,…,vn ]是染色體的閾值基因。
(2)種群初始化。通過BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值隨機(jī)初始化生成對(duì)應(yīng)種群規(guī)模的染色體數(shù)量。
(3)適應(yīng)度函數(shù)構(gòu)造。遺傳算法是通過適應(yīng)度函數(shù)模擬大自然中的“適者生存”機(jī)制,因此適應(yīng)度函數(shù)要能有效地指導(dǎo)整體優(yōu)化方向,并且保證不會(huì)陷入局部最優(yōu)或者搜索不收斂的情況。為提升BP神經(jīng)網(wǎng)絡(luò)的泛化能力,在混合訓(xùn)練中,本文以所有目標(biāo)樣本的誤差平方和作為染色體個(gè)體的適應(yīng)度值,以獲取更優(yōu)的初始權(quán)值,其公式如下:
其中:yi 是BP神經(jīng)網(wǎng)絡(luò)第i 個(gè)輸入特征下的板簧性能的期望輸出值,y^i 是第i 個(gè)輸入特征下的板簧性能的預(yù)測(cè)輸出值,N為目標(biāo)樣本總數(shù)。
(4)選擇策略。遺傳算法的選擇策略有很多種,例如輪盤賭法和錦標(biāo)賽法。本文中選擇輪盤賭法,具體而言,采用了基于適應(yīng)度大小進(jìn)行選擇的概率分配方法,其公式如下:
其中,F(xiàn)i 為個(gè)體的適應(yīng)度值。由于本文中適應(yīng)度值代表的是期望輸出與預(yù)測(cè)輸出的誤差大小,因此該值越小越好,但在輪盤賭中適應(yīng)度越大的個(gè)體,被選中的概率更高,因此在個(gè)體選擇之前,需要將適應(yīng)度值進(jìn)行轉(zhuǎn)換,本文進(jìn)行了倒數(shù)處理。fi是轉(zhuǎn)換后的個(gè)體適應(yīng)度值,pi 是每個(gè)個(gè)體在輪盤賭中被選擇的概率。
(5)交叉策略。由于本文采用實(shí)數(shù)編碼的方式對(duì)個(gè)體進(jìn)行染色體編碼,交叉操作方法采用簡(jiǎn)單的單點(diǎn)交叉方式,通過選擇策略篩選出的個(gè)體進(jìn)行隨機(jī)配對(duì),分成父代和母代,再通過隨機(jī)選擇交叉點(diǎn)進(jìn)行基因交換。值得一提的是,為了更好地保證種群的多樣性,本文引入交叉概率,滿足條件則進(jìn)行如上的單點(diǎn)交叉方式,不滿足條件則直接返回父代和母代。
2.2 參數(shù)設(shè)置
在已訓(xùn)練好的網(wǎng)絡(luò)結(jié)構(gòu)上,采用遺傳算法對(duì)權(quán)重進(jìn)行更新迭代,搜索使目標(biāo)損失最小的預(yù)測(cè)模型參數(shù),鑒于本文的模型為多輸出類型,遺傳算法的適應(yīng)度計(jì)算,即目標(biāo)損失,是通過加權(quán)和的方式來確定的。對(duì)于變剛度復(fù)合材料板簧而言,變剛度效果為首要滿足目標(biāo),因此將權(quán)值設(shè)置成第一目標(biāo)(變剛度效果)為0.6,第二目標(biāo)(結(jié)構(gòu)強(qiáng)度)為0.4。初始化時(shí),設(shè)置迭代次數(shù)為1 000次,種群大小為300,選擇策略采取輪盤賭法,交叉策略采取單點(diǎn)交叉,交叉概率設(shè)置為0.95,變異概率為0.1,經(jīng)過345次迭代后獲得最優(yōu)結(jié)果,其中適應(yīng)度變化曲線如圖7所示。
2.3 模型評(píng)估性能對(duì)比
為了更好地觀測(cè)預(yù)測(cè)效果與真實(shí)值的誤差,引入絕對(duì)誤差計(jì)算,公式如下:
其中:y^為預(yù)測(cè)輸出值,y 為真實(shí)輸出值。兩個(gè)目標(biāo)的兩種方法預(yù)測(cè)誤差對(duì)比如圖8和圖9所示。
對(duì)比傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)誤差和GA-BP神經(jīng)網(wǎng)絡(luò)的誤差,評(píng)價(jià)指標(biāo)結(jié)果如表2所示。
從表2中的數(shù)據(jù)可以看出,GA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型模擬的擬合優(yōu)度為0.969,比傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型提高了4.5%,均方誤差降低了50%,GA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果誤差較小,更接近期望目標(biāo)值,優(yōu)化效果明顯。
從圖8和圖9中可以看出,對(duì)于兩個(gè)目標(biāo)而言,大部分誤差均處于±0.04范圍內(nèi),少數(shù)達(dá)到了±0.06以上,總體符合預(yù)測(cè)精度要求,并且在大部分測(cè)試樣本中,相較于傳統(tǒng)單一使用BP神經(jīng)網(wǎng)絡(luò)模型,經(jīng)過GA優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測(cè)結(jié)果誤差更小,更接近真實(shí)值,并且具有更準(zhǔn)確的變剛度復(fù)合材料板簧性能預(yù)測(cè)結(jié)果。
2.4 優(yōu)化速度對(duì)比
將擬合好的神經(jīng)網(wǎng)絡(luò)模型導(dǎo)入Matlab中,與變剛度復(fù)合材料板簧的理論模型直接進(jìn)行計(jì)算對(duì)比,綜合考慮優(yōu)化目標(biāo)變剛度效果和結(jié)構(gòu)強(qiáng)度,對(duì)每個(gè)驅(qū)動(dòng)器的空間布置參數(shù)進(jìn)行遺傳算法尋優(yōu),分為傳統(tǒng)遺傳算法尋優(yōu)(每次迭代種群中的個(gè)體目標(biāo)值通過理論模型計(jì)算得到),GA-BP-GA算法尋優(yōu)(每次迭代種群中的個(gè)體目標(biāo)值通過預(yù)測(cè)模型得到)。在相同的計(jì)算機(jī)配置下優(yōu)化效率對(duì)比如表3所示。
從表3中的數(shù)據(jù)可知,使用GA-BP神經(jīng)網(wǎng)絡(luò)對(duì)個(gè)體進(jìn)行預(yù)測(cè)代替?zhèn)鹘y(tǒng)的對(duì)于目標(biāo)函數(shù)值的直接計(jì)算,在單次目標(biāo)值的計(jì)算中效率提高了172倍,在總體空間位置尋優(yōu)中同樣大大提高了效率,優(yōu)勢(shì)明顯。并且,尋優(yōu)得到的驅(qū)動(dòng)器空間布置參數(shù)完全一致,符合優(yōu)化結(jié)果。在更大的板式結(jié)構(gòu)中,隨著驅(qū)動(dòng)器數(shù)量和可選位置的增加,尋優(yōu)效率的提升效果將更加明顯。
3 結(jié)論(Conclusion
本文基于傳統(tǒng)智能算法尋優(yōu)效率低的缺點(diǎn),提出GA-BP 神經(jīng)網(wǎng)絡(luò)方法,并針對(duì)變剛度復(fù)合材料板簧中驅(qū)動(dòng)器的空間布置情況進(jìn)行了分析,通過對(duì)比兩個(gè)方法對(duì)于性能目標(biāo)的擬合優(yōu)度和均方根誤差,相較于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)方法,經(jīng)過GA優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的預(yù)測(cè)精度更高,均方根誤差和平均誤差更小,優(yōu)化效果明顯,并且其多目標(biāo)平均預(yù)測(cè)精度達(dá)到96.9%,滿足要求。此預(yù)測(cè)方法相較于傳統(tǒng)智能算法大大提升了空間位置的尋優(yōu)效率,為大型板式結(jié)構(gòu)的尋優(yōu)效率的提升提供了有益的參考。