張 建, 胡小鋒, 張亞輝
(上海交通大學 a. 機械與動力工程學院; b. 海洋裝備研究院, 上海 200240)
高附加值零件需要進行過程監(jiān)控來保證其加工質(zhì)量,而加工過程監(jiān)測數(shù)據(jù)在采集過程中由于傳感器、采集和傳輸設備受環(huán)境影響大,導致數(shù)據(jù)中存在異常值[1].這些異常數(shù)據(jù)與真實數(shù)據(jù)有顯著差異,而刀具加工監(jiān)測異常數(shù)據(jù)直接影響刀具剩余壽命預測的準確性.
數(shù)據(jù)異常檢測算法主要分為有監(jiān)督和無監(jiān)督算法.其中監(jiān)督或者半監(jiān)督的方法通過帶標簽的正常數(shù)據(jù)和異常數(shù)據(jù)來訓練分類模型.尚文利等[2]利用堆疊自編碼(SAE)神經(jīng)網(wǎng)絡對工藝數(shù)據(jù)進行特征降維,然后設計長短期記憶(LSTM)神經(jīng)網(wǎng)絡來進行異常檢測.夏英等[3]提出一種融合了新型統(tǒng)計方法和雙向卷積LSTM異常檢測方法,能夠處理多維時序數(shù)據(jù).孫瀅濤等[4]對電力數(shù)據(jù)時間序列進行多域特征提取,并采用相關向量機和支持向量數(shù)據(jù)描述進行特征選擇降維和異常檢測.傅世元等[5]提出一種基于元學習動態(tài)選擇集成的電力調(diào)度數(shù)據(jù)異常檢測方法.有監(jiān)督的異常檢測依賴于已知的異常樣本,但在加工監(jiān)控過程中,首先實際生產(chǎn)加工的零件型號、使用的刀具多變,有異常標簽的數(shù)據(jù)樣本難以獲取,其次異常信號的來源復雜,無法獲取完備的異常數(shù)據(jù)來訓練異常檢測模型.
與有監(jiān)督的算法不同,無監(jiān)督異常檢測方法從數(shù)據(jù)樣本的統(tǒng)計規(guī)律[6]和樣本間的距離[7]出發(fā).吳蕊等[8]結(jié)合數(shù)據(jù)對象的密集度與最大近鄰半徑, 優(yōu)化K-means初始聚類中心, 在電力數(shù)據(jù)異常檢測上取得了優(yōu)異的效果.吳金娥等[9]提出采用反向k近鄰算法實現(xiàn)異常數(shù)據(jù)檢測.陳硯橋等[10]基于密度的聚類算法(DBSCAN)實現(xiàn)了多源數(shù)據(jù)異常檢測.宋麗娜等[11]將局部異常因子(LOF)算法與互補集成經(jīng)驗模態(tài)分解(CEEMD)法進行結(jié)合,識別監(jiān)測數(shù)據(jù)的異常值.王峰等[12]針對電力調(diào)度數(shù)據(jù)異常,提出基于對數(shù)區(qū)間隔離的檢測方法.王燕晉等[13]基于孤立森林算法提出了一種電力用戶數(shù)據(jù)異??焖僮R別方法.然而基于聚類的異常檢測結(jié)果依賴聚類的效果[14].在實際加工監(jiān)測過程中,采集的加工監(jiān)測數(shù)據(jù)隨刀具的剩余壽命減少而變化,導致正常和異常數(shù)據(jù)難以區(qū)分.
針對刀具加工監(jiān)測異常數(shù)據(jù)無標簽和加工監(jiān)測數(shù)據(jù)隨刀具性能衰退而變化,考慮刀具加工剩余壽命因素,提出基于多層感知機模型的預測偏差來實現(xiàn)異常數(shù)據(jù)樣本的檢測.在多層感知機的訓練過程中采用高斯分布來擬合訓練樣本損失,并融合自步學習框架來提升模型對正常樣本的篩選能力.最終將異常篩選前后的數(shù)據(jù)用于銑刀剩余壽命預測中,來驗證異常數(shù)據(jù)檢測的重要性和有效性.
多層感知機包含輸入層、輸出層以及多個隱藏層.相鄰層之間的神經(jīng)元節(jié)點進行全連接,即上一層的每個神經(jīng)元都與下一層的所有神經(jīng)元連接,同時同一層的神經(jīng)元節(jié)點沒有連接.前一層的輸出通過激活函數(shù)與下一層的輸入進行關聯(lián).
多層感知機模型的訓練包含兩個部分,分別是前向傳遞和反向傳播.前向傳遞過程中,訓練樣本數(shù)據(jù)從輸入層輸入,通過一個或者多個全連接層,每兩個神經(jīng)元之間的參數(shù)包含一個權重,從而對輸入的數(shù)據(jù)進行擬合,最后通過輸出層將數(shù)據(jù)進行輸出.反向傳播過程則由輸出值與樣本的真實值構建損失函數(shù),通過反向傳播的梯度下降算法對模型的參數(shù)進行更新,當模型的損失函數(shù)降到最小值時,多層感知機模型就能夠擬合樣本特征.第I層到第J層神經(jīng)元的前向傳遞和反向傳播過程如下:
(1)
wji(t)=wji(t-1)+Δwji(t-1)=
(2)
式中:l表示第I層神經(jīng)元的個數(shù);wij表示第I層第i個神經(jīng)元和第J層第j個神經(jīng)元之間的權重;xi表示第I層第i個神經(jīng)元的輸入;yj表示第J層第j個神經(jīng)元的輸入;φ表示激活函數(shù);t表示迭代次數(shù);α為梯度下降的學習率;ε(t)為多層感知機的輸出和真實值之間的損失函數(shù).
Bengio于2009年在國際機器學習會議(ICML)上首次提出課程學習[15],即讓模型先學習簡單的知識,然后逐漸增加難度,過渡到更復雜的知識上去.而自步學習[16]在課程學習的基礎上進行了改進,模型在每一步的迭代過程中來決定下一步學習的樣本.
傳統(tǒng)機器學習方法的目標函數(shù)如下所示,要求出使得目標函數(shù)最小的權重值:
(3)
式中:xi為第i個樣本;yi為第i個樣本的標簽值;wt、wt-1分別為第t和第t-1次迭代過程中模型的權重;m為樣本個數(shù).
不同于傳統(tǒng)的機器學習,自步學習在每一次的迭代過程中會傾向于從所有樣本中選擇具有較小訓練誤差的樣本,然后更新模型參數(shù).因此在每一次的迭代過程中,并不是所有的樣本都參與了模型參數(shù)的更新.自步學習在傳統(tǒng)機器學習的目標函數(shù)中引入了二分變量vi,該變量用于表征每個樣本是否被選擇參與訓練,其目標函數(shù)改寫為
wt,vt=
(4)
式中:λ為樣本難易程度的篩選閾值.當損失值f(xi,yi;wt-1)<λ時,vi取1,而當損失值f(xi,yi;wt-1)≥λ時,vi取0.自步學習中λ的選取往往需要人為給定,本文通過高斯分布來擬合訓練樣本的誤差,從而自適應地選取λ,將高于閾值的樣本作為異常樣本.
刀具的性能狀態(tài)需通過加工監(jiān)測信號間接反映,并且隨著刀具的磨損程度增加刀具的剩余壽命會降低[17].
首先針對刀具監(jiān)測信號無異常數(shù)據(jù)標簽問題,將監(jiān)測信號和刀具剩余壽命進行關聯(lián),建立多層感知機模型對兩者進行擬合,以監(jiān)測信號為輸入,以刀具剩余壽命為輸出.加工過程的異常數(shù)據(jù)受外界干擾與真實數(shù)據(jù)存在差異,無法反映刀具加工過程的真實狀態(tài),剩余壽命的預測誤差會大于正常數(shù)據(jù).其次,采用全量樣本訓練多層感知機模型會引入異常樣本,因此,在多層感知機模型每一步的訓練迭代過程中,引入自步學習框架,選擇預測誤差小的樣本來更新模型權重,防止異常樣本的干擾.針對自步學習的步長大小難以確定的問題,提出利用高斯分布來設置誤差閾值作為自步學習的步長.最后,模型收斂后,利用最后一次計算的誤差閾值以及更新完成的多層感知機模型來對所有樣本進行篩選.圖1展示了異常檢測方法的流程.
多層感知機的實現(xiàn)包含輸入層、兩個隱藏層以及輸出層,每一層之間通過激活函數(shù)相連.其中第1個隱藏層、第2個隱藏層的輸出通過ReLU激活函數(shù)連接,輸出層后連接Sigmoid激活函數(shù),最終輸出刀具的剩余壽命值.為了防止模型過擬合,在第1個隱藏層后連接一個LayerNorm正則化層.剩余壽命預測模型各層結(jié)構如圖2所示.模型的損失函數(shù)為均方差函數(shù):
圖2 剩余壽命預測網(wǎng)絡模型結(jié)構
(5)
模型迭代過程中主要包括兩個部分:
(1) 誤差閾值計算.將所有樣本通過異常檢測模型預測的剩余壽命與真實值比較,基于高斯分布擬合誤差分布,進而獲取誤差閾值,作為自步學習的步長參數(shù).
(2) 自適應訓練.使用誤差閾值計算得到的結(jié)果代入自步學習的λ參數(shù)中,建立自步學習損失函數(shù),通過梯度下降算法對模型進行權重更新,學習正常樣本的數(shù)據(jù)特征.
最后當訓練迭代結(jié)束時,以最后一次迭代得到的誤差閾值為標準,將樣本劃分為正常樣本和異常樣本.
2.2.1基于高斯分布的誤差閾值計算 剩余壽命預測模型回歸加工監(jiān)測數(shù)據(jù)的特征,通過式(5)計算得到預測值和真實值的誤差的平方數(shù)來衡量回歸精度,理想情況下加工監(jiān)測數(shù)據(jù)經(jīng)過剩余壽命預測模型計算后得到的誤差為0,但數(shù)據(jù)樣本的質(zhì)量問題使得模型始終存在一定的誤差.誤差越大發(fā)生的概率越小,誤差越小發(fā)生的概率越大,且對于大部分正常樣本,其誤差維持在一個較小的水平.選擇高斯分布來映射預測誤差平方和數(shù)據(jù)的準確率,高斯分布定義隨機變量X服從一個數(shù)學期望為u、方差為σ的正態(tài)分布,記為N(u,σ2).高斯分布概率密度函數(shù)p(x)為
(6)
誤差平方越接近0時數(shù)據(jù)的分散程度越小,映射后的數(shù)據(jù)正常的概率越大.為了滿足映射關系取高斯分布概率密度函數(shù)對稱軸的右半軸為實際的映射對象.其中期望大小為0,標準差通過樣本標準差s來估計:
(7)
2.2.2基于自步學習的自適應訓練方法 建立其優(yōu)化函數(shù)如下:
wt,vt=
(8)
自步學習的步長大小記為λ,等于式(7)計算得到的k,表示樣本難易程度的篩選閾值.訓練過程主要分為兩步,第1步是v值的計算,第2步是w值的更新.v值的計算需要先固定w權重值,通過對比預測誤差和λ的關系進行確定,當樣本通過剩余壽命預測模型后得到誤差小于λ時,上述優(yōu)化函數(shù)取v=1時達到最小.最終可以得到每個數(shù)據(jù)樣本對應的v值.v=0則該樣本不參與訓練,v=1則該樣本參與訓練:
(9)
同理,w權重的更新過程需要固定v值,采用梯度下降法進行更新:
(10)
當完成t次迭代訓練后,取λt作為誤差篩選閾值k,將所有樣本的預測誤差與k進行對比,大于等于k的樣本歸為異常樣本.結(jié)合上述融合高斯分布的誤差閾值的自步學習迭代過程得到算法如下.
算法基于自步學習的刀具加工過程監(jiān)測數(shù)據(jù)異常檢測算法.
輸入待檢測的樣本集D(xi,yi),1≤i≤m訓練迭代次數(shù)epochs,學習率α,樣本批次大小batchsize,多層感知機模型M(w,b),樣本權重向量V.
輸出多層感知機模型M(w,b)和誤差閾值k.
步驟1隨機初始化網(wǎng)絡權重w、b和樣本權重V=Im;
步驟2foreachtin epochs do;
步驟3建立誤差集合E(ei), 1≤i≤m;
步驟4foreach (xi,yi) inDdo;
步驟7end;
步驟8根據(jù)高斯分布計算誤差閾值:
步驟9foreach batch(xi,yi) inDdo;
步驟11計算誤差batch(ei);
步驟12① 固定模型權重,更新樣本權重Vbatch;
步驟13ifei<λthen;
步驟14vi=1;
步驟15else;
步驟16vi=0;
步驟17end;
步驟18② 固定樣本權重,更新模型權重
步驟19end;
步驟20end;
步驟21獲得異常樣本的誤差篩選閾值:k=λt=epochs.
選用數(shù)據(jù)采集自某汽輪機廠的汽輪機轉(zhuǎn)子輪槽銑削加工過程,一共使用了15把J1型精銑刀.在輪槽加工過程中,采用PCI-2AE采集聲發(fā)射信號,采樣的頻率為1 MHz.
上述加工過程產(chǎn)生的樣本數(shù)據(jù)集一共包含了170條輪槽的加工監(jiān)控數(shù)據(jù),每條輪槽的加工持續(xù)時間內(nèi)能得到 10 000 條數(shù)據(jù)記錄,每條數(shù)據(jù)記錄涵蓋14種AE屬性信息:上升時間、計數(shù)、能量、幅值、平均頻率、均方根值、平均信號電平、峰值頻率、反算頻率、初始頻率、信號強度、絕對能量、中心頻率、峰頻.將每條輪槽的 10 000 條AE數(shù)據(jù)進行均值化后得到14個維度的特征向量,每個特征向量作為一個數(shù)據(jù)樣本,一共包含170個數(shù)據(jù)樣本,對應于170條輪槽.AE信號能表征精刀加工過程的健康情況,反映刀具的剩余使用壽命,因此,每個數(shù)據(jù)樣本均會對應一個刀具剩余使用壽命,與加工刀具的實際加工情況有關,如表1所示.
表1 汽輪機輪槽銑削加工刀具使用情況
汽輪機轉(zhuǎn)子輪槽產(chǎn)品成本高、質(zhì)量要求嚴格,加工過程復雜.刀具剩余壽命預測影響換刀決策時間,對于保證加工質(zhì)量和生產(chǎn)效率具有重要意義[20].使用采用高斯徑向基核的支持向量回歸機算法作為驗證算法,該算法能夠通過核函數(shù)實現(xiàn)高維空間的非線性映射,同時具有較好的魯棒性,適用于加工過程的刀具剩余壽命預測.
將編號為13、14、15號精銑刀作為測試集,編號為1~12號的刀具作為訓練集,對訓練集進行異常樣本的檢測和剔除,然后參與刀具剩余壽命預測模型的訓練,最后通過測試集的預測結(jié)果對比數(shù)據(jù)異常檢測前后效果.
汽輪機輪槽銑刀監(jiān)測數(shù)據(jù)在實際生產(chǎn)加工中采集得到,沒有區(qū)分樣本正常和異常的標簽值,但每個樣本都具有相應的刀具剩余壽命.因此通過對比異常檢測前后,支持向量回歸機在測試集上刀具剩余壽命預測的表現(xiàn)來反映所提出的數(shù)據(jù)異常檢測算法的有效性.平均絕對誤差(MAE)、均方根誤差(RMSE)被廣泛用于回歸問題中,采用上述兩種指標表示模型預測效果的優(yōu)劣.
(1) 平均絕對誤差反映實際預測誤差的大小,其計算公式如下:
(11)
(2) 均方根誤差的作用是衡量預測值與真實值之間的偏差大小,其計算公式如下:
(12)
首先建立第2章的多層感知機模型,輸入層大小為14,對應樣本的14個維度.第1層隱藏層大小為8,第2層隱藏層大小為2,輸出層大小為1,對應刀具的剩余壽命值.然后對15把刀中編號為1~12的銑刀加工監(jiān)測數(shù)據(jù)樣本進行訓練,訓練輪次為500次.由于模型權重參數(shù)是隨機初始化的,所以選取了5次不同的隨機種子下異常檢測模型訓練的結(jié)果.
在異常檢測模型剔除異常數(shù)據(jù)樣本后,將剩余正常樣本用于訓練支持向量回歸機,其中80%作為訓練集,20%作為驗證集,進行刀具的剩余壽命預測回歸.采用網(wǎng)格搜索法搜索支持向量回歸機的最佳參數(shù),其中懲罰系數(shù)C的取值范圍為 [0.001:0.001:0.01, 0.01:0.01:0.1, 0.1:0.1:1:1, 1:1:10],γ取值范圍為[0.001:0.001:0.01, 0.01:0.01:0.1, 0.1:0.1:1:1].最后將測試樣本的預測結(jié)果進行對比,得到不同異常檢測算法的性能.
異常檢測算法將多層感知機作為刀具剩余壽命預測模型,預測誤差結(jié)果用高斯分布進行擬合,并應用3σ方法進行粗差探測,融合自步學習框架對多層感知機模型進行逐步訓練調(diào)整.為了驗證式(7)計算的閾值k的有效性, 改寫式(7)為k=βs,分別取β=1.5,2.0,2.5,3.0,3.5作為系數(shù),對刀具訓練集數(shù)據(jù)進行異常檢測,得到的測試集預測結(jié)果如表2所示.圖3展示了在不同的系數(shù)下,測試集的MAE和RMSE平均結(jié)果.
表2 不同系數(shù)下的測試結(jié)果
圖3 不同系數(shù)β下的測試平均結(jié)果
從實驗結(jié)果可以看出,不同系數(shù)的取值會對測試集最終預測結(jié)果產(chǎn)生影響.其中在β=3.0時,經(jīng)過異常樣本檢測和剔除后測試集預測結(jié)果最佳,驗證了3σ方法的有效性.表3顯示在最佳系數(shù)取值下,5組實驗檢測出的異常樣本,在剔除異常樣本之后,剩余樣本在測試集上獲得的平均測試結(jié)果MAE值為1.069,RMSE值為1.304.
表3 多隨機種子下異常檢測方法結(jié)果
取實驗編號5得到訓練過程中λ、模型預測平均損失值(MSE)、m隨t變化的曲線如圖4所示.
圖4 異常檢測方法的訓練過程
在訓練過程中,λ始終大于MSE,其中e超過λ的樣本即會被歸為異常樣本,不參與此輪模型權重的訓練.在訓練初始階段,模型對于訓練樣本的擬合程度較差,因此,訓練樣本的MSE較大,計算得到的λ也較大.隨著訓練次數(shù)的增加,模型漸漸收斂,大部分樣本都能夠被模型進行擬合,此時,仍然e>λ的樣本數(shù)量漸漸穩(wěn)定.最終選取訓練結(jié)束后,將e與此時λ進行比較來確定異常樣本.
為了對照所提出的異常檢測模型的有效性,選取了其他5種異常檢測算法.局部異常因子(LOF)算法是一種基于密度的異常檢測算法,通過計算數(shù)據(jù)樣本周圍樣本的局部密度以及自身所在位置的密度來衡量樣本的異常程度.DBSCAN是一種基于密度的聚類算法,可以在數(shù)據(jù)空間中發(fā)現(xiàn)噪聲點.孤立森林根據(jù)數(shù)據(jù)點被孤立的難易程度將噪聲點和正常點進行區(qū)分.K均值法是應用廣泛的基于距離的聚類算法.一分類支持向量機(One-Class SVM)與本文方法均為基于分類的異常檢測方法[14],其利用核函數(shù)將數(shù)據(jù)樣本擬合到一個超平面上,遠離超平面上的樣本為異常樣本.此外增加了隨機抽樣方法,隨機選取3個樣本作為異常樣本,其余作為正常樣本,與本文方法進行對比.不同的方法對比結(jié)果如表4所示.分別從4個指標維度進行比較,分別是測試集的MAE、RMSE、MAE相較于全量訓練集得到的提升比例(MAE’)、RMSE相較于全量訓練得到的提升比例(RMSE’).
表4 不同異常檢測算法對比結(jié)果
本文方法獲得的測試集預測結(jié)果平均值在MAE上的提升比例為26.28%,在RMSE上提升比例為28.19%,優(yōu)于其他方法的結(jié)果.在其他的異常檢測算法中,LOF取得了次優(yōu)的結(jié)果,在MAE和RMSE上的提升比例分別為15.93%和18.17%,LOF能通過衡量樣本間的聚集程度來判斷離群點,魯棒性較好.孤立森林的提升比例與LOF方法近似,在MAE和RMSE上的提升比例分別為12.90%和15.91%.One-Class SVM在MAE和RMSE上的提升比例分別為11.72%和11.62%,差于前3種方法.兩種基于聚類的方法得到的MAE提升比例和RMSE提升比例均為負數(shù).聚類算法受限于聚類結(jié)果,而刀具加工過程監(jiān)測數(shù)據(jù)受刀具性能衰退而變化,因此基于聚類的異常檢測方法難以準確區(qū)分正常和異常樣本.隨機采樣法是樣本選擇中一個比較常見的方法,該方法便于操作,但不同的隨機采樣過程得到的結(jié)果差異很大.從表中結(jié)果看到,隨機采樣的MAE和RMSE的標準差分別達到了0.327和0.456.圖5直觀地顯示了各個算法在測試集上指標的提升比例.
圖5 測試集預測結(jié)果在不同異常檢測算法應用前后提升比例
本文面向刀具加工過程監(jiān)測,基于高斯分布和自步學習框架提出一種數(shù)據(jù)異常檢測方法.利用多層感知機模型學習監(jiān)測數(shù)據(jù)樣本的整體特征,分離監(jiān)測數(shù)據(jù)集中的異常數(shù)據(jù).在模型的更新過程中,用模型預測誤差來擬合高斯分布,并設定誤差閾值,同時結(jié)合自步學習框架,優(yōu)選高質(zhì)量數(shù)據(jù)樣本參與權重的更新.最終訓練結(jié)束后通過多層感知機模型的預測誤差有效檢測異常數(shù)據(jù)樣本.
通過與多種異常檢測算法的對比實驗可見,融合高斯分布和自步學習框架的數(shù)據(jù)異常檢測方法能夠有效地區(qū)分加工監(jiān)測數(shù)據(jù)中的異常樣本.多層感知機模型通過高斯分布計算樣本誤差閾值,與自步學習框架結(jié)合,針對性地選取樣本對模型權重進行更新,保證模型具備對異常樣本的判別能力.綜合上述分析和實驗結(jié)論,本文所提出的面向刀具加工監(jiān)測數(shù)據(jù)的異常檢測方法相比其他方法能更適用于刀具加工監(jiān)測數(shù)據(jù)樣本的異常檢測.