杜柳青 李 祥 余永維
(重慶理工大學(xué)機(jī)械工程學(xué)院, 重慶 400054)
實(shí)現(xiàn)數(shù)控機(jī)床未來運(yùn)行狀態(tài)的預(yù)測(cè),能夠挖掘機(jī)床潛在的異常突發(fā)狀況,避免生產(chǎn)過程失效帶來的損失,增強(qiáng)機(jī)床加工的穩(wěn)定性,并且對(duì)設(shè)備的維修和維護(hù)具有指導(dǎo)性作用[1]。國(guó)內(nèi)外學(xué)者對(duì)數(shù)控機(jī)床局部狀態(tài)辨識(shí)、精度演化、故障識(shí)別等方面取得了較多研究成果[2-11],而針對(duì)狀態(tài)預(yù)測(cè)模型的研究較少。李海等[12]基于多維時(shí)間序列結(jié)合min-max標(biāo)準(zhǔn)化和自回歸模型,實(shí)現(xiàn)了對(duì)數(shù)控機(jī)床的回轉(zhuǎn)誤差、主軸負(fù)載、主軸電流、電機(jī)溫度等狀態(tài)信息的預(yù)測(cè)。余永維等[13]基于時(shí)序深度學(xué)習(xí)模型,利用相空間重構(gòu)原理挖掘精度時(shí)間序列關(guān)聯(lián)信息,提出了數(shù)控機(jī)床精度預(yù)測(cè)方法。張存吉等[14]通過深度學(xué)習(xí)方法,構(gòu)建深度神經(jīng)網(wǎng)絡(luò),最終實(shí)現(xiàn)了微型銑削刀具磨損狀態(tài)的分類。張鵬等[15]基于長(zhǎng)短時(shí)記憶網(wǎng)絡(luò),引入注意力機(jī)制和多任務(wù)學(xué)習(xí)方法完成了對(duì)伺服系統(tǒng)狀態(tài)的識(shí)別。
現(xiàn)有研究大多都是對(duì)數(shù)控機(jī)床局部狀態(tài)的分析與預(yù)測(cè),局部分析中伺服系統(tǒng)狀態(tài)、運(yùn)動(dòng)精度、零件磨損等研究較為成熟,但典型性太強(qiáng),適用范圍窄;現(xiàn)有對(duì)機(jī)床整體狀態(tài)的分析模型,也主要利用單一或局部數(shù)據(jù)對(duì)部分狀態(tài)參數(shù)進(jìn)行了回歸預(yù)測(cè),雖然實(shí)際回歸效果好,但無(wú)法從回歸參數(shù)中繼續(xù)挖掘機(jī)床將來狀態(tài)的具體所屬類別,對(duì)機(jī)床未來運(yùn)行狀態(tài)的分類預(yù)測(cè)能力還比較欠缺。
深度學(xué)習(xí)網(wǎng)絡(luò)具有強(qiáng)大的特征提取能力[16-23]。機(jī)床狀態(tài)特征具有清晰的局部關(guān)系,而整體關(guān)系復(fù)雜度高[24],適合通過深度學(xué)習(xí)方法來建模。機(jī)床的全局和局部運(yùn)行狀態(tài)與機(jī)床特征數(shù)據(jù)具有較強(qiáng)的時(shí)間序列關(guān)聯(lián)性,可以通過機(jī)床時(shí)序數(shù)據(jù)挖掘未來狀態(tài)變化。
為解決機(jī)床狀態(tài)動(dòng)態(tài)標(biāo)簽及差異化分布數(shù)據(jù)下的預(yù)測(cè)適應(yīng)性差與準(zhǔn)確度低問題,本文針對(duì)數(shù)控機(jī)床多源大數(shù)據(jù)流,提出一種基于時(shí)序深度學(xué)習(xí)網(wǎng)絡(luò)的自適應(yīng)混合時(shí)序模型,并融合時(shí)序深度學(xué)習(xí)網(wǎng)絡(luò)和KNN(K-nearest neighbors)分類器,設(shè)計(jì)權(quán)值累積自適應(yīng)更新規(guī)則控制特征數(shù)據(jù)庫(kù)的方法控制模型,并提出一種組合收斂準(zhǔn)則模型訓(xùn)練方法。
圖1為基于LSTM的時(shí)序深度學(xué)習(xí)模型,LSTM單個(gè)神經(jīng)元由遺忘門、輸出門、記憶門組成(圖1中Cell)。神經(jīng)元通過這3個(gè)結(jié)構(gòu)的計(jì)算,完成信息的舍棄和保留。神經(jīng)元之間存在信息前饋傳遞性,即后續(xù)時(shí)間狀態(tài)特征可以選擇性地持久化之前狀態(tài)信息,同時(shí)結(jié)合新輸入特征信息得到最后的輸出特征。
t時(shí)刻遺忘門、輸入門、記憶單元、輸出門的計(jì)算公式分別為
ft=σ(Wf[ht-1,xt]+bf)
(1)
it=σ(Wi[ht-1,xt]+bi)
(2)
(3)
(4)
式中Wf——遺忘門Wi——輸入門
Wc——記憶單元
Wo——輸出門權(quán)值矩陣
bf——遺忘門偏置參數(shù)
bi——輸入門偏置參數(shù)
bc——記憶單元偏置參數(shù)
bo——輸出門偏置參數(shù)
tanh、σ——激活函數(shù)
xt——t時(shí)刻輸入特征
ht——t時(shí)刻隱狀態(tài)特征
輸入信號(hào)Xt=(x1,x2,…,xt-1,xt,xt+1,…)為數(shù)控機(jī)床多源參數(shù)序列。將LSTM的反饋結(jié)構(gòu)在時(shí)間方向上展開,每一時(shí)刻的LSTM即為一個(gè)學(xué)習(xí)網(wǎng)絡(luò)中的一層,沿時(shí)間方向展開,即形成基于LSTM單元的時(shí)序深度學(xué)習(xí)網(wǎng)絡(luò)。
針對(duì)傳統(tǒng)LSTM模型不能處理動(dòng)態(tài)標(biāo)簽任務(wù)的缺陷,引入KNN層,通過更改模型層的方式,來間接實(shí)現(xiàn)標(biāo)簽的任意增刪,從而解決動(dòng)態(tài)標(biāo)簽問題。融合LSTM特征提取器和KNN分類器的自適應(yīng)混合時(shí)序深度學(xué)習(xí)模型如圖2所示。
圖2 混合時(shí)序模型Fig.2 Mixed time series model
模型輸入為12維狀態(tài)參量,通過LSTM篩選重構(gòu)后輸出高維特征向量。設(shè)計(jì)約束使輸出特征向量在重構(gòu)空間下映射到對(duì)應(yīng)類別特征向量附近,最后通過度量特征距離的KNN層完成分類任務(wù),輸出分類結(jié)果。
模型隱藏層由經(jīng)驗(yàn)判斷設(shè)定,考慮到CPU推斷的響應(yīng)時(shí)間,隱藏層設(shè)計(jì)為22層,隱藏層具體參數(shù)如表1所示(層2~23)。
表1 網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)Tab.1 Network structure parameters
KNN是一個(gè)典型的距離度量分類算法,其原理是找尋一個(gè)樣本在特征空間中k個(gè)最鄰近樣本中最多的類,其優(yōu)點(diǎn)是計(jì)算速度快,并在細(xì)粒度樣本空間的預(yù)測(cè)準(zhǔn)確率非常高。KNN算法可視為一個(gè)特征向量庫(kù),通過更新、增刪、保存輸出特征就可以完成類別更新的任務(wù),以此解決動(dòng)態(tài)標(biāo)簽問題。
KNN算法中特征向量之間的閔科夫斯基距離判斷類別公式為
(5)
式中d——特征向量x和y的距離
p——距離系數(shù)
當(dāng)p=2時(shí)為歐氏距離,歐氏距離是最常見的度量指標(biāo)。
KNN算法數(shù)學(xué)模型為
(6)
其中
(7)
式中I——指示函數(shù),當(dāng)x與y的狀態(tài)類別相同時(shí)其值為1,不同則為0
Nk(x)——訓(xùn)練集中包含k個(gè)最小鄰點(diǎn)的領(lǐng)域
cj——樣本類別
k——最小近鄰數(shù)N——總的類別數(shù)
求得所有類別指示函數(shù)統(tǒng)計(jì)量最大的標(biāo)簽,即為最終分類結(jié)果。
引入KNN分類層后,LSTM作為特征提取層,將原有的softmax分類層替換為KNN。KNN算法處理的是高維特征搜索問題,KNN算法直接保存的實(shí)際是LSTM的輸出特征,不同的特征集合,KNN算法會(huì)生成不同的k-d樹,當(dāng)刪除類別時(shí),只需將該類別從特征集合中刪除并重新構(gòu)造k-d樹即可。新增類別則需要用新樣本集合微調(diào)LSTM參數(shù),得到新的特征輸出集合,并構(gòu)造新的k-d樹來實(shí)現(xiàn)。
由于樣本數(shù)據(jù)存在分布差異,采用KNN分類時(shí),數(shù)據(jù)偏差會(huì)明顯擴(kuò)大算法誤差(圖3),由于類別1存在數(shù)據(jù)偏差,導(dǎo)致真實(shí)類別1與類別2局部不可分,從而導(dǎo)致誤判。為此,在KNN算法基礎(chǔ)上設(shè)計(jì)一種針對(duì)分布差異的自更新法則。
圖3 假設(shè)預(yù)測(cè)分布Fig.3 Distribution of hypothetical predict
通過帶權(quán)值樣本的迭代更新達(dá)到適應(yīng)數(shù)據(jù)的效果,權(quán)值更新模型為
(8)
設(shè)定閾值G,在每輪預(yù)測(cè)過程中不斷迭代該預(yù)測(cè)樣本累積值Cxi,當(dāng)?shù)陀陂撝岛笤摌颖緦?huì)被刪除。計(jì)算規(guī)則為
(9)
式中x——特征點(diǎn)j——訓(xùn)練輪次
Rmax——預(yù)測(cè)樣本點(diǎn)與KNN預(yù)測(cè)結(jié)果的最大距離
Rmin——預(yù)測(cè)樣本點(diǎn)與KNN預(yù)測(cè)結(jié)果的最小距離
dist——距離函數(shù)
KNN在預(yù)測(cè)時(shí)存在一個(gè)作用域半徑,即以預(yù)測(cè)樣本點(diǎn)為中心,參與預(yù)測(cè)的k個(gè)樣本點(diǎn)能夠圍成最小圓半徑。只有和預(yù)測(cè)樣本點(diǎn)同類別的數(shù)據(jù)才進(jìn)行累積計(jì)算。如圖4所示,中心最大的圓點(diǎn)為預(yù)測(cè)樣本點(diǎn),設(shè)置的最小近鄰為6個(gè)樣本,Rmax作為作用域半徑,作用域范圍內(nèi)的同類別樣本會(huì)自增、范圍外的會(huì)自減,而不同類別樣本只會(huì)在距離小于Rmin時(shí)自減。所以當(dāng)預(yù)測(cè)特征重復(fù)出現(xiàn)在某個(gè)空間位置時(shí),該空間的樣本點(diǎn)就會(huì)引導(dǎo)KNN逐漸趨向正確的分類。
圖4 算法原理Fig.4 Algorithm description
該更新法則的自適應(yīng)性測(cè)試結(jié)果如圖5所示。由圖5可知,偏離真實(shí)預(yù)測(cè)結(jié)果的部分?jǐn)?shù)據(jù)會(huì)因高頻次遞減而被刪除,從而消除了偏差數(shù)據(jù)的干擾,減少了在預(yù)測(cè)過程中因環(huán)境不同而導(dǎo)致的預(yù)測(cè)偏差,使模型具有較強(qiáng)的抗干擾性。
圖5 自適應(yīng)預(yù)測(cè)分布演化Fig.5 Adaptive prediction distribution’s evolution
2.3.1損失函數(shù)優(yōu)化
為使自適應(yīng)深度學(xué)習(xí)分類器效果最佳,提出基于中心損失函數(shù)的特征距離度量?jī)?yōu)化策略,構(gòu)建綜合決策損失函數(shù),確保模型有效融合,綜合損失函數(shù)通過加權(quán)構(gòu)造,即
L=Ls+λLc
(10)
(11)
(12)
式中λ——影響因子
Lc——中心損失函數(shù)[25]
cy——該類別的度量中心
Ls——CrossEntropy交叉熵?fù)p失函數(shù)
W——分類層權(quán)值向量
b——偏置參數(shù)n——類別數(shù)量
m——一次輸入數(shù)據(jù)量
在最小化損失函數(shù)過程中,交叉熵?fù)p失函數(shù)只有在輸出與標(biāo)簽不同時(shí)才產(chǎn)生較大梯度,使輸出特征的類間間距變大,中心損失函數(shù)則是縮小類內(nèi)距離。
2.3.2模型參數(shù)訓(xùn)練方法
采用BPTT(Back propagation through time)算法訓(xùn)練數(shù)控機(jī)床深度學(xué)習(xí)預(yù)測(cè)模型參數(shù),因數(shù)控機(jī)床狀態(tài)預(yù)測(cè)模型實(shí)際應(yīng)用時(shí)對(duì)準(zhǔn)確率和查準(zhǔn)率要求較高,訓(xùn)練時(shí)收斂準(zhǔn)則的相應(yīng)閾值應(yīng)越高越好,提出組合收斂準(zhǔn)則為
(13)
其中
式中TP——正確分類的正樣本數(shù)量
TN——正確分類的負(fù)樣本數(shù)量
FP——錯(cuò)誤分類的正樣本數(shù)量
FN——錯(cuò)誤分類的負(fù)樣本數(shù)量
a——準(zhǔn)確率g——查準(zhǔn)率
步驟如下:
(1)前向傳播。根據(jù)式(1)~(4)可以分別得到對(duì)應(yīng)門的輸出和最后輸出ht。
(2)計(jì)算誤差并反向傳播。根據(jù)正向傳播計(jì)算的結(jié)果可以計(jì)算損失函數(shù),在t時(shí)刻縱向和橫向傳播誤差的定義為
(14)
式中δ——誤差
E——損失函數(shù)的輸出值
(3)根據(jù)每層反向傳播的誤差項(xiàng)計(jì)算每個(gè)權(quán)值的梯度,然后更新每個(gè)權(quán)值。更新公式為
(15)
η——每次更新步長(zhǎng)
ω——泛指模型參數(shù),為每個(gè)神經(jīng)元權(quán)重
重復(fù)步驟(1)~(3),直到模型滿足在訓(xùn)練數(shù)據(jù)集上的組合收斂準(zhǔn)則為止。
數(shù)控機(jī)床的電流、電壓、功率、轉(zhuǎn)矩、速度以及運(yùn)行溫度等多源參數(shù)信息全面反映了機(jī)床的運(yùn)行狀態(tài),采用機(jī)床運(yùn)行過程參數(shù)訓(xùn)練自適應(yīng)深度學(xué)習(xí)模型,預(yù)測(cè)數(shù)控機(jī)床進(jìn)給系統(tǒng)和主軸系統(tǒng)的典型運(yùn)行狀態(tài),包括正常狀態(tài)、主軸轉(zhuǎn)速異常、進(jìn)給軸振動(dòng)異常、主軸伺服故障、進(jìn)給軸伺服故障,以驗(yàn)證基于自適應(yīng)深度學(xué)習(xí)狀態(tài)預(yù)測(cè)模型的效果,其輸入多源數(shù)據(jù)和輸出預(yù)測(cè)狀態(tài)如圖6所示。
圖6 輸入輸出特征Fig.6 Input and output features
以G460L型數(shù)控機(jī)床為數(shù)據(jù)采集對(duì)象,定期在機(jī)床上進(jìn)行空轉(zhuǎn)、負(fù)載、加工等實(shí)驗(yàn),采用PT100型溫度傳感器采集機(jī)床溫度信息,通過SBWZ-2460型溫度變送器、前置器輸出至采集軟件,其余數(shù)據(jù)通過以太網(wǎng)接口連接機(jī)床同步采集,圖7為數(shù)據(jù)采集現(xiàn)場(chǎng)。
圖7 數(shù)據(jù)采集現(xiàn)場(chǎng)Fig.7 Data acquisition site1.網(wǎng)絡(luò)接口 2.溫度數(shù)據(jù)接口 3.溫度傳感器
機(jī)床運(yùn)行狀態(tài)變化頻率較快,預(yù)測(cè)時(shí)域步長(zhǎng)不易過長(zhǎng),設(shè)置預(yù)測(cè)步長(zhǎng)為30 s,數(shù)據(jù)采集間隔也應(yīng)當(dāng)同為30 s。不同特征間會(huì)因?yàn)榱烤V不同而導(dǎo)致數(shù)據(jù)呈指數(shù)級(jí)差異,為了保證訓(xùn)練模型時(shí)梯度迭代穩(wěn)定,應(yīng)當(dāng)對(duì)數(shù)據(jù)進(jìn)行無(wú)量綱歸一化。因樣本數(shù)據(jù)中正常和異常數(shù)據(jù)屬于易采集數(shù)據(jù),故障數(shù)據(jù)為稀有數(shù)據(jù),樣本均衡比為12∶7∶1,需要對(duì)故障數(shù)據(jù)做樣本均衡。通過SMOTE(樣本生成算法)對(duì)其進(jìn)行過采樣訓(xùn)練,樣本生成公式為
(16)
式中r——0~1的隨機(jī)數(shù)函數(shù)
設(shè)置輸入為10個(gè)時(shí)序步長(zhǎng),對(duì)應(yīng)輸出為下一時(shí)刻的標(biāo)簽,并根據(jù)分類平衡性原則,以類子集7∶3劃分訓(xùn)練集和驗(yàn)證集,基于Pytorch1.1.0、Cuda9.0、Win10、GPU:1080ti環(huán)境、設(shè)置學(xué)習(xí)率為0.025、熱啟動(dòng)學(xué)習(xí)率激活、余弦退火算法更改學(xué)習(xí)率,每25輪驗(yàn)證一次精確度。采用BPTT方法結(jié)合center-loss策略和收斂判別準(zhǔn)則,迭代256輪后模型預(yù)測(cè)損失值達(dá)到最小,得到最優(yōu)模型迭代結(jié)果如圖8所示。
圖8 模型訓(xùn)練損失值-準(zhǔn)確率變化曲線Fig.8 Change of model training loss-accuracy curve
以相同參數(shù)和數(shù)據(jù)集訓(xùn)練得到最優(yōu)LSTM模型,同時(shí)對(duì)測(cè)試集進(jìn)行預(yù)測(cè)。未替換分類層的混合模型準(zhǔn)確率達(dá)到94.6%。提取3 000個(gè)輸出特征,采用TSNE降維可視化工具得到圖9所示的樣本點(diǎn)云圖。圖中數(shù)字對(duì)應(yīng)圖6預(yù)測(cè)狀態(tài)編號(hào),不同圖形表示不同標(biāo)簽的特征點(diǎn),不同標(biāo)簽間區(qū)分界限越明顯分類典型性越好,結(jié)果表明混合模型的結(jié)果更優(yōu)。圖9表明了混合模型的輸出特征具有良好的可分解性,也從另一角度證明了中心損失函數(shù)和KNN的有效性。
圖9 輸出特征可視化結(jié)果Fig.9 Output feature’s visualization results
分別對(duì)LSTM和混合模型進(jìn)行KNN替換,設(shè)置近鄰數(shù)k為3~10,在相同測(cè)試集下遍歷所有k值得到結(jié)果如表2所示。實(shí)驗(yàn)結(jié)果表明,在替換后k為5時(shí)模型準(zhǔn)確率得到一定程度的提高,但提升不明顯。而混合模型隨著k的不斷提升,預(yù)測(cè)準(zhǔn)確率會(huì)越來越高,且相較LSTM準(zhǔn)確率最高提升3.7個(gè)百分點(diǎn)。結(jié)果表明預(yù)測(cè)結(jié)果能夠很好地反映機(jī)床的真實(shí)運(yùn)行狀態(tài)。
表2 最小近鄰遍歷結(jié)果Tab.2 KNN traversal results
將歸一化后的測(cè)試集加入指定分布的高斯噪聲(μ=0.1,σ=0.05),在測(cè)試集上進(jìn)行重復(fù)
預(yù)測(cè)(圖10)。由圖10可知,第1輪測(cè)試時(shí),在負(fù)增益數(shù)據(jù)增強(qiáng)后準(zhǔn)確率下降,第2輪測(cè)試精度都相應(yīng)回升,實(shí)驗(yàn)結(jié)果表明混合模型具有較好的抗干擾能力。
圖10 兩次預(yù)測(cè)準(zhǔn)確率變化結(jié)果Fig.10 Change results of twice prediction accuracy
利用相同模型層參數(shù)的LSTM和BP神經(jīng)網(wǎng)絡(luò)與本文方法進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表3所示。LSTM方法預(yù)測(cè)準(zhǔn)確率為94.6%,BP方法為91.7%,同時(shí)都沒有抗干擾能力。在CPU端做推斷時(shí)BP和LSTM模型運(yùn)行速度較慢、實(shí)時(shí)性較差,可見無(wú)論從預(yù)測(cè)準(zhǔn)確率方面,還是實(shí)際嵌入運(yùn)用方面,本文提出的自適應(yīng)混合時(shí)序網(wǎng)絡(luò)的預(yù)測(cè)方法都優(yōu)于其他兩種方法,說明了本文方法的有效性。
表3 結(jié)果對(duì)比Tab.3 Comparative results
根據(jù)數(shù)控機(jī)床狀態(tài)分類預(yù)測(cè)的實(shí)際需求,分析了時(shí)序深度學(xué)習(xí)網(wǎng)絡(luò)和KNN算法特性,提出了一種自適應(yīng)混合深度學(xué)習(xí)建模方法來構(gòu)建機(jī)床狀態(tài)分類預(yù)測(cè)模型,并設(shè)計(jì)了改進(jìn)的BBPT模型訓(xùn)練方法。該模型具有預(yù)測(cè)準(zhǔn)確率高、推斷速度快、抗干擾恢復(fù)能力強(qiáng)的特點(diǎn)。實(shí)驗(yàn)結(jié)果表明,混合時(shí)序模型較BP和LSTM準(zhǔn)確率分別提升5.1、2.2個(gè)百分點(diǎn),數(shù)據(jù)采集間隔和抗干擾能力也明顯優(yōu)于其他網(wǎng)絡(luò),能夠很好地嵌入實(shí)際應(yīng)用中,較好地滿足機(jī)床狀態(tài)分類預(yù)測(cè)要求。