孫世旭,胡小鋒,夏銘遠
(1.上海交通大學 機械與動力工程學院,上海 200240;2.上海航天控制技術研究所,上海 201109)
刀具破損直接影響切削加工零件的表面質量,造成不可修復的表面損傷,甚至損壞機床。尤其對于航空發(fā)動機機匣、發(fā)電機轉子等高價值零件,會導致巨大的經濟損失。刀具破損在線監(jiān)測在保證加工質量、降低加工成本方面具有重要意義。
近年來,國內外許多學者致力于刀具破損監(jiān)測的研究。刀具破損失效主要有切削刃破損(flute breakage)和柄斷裂(shank breakage)兩種類型[1-2],其中柄斷裂屬于最嚴重的刀具破損,很容易通過切削力、功率等信號檢測;切削刃破損在本質上是細微的破損,因此很難檢測[1]。在刀具破損機理和理論模型方面,李健男等[3]基于分子動力學分析了粘結破損的過程和原因;蔣宏婉等[4]基于近場動力學理論分析了沖擊載荷引起的刀具微觀破損機理和原因;鄭敏利等[5]提出通過粘結自由能衡量刀具破損程度;程耀楠等[6]基于硬質合金抗彎強度理論,采用經驗公式建立了硬質合金刀具理論壽命可靠性模型。研究刀具破損的機理和理論模型,有助于確定影響刀具破損的主要因素,但無法杜絕破損發(fā)生、避免破損刀具繼續(xù)使用造成質量事故。
為了保證加工質量,在加工過程中通過振動[7-8]、功率[9-10]、聲發(fā)射[11-14]等信號對刀具進行在線監(jiān)測成為主流方法。然而,由于此類高值零件對制造過程的可靠性有嚴苛要求,且刀具破損會造成零件表面不可修復的損傷[15],通常采用保守的切削參數和換刀策略將破損發(fā)生概率降至最低,導致能夠獲取的刀具破損樣本數量遠小于刀具正常狀態(tài)的樣本數量,機器學習模型無法充分學習到刀具破損信號的規(guī)律。此外,刀具內部裂紋的增加、擴展和刀具破壞形式都具有隨機性[16-17],刀具破損的信號復雜多樣;生產環(huán)境中存在工件材料性能波動、切削參數微調等工況變化,刀具正常狀態(tài)的信號分布隨工況變化;導致基于歷史樣本建立的監(jiān)測模型存在對破損的查全率低,對正常狀態(tài)的誤報率高的問題。
增量學習(incremental learning)[18]方法被提出用于應對機器學習中的概念漂移(concept drift)[19],解決機器學習模型對分布變化樣本的識別問題。ZHANG等[20]將自編碼器分為兩部分,在前三層用于提取樣本的共有特征,后三層用于提取樣本的私有特征,通過重建誤差判斷是否發(fā)生了概念漂移,發(fā)生概念漂移后對后三層進行學習和更新,從而避免增量學習過程的災難性遺忘。LI等[21]提出一種不平衡數據增量學習的集成學習方法,通過訓練多個決策樹構建集成分類模型,在獲取一定數量的新樣本后,基于Bagging算法對新樣本進行重采樣以平衡其分布并劃分為多個樣本集,然后采用這些樣本集對所有決策樹進行訓練,以更新集成分類模型。ZHU等[22]通過訓練一系列極限支持向量機(extreme support vector machine)實現并行的增量學習,通過對這些極限支持向量機的結果加權相加得到最終結果,實驗表明該方法取得了與批量學習一致的效果。然而,上述增量學習方法解決的是樣本類別增加的學習問題,而不能處理同類樣本分布變化的問題,且均基于監(jiān)督學習,無法應對刀具破損監(jiān)測中存在的樣本極度不平衡問題。
本文提出一種刀具破損在線監(jiān)測的半監(jiān)督增量學習方法。首先,通過半監(jiān)督學習機制對大量刀具狀態(tài)正常的樣本分布進行學習,在沒有刀具破損樣本參與訓練的條件下,通過判斷樣本是否符合正常樣本的分布規(guī)律實現破損樣本的檢測;然后,在刀具破損監(jiān)測過程中,當出現樣本分布變化或識別錯誤時,對模型進行增量訓練,確保模型時刻具備良好的檢測性能。
機器學習模型在實際應用過程中面臨一個重要問題:數據是隨時間逐漸產生的,數據的分布規(guī)律也可能隨時間變化。傳統(tǒng)的機器學習方法采用批量訓練的模式,一次性對大量樣本進行學習后,用于識別與訓練樣本同分布的新觀測樣本。在面對實際的隨時間產生的樣本數據時,存在前期樣本不足無法訓練模型,后期樣本變化后模型性能下降,重新訓練模型效率低、難度大的問題。增量學習方法可以先通過少量樣本的訓練建立模型,然后在獲取到新的樣本后對模型進行更新,從而賦予機器學習模型動態(tài)學習新知識的能力。
增量學習方法的定義是根據給定的數據流樣本s1,s2,…,st生成一系列模型h1,h2,…,ht[18]。其中:st為t時刻產生的有標簽訓練樣本,
st=(xt,yt)∈n×{1,2,…,C};
(1)
ht為t時刻的模型:
ht:n{1,2,…,C},
(2)
ht僅依賴t-1時刻的模型ht-1和最近的p個訓練樣本st-p+1,st-p+2,…,st,p為增量學習樣本數量的上限。
增量學習方法具有以下特點:①模型需要逐步更新,t時刻的模型ht基于t-1時刻的模型ht-1更新得到,而不是完全重新訓練;②保留之前已學習到的知識,避免災難性遺忘,即在模型更新后,保留對歷史訓練樣本的識別能力;③每一次更新模型,只有有限的樣本(數量為p)用來訓練。
由于在模型對新樣本進行識別后延遲一段時間即可獲得樣本的真實標簽,大部分增量學習方法所用的樣本都是有標簽樣本,其學習方法本質上還是監(jiān)督學習,而且目前很少有考慮到數據極度不平衡的增量學習方法。在應用于刀具破損樣本極少的不平衡問題時,很難從極少的刀具破損樣本中學習規(guī)律,需要研究半監(jiān)督的增量學習方法,以學習多數正常狀態(tài)樣本的分布規(guī)律為主,當出現破損樣本、識別錯誤或者樣本分布變化時,對模型進行更新。
本文基于自編碼器提出一種刀具破損監(jiān)測的增量學習方法,該方法在生產過程中實施的流程如圖1所示,圖中最下方的橫軸代表時間,上方的4層分別代表隨時間產生的樣本、發(fā)生的事件、采取的措施和得到的模型。本文提出的方法包含模型的初始訓練階段和破損檢測與增量學習階段兩個主要階段。
模型的初始訓練階段為離線完成,在收集到一部分刀具正常狀態(tài)的樣本后,即t0時刻,啟動初始訓練,自編碼器網絡學習刀具正常狀態(tài)的樣本分布規(guī)律,據此建立刀具破損檢測的模型Ct0,模型的初始訓練階段完成,進入刀具破損檢測和增量學習階段。
刀具破損檢測和增量學習階段為在線完成,首先通過Ct0對新產生的觀測樣本進行識別,識別后延遲一段時間即可獲得樣本的真實類別標簽。若出現樣本識別錯誤,則觸發(fā)增量學習,即ti時刻,模型自動抓取臨近ti時刻的p個樣本進行增量訓練,模型由Ct0更新為Cti。模型在進行刀具破損檢測的同時,檢測刀具正常狀態(tài)的樣本分布規(guī)律是否與已學習到的規(guī)律一致,若出現較大偏差,即使沒有樣本識別錯誤,也會主動觸發(fā)增量學習。如圖1中tj時刻所示,模型檢測到樣本分布變化,自動抓取臨近tj時刻的p個樣本進行增量訓練,模型由Cti更新為Ctj。
Eφ:Rd→Rk,x→Eφ(x)。
(3)
其中φ為編碼器的網絡參數。
將h映射為x′的部分網絡稱為解碼器(Decoder),記為:
Dθ:Rk→Rd,h→Dθ(h)。
(4)
其中θ為解碼器的網絡參數。
(5)
(6)
傳統(tǒng)的自編碼器網絡用于異常檢測等半監(jiān)督學習問題時,僅以重建誤差作為檢測依據,當觀測樣本的重建誤差超過已有正常樣本的最大重建誤差時,則判別為異常,否則判別為正常。在應用過程中存在對異常樣本的檢測率低、將分布發(fā)生變化的正常樣本誤判為異常等問題,且不具備增量學習能力。本文對現有的自編碼器網絡進行改進,設計新的損失函數和分類方法,并引入增量學習機制,以實現刀具破損的準確檢測。
本文提出的刀具破損檢測自編碼器通過樣本在低維特征空間的分布對樣本進行識別,通過樣本的重建誤差判斷樣本分布是否發(fā)生變化。其結構如圖2所示,包含4層,其中編碼器Eφ,γ包含兩層,其節(jié)點數分別用α,β表示,其網絡參數分別用φ,γ表示;解碼器Dσ,θ包含兩層,其節(jié)點數與編碼器對稱,分別為β,α,網絡參數分別用σ,θ表示。
自編碼器網絡以(x,y)為輸入,x=(x1,x2,…,xd)是d維樣本,y∈{1,0}是樣本的標簽,刀具正常狀態(tài)的樣本標記為0,刀具破損的樣本標記為1,樣本的標簽y僅在網絡的訓練階段起作用,用于計算損失函數。
編碼器的輸出,即低維特征向量h的輸出,用于進行刀具破損的檢測;解碼器的輸出,即重建樣本x′的輸出,用于樣本分布變化的檢測。
在采集到一定數量的初始樣本后,對破損檢測的自編碼器模型進行初始訓練。初始訓練的目標是以刀具正常狀態(tài)的樣本對自編碼器進行訓練,令自編碼器學習正常樣本的特征和壓縮、重建的規(guī)律。在初始訓練階段,模型的損失函數為:
(7)
(8)
(8)
在完成初始訓練后,將訓練好的編碼器和解碼器記作Eφ0,γ0,Dσ0,θ0,用于破損檢測和樣本分布變化檢測。
破損檢測的自編碼器對樣本進行壓縮,提取的低維特征并不能直接用于破損檢測,還需要根據樣本的特征分布構建用于破損檢測的分類器。
(10)
(11)
(12)
T0=min{μ0+C·σ0,max(0)}。
(13)
在完成模型的初始訓練,進行破損檢測的過程中,模型將同時檢測樣本的分布是否發(fā)生變化,若樣本不符合訓練樣本的分布規(guī)律,則對模型進行增量訓練。同時,若檢測過程中出現樣本識別錯誤,同樣觸發(fā)增量訓練,使模型始終保持良好的檢測準確性。
樣本分布變化的檢測通過樣本的重建誤差實現,對一個觀測樣本xi,根據式(6)計算其重建誤差εi,若大于訓練樣本的最大重建誤差εmax,即εi>εmax,則判斷為樣本不符合訓練樣本的分布,進行增量訓練。初始訓練階段,參與訓練的只有正常樣本,損失函數ini也是針對正常樣本設計的。在增量訓練階段,破損樣本也可能參與增量訓練,因此需要修改損失函數。在增量訓練階段,模型的損失函數為:
(14)
式中:p為參與增量訓練的樣本數量;ε(x,x′)為式(6)所示的樣本重建誤差;N0,N1分別為增量訓練樣本中標簽0和1的樣本數量;L0,L1分別表示標簽為0和1的樣本與中心的距離平方和:
(15)
(16)
式中l(wèi)i為式(8)所示訓練樣本距離樣本中心的距離。L0的作用與初始訓練時一致,促使正常樣本的特征分布集中;L1的作用是促使破損樣本的特征遠離正常樣本。
在增量學習階段,為保留模型對與初始訓練樣本同分布樣本的識別能力,將編碼器第一層、解碼器第二層的網絡參數φ0,θ0固定,只更新編碼器的第二層和解碼器的第一層。即增量訓練過程通過最小化損失函數優(yōu)化Eφ0,γ,Dσ0,θ:
(17)
在完成自編碼器的增量訓練后,還需將參與增量訓練的樣本并入初始訓練樣本集,并根據式(13)重新計算破損識別分類器的閾值T0,然后繼續(xù)進行破損檢測和樣本分布檢測。
本文實驗平臺由某發(fā)電機廠提供,采用某型號轉子嵌線槽銑削加工過程刀片破損監(jiān)測數據[24-25],測試和驗證本文所提方法。該實驗數據包含5次發(fā)電機轉子的加工過程監(jiān)測數據,5次實驗的工件材料均為25Cr2Ni4MoV,工件的材料性能實測數據如表1所示,對每個工件的6個不同位置進行采樣,測試得到屈服強度和抗拉強度的均值和標準差;切削刀具為直徑1 100 mm的槽銑刀,上面安裝36個SNC55型硬質合金刀片作為切削刃;切削條件為轉速35 RPM,進給速度350 mm/min,切削深度50 mm,切削寬度42.1 mm,采用空氣冷卻。
表1 工件的材料性能 MPa
轉子的加工和數據采集過程如圖5所示,在加工過程中,采用聲發(fā)射傳感器監(jiān)測刀具狀態(tài),傳感器型號為PAC-R15α,通過磁座吸附固定在工件表面。信號的采集設備為PAC-PCI2型聲發(fā)射信號采集卡,采樣頻率為2 MHz,通過采集卡實時提取均方根值、幅值、上升時間、絕對能量、平均信號電平、計數、峰值計數、信號強度、平均頻率、中心頻率、初始頻率、峰值頻率、反算頻率13個特征值。
實驗完成后,采用工業(yè)視頻顯微鏡測量刀片的破損大小,顯微鏡的放大倍數為160倍,測量分辨率為1 μm,如圖6所示。在本實驗中,共采集到17個破損樣本和10 433個刀具正常狀態(tài)的樣本,用于對本文提出的方法進行測試和驗證。
將實驗數據集按照樣本獲取的時序和工況,分為初始訓練樣本和測試、增量學習樣本兩個子集。其中,初始訓練樣本集中包含2 250個刀具正常狀態(tài)的樣本,無刀具破損的樣本,所有樣本均在1號轉子加工過程中采集。測試、增量學習樣本在2號~5號轉子的加工過程中采集,包含8 200個樣本,其中17個刀具破損狀態(tài)的樣本,8 183個刀具正常狀態(tài)的樣本。
首先,采用初始訓練樣本訓練刀具破損檢測的自編碼器,并構建破損識別分類器。本文設計的自編碼器網絡通過TensorFlow[26]構建,采用學習率為lr的Adam[27]優(yōu)化器進行訓練。初始訓練階段是離線進行的,編碼器網絡每次從初始訓練樣本集中隨機抽取Nb個樣本進行訓練,重復Ne次。Nb,Ne以及前文提到的關鍵參數的取值如表2所示。本文設計的自編碼器網絡的結構和關鍵參數是根據文獻[28]~文獻[29]中的經驗設置的,表中給出的取值為效果最好的。
表2 關鍵參數設置
表3 識別結果的混淆矩陣
然后,根據混淆矩陣計算模型對所有測試樣本的正確率A、查全率R、查準率P和F得分F1:
(18)
(19)
(20)
(21)
其中:正確率衡量的是模型正確識別所有樣本的能力;查全率衡量的是模型正確識別正類(即少數的破損樣本)的能力;查準率衡量的是模型正確識別負類(即多數的正常樣本)的能力;F得分是查全率和查準率的調和平均值,綜合衡量模型的查全率和查準率。
根據測試樣本的檢測結果,按樣本采集的順序逐個增加樣本,計算樣本量增加時模型的正確率、查準率、查全率和F得分,并繪制各評價指標的變化趨勢,如圖7所示。圖中,不同顏色、線型的曲線代表各評價指標隨累計樣本數量的變化情況,例如,紅色線條上的點(2 000,100)代表本方法對累計獲取的2 000個樣本的查準率為100%;為了便于分析本方法的表現,用黑色線條標注了觸發(fā)增量學習的時刻。測試樣本的真實類別標簽如圖8所示,其中絕大多數樣本為刀具正常狀態(tài)的樣本,刀具破損的樣本僅17個。
在刀具破損的觀測樣本獲取之前,準確率達到了100%,但查準率、查全率、F得分均為0,這是因為此時只有正常樣本,所以對破損樣本的查全率、查準率均為0,綜合反映查全率和查準率的F得分也為0。在獲取到刀具破損的觀測樣本,即累計樣本數量大于約1 800之后,查準率、查全率、和F得分開始反映模型對刀具破損樣本的檢測效果。在獲取到約2 000個樣本時,模型對破損樣本識別錯誤,查全率下降,在觸發(fā)增量學習后破損的查全率提高;在獲取到約2 700個樣本時,模型對正常樣本識別錯誤,查準率下降,在觸發(fā)增量學習后查準率明顯提高;隨后在獲取到約2 800個樣本時,模型發(fā)現正常樣本的重建誤差仍大于歷史樣本的最大值,即發(fā)現樣本分布變化,增量學習后模型的查全率、查準率等進一步提高;隨著累計樣本數量繼續(xù)增加,又觸發(fā)3次增量學習。
本方法一直保持較高的查全率和查準率,對所有樣本的檢測正確率始終保持在接近100%水平。最終,對所有8 200個測試樣本的檢測結果為:正確率99.95%,查準率84.21%,查全率94.12%,F得分88.89%。
為了客觀評價本文提出方法的效果,本節(jié)采用相同的評價指標,將本方法與其他方法進行對比。本方法首先改進了標準自編碼器的學習目標和破損檢測方法,又引入了增量學習機制,因此本節(jié)將標準自編碼器和改進的自編碼器作為對比方法。除自編碼器方法以外,其他常用于半監(jiān)督異常檢測問題的方法,按機理主要可以分為基于概率的(probabilistic)、基于域的(domain-based)、基于距離的(distance-based)和基于重建的(reconstruction-based)[32]。其中,基于概率的方法對高維樣本效果很差[32];本文所提方法是基于重建的,將本方法與基于重建的代表性方法——標準自編碼器、基于域的代表性方法——一分類支持向量機 (one-class support vector machine)、基于距離的代表性方法——局部離群因子 (local outlier factor)進行對比。
標準自編碼器與本方法采用相同的網絡結構,采用式(5)所示的損失函數,將訓練樣本的最大重建誤差作為破損識別的閾值,采用樣本的重建誤差對樣本進行識別。其識別結果如圖9所示,該方法對所有樣本的檢測正確率較高,但查全率、查準率較低,且存在多次下降的問題。對所有8 200個測試樣本的檢測結果為:正確率99.60%,查準率19.23%,查全率29.41%,F得分23.26%。
改進的自編碼器與本方法采用相同的網絡結構和主要參數,同樣采用式(7)作為損失函數,采用式(12)和式(13)進行破損樣本識別,與本方法的唯一區(qū)別是在測試過程中不檢測樣本分布變化,也不進行增量學習。其識別結果如圖10所示,該方法對所有樣本的檢測正確率接近100%,查全率、查準率相比標準自編碼器有提高,但仍存在隨樣本數量增加而下降的問題。對所有8 200個測試樣本的檢測結果為:正確率99.77%,查準率46.43%,查全率76.47%,F得分57.78%,效果不如增量學習方法。
一分類支持向量機采用徑向基核函數(radial basis function),其超參數松弛變量參數nu和gamma通過指數變化的網格搜索確定最優(yōu)參數組合,即nu=0.05∶0.05∶1,gamma=2-10∶1∶5。其識別結果如圖11所示,該方法將大量正常樣本錯誤識別為破損,導致其總體正確率、查準率、F得分極低,僅對破損的查全率正常,為47.06%。
將局部離群因子的超參數n_neighbors設置為{10,20,30,40,50,60,70,80,90,100},選取最好的結果作為對比。其識別結果如圖12所示,與一分類支持向量機類似,該方法將大量正常樣本錯誤識別為破損,其總體正確率、查準率、F得分極低,僅對破損的查全率略高,為64.71%。
本文提出的增量學習方法與其他方法最終對所有測試樣本的識別結果如表4所示。本文所提方法獲得了94%的查全率和84%的查準率,相比于改進的自編碼器,即無增量學習機制的方法,將查準率從46%大幅提高至84%,將查全率從76%進一步提高至94%;相比于標準的自編碼器方法、一分類支持向量機和局部離群因子方法,在查全率、查準率方面均有大幅度提高,在4個評價指標上均取得最優(yōu)結果(如表中加粗字體所示),證實了本文提出的增量學習方法可以有效提高模型對不同工況獲取的樣本的識別能力。
表4 5種方法的破損識別結果 %
實際生產環(huán)境中獲取的刀具破損樣本數量遠小于正常樣本數量,且生產環(huán)境中存在工況變化導致刀具正常狀態(tài)的信號分布變化,基于歷史樣本建立的監(jiān)測模型查全率低、誤報率高的問題,本文提出一種基于半監(jiān)督學習的增量學習方法,首先采用一部分刀具正常狀態(tài)的樣本對模型進行初始訓練并開始刀具破損檢測,在檢測過程中同時判斷樣本分布是否變化,在樣本分布變化或者模型識別錯誤時對模型進行增量訓練,使模型時刻具有良好的檢測能力。相比于無增量學習機制的方法,本文方法將查全率從76%提高至94%,查準率從46%提高至84%,顯著提高了對不同工況獲取的樣本的識別能力。
在未來工作中,需要進一步研究將反映工況變化的材料力學性能等數據輸入模型中,為模型提供更多信息,從而實現更好的刀具破損檢測效果。