杜柳青 李 祥 余永維
(重慶理工大學機械工程學院, 重慶 400054)
實現數控機床未來運行狀態的預測,能夠挖掘機床潛在的異常突發狀況,避免生產過程失效帶來的損失,增強機床加工的穩定性,并且對設備的維修和維護具有指導性作用[1]。國內外學者對數控機床局部狀態辨識、精度演化、故障識別等方面取得了較多研究成果[2-11],而針對狀態預測模型的研究較少。李海等[12]基于多維時間序列結合min-max標準化和自回歸模型,實現了對數控機床的回轉誤差、主軸負載、主軸電流、電機溫度等狀態信息的預測。余永維等[13]基于時序深度學習模型,利用相空間重構原理挖掘精度時間序列關聯信息,提出了數控機床精度預測方法。張存吉等[14]通過深度學習方法,構建深度神經網絡,最終實現了微型銑削刀具磨損狀態的分類。張鵬等[15]基于長短時記憶網絡,引入注意力機制和多任務學習方法完成了對伺服系統狀態的識別。
現有研究大多都是對數控機床局部狀態的分析與預測,局部分析中伺服系統狀態、運動精度、零件磨損等研究較為成熟,但典型性太強,適用范圍窄;現有對機床整體狀態的分析模型,也主要利用單一或局部數據對部分狀態參數進行了回歸預測,雖然實際回歸效果好,但無法從回歸參數中繼續挖掘機床將來狀態的具體所屬類別,對機床未來運行狀態的分類預測能力還比較欠缺。
深度學習網絡具有強大的特征提取能力[16-23]。機床狀態特征具有清晰的局部關系,而整體關系復雜度高[24],適合通過深度學習方法來建模。機床的全局和局部運行狀態與機床特征數據具有較強的時間序列關聯性,可以通過機床時序數據挖掘未來狀態變化。
為解決機床狀態動態標簽及差異化分布數據下的預測適應性差與準確度低問題,本文針對數控機床多源大數據流,提出一種基于時序深度學習網絡的自適應混合時序模型,并融合時序深度學習網絡和KNN(K-nearest neighbors)分類器,設計權值累積自適應更新規則控制特征數據庫的方法控制模型,并提出一種組合收斂準則模型訓練方法。
圖1為基于LSTM的時序深度學習模型,LSTM單個神經元由遺忘門、輸出門、記憶門組成(圖1中Cell)。神經元通過這3個結構的計算,完成信息的舍棄和保留。神經元之間存在信息前饋傳遞性,即后續時間狀態特征可以選擇性地持久化之前狀態信息,同時結合新輸入特征信息得到最后的輸出特征。
t時刻遺忘門、輸入門、記憶單元、輸出門的計算公式分別為
ft=σ(Wf[ht-1,xt]+bf)
(1)
it=σ(Wi[ht-1,xt]+bi)
(2)
(3)
(4)
式中Wf——遺忘門Wi——輸入門
Wc——記憶單元
Wo——輸出門權值矩陣

bf——遺忘門偏置參數
bi——輸入門偏置參數
bc——記憶單元偏置參數
bo——輸出門偏置參數
tanh、σ——激活函數
xt——t時刻輸入特征
ht——t時刻隱狀態特征
輸入信號Xt=(x1,x2,…,xt-1,xt,xt+1,…)為數控機床多源參數序列。將LSTM的反饋結構在時間方向上展開,每一時刻的LSTM即為一個學習網絡中的一層,沿時間方向展開,即形成基于LSTM單元的時序深度學習網絡。
針對傳統LSTM模型不能處理動態標簽任務的缺陷,引入KNN層,通過更改模型層的方式,來間接實現標簽的任意增刪,從而解決動態標簽問題。融合LSTM特征提取器和KNN分類器的自適應混合時序深度學習模型如圖2所示。

圖2 混合時序模型Fig.2 Mixed time series model
模型輸入為12維狀態參量,通過LSTM篩選重構后輸出高維特征向量。設計約束使輸出特征向量在重構空間下映射到對應類別特征向量附近,最后通過度量特征距離的KNN層完成分類任務,輸出分類結果。
模型隱藏層由經驗判斷設定,考慮到CPU推斷的響應時間,隱藏層設計為22層,隱藏層具體參數如表1所示(層2~23)。

表1 網絡結構參數Tab.1 Network structure parameters
KNN是一個典型的距離度量分類算法,其原理是找尋一個樣本在特征空間中k個最鄰近樣本中最多的類,其優點是計算速度快,并在細粒度樣本空間的預測準確率非常高。KNN算法可視為一個特征向量庫,通過更新、增刪、保存輸出特征就可以完成類別更新的任務,以此解決動態標簽問題。
KNN算法中特征向量之間的閔科夫斯基距離判斷類別公式為
(5)
式中d——特征向量x和y的距離
p——距離系數
當p=2時為歐氏距離,歐氏距離是最常見的度量指標。
KNN算法數學模型為

