游達章,陶加濤,許文俊,張業鵬
(1.湖北工業大學機械工程學院,湖北武漢 430068;2.湖北省現代制造質量工程重點實驗室,湖北武漢 430068)
嵌入式數控系統一般由幾個模塊組成,如主任務模塊、譯碼模塊、加減速模塊等,如圖1所示。這些模塊在數控系統運行過程中產生大量的數據,如各軸運動的步數、位置、速度、加減速等。這些數據反映了控制系統的實時性能,通過這些數據的異常可判斷系統功能模塊是否發生故障。通過統計分析這些模塊故障,對數控系統進行優化與改進,對其可靠性增長有重要意義。

圖1 嵌入式數控系統功能模塊調用
國內外學者對數控系統的故障診斷與預測做了大量的研究工作。陳同興等通過收集加工中心的各類警報信息,運用BP神經網絡理論對數控加工中心的故障預測進行了研究。房啟成等在進行機床故障診斷研究時,提出了一種基于多源信息融合與高斯隨機映射的數控機床故障診斷方法。李海等人采用壓縮算法對數據存儲進行了優化,提出了一種利用時間序列相關性來預測機床性能的方法,并建立了Petri網模型,對五軸機床故障診斷進行了研究。
以上方法對數控機床不同方面的故障診斷取得了較好的效果,但是對于數控系統模塊的故障診斷缺乏有效方法。近年來,對于數據的處理,以神經網絡為代表的深度學習在這方面得到了廣泛的應用。因此,本文作者提出了一種CNN-RF集成學習的故障診斷方法,采用Stacking集成策略將卷積神經網絡(Convolutional Neural Networks,CNN)和隨機森林(Random Forest,RF)融合。為驗證模型的有效性,用嵌入式數控系統采集到的模塊數據進行驗證。
卷積神經網絡是一種前饋神經網絡,它憑借著自帶特征提取和權值共享的優勢在許多領域被應用。它一般包括卷積層、池化層和全連接層。
1.1.1 卷積層
卷積層利用可調參數組成的卷積核與輸入數據進行卷積操作,得到輸出。卷積操作的數學表達式為

(1)

采用ReLU函數衍生出的ELU激活函數,其數學表達式為

(2)
1.1.2 池化層
池化層(pooling)的作用主要是降低維度,通過對卷積后的結果進行降采樣來降低維度,分為最大池化和平均池化兩類。文中采用最大值池化,其數學表達式為
=[()+]
(3)
式中:為輸出;(·)為激活函數;為乘性偏置;()為降采樣函數;為偏置項。
1.1.3 全連接層
全連接層在整個網絡結構中處于最后,它是利用卷積和池化層得到的數據特征向量對數據進行分類。最后的分類器通常采用Softmax分類器。假設對于類的分類問題,Softmax分類器的數學表達式為

(4)
式中:(1≤≤)為模型的參數;()為模型的輸出。
隨機森林是由BREIMAN提出的一種機器學習方法,是一個包含許多決策樹的集成分類器。
隨機森林有著更快的訓練速度、更高的預測和更強的魯棒性。它基于打包思想在隨機選擇的特征子集中選擇最佳分割模式。通過使用boostrap獲得個樣本,并通過多數票獲得最終結果。
RF包含個決策樹{(),=1,2…,},其中={,,…,}。是信號的維特征向量。最終輸出=(),其中:=1,2…,,為個樹的最終決策。
在隨機森林算法中,有2個參數非常重要:一個是決策樹的數量,另一個是每個節點的隨機子集。2個變量的設置要根據特征總數以及分類的準確性和訓練時間決定。
Stacking模型通過組合多種不同機器學習算法提升分類器的泛化性能。在Stacking中,將被組合的機器學習模型稱為基學習器,而組合基學習器的稱為元學習器。Stacking模型結構如圖2所示。

圖2 Stacking模型示意
Stacking模型在訓練過程中,為了防止訓練出的模型產生過擬合,在模型建立前對模型進行交叉驗證。其中,折交叉驗證應用最為廣泛。

文中所用的數據集,由于是數控模塊產生的數據,其正常數據量大,錯誤數據量小,導致數據不平衡。因此提出CNN與RF集成學習模型進行故障識別,其診斷流程如圖3所示。

圖3 CNN-RF集成模型診斷流程框圖
在模型結構中,CNN和RF模型當作基學習器,而元學習器采用Logistic Regression(LR)算法。LR算法是一個穩定性好、分類速度快且能涵蓋全部特征的算法。
由圖3可以看出:CNN-RF集成模型一共分為兩層,在訓練CNN與RF單獨模型時,將訓練集5折,其中4折分別用于第一層中的CNN和RF中,然后用第一層訓練好的模型預測被留下的1折訓練集,得到綜合診斷結果,再通過概率輸出的形式將診斷結果組合成新數據集,作為元學習器的輸入,訓練完元學習器LR模型后,得到最終的預測結果。其單模型的5折交叉驗證過程如圖4所示。
為使元學習器更加高效、分類性能更好,對LR算法的超參數進行設定。其中,優化算法參數(solver)選用sag優化方法;分類方式選擇參數(mult_class)選用many-vs-many(MvM)分類方式;類型權重參數(class_weight)選用balanced。其分類計算過程如下:
在第1.3節中個基學習器輸出組成的新數據集為

(5)
其中第個樣本:

(6)
其多項邏輯斯蒂回歸模型為

(7)

