楊少華
(中國電子科技集團公司第20 研究所,陜西 西安710068)
近年來隨著人工智能技術的飛速發展,互聯網+AI 正在觸發制造工業中模式、方法和生態的偉大改變。世界各個國家美、中、德、英等國“工業4.0”的發展戰略均將智能制造作為發展趨勢[1]。
半導體產業是信息集成度高的現代化產業,給數據的高度信息化給數據分析提供了可能性,基于實際生產數據的分析可以幫助提高產品質量。
生產流程結束后,我們通常對產品質量做非全面的抽測,實現對產品質量的檢核。這往往會出現以下狀況:一是不能即時的知道質量的好壞,當發現產品質量不佳時,要修正通常為時已晚;二是在無法全面抽測的情況下,存在很大漏檢的風險。基于上述問題,如何對給定機器生產參數的產品進行質量預測,基于預先知道的結果,去做對應的決策及應變,是亟需解決的技術問題。
在數據采集過程中,經常由于設備或者其它原因,造成采集的原始數據集存在缺失值,這需要對缺失值進行處理,對缺失值主要有去除法和填充法。去除法,去除部分數據使得剩余數據部分完整;填充法的思想是利用其它信息,將缺失值進行替代。
Z-score 標準化方法利用原始數據的均值和標準差對原始數據進行標準化,處理后數據均值為0,標準差為1,符合標準的正態分布,變換公式如式(1)所示:

PCA 降維:方陣的特征值分解,對于一個方陣A,總可以寫成:

其中,Q 是這個矩陣A 的特征向量組成的矩陣,∧是一個對角矩陣,每一個對角線元素就是一個特征值,里面的特征值是由小到大排列,這些特征值所對應的特征向量就是描述這個矩陣變化方向(從主要的變換到次要的變化排列)。也就是說矩陣A 的信息可以由其特征值和特征向量表示。
PCA 不僅將數據壓縮到低維,它也可使得降維之后的數據各特征相互獨立。
XGBoost 算法的基本思想是,在算法學習過程中不斷地添加樹,不斷地進行特征分裂來生長一棵樹,每次添加一個樹,其實是學習一個新函數去擬合上棵樹預測的殘差,訓練完成后,得到指定數目的樹。對樣本進行預測時,根據樣本的特征取值,在每棵樹中找到對應的葉子節點,每個葉子節點對應一個分數,將每棵樹得到的分數相加,即為樣本的預測值[2]。具體的模型可以定義為:

圖1 總體建模流程

式中,xi表示樣本,fk(xi)表示生成的樹模型,yi表示模型預測值。
初始化模型,即令y贊0i=0,則進行第t 次迭代后模型輸出為:

質量預測模型的建立主要包括業務建模、數據建模和分析建模三部分,總體建模流程如圖1 所示。
3.2.1 工藝流程
關鍵加工工藝主要有陣列、成盒、模組組裝三道。
3.2.2 數據關系分析
通過分析數據,發現共有13 道工序和ID 數據,每道工序包含日期數據、工臺標志、工序數據。數據共有500 行,8029 列特征,2238 列出現了缺失值,缺失值數目如表1 所示。

表1 缺失值數目分布
由表1 可知有62 列有500 個缺失值,即完全沒有值。
3.2.3 初步確定特征變量
刪除ID 數據,將13 道工序的數據分別提取出來,刪除日期數據、工臺標志數據,刪除取值類別不超過10 和取值類別等于500 的特征,取值類別不超過10 對于預測連續的質量特性值沒有幫助,取值類別等于500 會造成模型過擬合。剔除缺失值出現50 個的特征,缺失值太多,信息損失太多。
經過對生產線數據的初步分析,接下來詳細介紹線性回歸建模流程。
3.3.1 數據預處理
數據預處理主要包括缺失值處理,異常值處理,數據標準化這三部分[3]。
缺失值及異常值處理:
結合數據集考慮到剔除缺失部分共有500 行數據,剔除的樣本數太多,去除法不可行。用最高頻率來填補缺失值:對于變量分布近似正態分布時可以選用平均值;偏態分布一般采用中位數代表數據中心趨勢的指標。通過變量的相關關系填補缺失值。通過探索案例之間的相似性來填補缺失值。一般線性回歸模型普遍采用均值對缺失值進行填充,故本次建模采用均值法。
數據標準化及歸一化處理:
本文采用Z-score 標準化方法,對每道工序的數據進行均值歸一化。
用PCA 生成的所有特征進行線性回歸建模,選取一部分顯著相關的特征進行線性回歸建模。
數據預處理流程如圖2 所示。