(6)
其中

(7)
式中I——指示函數,當x與y的狀態類別相同時其值為1,不同則為0
Nk(x)——訓練集中包含k個最小鄰點的領域
cj——樣本類別
k——最小近鄰數N——總的類別數
求得所有類別指示函數統計量最大的標簽,即為最終分類結果。
引入KNN分類層后,LSTM作為特征提取層,將原有的softmax分類層替換為KNN。KNN算法處理的是高維特征搜索問題,KNN算法直接保存的實際是LSTM的輸出特征,不同的特征集合,KNN算法會生成不同的k-d樹,當刪除類別時,只需將該類別從特征集合中刪除并重新構造k-d樹即可。新增類別則需要用新樣本集合微調LSTM參數,得到新的特征輸出集合,并構造新的k-d樹來實現。
由于樣本數據存在分布差異,采用KNN分類時,數據偏差會明顯擴大算法誤差(圖3),由于類別1存在數據偏差,導致真實類別1與類別2局部不可分,從而導致誤判。為此,在KNN算法基礎上設計一種針對分布差異的自更新法則。

圖3 假設預測分布Fig.3 Distribution of hypothetical predict
通過帶權值樣本的迭代更新達到適應數據的效果,權值更新模型為
(8)
設定閾值G,在每輪預測過程中不斷迭代該預測樣本累積值Cxi,當低于閾值后該樣本將會被刪除。計算規則為
(9)
式中x——特征點j——訓練輪次
Rmax——預測樣本點與KNN預測結果的最大距離
Rmin——預測樣本點與KNN預測結果的最小距離
dist——距離函數
KNN在預測時存在一個作用域半徑,即以預測樣本點為中心,參與預測的k個樣本點能夠圍成最小圓半徑。只有和預測樣本點同類別的數據才進行累積計算。如圖4所示,中心最大的圓點為預測樣本點,設置的最小近鄰為6個樣本,Rmax作為作用域半徑,作用域范圍內的同類別樣本會自增、范圍外的會自減,而不同類別樣本只會在距離小于Rmin時自減。所以當預測特征重復出現在某個空間位置時,該空間的樣本點就會引導KNN逐漸趨向正確的分類。

圖4 算法原理Fig.4 Algorithm description
該更新法則的自適應性測試結果如圖5所示。由圖5可知,偏離真實預測結果的部分數據會因高頻次遞減而被刪除,從而消除了偏差數據的干擾,減少了在預測過程中因環境不同而導致的預測偏差,使模型具有較強的抗干擾性。

圖5 自適應預測分布演化Fig.5 Adaptive prediction distribution’s evolution
2.3.1損失函數優化
為使自適應深度學習分類器效果最佳,提出基于中心損失函數的特征距離度量優化策略,構建綜合決策損失函數,確保模型有效融合,綜合損失函數通過加權構造,即
L=Ls+λLc
(10)

(11)
(12)
式中λ——影響因子
Lc——中心損失函數[25]
cy——該類別的度量中心
Ls——CrossEntropy交叉熵損失函數
W——分類層權值向量
b——偏置參數n——類別數量
m——一次輸入數據量
在最小化損失函數過程中,交叉熵損失函數只有在輸出與標簽不同時才產生較大梯度,使輸出特征的類間間距變大,中心損失函數則是縮小類內距離。
2.3.2模型參數訓練方法
采用BPTT(Back propagation through time)算法訓練數控機床深度學習預測模型參數,因數控機床狀態預測模型實際應用時對準確率和查準率要求較高,訓練時收斂準則的相應閾值應越高越好,提出組合收斂準則為
(13)
其中
式中TP——正確分類的正樣本數量
TN——正確分類的負樣本數量
FP——錯誤分類的正樣本數量
FN——錯誤分類的負樣本數量
a——準確率g——查準率
步驟如下:
(1)前向傳播。根據式(1)~(4)可以分別得到對應門的輸出和最后輸出ht。
(2)計算誤差并反向傳播。根據正向傳播計算的結果可以計算損失函數,在t時刻縱向和橫向傳播誤差的定義為
(14)
式中δ——誤差
E——損失函數的輸出值

(3)根據每層反向傳播的誤差項計算每個權值的梯度,然后更新每個權值。更新公式為
(15)