(8)
式中:為權重值。

圖4 單模型5折交叉法示意
由于文中研究的嵌入式數控系統故障診斷屬于分類問題,為更好地評價預測值與實測值之間的差異,采用準確值、精確值、召回率、分數以及混淆矩陣進行評價。其值均為0~1。計算公式分別為

(9)

(10)

(11)

(12)
其中:為被模型預測為正的正樣本;為被模型預測為正的負樣本;為被模型預測為負的正樣本;為被模型預測為負的負樣本。
該實驗的數據來源于課題組自主研發的嵌入式數控實驗臺,如圖5所示,主要由伺服電機、直線滑臺、伺服驅動器等組成。

圖5 實驗臺
在數控機床的運行過程中,系統內部各個模塊輸出的數據,通過在數控系統中用“插樁”的形式,可以快速提取其中的大量時序數據作為試驗訓練數據。通過實驗臺采集,得到如表1所示的數據集。經過預處理后給它們貼上標簽,以便后續進行模型訓練。

表1 實驗樣本數據集
在CNN模型訓練過程中,訓練集與驗證集最優模型的損失值及診斷準確率隨迭代步數的變動如圖6所示。可見:當迭代次數達到40次后,模型呈現收斂趨勢。其網絡結構如表2所示。

圖6 準確率和損失值變化曲線

表2 CNN模型的超參數設置
為使RF模型達到良好的訓練效果,需要調整決策樹的數目,如圖7所示。可知:當=60時,其袋外樣本數(oob_score)趨于收斂,模型的泛化能力達到最大,模型達到最優。因此,文中RF模型算法的超參數為葉子節點最小樣本數量為1、節點劃分最小樣本數量為2、樹的數目為150。

圖7 oob_score隨決策樹個數變化曲線
為驗證CNN-RF集成模型對嵌入式數控故障的診斷效果,用混淆矩陣可視化地展示診斷模型對各個故障類型的判別結果,如圖8—圖10所示。可以看出:可能是由于樣本存在不均衡性,導致了少量故障判別錯誤,但相較于RF模型和CNN模型,CNN-RF集成模型對故障的診斷準確率較高。由表3可看出:CNN-RF集成模型在整體診斷準確率上也優于兩個單一模型。各模型中各故障類別的分類性能比較如表4所示。可以看出:CNN-RF模型中各個類型故障在精確率、召回率和指標中均優于RF和CNN模型。

圖8 RF模型的混淆矩陣

圖9 CNN模型的混淆矩陣

圖10 CNN-RF模型的混淆矩陣

表3 RF、CNN和CNN-RF模型診斷結果

表4 RF、CNN和CNN-RF模型性能比較
可見:CNN模型和RF模型在經過Stacking集成融合后,充分利用了卷積神經網絡自動提取數據特征和隨機森林分類性能優越的優勢,對嵌入式數控系統模塊的故障診斷性能有一定的提升效果。
為進一步驗證CNN-RF集成模型的診斷效果,將它與其他機器學習方法進行對比。對比實驗分為兩類,第一類是與其他單一機器學習對比,包括支持向量機(SVM)、梯度提升樹(GBR)和多層感知機神經網絡(MLP);第二類是將這3個單一模型分別與CNN進行集成融合后進行對比。為使模型性能達到最優,3個模型的超參數設定如表5所示。經過實驗驗證,不同診斷模型性能比較如圖11所示。

表5 各模型的超參數

圖11 不同診斷模型性能比較
由圖11可知,在第一類實驗中,CNN模型的故障診斷準確率相比于RF、SVM、MLP、GBR模型分別高出3.64%、19.84%、8.68%、6.96%,表明CNN模型對于該故障的診斷準確度最好。雖然RF、GBR和MLP模型也有著較高的診斷效果,但相比于CNN還是有差距。其中SVM模型的整體分類效果最差,評價指標較低,這是因為它對數據集存在的不均衡問題比較敏感,影響了整體的診斷效果。在第二類實驗中, CNN-RF性能相比其他模型性能提升最大,故障診斷準確率提高了2.74%。CNN-GBR集成模型相比CNN是負提升;CNN-SVM和CNN-MLP模型相比CNN模型的準確率提升不大。由此可以看出,CNN-RF集成模型的診斷分類性能最佳。
針對嵌入式數控系統模塊故障診斷的研究,本文作者采用深度學習方法,通過實驗結果得到以下結論:
(1)卷積神經網絡憑借自身自適應提取特征的優勢,在嵌入式數控系統模塊故障診斷中取得了良好的效果。其故障診斷準確率相比傳統機器學習的RF、SVM、MLP和GBR模型分別高出3.64%、19.84%、8.68%、6.96%,證明了深度學習網絡在嵌入式數控系統模塊故障診斷以及分類方面的可行性;
(2)通過Stacking集成方法將CNN模型與其他模型集成融合,通過指標評估對比,發現集成后的模型效果更優,其中 CNN-RF集成模型在數控系統故障方面的診斷性能最佳;CNN-RF集成模型同時利用了卷積神經網絡特征提取能力強的優勢和隨機森林分類性能好、能提供平衡數據集誤差方法的優勢,進一步提高了對故障的診斷性能,其故障診斷準確率提升了2.74%。因此采用Stacking集成方法融合CNN和RF模型是一種有效的嵌入式數控機床系統模塊故障診斷模型,為嵌入式數控機床系統模塊及其他故障診斷提供了一種新思路。