楊少華
(中國電子科技集團(tuán)公司第20 研究所,陜西 西安710068)
近年來隨著人工智能技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)+AI 正在觸發(fā)制造工業(yè)中模式、方法和生態(tài)的偉大改變。世界各個國家美、中、德、英等國“工業(yè)4.0”的發(fā)展戰(zhàn)略均將智能制造作為發(fā)展趨勢[1]。
半導(dǎo)體產(chǎn)業(yè)是信息集成度高的現(xiàn)代化產(chǎn)業(yè),給數(shù)據(jù)的高度信息化給數(shù)據(jù)分析提供了可能性,基于實際生產(chǎn)數(shù)據(jù)的分析可以幫助提高產(chǎn)品質(zhì)量。
生產(chǎn)流程結(jié)束后,我們通常對產(chǎn)品質(zhì)量做非全面的抽測,實現(xiàn)對產(chǎn)品質(zhì)量的檢核。這往往會出現(xiàn)以下狀況:一是不能即時的知道質(zhì)量的好壞,當(dāng)發(fā)現(xiàn)產(chǎn)品質(zhì)量不佳時,要修正通常為時已晚;二是在無法全面抽測的情況下,存在很大漏檢的風(fēng)險。基于上述問題,如何對給定機(jī)器生產(chǎn)參數(shù)的產(chǎn)品進(jìn)行質(zhì)量預(yù)測,基于預(yù)先知道的結(jié)果,去做對應(yīng)的決策及應(yīng)變,是亟需解決的技術(shù)問題。
在數(shù)據(jù)采集過程中,經(jīng)常由于設(shè)備或者其它原因,造成采集的原始數(shù)據(jù)集存在缺失值,這需要對缺失值進(jìn)行處理,對缺失值主要有去除法和填充法。去除法,去除部分?jǐn)?shù)據(jù)使得剩余數(shù)據(jù)部分完整;填充法的思想是利用其它信息,將缺失值進(jìn)行替代。
Z-score 標(biāo)準(zhǔn)化方法利用原始數(shù)據(jù)的均值和標(biāo)準(zhǔn)差對原始數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,處理后數(shù)據(jù)均值為0,標(biāo)準(zhǔn)差為1,符合標(biāo)準(zhǔn)的正態(tài)分布,變換公式如式(1)所示:
PCA 降維:方陣的特征值分解,對于一個方陣A,總可以寫成:
其中,Q 是這個矩陣A 的特征向量組成的矩陣,∧是一個對角矩陣,每一個對角線元素就是一個特征值,里面的特征值是由小到大排列,這些特征值所對應(yīng)的特征向量就是描述這個矩陣變化方向(從主要的變換到次要的變化排列)。也就是說矩陣A 的信息可以由其特征值和特征向量表示。
PCA 不僅將數(shù)據(jù)壓縮到低維,它也可使得降維之后的數(shù)據(jù)各特征相互獨立。
XGBoost 算法的基本思想是,在算法學(xué)習(xí)過程中不斷地添加樹,不斷地進(jìn)行特征分裂來生長一棵樹,每次添加一個樹,其實是學(xué)習(xí)一個新函數(shù)去擬合上棵樹預(yù)測的殘差,訓(xùn)練完成后,得到指定數(shù)目的樹。對樣本進(jìn)行預(yù)測時,根據(jù)樣本的特征取值,在每棵樹中找到對應(yīng)的葉子節(jié)點,每個葉子節(jié)點對應(yīng)一個分?jǐn)?shù),將每棵樹得到的分?jǐn)?shù)相加,即為樣本的預(yù)測值[2]。具體的模型可以定義為:
圖1 總體建模流程
式中,xi表示樣本,fk(xi)表示生成的樹模型,yi表示模型預(yù)測值。
初始化模型,即令y贊0i=0,則進(jìn)行第t 次迭代后模型輸出為:
質(zhì)量預(yù)測模型的建立主要包括業(yè)務(wù)建模、數(shù)據(jù)建模和分析建模三部分,總體建模流程如圖1 所示。
3.2.1 工藝流程
關(guān)鍵加工工藝主要有陣列、成盒、模組組裝三道。
3.2.2 數(shù)據(jù)關(guān)系分析
通過分析數(shù)據(jù),發(fā)現(xiàn)共有13 道工序和ID 數(shù)據(jù),每道工序包含日期數(shù)據(jù)、工臺標(biāo)志、工序數(shù)據(jù)。數(shù)據(jù)共有500 行,8029 列特征,2238 列出現(xiàn)了缺失值,缺失值數(shù)目如表1 所示。
表1 缺失值數(shù)目分布
由表1 可知有62 列有500 個缺失值,即完全沒有值。
3.2.3 初步確定特征變量
刪除ID 數(shù)據(jù),將13 道工序的數(shù)據(jù)分別提取出來,刪除日期數(shù)據(jù)、工臺標(biāo)志數(shù)據(jù),刪除取值類別不超過10 和取值類別等于500 的特征,取值類別不超過10 對于預(yù)測連續(xù)的質(zhì)量特性值沒有幫助,取值類別等于500 會造成模型過擬合。剔除缺失值出現(xiàn)50 個的特征,缺失值太多,信息損失太多。
經(jīng)過對生產(chǎn)線數(shù)據(jù)的初步分析,接下來詳細(xì)介紹線性回歸建模流程。
3.3.1 數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理主要包括缺失值處理,異常值處理,數(shù)據(jù)標(biāo)準(zhǔn)化這三部分[3]。
缺失值及異常值處理:
結(jié)合數(shù)據(jù)集考慮到剔除缺失部分共有500 行數(shù)據(jù),剔除的樣本數(shù)太多,去除法不可行。用最高頻率來填補(bǔ)缺失值:對于變量分布近似正態(tài)分布時可以選用平均值;偏態(tài)分布一般采用中位數(shù)代表數(shù)據(jù)中心趨勢的指標(biāo)。通過變量的相關(guān)關(guān)系填補(bǔ)缺失值。通過探索案例之間的相似性來填補(bǔ)缺失值。一般線性回歸模型普遍采用均值對缺失值進(jìn)行填充,故本次建模采用均值法。
數(shù)據(jù)標(biāo)準(zhǔn)化及歸一化處理:
本文采用Z-score 標(biāo)準(zhǔn)化方法,對每道工序的數(shù)據(jù)進(jìn)行均值歸一化。
用PCA 生成的所有特征進(jìn)行線性回歸建模,選取一部分顯著相關(guān)的特征進(jìn)行線性回歸建模。
數(shù)據(jù)預(yù)處理流程如圖2 所示。
圖2 數(shù)據(jù)預(yù)處理流程
3.3.2 XGFO 線性回歸模型構(gòu)建
本文采用XGBoost 算法來構(gòu)建智能制造質(zhì)量預(yù)測的線性回歸模型(簡寫為XGFO 預(yù)測模型),同時采用5 折交叉驗證對模型性能進(jìn)行評估。
由于質(zhì)量預(yù)測結(jié)果屬于分類模型,本文使用Softmax 函數(shù)對XGBoost 算法的結(jié)果進(jìn)行映射,使得每個分量的值都在[0,1]之間,并且所有分量的和為1。
假設(shè)有一個n 維向量V,Vi表示V 中的第i 個元素,那么這個元素的Softmax 值為:
使用Softmax 函數(shù)對模型結(jié)果進(jìn)行映射時,采用如下公式進(jìn)行:
式中,pi表示樣本質(zhì)量屬于類別i 的概率。
基于XGBoost 的XGFO 預(yù)測模型構(gòu)建流程圖,如圖3 所示。
圖3 基于XGBoost 的XGFO 預(yù)測模型構(gòu)建流程圖
基于XGBoost 的XGFO 預(yù)測模型步驟如下:
(1)將數(shù)據(jù)集分成k 份,第i 份數(shù)據(jù)集記為ki;
(2)初始化i=1;
(3)令數(shù)據(jù)集ki為測試集,其余k-1 份為訓(xùn)練集,用訓(xùn)練集對XGFO 預(yù)測模型進(jìn)行訓(xùn)練,訓(xùn)練公式見式(6);
(4)模型訓(xùn)練完成后,用測試集對XGFO 預(yù)測模型進(jìn)行評估,計算出樣本數(shù)據(jù)產(chǎn)品質(zhì)量好壞的概率時,使用Softmax 函數(shù)對模型結(jié)果進(jìn)行映射,映射公式見式(7);
(5)判斷是否每一份數(shù)據(jù)集都用作訓(xùn)練集,即i==k 是否成立,若不成立,則i=i+1,轉(zhuǎn)步驟(3),若成立,則模型訓(xùn)練結(jié)束,綜合測試集評估結(jié)果作為模型最終評估結(jié)果。
3.3.3 線性回歸模型試驗結(jié)果
XGFO 模型數(shù)據(jù)集包括反應(yīng)機(jī)臺的溫度,氣體,液體流量,功率,制成時間等因子。共有13 道工序和ID 數(shù)據(jù),每道工序包含日期數(shù)據(jù)、工臺標(biāo)志、工序數(shù)據(jù)。數(shù)據(jù)共有500 行,8029 列特征,2238 列出現(xiàn)了缺失值,為數(shù)據(jù)樣本量少特征多的含有缺失值的數(shù)據(jù)集。
實驗所用平臺為Windows7 64 位系統(tǒng),Intel-i7 CPU,16GB內(nèi)存,開發(fā)環(huán)境為python3.6。
采用G-mean 值評價算法的性能,G-mean 的計算公式如下:
XGFO 模型原始數(shù)據(jù)集已經(jīng)進(jìn)行了數(shù)據(jù)初步處理,因此可以直接用來進(jìn)行生產(chǎn)線產(chǎn)品質(zhì)量預(yù)測分析。
本次將流水線實際生產(chǎn)缺陷數(shù)據(jù)采樣比例設(shè)為5,同時為增強(qiáng)數(shù)據(jù)的多樣性,將混合采樣后合格品數(shù)與殘次品數(shù)的比例設(shè)為1:X,將比例1: X 設(shè)置成1:2、1:1 和2:1 三種類型,分別獲得混合采樣數(shù)據(jù)集A、混合采樣數(shù)據(jù)集B 和混合采樣數(shù)據(jù)集C。
采用3.3.2 節(jié)方法建立基于生產(chǎn)線數(shù)據(jù)的線性回歸XGFO模型,分別用混合采樣集合A、B、C 對模型進(jìn)行訓(xùn)練,得到的質(zhì)量預(yù)測情況見表2。
表2 混合采用數(shù)據(jù)集質(zhì)量預(yù)測情況
由表2 可以看出,數(shù)據(jù)集B 的G-mean 值高于數(shù)據(jù)集A 和數(shù)據(jù)集C 的G-mean 值,同時,數(shù)據(jù)集A 預(yù)測合格品準(zhǔn)確率較低,預(yù)測殘次品準(zhǔn)確率較高。數(shù)據(jù)集C 正好相反,預(yù)測合格品準(zhǔn)確率較高,預(yù)測殘次品準(zhǔn)確率較低。數(shù)據(jù)集B 對合格品/殘次品的預(yù)測準(zhǔn)確率相差不大。
綜合以上分析,混合采樣后合格品數(shù)與殘次品數(shù)的比例為1:1,即為平衡數(shù)據(jù)集時,XGFO 質(zhì)量預(yù)測模型預(yù)測情況最好。當(dāng)數(shù)據(jù)中合格品與殘次品數(shù)量不一致時,需要針對不同的數(shù)據(jù)比例對模型進(jìn)行修正,比如建立數(shù)據(jù)集A 和數(shù)據(jù)集C 對模型進(jìn)行訓(xùn)練。
本文提出了一種基于XGBoost 算法的XGFO 質(zhì)量預(yù)測模型,該模型可以根據(jù)已有的加工流水線工藝數(shù)據(jù)對產(chǎn)品生產(chǎn)的質(zhì)量進(jìn)行預(yù)測。試驗結(jié)果表明,一般情況下XGFO 質(zhì)量預(yù)測模型符合預(yù)期,能夠滿足較高的精準(zhǔn)度前提下得到預(yù)測結(jié)果,從而提前發(fā)現(xiàn)當(dāng)前工序的問題,避免問題流入后道工序,對減少生產(chǎn)資源浪費和優(yōu)化產(chǎn)品良品率具有指導(dǎo)意義。
本文試驗在模型訓(xùn)練中僅選擇了幾百條生產(chǎn)數(shù)據(jù),不足以支撐神經(jīng)網(wǎng)絡(luò)的構(gòu)建[4],在數(shù)據(jù)預(yù)處理部分未對數(shù)據(jù)不均衡情況采取應(yīng)對措施。未來可以在性能更好的開發(fā)環(huán)境下搜集更多生產(chǎn)數(shù)據(jù)進(jìn)行試驗,以提高模型的精準(zhǔn)度和穩(wěn)定性。