η——每次更新步長
ω——泛指模型參數,為每個神經元權重
重復步驟(1)~(3),直到模型滿足在訓練數據集上的組合收斂準則為止。
數控機床的電流、電壓、功率、轉矩、速度以及運行溫度等多源參數信息全面反映了機床的運行狀態,采用機床運行過程參數訓練自適應深度學習模型,預測數控機床進給系統和主軸系統的典型運行狀態,包括正常狀態、主軸轉速異常、進給軸振動異常、主軸伺服故障、進給軸伺服故障,以驗證基于自適應深度學習狀態預測模型的效果,其輸入多源數據和輸出預測狀態如圖6所示。

圖6 輸入輸出特征Fig.6 Input and output features
以G460L型數控機床為數據采集對象,定期在機床上進行空轉、負載、加工等實驗,采用PT100型溫度傳感器采集機床溫度信息,通過SBWZ-2460型溫度變送器、前置器輸出至采集軟件,其余數據通過以太網接口連接機床同步采集,圖7為數據采集現場。

圖7 數據采集現場Fig.7 Data acquisition site1.網絡接口 2.溫度數據接口 3.溫度傳感器
機床運行狀態變化頻率較快,預測時域步長不易過長,設置預測步長為30 s,數據采集間隔也應當同為30 s。不同特征間會因為量綱不同而導致數據呈指數級差異,為了保證訓練模型時梯度迭代穩定,應當對數據進行無量綱歸一化。因樣本數據中正常和異常數據屬于易采集數據,故障數據為稀有數據,樣本均衡比為12∶7∶1,需要對故障數據做樣本均衡。通過SMOTE(樣本生成算法)對其進行過采樣訓練,樣本生成公式為
(16)
式中r——0~1的隨機數函數
設置輸入為10個時序步長,對應輸出為下一時刻的標簽,并根據分類平衡性原則,以類子集7∶3劃分訓練集和驗證集,基于Pytorch1.1.0、Cuda9.0、Win10、GPU:1080ti環境、設置學習率為0.025、熱啟動學習率激活、余弦退火算法更改學習率,每25輪驗證一次精確度。采用BPTT方法結合center-loss策略和收斂判別準則,迭代256輪后模型預測損失值達到最小,得到最優模型迭代結果如圖8所示。

圖8 模型訓練損失值-準確率變化曲線Fig.8 Change of model training loss-accuracy curve
以相同參數和數據集訓練得到最優LSTM模型,同時對測試集進行預測。未替換分類層的混合模型準確率達到94.6%。提取3 000個輸出特征,采用TSNE降維可視化工具得到圖9所示的樣本點云圖。圖中數字對應圖6預測狀態編號,不同圖形表示不同標簽的特征點,不同標簽間區分界限越明顯分類典型性越好,結果表明混合模型的結果更優。圖9表明了混合模型的輸出特征具有良好的可分解性,也從另一角度證明了中心損失函數和KNN的有效性。

圖9 輸出特征可視化結果Fig.9 Output feature’s visualization results
分別對LSTM和混合模型進行KNN替換,設置近鄰數k為3~10,在相同測試集下遍歷所有k值得到結果如表2所示。實驗結果表明,在替換后k為5時模型準確率得到一定程度的提高,但提升不明顯。而混合模型隨著k的不斷提升,預測準確率會越來越高,且相較LSTM準確率最高提升3.7個百分點。結果表明預測結果能夠很好地反映機床的真實運行狀態。

表2 最小近鄰遍歷結果Tab.2 KNN traversal results
將歸一化后的測試集加入指定分布的高斯噪聲(μ=0.1,σ=0.05),在測試集上進行重復
預測(圖10)。由圖10可知,第1輪測試時,在負增益數據增強后準確率下降,第2輪測試精度都相應回升,實驗結果表明混合模型具有較好的抗干擾能力。

圖10 兩次預測準確率變化結果Fig.10 Change results of twice prediction accuracy
利用相同模型層參數的LSTM和BP神經網絡與本文方法進行對比實驗,實驗結果如表3所示。LSTM方法預測準確率為94.6%,BP方法為91.7%,同時都沒有抗干擾能力。在CPU端做推斷時BP和LSTM模型運行速度較慢、實時性較差,可見無論從預測準確率方面,還是實際嵌入運用方面,本文提出的自適應混合時序網絡的預測方法都優于其他兩種方法,說明了本文方法的有效性。

表3 結果對比Tab.3 Comparative results
根據數控機床狀態分類預測的實際需求,分析了時序深度學習網絡和KNN算法特性,提出了一種自適應混合深度學習建模方法來構建機床狀態分類預測模型,并設計了改進的BBPT模型訓練方法。該模型具有預測準確率高、推斷速度快、抗干擾恢復能力強的特點。實驗結果表明,混合時序模型較BP和LSTM準確率分別提升5.1、2.2個百分點,數據采集間隔和抗干擾能力也明顯優于其他網絡,能夠很好地嵌入實際應用中,較好地滿足機床狀態分類預測要求。