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