游達(dá)章,陶加濤,許文俊,張業(yè)鵬
(1.湖北工業(yè)大學(xué)機械工程學(xué)院,湖北武漢 430068;2.湖北省現(xiàn)代制造質(zhì)量工程重點實驗室,湖北武漢 430068)
嵌入式數(shù)控系統(tǒng)一般由幾個模塊組成,如主任務(wù)模塊、譯碼模塊、加減速模塊等,如圖1所示。這些模塊在數(shù)控系統(tǒng)運行過程中產(chǎn)生大量的數(shù)據(jù),如各軸運動的步數(shù)、位置、速度、加減速等。這些數(shù)據(jù)反映了控制系統(tǒng)的實時性能,通過這些數(shù)據(jù)的異??膳袛嘞到y(tǒng)功能模塊是否發(fā)生故障。通過統(tǒng)計分析這些模塊故障,對數(shù)控系統(tǒng)進行優(yōu)化與改進,對其可靠性增長有重要意義。
圖1 嵌入式數(shù)控系統(tǒng)功能模塊調(diào)用
國內(nèi)外學(xué)者對數(shù)控系統(tǒng)的故障診斷與預(yù)測做了大量的研究工作。陳同興等通過收集加工中心的各類警報信息,運用BP神經(jīng)網(wǎng)絡(luò)理論對數(shù)控加工中心的故障預(yù)測進行了研究。房啟成等在進行機床故障診斷研究時,提出了一種基于多源信息融合與高斯隨機映射的數(shù)控機床故障診斷方法。李海等人采用壓縮算法對數(shù)據(jù)存儲進行了優(yōu)化,提出了一種利用時間序列相關(guān)性來預(yù)測機床性能的方法,并建立了Petri網(wǎng)模型,對五軸機床故障診斷進行了研究。
以上方法對數(shù)控機床不同方面的故障診斷取得了較好的效果,但是對于數(shù)控系統(tǒng)模塊的故障診斷缺乏有效方法。近年來,對于數(shù)據(jù)的處理,以神經(jīng)網(wǎng)絡(luò)為代表的深度學(xué)習(xí)在這方面得到了廣泛的應(yīng)用。因此,本文作者提出了一種CNN-RF集成學(xué)習(xí)的故障診斷方法,采用Stacking集成策略將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)和隨機森林(Random Forest,RF)融合。為驗證模型的有效性,用嵌入式數(shù)控系統(tǒng)采集到的模塊數(shù)據(jù)進行驗證。
卷積神經(jīng)網(wǎng)絡(luò)是一種前饋神經(jīng)網(wǎng)絡(luò),它憑借著自帶特征提取和權(quán)值共享的優(yōu)勢在許多領(lǐng)域被應(yīng)用。它一般包括卷積層、池化層和全連接層。
1.1.1 卷積層
卷積層利用可調(diào)參數(shù)組成的卷積核與輸入數(shù)據(jù)進行卷積操作,得到輸出。卷積操作的數(shù)學(xué)表達(dá)式為
(1)
采用ReLU函數(shù)衍生出的ELU激活函數(shù),其數(shù)學(xué)表達(dá)式為
(2)
1.1.2 池化層
池化層(pooling)的作用主要是降低維度,通過對卷積后的結(jié)果進行降采樣來降低維度,分為最大池化和平均池化兩類。文中采用最大值池化,其數(shù)學(xué)表達(dá)式為
=[()+]
(3)
式中:為輸出;(·)為激活函數(shù);為乘性偏置;()為降采樣函數(shù);為偏置項。
1.1.3 全連接層
全連接層在整個網(wǎng)絡(luò)結(jié)構(gòu)中處于最后,它是利用卷積和池化層得到的數(shù)據(jù)特征向量對數(shù)據(jù)進行分類。最后的分類器通常采用Softmax分類器。假設(shè)對于類的分類問題,Softmax分類器的數(shù)學(xué)表達(dá)式為
(4)
式中:(1≤≤)為模型的參數(shù);()為模型的輸出。
隨機森林是由BREIMAN提出的一種機器學(xué)習(xí)方法,是一個包含許多決策樹的集成分類器。
隨機森林有著更快的訓(xùn)練速度、更高的預(yù)測和更強的魯棒性。它基于打包思想在隨機選擇的特征子集中選擇最佳分割模式。通過使用boostrap獲得個樣本,并通過多數(shù)票獲得最終結(jié)果。
RF包含個決策樹{(),=1,2…,},其中={,,…,}。是信號的維特征向量。最終輸出=(),其中:=1,2…,,為個樹的最終決策。
在隨機森林算法中,有2個參數(shù)非常重要:一個是決策樹的數(shù)量,另一個是每個節(jié)點的隨機子集。2個變量的設(shè)置要根據(jù)特征總數(shù)以及分類的準(zhǔn)確性和訓(xùn)練時間決定。
Stacking模型通過組合多種不同機器學(xué)習(xí)算法提升分類器的泛化性能。在Stacking中,將被組合的機器學(xué)習(xí)模型稱為基學(xué)習(xí)器,而組合基學(xué)習(xí)器的稱為元學(xué)習(xí)器。Stacking模型結(jié)構(gòu)如圖2所示。
圖2 Stacking模型示意
Stacking模型在訓(xùn)練過程中,為了防止訓(xùn)練出的模型產(chǎn)生過擬合,在模型建立前對模型進行交叉驗證。其中,折交叉驗證應(yīng)用最為廣泛。
文中所用的數(shù)據(jù)集,由于是數(shù)控模塊產(chǎn)生的數(shù)據(jù),其正常數(shù)據(jù)量大,錯誤數(shù)據(jù)量小,導(dǎo)致數(shù)據(jù)不平衡。因此提出CNN與RF集成學(xué)習(xí)模型進行故障識別,其診斷流程如圖3所示。
圖3 CNN-RF集成模型診斷流程框圖
在模型結(jié)構(gòu)中,CNN和RF模型當(dāng)作基學(xué)習(xí)器,而元學(xué)習(xí)器采用Logistic Regression(LR)算法。LR算法是一個穩(wěn)定性好、分類速度快且能涵蓋全部特征的算法。
由圖3可以看出:CNN-RF集成模型一共分為兩層,在訓(xùn)練CNN與RF單獨模型時,將訓(xùn)練集5折,其中4折分別用于第一層中的CNN和RF中,然后用第一層訓(xùn)練好的模型預(yù)測被留下的1折訓(xùn)練集,得到綜合診斷結(jié)果,再通過概率輸出的形式將診斷結(jié)果組合成新數(shù)據(jù)集,作為元學(xué)習(xí)器的輸入,訓(xùn)練完元學(xué)習(xí)器LR模型后,得到最終的預(yù)測結(jié)果。其單模型的5折交叉驗證過程如圖4所示。
為使元學(xué)習(xí)器更加高效、分類性能更好,對LR算法的超參數(shù)進行設(shè)定。其中,優(yōu)化算法參數(shù)(solver)選用sag優(yōu)化方法;分類方式選擇參數(shù)(mult_class)選用many-vs-many(MvM)分類方式;類型權(quán)重參數(shù)(class_weight)選用balanced。其分類計算過程如下:
在第1.3節(jié)中個基學(xué)習(xí)器輸出組成的新數(shù)據(jù)集為
(5)
其中第個樣本:
(6)
其多項邏輯斯蒂回歸模型為
(7)
(8)
式中:為權(quán)重值。
圖4 單模型5折交叉法示意
由于文中研究的嵌入式數(shù)控系統(tǒng)故障診斷屬于分類問題,為更好地評價預(yù)測值與實測值之間的差異,采用準(zhǔn)確值、精確值、召回率、分?jǐn)?shù)以及混淆矩陣進行評價。其值均為0~1。計算公式分別為
(9)
(10)
(11)
(12)
其中:為被模型預(yù)測為正的正樣本;為被模型預(yù)測為正的負(fù)樣本;為被模型預(yù)測為負(fù)的正樣本;為被模型預(yù)測為負(fù)的負(fù)樣本。
該實驗的數(shù)據(jù)來源于課題組自主研發(fā)的嵌入式數(shù)控實驗臺,如圖5所示,主要由伺服電機、直線滑臺、伺服驅(qū)動器等組成。
圖5 實驗臺
在數(shù)控機床的運行過程中,系統(tǒng)內(nèi)部各個模塊輸出的數(shù)據(jù),通過在數(shù)控系統(tǒng)中用“插樁”的形式,可以快速提取其中的大量時序數(shù)據(jù)作為試驗訓(xùn)練數(shù)據(jù)。通過實驗臺采集,得到如表1所示的數(shù)據(jù)集。經(jīng)過預(yù)處理后給它們貼上標(biāo)簽,以便后續(xù)進行模型訓(xùn)練。
表1 實驗樣本數(shù)據(jù)集
在CNN模型訓(xùn)練過程中,訓(xùn)練集與驗證集最優(yōu)模型的損失值及診斷準(zhǔn)確率隨迭代步數(shù)的變動如圖6所示。可見:當(dāng)?shù)螖?shù)達(dá)到40次后,模型呈現(xiàn)收斂趨勢。其網(wǎng)絡(luò)結(jié)構(gòu)如表2所示。
圖6 準(zhǔn)確率和損失值變化曲線
表2 CNN模型的超參數(shù)設(shè)置
為使RF模型達(dá)到良好的訓(xùn)練效果,需要調(diào)整決策樹的數(shù)目,如圖7所示。可知:當(dāng)=60時,其袋外樣本數(shù)(oob_score)趨于收斂,模型的泛化能力達(dá)到最大,模型達(dá)到最優(yōu)。因此,文中RF模型算法的超參數(shù)為葉子節(jié)點最小樣本數(shù)量為1、節(jié)點劃分最小樣本數(shù)量為2、樹的數(shù)目為150。
圖7 oob_score隨決策樹個數(shù)變化曲線
為驗證CNN-RF集成模型對嵌入式數(shù)控故障的診斷效果,用混淆矩陣可視化地展示診斷模型對各個故障類型的判別結(jié)果,如圖8—圖10所示??梢钥闯觯嚎赡苁怯捎跇颖敬嬖诓痪庑?,導(dǎo)致了少量故障判別錯誤,但相較于RF模型和CNN模型,CNN-RF集成模型對故障的診斷準(zhǔn)確率較高。由表3可看出:CNN-RF集成模型在整體診斷準(zhǔn)確率上也優(yōu)于兩個單一模型。各模型中各故障類別的分類性能比較如表4所示??梢钥闯觯篊NN-RF模型中各個類型故障在精確率、召回率和指標(biāo)中均優(yōu)于RF和CNN模型。
圖8 RF模型的混淆矩陣
圖9 CNN模型的混淆矩陣
圖10 CNN-RF模型的混淆矩陣
表3 RF、CNN和CNN-RF模型診斷結(jié)果
表4 RF、CNN和CNN-RF模型性能比較
可見:CNN模型和RF模型在經(jīng)過Stacking集成融合后,充分利用了卷積神經(jīng)網(wǎng)絡(luò)自動提取數(shù)據(jù)特征和隨機森林分類性能優(yōu)越的優(yōu)勢,對嵌入式數(shù)控系統(tǒng)模塊的故障診斷性能有一定的提升效果。
為進一步驗證CNN-RF集成模型的診斷效果,將它與其他機器學(xué)習(xí)方法進行對比。對比實驗分為兩類,第一類是與其他單一機器學(xué)習(xí)對比,包括支持向量機(SVM)、梯度提升樹(GBR)和多層感知機神經(jīng)網(wǎng)絡(luò)(MLP);第二類是將這3個單一模型分別與CNN進行集成融合后進行對比。為使模型性能達(dá)到最優(yōu),3個模型的超參數(shù)設(shè)定如表5所示。經(jīng)過實驗驗證,不同診斷模型性能比較如圖11所示。
表5 各模型的超參數(shù)
圖11 不同診斷模型性能比較
由圖11可知,在第一類實驗中,CNN模型的故障診斷準(zhǔn)確率相比于RF、SVM、MLP、GBR模型分別高出3.64%、19.84%、8.68%、6.96%,表明CNN模型對于該故障的診斷準(zhǔn)確度最好。雖然RF、GBR和MLP模型也有著較高的診斷效果,但相比于CNN還是有差距。其中SVM模型的整體分類效果最差,評價指標(biāo)較低,這是因為它對數(shù)據(jù)集存在的不均衡問題比較敏感,影響了整體的診斷效果。在第二類實驗中, CNN-RF性能相比其他模型性能提升最大,故障診斷準(zhǔn)確率提高了2.74%。CNN-GBR集成模型相比CNN是負(fù)提升;CNN-SVM和CNN-MLP模型相比CNN模型的準(zhǔn)確率提升不大。由此可以看出,CNN-RF集成模型的診斷分類性能最佳。
針對嵌入式數(shù)控系統(tǒng)模塊故障診斷的研究,本文作者采用深度學(xué)習(xí)方法,通過實驗結(jié)果得到以下結(jié)論:
(1)卷積神經(jīng)網(wǎng)絡(luò)憑借自身自適應(yīng)提取特征的優(yōu)勢,在嵌入式數(shù)控系統(tǒng)模塊故障診斷中取得了良好的效果。其故障診斷準(zhǔn)確率相比傳統(tǒng)機器學(xué)習(xí)的RF、SVM、MLP和GBR模型分別高出3.64%、19.84%、8.68%、6.96%,證明了深度學(xué)習(xí)網(wǎng)絡(luò)在嵌入式數(shù)控系統(tǒng)模塊故障診斷以及分類方面的可行性;
(2)通過Stacking集成方法將CNN模型與其他模型集成融合,通過指標(biāo)評估對比,發(fā)現(xiàn)集成后的模型效果更優(yōu),其中 CNN-RF集成模型在數(shù)控系統(tǒng)故障方面的診斷性能最佳;CNN-RF集成模型同時利用了卷積神經(jīng)網(wǎng)絡(luò)特征提取能力強的優(yōu)勢和隨機森林分類性能好、能提供平衡數(shù)據(jù)集誤差方法的優(yōu)勢,進一步提高了對故障的診斷性能,其故障診斷準(zhǔn)確率提升了2.74%。因此采用Stacking集成方法融合CNN和RF模型是一種有效的嵌入式數(shù)控機床系統(tǒng)模塊故障診斷模型,為嵌入式數(shù)控機床系統(tǒng)模塊及其他故障診斷提供了一種新思路。