圖2 數據預處理流程
3.3.2 XGFO 線性回歸模型構建
本文采用XGBoost 算法來構建智能制造質量預測的線性回歸模型(簡寫為XGFO 預測模型),同時采用5 折交叉驗證對模型性能進行評估。
由于質量預測結果屬于分類模型,本文使用Softmax 函數對XGBoost 算法的結果進行映射,使得每個分量的值都在[0,1]之間,并且所有分量的和為1。
假設有一個n 維向量V,Vi表示V 中的第i 個元素,那么這個元素的Softmax 值為:

使用Softmax 函數對模型結果進行映射時,采用如下公式進行:

式中,pi表示樣本質量屬于類別i 的概率。
基于XGBoost 的XGFO 預測模型構建流程圖,如圖3 所示。

圖3 基于XGBoost 的XGFO 預測模型構建流程圖
基于XGBoost 的XGFO 預測模型步驟如下:
(1)將數據集分成k 份,第i 份數據集記為ki;
(2)初始化i=1;
(3)令數據集ki為測試集,其余k-1 份為訓練集,用訓練集對XGFO 預測模型進行訓練,訓練公式見式(6);
(4)模型訓練完成后,用測試集對XGFO 預測模型進行評估,計算出樣本數據產品質量好壞的概率時,使用Softmax 函數對模型結果進行映射,映射公式見式(7);
(5)判斷是否每一份數據集都用作訓練集,即i==k 是否成立,若不成立,則i=i+1,轉步驟(3),若成立,則模型訓練結束,綜合測試集評估結果作為模型最終評估結果。
3.3.3 線性回歸模型試驗結果
XGFO 模型數據集包括反應機臺的溫度,氣體,液體流量,功率,制成時間等因子。共有13 道工序和ID 數據,每道工序包含日期數據、工臺標志、工序數據。數據共有500 行,8029 列特征,2238 列出現了缺失值,為數據樣本量少特征多的含有缺失值的數據集。
實驗所用平臺為Windows7 64 位系統,Intel-i7 CPU,16GB內存,開發環境為python3.6。
采用G-mean 值評價算法的性能,G-mean 的計算公式如下:

XGFO 模型原始數據集已經進行了數據初步處理,因此可以直接用來進行生產線產品質量預測分析。
本次將流水線實際生產缺陷數據采樣比例設為5,同時為增強數據的多樣性,將混合采樣后合格品數與殘次品數的比例設為1:X,將比例1: X 設置成1:2、1:1 和2:1 三種類型,分別獲得混合采樣數據集A、混合采樣數據集B 和混合采樣數據集C。
采用3.3.2 節方法建立基于生產線數據的線性回歸XGFO模型,分別用混合采樣集合A、B、C 對模型進行訓練,得到的質量預測情況見表2。

表2 混合采用數據集質量預測情況
由表2 可以看出,數據集B 的G-mean 值高于數據集A 和數據集C 的G-mean 值,同時,數據集A 預測合格品準確率較低,預測殘次品準確率較高。數據集C 正好相反,預測合格品準確率較高,預測殘次品準確率較低。數據集B 對合格品/殘次品的預測準確率相差不大。
綜合以上分析,混合采樣后合格品數與殘次品數的比例為1:1,即為平衡數據集時,XGFO 質量預測模型預測情況最好。當數據中合格品與殘次品數量不一致時,需要針對不同的數據比例對模型進行修正,比如建立數據集A 和數據集C 對模型進行訓練。
本文提出了一種基于XGBoost 算法的XGFO 質量預測模型,該模型可以根據已有的加工流水線工藝數據對產品生產的質量進行預測。試驗結果表明,一般情況下XGFO 質量預測模型符合預期,能夠滿足較高的精準度前提下得到預測結果,從而提前發現當前工序的問題,避免問題流入后道工序,對減少生產資源浪費和優化產品良品率具有指導意義。
本文試驗在模型訓練中僅選擇了幾百條生產數據,不足以支撐神經網絡的構建[4],在數據預處理部分未對數據不均衡情況采取應對措施。未來可以在性能更好的開發環境下搜集更多生產數據進行試驗,以提高模型的精準度和穩定性。