范子銘,田富君,胡子翔,魏 李
(1.中國(guó)電子科技集團(tuán)公司第三十八研究所,安徽 合肥 230088;2.國(guó)家級(jí)工業(yè)設(shè)計(jì)中心(中電38所),安徽 合肥 230088)
隨著表面貼裝技術(shù)(surface mount technology,SMT)的廣泛應(yīng)用,回流焊技術(shù)也在不斷發(fā)展?;亓骱甘峭ㄟ^(guò)將氣體加熱到一定溫度使焊膏融化,繼而將元器件焊接在PCB板上,對(duì)于回流焊技術(shù)而言,焊點(diǎn)形貌作為回流焊技術(shù)的評(píng)價(jià)標(biāo)準(zhǔn),對(duì)于它的檢測(cè)至關(guān)重要。
針對(duì)焊點(diǎn)形貌分析一直是研究的重點(diǎn)方向,Wang等[1]針對(duì)焊點(diǎn)形貌采用不同的熱回流曲線進(jìn)行分析,得到了加熱因子與焊點(diǎn)形貌之間的關(guān)系;趙亞楠等[2]以數(shù)值與實(shí)驗(yàn)相結(jié)合的方法研究電阻釬焊,以仿真的方法證明了溫度場(chǎng)分布與變化規(guī)律; Jin等[3]建立了元器件焊點(diǎn)形貌的物理形狀仿真模型,結(jié)合回流焊仿真結(jié)果對(duì)回流焊工藝進(jìn)行了優(yōu)化;王星[4]通過(guò)Surface Evolver預(yù)測(cè)焊點(diǎn)形貌,取得了很高的預(yù)測(cè)準(zhǔn)確性;Pan等[5]以數(shù)據(jù)為驅(qū)動(dòng)建立了一個(gè)基于能量的三維模型,分析了焊膏與焊點(diǎn)形貌之間的關(guān)系。近年來(lái),隨著人工智能的興起,將數(shù)據(jù)挖掘技術(shù)與焊接相結(jié)合成為新的研究方向。陶汪等[6]用人工神經(jīng)網(wǎng)絡(luò)的方法成功對(duì)激光點(diǎn)焊焊點(diǎn)形貌進(jìn)行預(yù)測(cè); Gao等[7]利用卷積神經(jīng)網(wǎng)絡(luò)和SVM對(duì)于焊點(diǎn)缺陷進(jìn)行分析。
目前,針對(duì)回流焊的焊點(diǎn)形貌檢測(cè)多采用傳統(tǒng)方法,傳統(tǒng)方法雖然檢測(cè)精度高,但是需要經(jīng)過(guò)試驗(yàn)進(jìn)行檢測(cè),時(shí)間周期長(zhǎng),材料利用率低。通過(guò)機(jī)器學(xué)習(xí)的方法可以挖掘焊點(diǎn)形貌與工藝參數(shù)之間內(nèi)在關(guān)系,通過(guò)建立智能預(yù)測(cè)模型可以在實(shí)驗(yàn)之前預(yù)測(cè)最終結(jié)果,幫助工藝人員減少實(shí)驗(yàn)次數(shù),從而提高生產(chǎn)效率。
本文提出采用機(jī)器學(xué)習(xí)算法來(lái)進(jìn)行預(yù)測(cè)焊點(diǎn)形貌,以某SMT生產(chǎn)線采集的鉭電容焊點(diǎn)形貌數(shù)據(jù)為數(shù)據(jù)集,通過(guò)數(shù)據(jù)挖掘的方法建立針對(duì)回流焊的焊點(diǎn)形貌預(yù)測(cè)模型,并通過(guò)實(shí)驗(yàn)仿真數(shù)據(jù)集進(jìn)行驗(yàn)證該方法的合理性。
本文采用2種機(jī)器學(xué)習(xí)算法搭建回流焊焊點(diǎn)形貌預(yù)測(cè)模型,分別為BP神經(jīng)網(wǎng)絡(luò)和LightGBM算法。
BP神經(jīng)網(wǎng)絡(luò)(back propagation neural network,BPNN)為誤差逆向傳播的神經(jīng)網(wǎng)絡(luò)[8],其3層神經(jīng)元結(jié)構(gòu)如圖1所示。
圖1 BP神經(jīng)網(wǎng)絡(luò)模型
設(shè)N、L和M分別為BPNN輸入層、隱含層和輸出層的節(jié)點(diǎn)個(gè)數(shù),其中每個(gè)節(jié)點(diǎn)的輸入和權(quán)重值分別為xi和wij、wjk,設(shè)αj和βk分別為輸入層與隱含層和隱含層與輸出層之間的偏置值,Yk為期望輸出值,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)速率為γ,則BPNN運(yùn)算中每次循環(huán)迭代后新的權(quán)重wij*與wjk*和偏置值αj*與βk*分別為:
(1)
wjk*=wjk+γHjek
(2)
(3)
βk*=βk+γek
(4)
對(duì)于BPNN而言,每進(jìn)行一次梯度下降運(yùn)算更新一次權(quán)值和偏置值,通過(guò)循環(huán)迭代減小誤差值,迭代一直到誤差值達(dá)到穩(wěn)定收斂時(shí)停止,完成預(yù)測(cè)模型訓(xùn)練。
LightGBM算法是微軟提出的一種基于梯度下降決策樹(shù)(gradient boosting decision tree,GBDT)算法的機(jī)器學(xué)習(xí)算法,其在GBDT算法的基礎(chǔ)上提出單邊梯度采樣算法(gradient-based one-side sampling,GOSS)算法和特征捆綁算法(exclusive feature bundling,EFB)算法相融合的混合算法來(lái)提高預(yù)測(cè)模型的精度[9-11]。
1.2.1 GOSS算法。
GOSS算法對(duì)梯度幅度小的數(shù)據(jù)集進(jìn)行忽略,對(duì)梯度幅度大的數(shù)據(jù)集進(jìn)行采樣,以此來(lái)減少數(shù)據(jù)量處理,同時(shí)由于這部分?jǐn)?shù)據(jù)集梯度幅度大,因此有效信息的增益也相應(yīng)較大,從而保證預(yù)測(cè)精度。
假設(shè)數(shù)據(jù)集O上的數(shù)據(jù)空間中輸入部分空間為X,輸出部分空間為Y,數(shù)據(jù)空間中空間向量數(shù)量為nO,則GBDT算法首先將輸入部分的數(shù)據(jù)空間映射到梯度空間上。假設(shè)數(shù)據(jù)集上的輸入空間向量為xi,數(shù)據(jù)空間的特征維度為s,gi為第i次循環(huán)迭代過(guò)程中的梯度下降迭代時(shí)所訓(xùn)練算法的損失函數(shù)的目標(biāo)函數(shù)的梯度下降方向。則GBDT算法通過(guò)遍歷所有分裂節(jié)點(diǎn)后,在尋找數(shù)據(jù)空間上的切分點(diǎn)k和切分特征變量J時(shí),劃分出的2個(gè)數(shù)據(jù)集分別為R1和R2,則2個(gè)數(shù)據(jù)集中空間向量個(gè)數(shù)分別為nR1(k)和nR2(k),則在切分點(diǎn)k產(chǎn)生的數(shù)據(jù)增益VJ|O(d)為
VJ|O(d)=
(5)
(6)
1.2.2 EFB算法
EFB算法對(duì)于高緯度數(shù)據(jù)集通過(guò)將數(shù)據(jù)特征進(jìn)行捆綁,以此來(lái)降低數(shù)據(jù)集的維度,提高算法訓(xùn)練的效率。
由于在處理高維數(shù)據(jù)的時(shí)候數(shù)據(jù)維度過(guò)高,為了降低數(shù)據(jù)維度提高訓(xùn)練效率,EFB算法將數(shù)據(jù)特征空間存在的特征互斥數(shù)據(jù)進(jìn)行捆綁,捆綁之后的互斥多維特征降為單一特征數(shù)據(jù)。通過(guò)EFB算法中的Histogram算法,如圖2所示,其構(gòu)建特征直方圖的時(shí)間復(fù)雜度就會(huì)從Data·feature變?yōu)镈ata·Bundle,由于經(jīng)過(guò)捆綁之后的Bundle數(shù)據(jù)量遠(yuǎn)遠(yuǎn)小于Feature數(shù)據(jù)量,因此提高了訓(xùn)練效率。
圖2 Histogram算法流程
EFB算法同時(shí)提出了按葉生長(zhǎng)的決策樹(shù)生長(zhǎng)策略,如圖3所示。按葉生長(zhǎng)算法核心思想是通過(guò)對(duì)所有葉子進(jìn)行判斷,找到其中分裂之后信息增益最大的葉子,然后對(duì)該葉子的節(jié)點(diǎn)進(jìn)行分裂,通過(guò)這樣的循環(huán)分裂,最后完成決策樹(shù)生長(zhǎng),這樣每次針對(duì)單一節(jié)點(diǎn)而不是對(duì)所有節(jié)點(diǎn)進(jìn)行分裂,大大降低了運(yùn)算量,提高運(yùn)算效率。
圖3 按葉生長(zhǎng)決策樹(shù)生長(zhǎng)策略
本文使用的回流焊焊點(diǎn)形貌數(shù)據(jù)集采集于某SMT生產(chǎn)線鉭電容焊點(diǎn)形貌,實(shí)際數(shù)據(jù)共1 700條,采集方法如圖4所示。影響因素作為輸入共3種,分別為峰值溫度、降溫速率和焊膏厚度,輸出結(jié)果為3種焊點(diǎn)形貌評(píng)價(jià)指標(biāo),分別為焊點(diǎn)厚度、焊點(diǎn)寬度和焊料爬高。
圖4 鉭電容回流焊焊點(diǎn)形貌采集
針對(duì)采集到的數(shù)據(jù)集,需要先對(duì)數(shù)據(jù)集進(jìn)行處理才能滿足訓(xùn)練預(yù)測(cè)模型的需要。數(shù)據(jù)預(yù)處理首先是清洗數(shù)據(jù),本文采用準(zhǔn)則,設(shè)數(shù)據(jù)量為n,通過(guò)Bessel公式計(jì)算標(biāo)準(zhǔn)偏差為
(7)
由于數(shù)據(jù)的維度存在差異,因此需要對(duì)數(shù)據(jù)進(jìn)行歸一化處理。本文采用的歸一化方法為min-max標(biāo)準(zhǔn)歸一化,即
(8)
通過(guò)最大值Xmax與最小值Xmin的極差,按比例將原始數(shù)據(jù)與[0,1]區(qū)間一一映射,得到歸一化后的新數(shù)據(jù)樣本X*,完成數(shù)據(jù)歸一化處理。
選擇R2(R-Square值)作為評(píng)價(jià)預(yù)測(cè)模型精度的標(biāo)準(zhǔn),該評(píng)價(jià)指標(biāo)評(píng)估的是預(yù)測(cè)模型對(duì)變量預(yù)測(cè)的方差的比例,其取值范圍在[0,1]之間,越接近1,說(shuō)明預(yù)測(cè)模型越準(zhǔn)確,越接近0,說(shuō)明預(yù)測(cè)模型越?jīng)]有價(jià)值。其公式為
(9)
建立基于機(jī)器學(xué)習(xí)的回流焊焊點(diǎn)形貌預(yù)測(cè)模型,BP神經(jīng)網(wǎng)絡(luò)和LightGBM算法的模型流程分別如圖5和圖6所示。首先進(jìn)行程序初始化,對(duì)于BPNN神經(jīng)網(wǎng)絡(luò)是先將回流焊焊點(diǎn)形貌數(shù)據(jù)集輸入, 通過(guò)計(jì)算隔層神經(jīng)元的輸出值計(jì)算最后輸出層
圖5 基于BP神經(jīng)網(wǎng)絡(luò)的回流焊焊點(diǎn)形貌預(yù)測(cè)模型流程
圖6 基于LightGBM算法的回流焊焊點(diǎn)形貌預(yù)測(cè)模型流程
的誤差,通過(guò)誤差反向傳播修改各層的權(quán)值和偏置值,當(dāng)?shù)皆O(shè)定的誤差值范圍或者訓(xùn)練集全部訓(xùn)練完畢后,結(jié)束迭代輸出預(yù)測(cè)模型;對(duì)于LightGBM算法,將訓(xùn)練集輸入模型進(jìn)行訓(xùn)練,先通過(guò)EFB算法進(jìn)行降維處理,再通過(guò)GOSS算法計(jì)算數(shù)據(jù)增益,當(dāng)滿足預(yù)測(cè)效果或者訓(xùn)練集全部訓(xùn)練完畢后,結(jié)束迭代輸出預(yù)測(cè)模型。
完成建立的基于機(jī)器學(xué)習(xí)算法的回流焊焊點(diǎn)形貌預(yù)測(cè)模型,其輸出的R-Square值如表1所示。
表1 焊點(diǎn)形貌預(yù)測(cè)R-Square值
由表1可知,基于LightGBM算法建立的鉭電容回流焊焊點(diǎn)形貌預(yù)測(cè)模型的預(yù)測(cè)準(zhǔn)確率高于基于BP神經(jīng)網(wǎng)絡(luò)建立的回流焊焊點(diǎn)形貌預(yù)測(cè)模型。針對(duì)LightGBM建立的模型預(yù)測(cè)如圖7~圖9所示。
圖7 焊點(diǎn)厚度預(yù)測(cè)
圖8 焊點(diǎn)寬度預(yù)測(cè)
圖9 焊料爬高預(yù)測(cè)
圖7a、圖8a和圖9a為預(yù)測(cè)散點(diǎn)圖,其中三角形為真值,即驗(yàn)證集中的真實(shí)值,圓點(diǎn)為預(yù)測(cè)值,即LightGBM算法建立的預(yù)測(cè)模型針對(duì)訓(xùn)練集中的值進(jìn)行預(yù)測(cè)的預(yù)測(cè)值,可以看出,代表預(yù)測(cè)值的圓點(diǎn)基本上命中了代表真值的三角星中心,代表該樣本的預(yù)測(cè)值預(yù)測(cè)準(zhǔn)確,仍有個(gè)別點(diǎn)偏離真實(shí)值較遠(yuǎn),說(shuō)明預(yù)測(cè)有差距;圖7b、圖8b和圖9b為每個(gè)樣本的預(yù)測(cè)值與真實(shí)值之間的絕對(duì)值誤差,可以看出,絕對(duì)誤差曲線基本在0附近,說(shuō)明預(yù)測(cè)值與真實(shí)值之間的誤差較低,而個(gè)別誤差較大,說(shuō)明該樣本的預(yù)測(cè)值與真實(shí)值之間差距較大。
對(duì)誤差原因進(jìn)行分析,主要可能是以下2種原因:第1是由于預(yù)測(cè)模型精度不夠,還需要對(duì)模型進(jìn)行優(yōu)化, 同時(shí)可能是影響因素種類和數(shù)據(jù)量不夠,可加入更多的數(shù)據(jù)和數(shù)據(jù)類型來(lái)增加模型的穩(wěn)定性;第2是由于實(shí)際采集數(shù)據(jù)時(shí)存在誤差,個(gè)別數(shù)據(jù)采集值不合理,導(dǎo)致個(gè)別樣本預(yù)測(cè)準(zhǔn)確率不足。
針對(duì)上面結(jié)果進(jìn)行影響程度分析,對(duì)每個(gè)輸入進(jìn)行統(tǒng)計(jì)分析,以1 000為總計(jì),對(duì)每項(xiàng)輸入?yún)?shù)影響最終結(jié)果的程度進(jìn)行評(píng)價(jià),每項(xiàng)輸入?yún)?shù)的影響程度如圖10~圖12所示,數(shù)字代表在總計(jì)1 000中所占的權(quán)重。
圖10 焊點(diǎn)厚度影響程度
圖11 焊點(diǎn)寬度影響程度
圖10~圖12中,焊膏厚度均是影響最終預(yù)測(cè)結(jié)果最高的輸入因素,在圖10的焊點(diǎn)厚度中,峰值溫度和降溫速率影響程度均不高;而在圖12的焊料爬高中,峰值溫度影響程度占比達(dá)到21.9%,而降溫速率也達(dá)到了12.6%;在圖11的焊點(diǎn)寬度中,峰值溫度和降溫速率影響程度占比分別達(dá)到了15.8%和11.6%。總體來(lái)看,焊膏厚度是主要影響最終焊點(diǎn)形貌的因素,降溫速率是影響最小的因素,因此在進(jìn)行實(shí)驗(yàn)時(shí),主要以焊膏厚度作為變量去修改最終焊點(diǎn)形貌,其他2項(xiàng)作為次要變量對(duì)最終結(jié)果進(jìn)行微調(diào)。
圖12 焊料爬高影響程度
完成預(yù)測(cè)模型的訓(xùn)練與分析后,將該預(yù)測(cè)模型應(yīng)用于該SMT焊點(diǎn)形貌實(shí)驗(yàn)數(shù)據(jù)集,在之前實(shí)驗(yàn)中,實(shí)驗(yàn)人員通過(guò)試湊法和工藝經(jīng)驗(yàn)在計(jì)算機(jī)中進(jìn)行模擬仿真,經(jīng)過(guò)23次實(shí)驗(yàn)最終確定為了達(dá)到理想焊點(diǎn)形貌所需要的輸入?yún)?shù),由于仿真軟件模擬渲染時(shí)間較長(zhǎng),總共耗時(shí)17 d完成全部實(shí)驗(yàn)內(nèi)容。
本次實(shí)驗(yàn)中,實(shí)驗(yàn)人員將之前實(shí)驗(yàn)的初始設(shè)定輸入?yún)?shù)值作為預(yù)測(cè)模型的輸入,設(shè)定理想的焊點(diǎn)形貌參數(shù)值為優(yōu)化目標(biāo),進(jìn)行參數(shù)推薦,經(jīng)過(guò)循環(huán)迭代后給出最佳參數(shù)。實(shí)驗(yàn)人員將模型推薦的參數(shù)輸入仿真軟件進(jìn)行模擬仿真,結(jié)果與所需要的焊點(diǎn)形貌參數(shù)差距很小。根據(jù)預(yù)測(cè)模型給出的影響程度所占權(quán)重對(duì)輸入?yún)?shù)進(jìn)行微調(diào),最終經(jīng)過(guò)4次模擬仿真試驗(yàn)得到理想焊點(diǎn)形貌所需要的輸入?yún)?shù),總耗時(shí)2 d。
基于機(jī)器學(xué)習(xí)的方法針對(duì)鉭電容的回流焊焊點(diǎn)形貌建立預(yù)測(cè)模型,其中,基于LightGBM算法建立的預(yù)測(cè)模型的預(yù)測(cè)精度R-Square值分別達(dá)到了0.878 02、0.884 62和0.862 16,預(yù)測(cè)效果優(yōu)于基于BPNN算法建立的預(yù)測(cè)模型。針對(duì)預(yù)測(cè)模型進(jìn)行參數(shù)分析,得出焊膏厚度是主要影響因素,峰值溫度和降溫速率是次要影響因素,因此在修正輸入時(shí),主要考慮修改焊膏厚度,次要考慮修改峰值溫度和降溫速率。該預(yù)測(cè)模型在實(shí)際使用中,以實(shí)驗(yàn)人員理想的輸出為最終結(jié)果,提供輸入?yún)?shù)建議,將原本預(yù)計(jì)的實(shí)驗(yàn)時(shí)間減少為原來(lái)的1/10,并提供修改參數(shù)建議。
本文方法為回流焊實(shí)驗(yàn)提供了一個(gè)新的思路,傳統(tǒng)回流焊焊點(diǎn)形貌檢測(cè)費(fèi)時(shí)費(fèi)力,通過(guò)建立預(yù)測(cè)模型的方法可以很快得出預(yù)測(cè)的最終焊點(diǎn)形貌,根據(jù)最終結(jié)果和輸入?yún)?shù)重要性修改參數(shù),減少仿真模擬實(shí)驗(yàn)次數(shù),并通過(guò)實(shí)際實(shí)驗(yàn)驗(yàn)證了該方法的可用性。