高昶霖,宋燕利,2,3,左洪洲,章誠
(1.武漢理工大學(xué),現(xiàn)代汽車零部件技術(shù)湖北省重點實驗室,武漢,430070;2.武漢理工大學(xué),汽車零部件技術(shù)湖北省協(xié)同創(chuàng)新中心,武漢,430070;3.武漢理工大學(xué),湖北省材料綠色精密成形工程技術(shù)研究中心,武漢,430070;4.湖北省齊星汽車車身股份有限公司,隨州,441300)
為適應(yīng)高性能智能化制造國際發(fā)展趨勢與國家重大需求,焊接缺陷智能診斷技術(shù)成為新興的前沿制造方向.焊接缺陷產(chǎn)生的原因分析歷來是焊接領(lǐng)域的難點,由于缺陷種類形態(tài)多樣,缺陷形成原因復(fù)雜,因而缺陷成因診斷過于依賴人工經(jīng)驗,導(dǎo)致效率和可靠性極低.為解決此問題,具有智能診斷功能的焊接專家系統(tǒng)逐漸得到應(yīng)用[1-2].
目前,應(yīng)用于專家系統(tǒng)的智能算法有隨機森林、決策樹、神經(jīng)網(wǎng)絡(luò)等.其中隨機森林、決策樹是基于一定的規(guī)則條件,無法準確反映缺陷特征、工藝參數(shù)與焊接缺陷成因之間復(fù)雜的非線性關(guān)系,診斷準確率較低.神經(jīng)網(wǎng)絡(luò)算法具有大規(guī)模并行處理、學(xué)習(xí)能力強、非線性度高等特點,利用神經(jīng)網(wǎng)絡(luò)的連接機制代替?zhèn)鹘y(tǒng)專家系統(tǒng)的規(guī)則表示,更適合于焊接熱源建模、焊接工藝優(yōu)化和缺陷診斷識別這類非線性、多分類問題[3-5].
雖然神經(jīng)網(wǎng)絡(luò)有許多優(yōu)點,但其缺點也很明顯,即容易陷入局部極小值,需要長期學(xué)習(xí),收斂速度慢等[6],因而需要將其它方法與神經(jīng)網(wǎng)絡(luò)進行結(jié)合.劉占軍等人[7]提出神經(jīng)網(wǎng)絡(luò)缺陷診斷專家系統(tǒng),對鋁合金焊接氣孔缺陷成因進行診斷,借助補償模糊控制使其診斷誤差最小化,提高診斷精度及置信度.姜洪權(quán)等人[8]提出將隨機森林與卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合的強化特征選擇方法對汽輪機的焊接缺陷診斷,通過提高特征選擇能力,使得所提方法比傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)方法具有更高的缺陷識別率.Ravi 等人[9]采用圖像金字塔及圖像重構(gòu)技術(shù)與卷積神經(jīng)網(wǎng)絡(luò)結(jié)合,對AA1100 鋁合金的裂紋、凹坑等焊接缺陷進行分類,給出了焊道表面橫截面中各類缺陷的密度,有助于焊接參數(shù)監(jiān)測系統(tǒng)的搭建.Bacioiu 等人[10]使用高動態(tài)范圍成像與神經(jīng)網(wǎng)絡(luò)相結(jié)合,對5083 鋁合金的燒穿、未熔合等焊接缺陷進行分類,但未給出缺陷成因.
目前焊接缺陷診斷主要集中在缺陷種類識別,對缺陷成因的智能推理研究較少,且均簡單地采用神經(jīng)網(wǎng)絡(luò)與其它方法聯(lián)合以提高識別能力,缺少對模型內(nèi)部結(jié)構(gòu)自適應(yīng)調(diào)整算法的探討.基于此,提出粒子群-反向傳播(particle swarm optimization-back propagation,PSO-BP)神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)描述方法,構(gòu)建具有內(nèi)部結(jié)構(gòu)自適應(yīng)調(diào)整功能的焊接缺陷成因診斷神經(jīng)網(wǎng)絡(luò)模型.該模型能夠有效提升焊接缺陷成因診斷的效率和精度,為焊接工藝優(yōu)化提供可靠依據(jù).
PSO 算法的主要思想是通過種群中個體之間的協(xié)作和信息共享尋找最優(yōu)解[11].系統(tǒng)初始化為一組隨機解,通過迭代搜尋最優(yōu)值.在PSO 算法中,每個粒子代表這個優(yōu)化問題的一個潛在解.在模型運行時,首先初始化一群隨機粒子(隨機解),然后每個粒子都對應(yīng)一個由被優(yōu)化函數(shù)所決定的適應(yīng)度,在不斷的迭代中,每個粒子通過跟蹤個體極值(粒子本身所找到的最優(yōu)解)和全局極值(整個種群當前找到的最優(yōu)解)更新直到找到最優(yōu)解[12-13].
設(shè)共有M個粒子,其中,第i個粒子的位置在D維解空間的位置表示為Xi=(xi1,xi2,···,xiD),速度表示為Vi=(vi1,vi2,···,viD),其中i=1,2,···,M. 將位置Xi帶入適應(yīng)度函數(shù)可計算出該粒子當前位置所對應(yīng)的適應(yīng)度.第i個粒子所經(jīng)過的歷史最佳位置向量記為Pi=(pi1,pi2,···,piD),整個粒子群所經(jīng)歷過的歷史最佳位置向量記為Pg=(pg1,pg2,···,pgD).整個粒子群通過更新自身的速度和位置來搜索整個狀態(tài)空間.
式中:n=1,2,···,D,表示粒子對應(yīng)的維度;t為當前迭代次數(shù);vin(t),xin(t),pin(t)分別表示第i個粒子在迭代t次后第n個維度的速度、位置、歷史最佳位置;xgn(t),pgn(t)分別表示整個粒子群在迭代t次后第n個維度的位置、歷史最佳位置;ω為慣性權(quán)重;c1,c2為 學(xué)習(xí)因子;r1和r2為每次迭代生成的[0,1]內(nèi)的隨機數(shù).
PSO-BP 神經(jīng)網(wǎng)絡(luò)的基本原理就是利用 BP 神經(jīng)網(wǎng)絡(luò)建立焊接缺陷特征及工藝參數(shù)和缺陷形成原因之間的拓撲關(guān)系,使用PSO 算法來代替BP 模型中的初始化方法確定神經(jīng)網(wǎng)絡(luò)的初始網(wǎng)絡(luò)參數(shù).
在PSO-BP 神經(jīng)網(wǎng)絡(luò)中,神經(jīng)元之間所有的網(wǎng)絡(luò)參數(shù)對應(yīng)粒子群中一個粒子在當前迭代次數(shù)的位置,BP 神經(jīng)網(wǎng)絡(luò)每進行一次網(wǎng)絡(luò)參數(shù)的更新則視作粒子位置的改變.設(shè)BP 神經(jīng)網(wǎng)絡(luò)輸入層、隱藏層、輸出層個數(shù)為ni,nh,no,則第i個粒子的位置可表示為
式中:wpq(p=1,2,···,ni;q=1,2,···,nh) 表示輸入層到隱藏層的連接權(quán)值;uqr(q=1,2,···,nh;r=1,2,···,no)表示隱藏層到輸出層的連接權(quán)值;αq,βr分別為隱藏層和輸出層各神經(jīng)元對應(yīng)的偏置項.D的值等于wpq,uqr,αq,βr4 類參數(shù)的個數(shù)總和.
損失函數(shù)是用來評價模型預(yù)測值與真實值不同程度的指標,損失函數(shù)值越小,表明預(yù)測值與實際值越接近,因而模型的性能越好.由于BP 神經(jīng)網(wǎng)絡(luò)損失函數(shù)采用交叉熵作為損失函數(shù),故PSO 算法中粒子的適應(yīng)度函數(shù)fi如式(4)所示.
式中:n為樣本個數(shù);Yj,k為第j個樣本的第k個實際輸出值,yj,k為第j個樣本的第k個預(yù)測輸出值.
在模型訓(xùn)練時,神經(jīng)網(wǎng)絡(luò)參數(shù)就對應(yīng)了PSO 算法中的粒子位置.將神經(jīng)網(wǎng)絡(luò)模型初始化后的神經(jīng)網(wǎng)絡(luò)參數(shù)拉伸成一維,輸入給PSO 算法,即得到PSO 算法中粒子的位置.通過PSO 算法優(yōu)化后的參數(shù)再帶入神經(jīng)網(wǎng)絡(luò)中,再采用梯度下降算法,進行網(wǎng)絡(luò)參數(shù)的更新,最終輸出最優(yōu)的網(wǎng)絡(luò)模型.
在傳統(tǒng)PSO-BP 神經(jīng)網(wǎng)絡(luò)算法的基礎(chǔ)上,對網(wǎng)絡(luò)參數(shù)的更新方式進行了改進.
1.3.1 慣性權(quán)重
在PSO 算法初始化神經(jīng)網(wǎng)絡(luò)參數(shù)時,選取一個合適的慣性權(quán)重值 ω 可以平衡粒子全局搜索能力和局部搜索能力,增強粒子群的尋優(yōu)性能.傳統(tǒng)PSO 算法中,慣性權(quán)重是一個定值,不能隨著迭代次數(shù)進行變化,使得模型的靈活性和泛化能力不足.基于此提出了一種自適應(yīng)慣性權(quán)重 ω.
在初始搜索階段,此時粒子的適應(yīng)度較大,慣性權(quán)重采用初始值較小的線性變化,以削弱這些粒子在粒子更新中所起的作用,使得算法在此階段具有更強的全局搜索能力,并能盡快進入局部搜索;而在尋優(yōu)后期,粒子適應(yīng)度較小時,采用非線性的慣性權(quán)重,增大單個粒子在更新中的作用,使得算法能夠快速收斂.設(shè)計的慣性權(quán)重如式(5)所示.
式中:ωmax與 ωmin分別為慣性權(quán)重 ω 的最大值和最小值;l1(t) 為非線性函數(shù);l2(t) 為線性函數(shù);fi為當前粒子的適應(yīng)度;fmin為粒子最小適應(yīng)度.
式中:t為模型當前迭代次數(shù);tmax為模型最大迭代次數(shù).
1.3.2 學(xué)習(xí)因子
在PSO 算法中,除了慣性權(quán)重這一重要參數(shù)外,學(xué)習(xí)因子c1,c2也起到了至關(guān)重要的作用,c1表示單個粒子的更新速率,c2表示整個粒子群的更新速率.合適的學(xué)習(xí)因子可以加快粒子的搜索速度,減少算法陷入局部最優(yōu)的可能性.在算法的初期,采取較大學(xué)習(xí)因子c1和較小學(xué)習(xí)因子c2,每個粒子都要注意自身的歷史信息,以保證各粒子狀態(tài)變化的多樣性.但是,在搜索后期,c1減少,而c2增加,使得粒子更加關(guān)注群體的社會信息,保持快速收斂.
設(shè)計的慣性權(quán)重如式(7)所示.
式中:cmax與cmin分別為學(xué)習(xí)因子c的最大值和最小值.
1.3.3 動態(tài)權(quán)重因子
傳統(tǒng)的梯度下降法如式(8)所示.在BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,網(wǎng)絡(luò)參數(shù)的更新方式保留了原本BP 網(wǎng)絡(luò)的梯度下降算法,引入動態(tài)權(quán)重因子η,將PSO 算法與梯度下降法結(jié)合,如式(9)所示.
式中:x為 神經(jīng)網(wǎng)絡(luò)參數(shù);η為權(quán)重因子,代表更新參數(shù)時PSO 算法所占比重,取值為(0,1);?x為神經(jīng)網(wǎng)絡(luò)參數(shù)在該方向的梯度;c為神經(jīng)網(wǎng)絡(luò)中的學(xué)習(xí)率;xPSO為由PSO 算法確定的神經(jīng)網(wǎng)絡(luò)參數(shù).
動態(tài)權(quán)重因子η 由式(10)確定.
在參數(shù)更新時,采用動態(tài)權(quán)重匹配,在更新初始階段,動態(tài)權(quán)重接近于1,使得算法的更新以PSO 算法為主,此時算法能更好地進行全局搜索.當模型迭代不斷進行時,動態(tài)權(quán)重系數(shù)開始線性下降,在此階段,采用PSO 與梯度下降法相結(jié)合的算法,使得算法訓(xùn)練速度和效率加快,能夠穩(wěn)定地找到最優(yōu)的神經(jīng)網(wǎng)絡(luò)參數(shù).
圖1 顯示了傳統(tǒng)PSO-BP 算法流程與改進的PSO-BP 算法流程.
圖1 不同算法流程Fig.1 Different algorithms flow.(a) traditional PSO-BP algorithm;(b) adaptive PSO-BP algorithm based on dynamic weighting
焊接缺陷成因診斷采用數(shù)據(jù)驅(qū)動的正向推理策略,將缺陷特征及焊接工藝參數(shù)輸入到網(wǎng)絡(luò)的輸入層神經(jīng)元,求出隱藏層神經(jīng)元的輸出作為輸出層的輸入,最終得到輸出層神經(jīng)元的輸出.采用由閾值函數(shù)判定輸出層神經(jīng)元的最終輸出結(jié)果.取閾值為 φ,則將yj≥φ(j為缺陷成因種類數(shù),取值為1,2,···,11)的結(jié)果進行輸出,其余的結(jié)果進行歸零處理.取φ 為第三大值,則輸出結(jié)果表示3 種最有可能造成缺陷的原因及其置信度.具體算法流程圖如圖2 所示.
圖2 焊接缺陷成因智能診斷算法流程Fig.2 Intelligent diagnosis algorithm process for welding defect causes
改進的PSO-BP 神經(jīng)網(wǎng)絡(luò)混合算法的流程如下.
(1)初始化BP 網(wǎng)絡(luò)結(jié)構(gòu),包括設(shè)定網(wǎng)絡(luò)的輸入層、隱藏層、輸出層的神經(jīng)元個數(shù),損失函數(shù)和學(xué)習(xí)率等.初始化粒子群規(guī)模,包括粒子的初始位置、速度、慣性權(quán)重最大值 ωmax、慣性權(quán)重最小值 ωmin、學(xué)習(xí)因子cmax,cmin、最大迭代次數(shù)tmax、每個粒子歷史最佳位置Pi和粒子群歷史最佳位置Pg等.
(2)根據(jù)專家系統(tǒng)知識庫建立神經(jīng)網(wǎng)絡(luò)的拓撲結(jié)構(gòu),將神經(jīng)元之間所有的連接權(quán)值和偏置編碼成一維實數(shù)數(shù)組,每一個一維實數(shù)數(shù)組對應(yīng)一個粒子在當前神經(jīng)網(wǎng)絡(luò)中迭代次數(shù)的初始位置.對每一個樣本而言,都可以按式(4)計算出粒子的適應(yīng)度fi,并與該粒子的最小適應(yīng)度fmin進 行比較,若fi<fmin,則將粒子的最小適應(yīng)度fmin取 值為fi,fi對應(yīng)的位置就是最佳位置Pi,并將慣性權(quán)重按式(5)進行非線性調(diào)整;若fi≥fmin,則將慣性權(quán)重按式(5)進行線性調(diào)整,最小適應(yīng)度fmin及 最佳位置Pi保持不變.
(3)利用式(1)更新粒子的速度vin與Vi.利用式(2)更新粒子的位置xin與Xi.
(4)計算粒子群的全局最小適應(yīng)度fg=min{f1,f2,···,fM},若當前迭代次數(shù)達到最大迭代次數(shù),則迭代停止;否則轉(zhuǎn)到第2 步繼續(xù)更新.
(5)輸出整個粒子群所確定的神經(jīng)網(wǎng)絡(luò)參數(shù)Pg=(pg1,pg2,···,pgD)作為神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的初值.再結(jié)合BP 神經(jīng)網(wǎng)絡(luò)反向傳播梯度下降算法,利用式(9)對神經(jīng)網(wǎng)絡(luò)權(quán)值和偏置進一步更新.輸出改進后的PSO-BP 算法所確定的神經(jīng)網(wǎng)絡(luò)權(quán)值和偏置,并建立最優(yōu)的模型.
(6)利用建立好的模型對焊接缺陷形成原因進行診斷,輸出缺陷產(chǎn)生的原因,算法結(jié)束.
以5083 鋁合金中厚板脈沖焊接為例,采用焊接試驗及仿真方式獲取試驗數(shù)據(jù),利用X 射線進行無損探傷,利用圖像處理方法得到缺陷特征,并給出缺陷形成原因.通過隨機設(shè)置不同的焊接工藝參數(shù),共得到180 組有效數(shù)據(jù).
在實際焊接缺陷成因診斷時,涉及到的焊接參數(shù)眾多,獨立性較差,使得神經(jīng)網(wǎng)絡(luò)輸入特征難以確定,很容易將一些不重要的特征引入進來,造成模型的精度下降,因此選擇合理且重要的特征變量是十分有意義的.參考Li 等人[14]的研究,采用平均影響值(mean impact value,MIV)與BP 神經(jīng)網(wǎng)絡(luò)相結(jié)合,來篩選對缺陷成因影響靈敏度高的焊接參數(shù)進行建模.MIV 的主要原理是通過控制不同參數(shù)的變化來確定參數(shù)與預(yù)測結(jié)果的重要性.其具體計算過程為:首先基于完整訓(xùn)練集訓(xùn)練模型;再通過添加/減去每個特征向量值的10%的比例,生成新的輸入值(X1,X2),與其它特征向量構(gòu)成新的輸入;使用新輸入運行訓(xùn)練模型,計算新輸出(Y1,Y2)之間的差值為影響值(IV),最后將IV 按觀測例數(shù)平均得出該自變量對應(yīng)變量MIV.MIV 的絕對值大小代表焊接參數(shù)相對于焊接缺陷成因影響的靈敏程度,正負值則代表相關(guān)的方向.此時,可將 MIV 絕對值較大的參數(shù)挑選出來進行建模,從而實現(xiàn)對焊接參數(shù)的篩選.對焊接試驗涉及的10 個焊接參數(shù)進行基于MIV 的變量篩選,結(jié)果如表1 所示.由表1 可知,焊接缺陷成因的影響因素主要是缺陷種類、缺陷長寬比、焊接電流、焊接電壓、焊接速度、送絲速度和氣體流量這7 個變量,其MIV 值所占比例之和達到了94.216%.故將這7 個變量作為BP 神經(jīng)網(wǎng)絡(luò)的輸入,將缺陷形成原因作為輸出,以此構(gòu)建神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu).
表1 基于MIV 的焊接成因診斷輸入特征變量靈敏度分析Table 1 Sensitivity analysis of input characteristic variables for welding cause diagnosis based on MIV
理論證明,對于任何在閉區(qū)間內(nèi)的一個連續(xù)函數(shù)都可以用一層隱藏層的BP 神經(jīng)網(wǎng)絡(luò)來逼近,因而一個單隱藏層的BP 網(wǎng)絡(luò)可以完成任意的n維到m維的映射[15].可以用圖3 所示的一個單隱藏層神經(jīng)網(wǎng)絡(luò)來搭建焊接缺陷分析模型.
圖3 BP 神經(jīng)網(wǎng)絡(luò)焊接缺陷分析模型Fig.3 BP neural network model for welding defect analysis
對于如何確定隱藏層神經(jīng)元的數(shù)目,目前還沒有明確而廣泛的結(jié)論.根據(jù)Sheela 等人[16]綜述中提到的經(jīng)驗公式初步確定隱藏層神經(jīng)元個數(shù)nh.
式中:i nt()為 向下取整函數(shù);ni,no分別為輸入層、輸出層神經(jīng)元個數(shù).由上述隱藏層節(jié)點公式,初步確定隱藏層神經(jīng)元個數(shù)為14.
試驗硬件采用Intel Core i5-9300H 處理器和Nvidia GeForce GTX 1660Ti 獨立顯卡.軟件環(huán)境采用Windows10 操作系統(tǒng),深度學(xué)習(xí)框架Tensor flow-gpu-2.1.0.在得到試驗數(shù)據(jù)之后,對試驗數(shù)據(jù)進行預(yù)處理,進行歸一化、標準化處理,將各個特征處于同一數(shù)量級,從而消除奇異樣本數(shù)據(jù)導(dǎo)致的不良影響.將收集到的試驗數(shù)據(jù)隨機分為4∶1∶1 作為訓(xùn)練集、驗證集和測試集(測試集不用于神經(jīng)網(wǎng)絡(luò)訓(xùn)練,僅作為試驗最后的驗證).采用改進的單隱藏層PSO-BP 神經(jīng)網(wǎng)絡(luò),在使用BP 算法的前向傳播計算時,使用tanh()函數(shù)作為第一層的激活函數(shù),使用sigmoid()函數(shù)作為第二層的激活函數(shù).采用交叉熵作為損失函數(shù).為了緩解過擬合現(xiàn)象,采用Adam 正則化.設(shè)置學(xué)習(xí)率為0.4,迭代2 000 次.使用PSO 算法時,慣性權(quán)重最小值 ωmin=0.4,最大值 ωmax=1,學(xué)習(xí)因子最小值cmin=0.6,學(xué)習(xí)因子最大值cmax=1.5,粒子初始化的位置在(-1,1)之間,粒子的最大速度為0.5.
試驗用網(wǎng)絡(luò)結(jié)構(gòu)隱藏層神經(jīng)元個數(shù)初定為14,設(shè)置學(xué)習(xí)率為0.4,再采用網(wǎng)格搜索法,在一定的取值范圍內(nèi)取多組參數(shù)值(隱藏層神經(jīng)元個數(shù))建立BP 神經(jīng)網(wǎng)絡(luò),并利用獲得的有效樣本數(shù)據(jù)進行訓(xùn)練,迭代2 000 次,測試結(jié)果如圖4 所示.從圖4 可以看出,隱藏層神經(jīng)元個數(shù)為14 時,網(wǎng)絡(luò)迭代2 000次的損失函數(shù)值最低;神經(jīng)元個數(shù)為16 時,準確率達到93.33%,且此時的損失函數(shù)值與損失函數(shù)值最低值接近.考慮到準確率與損失函數(shù)值帶來的影響,最終選擇隱藏層神經(jīng)元個數(shù)為16 的單隱藏層神經(jīng)網(wǎng)絡(luò)進行模型的訓(xùn)練.
圖4 網(wǎng)格搜索法確定隱藏層神經(jīng)元個數(shù)Fig.4 Grid search to determine the number of neurons in the hidden layer
4.3.1 改進的PSO-BP 算法訓(xùn)練結(jié)果
將經(jīng)過MIV 變量篩選后的數(shù)據(jù)放入搭建好的基于動態(tài)權(quán)重的自適應(yīng)PSO-BP 神經(jīng)網(wǎng)絡(luò)模型中,模型在訓(xùn)練集、驗證集上的表現(xiàn)如圖5 所示.從圖5可以看出,訓(xùn)練集與驗證集的損失函數(shù)值均降至0.5 以下.經(jīng)過該網(wǎng)絡(luò)訓(xùn)練后的模型,可以很好的對鋁合金不同類型的焊接缺陷形成原因的進行診斷,滿足焊接缺陷分析要求.
圖5 損失函數(shù)曲線Fig.5 Loss function curve
4.3.2 不同算法的對比試驗
為了驗證基于動態(tài)權(quán)重的PSO-BP 神經(jīng)網(wǎng)絡(luò)的優(yōu)越性,設(shè)置BP 神經(jīng)網(wǎng)絡(luò)和傳統(tǒng)PSO-BP 神經(jīng)網(wǎng)絡(luò)進行對照,在傳統(tǒng)PSO-BP 神經(jīng)網(wǎng)絡(luò)中,參數(shù)設(shè)置參考王東風(fēng)等人[17]的研究,設(shè)置學(xué)習(xí)因子c1為2.043 4,c2為 0.948 7,慣性權(quán)重 ω為0.729 8,其它設(shè)置與基于動態(tài)權(quán)重的自適應(yīng)PSO-BP 神經(jīng)網(wǎng)絡(luò)保持一致.試驗結(jié)果如圖6 所示.從圖6 可以看出,以損失函數(shù)值降至0.5 以下為參考標準,BP 神經(jīng)網(wǎng)絡(luò)所需的迭代次數(shù)為1 000,傳統(tǒng)PSO-BP 神經(jīng)網(wǎng)絡(luò)需要610 次,而改進后的PSO-BP 神經(jīng)網(wǎng)絡(luò)則只需要530 次就能將損失函數(shù)值降至0.5 以下,減少了13.1%.因此,改進后的PSO-BP 神經(jīng)網(wǎng)絡(luò)對模型訓(xùn)練效率有了明顯的提升.
圖6 不同算法神經(jīng)網(wǎng)絡(luò)損失函數(shù)曲線Fig.6 Loss function curve of neural networks with different algorithms
4.3.3 不同算法的預(yù)測試驗
混淆矩陣也稱誤差矩陣,是表示精度評價的一種標準格式,用n行n列的矩陣形式來表示.混淆矩陣的每一列代表了預(yù)測類別,每一列的總數(shù)表示預(yù)測為該類別的數(shù)據(jù)的數(shù)目;每一行代表了數(shù)據(jù)的真實歸屬類別,每一行的數(shù)據(jù)總數(shù)表示該類別的數(shù)據(jù)實例的數(shù)目.
將測試集30 組數(shù)據(jù)作為驗證,利用訓(xùn)練好的改進的PSO-BP 神經(jīng)網(wǎng)絡(luò)模型、傳統(tǒng)PSO-BP 神經(jīng)網(wǎng)絡(luò)模型和BP 神經(jīng)網(wǎng)絡(luò)模型對缺陷進行診斷,缺陷形成原因混淆矩陣如圖7 所示.
圖7 中縱坐標為真實缺陷形成原因標簽,橫坐標為預(yù)測缺陷形成原因標簽,共10 類不同的缺陷成因分別對應(yīng)數(shù)字1~10,1 類非工藝參數(shù)原因?qū)?yīng)數(shù)字0;右側(cè)灰色條狀圖表示缺陷形成原因樣本量的多少,樣本量越多,顏色越深,與圖中方格內(nèi)數(shù)字對應(yīng).每個網(wǎng)格對應(yīng)了一組真實值和預(yù)測值,例如(5,5)表示預(yù)測缺陷形成原因為第5 類(焊接速度過大),真實缺陷形成原因也為第5 類(焊接速度過大),網(wǎng)格方格中的數(shù)字4 表示試驗共有4 組數(shù)據(jù)為(5,5).
圖7 缺陷形成原因混淆矩陣對比Fig.7 Comparison of confusion matrix of defect causes.(a) adaptive PSO-BP algorithm based on dynamic weighting;(b) traditional PSO-BP algorithm;(c) BP neural network
從圖7 可以看出,改進的PSO-BP 神經(jīng)網(wǎng)絡(luò)只有1 組診斷錯誤,剩余29 組診斷結(jié)果均與真實缺陷成因相符,準確率為96.67%;傳統(tǒng)PSO-BP 神經(jīng)網(wǎng)絡(luò)有2 組診斷錯誤,準確率為93.33%;BP 神經(jīng)網(wǎng)絡(luò)有3 組診斷錯誤,準確率為90.00%.
對于二分類問題常用的評價指標是精確率和召回率.通常以關(guān)注的類為正類,其它類為負類,分類器在數(shù)據(jù)集上的預(yù)測有4 種情況:TP表示正類預(yù)測為正類;FP表示負類預(yù)測為正類;TN表示負類預(yù)測為負類;FN表示正類預(yù)測為負類.
將二分類的分類指標引入多分類問題中,考慮到樣本不均衡對結(jié)果可能帶來的影響,評價指標引入加權(quán)平均,以精確率Pweighted為例.
式中:K為類別數(shù);下標i表示其屬于哪一類;λi表示該類在總樣本數(shù)中的占比;Pi表示某類別的精確率.
表2 為基于不同算法的缺陷成因診斷準確程度.從分類的各評價指標可以發(fā)現(xiàn),在加權(quán)平均準確率方面,改進的PSO-BP 神經(jīng)網(wǎng)絡(luò)為96.7%,優(yōu)于傳統(tǒng)PSO-BP 神經(jīng)網(wǎng)絡(luò)的93.3%;在加權(quán)平均精確率方面,改進的PSO-BP 神經(jīng)網(wǎng)絡(luò)為98.3%,優(yōu)于傳統(tǒng)PSO-BP 神經(jīng)網(wǎng)絡(luò)的91.3%;在表示模型綜合能力指標的F1值上,改進的PSO-BP 算法為96.9%,優(yōu)于傳統(tǒng)PSO-BP 算法的91.7%.
表2 基于不同算法的焊接缺陷成因診斷結(jié)果Table 2 Diagnosis results of welding defects based on different algorithms
為了驗證實際生產(chǎn)中該模型的應(yīng)用效果,隨機在罐體生產(chǎn)中選擇5 條測試樣本,測試樣本的輸入特征如表3 所示.缺陷成因真實值及網(wǎng)絡(luò)輸出結(jié)果如表4 所示.
表3 測試樣本的輸入特征Table 3 Input features of the test samples
表4 缺陷成因真實值及網(wǎng)絡(luò)輸出結(jié)果Table 4 Real value of defect causes and network output results
以氣孔缺陷(樣本1)診斷為例進行分析,可以看出,經(jīng)過改進的神經(jīng)網(wǎng)絡(luò)模型的診斷,輸入的氣孔缺陷有99.51%的可能性是由焊接速度過大造成,有0.38%的可能性是由氣體流量過大造成,有0.11%的可能性是由氣體流量過小造成.
圖8 為參數(shù)調(diào)整前后的焊縫形貌.圖8a 顯示了樣本1 優(yōu)化調(diào)整前焊縫的成形情況,焊縫處存在氣孔缺陷,利用改進的神經(jīng)網(wǎng)絡(luò)模型進行診斷,得出缺陷成因可能為焊接速度過大.使用調(diào)整后的參數(shù)進行焊接,最終得到如圖8b 中成形質(zhì)量良好的焊縫,從而證明了模型在實際生產(chǎn)應(yīng)用中的價值.
圖8 參數(shù)調(diào)整前后焊縫形貌Fig.8 Weld morphology before and after parameter adjustment.(a) before parameter adjustment;(b)after parameter adjustment
(1)針對焊接缺陷多種形成原因,結(jié)合BP 神經(jīng)網(wǎng)絡(luò),提出了基于動態(tài)權(quán)重的自適應(yīng)PSO-BP 神經(jīng)網(wǎng)絡(luò)的焊接缺陷成因智能診斷方法,為焊接缺陷多影響因素分析及智能專家系統(tǒng)研發(fā)提供了新的推理思路.
(2)與傳統(tǒng)PSO-BP 算法相比,改進后的PSOBP 算法將損失函數(shù)值降至0.5 以下所需的迭代次數(shù)減少了13.1%,模型準確率由93.3%提高至96.7%,精確率由91.3%提高至98.3%,綜合能力指標由91.7%提高至96.9%.改進后的PSO-BP 神經(jīng)網(wǎng)絡(luò)算法能有效提高缺陷形成原因診斷的效率與精度,具有良好的工程應(yīng)用價值.