田景海,陳江義,陳瑛琳,楊布堯
(鄭州大學機械工程學院,河南 鄭州 450001)
表面粗糙度對于車削工件來說是一個非常重要的質(zhì)量評定指標,直接反映工件加工質(zhì)量的好壞。在對工件進行車削加工之前,準確預測加工后的表面粗糙度,有助于實現(xiàn)車削工藝編制的自動化和智能化。
在車削工件表面粗糙度的預測方面,前人已經(jīng)做了大量的工作,提出了一些基于人工神經(jīng)網(wǎng)絡(ANN)和數(shù)學模型的預測方法。文獻[1]訓練的ANN 模型最大預測誤差不超過5%,文獻[2]分析了機床、刀具、材料等方面影響粗糙度的因素,并介紹了各個影響因素的建模方法。文獻[3]借助BP 神經(jīng)網(wǎng)絡建立粗糙度預測模型,并通過MATLAB 圖形用戶界面設計了表面粗糙度預測軟件。文獻[4]利用人工神經(jīng)網(wǎng)絡,以車刀刀尖半徑、接近角、前角、刀具懸伸長度作為輸入,表面粗糙度Ra為輸出,模型預測結(jié)果與測量數(shù)據(jù)相當接近。文獻[5]將BP 神經(jīng)網(wǎng)絡與多元回歸模型測試結(jié)果進行了對比,實驗證明BP 神經(jīng)網(wǎng)絡預測精度遠遠高于回歸模型預測結(jié)果。文獻[6]以切削三要素及三個正交軸的振動信號作為神經(jīng)網(wǎng)絡輸入,預測結(jié)果準確度可達到91.17%。文獻[7]利用MATLAB TM接口實現(xiàn)表面粗糙度的預測,結(jié)果表明ANN 算法效率及準確率都很高。文獻[8]比較了神經(jīng)網(wǎng)絡不同隱含層層數(shù)和節(jié)點數(shù)所能達到的預測準確度。
上述預測技術(shù)有些是基于作者自己開發(fā)的ANN 模型,有些基于MATLAB 平臺提供的工具箱,兩種方法各有缺點。自主開發(fā)ANN 模型工作量大,且通用性較差,MATLAB 提供的工具箱使用起來靈活性不足,機器學習框架的出現(xiàn)解決了這些問題。TensorFlow(TF)是近些年出現(xiàn)的一種較為著名的機器學習框架,具有深度學習的功能,可用于解決比較復雜的人工智能問題?;谠摽蚣埽梢栽O計極為復雜的神經(jīng)網(wǎng)絡模型,能包含幾百甚至上千個隱含層,具備處理海量數(shù)據(jù)的能力。目前TF 框架在機械工程領域已經(jīng)逐步開始應用,如文獻[9]將算法從傳統(tǒng)的.Net 平臺遷移至針對機器學習優(yōu)化設計的TF 平臺。文獻[10]將深度學習應用于故障預測技術(shù)當中。嘗試用TF 框架來對車削工件表面粗糙度進行預測,考慮到工業(yè)生產(chǎn)過程中每天都可以采集大量的加工數(shù)據(jù),利用這些海量數(shù)據(jù),基于TF 技術(shù)的深度學習機制有望為車削加工質(zhì)量的預測與預報提供強有力的手段。
為了使用TF 框架對車削加工表面粗糙度進行預測和預報,首先要構(gòu)造一個基于TF 框架的機器學習模型。該機器學習模型的基本結(jié)構(gòu)和流程,如圖1 所示。采用前饋神經(jīng)網(wǎng)絡,學習方式為監(jiān)督學習。首先將已有的車削加工數(shù)據(jù)作為學習樣本存入一個數(shù)據(jù)庫,對數(shù)據(jù)進行預處理后,用這些數(shù)據(jù)來對設計好的神經(jīng)網(wǎng)絡模型進行訓練,訓練滿足要求后,就可以用該模型來對加工表面粗糙度進行預測了。由于TensorFlow 提供了方便快捷的人工神經(jīng)網(wǎng)絡建模技術(shù),因此該流程實現(xiàn)起來相當容易。
圖1 機器學習流程Fig.1 Machine Learning Process
該機器學習模型中涉及神經(jīng)網(wǎng)絡的參數(shù)選擇原則可以參考相關文獻[11]。下面討論該模型中的激活函數(shù)、損失函數(shù)和優(yōu)化器的選擇方法。
激活函數(shù)的作用是激活神經(jīng)網(wǎng)絡中某一部分神經(jīng)元,將激活信息向后傳入下一層的神經(jīng)網(wǎng)絡。常用的激活函數(shù)有ReLU、sigmoid 和tanh 函數(shù),Softplus 函數(shù)是ReLU 函數(shù)的平滑版本,可以緩解梯度消失問題的同時實現(xiàn)更快的收斂,具有硬飽和性,其表達式為
式中:x—節(jié)點加權(quán)和;f—非線性變換后節(jié)點輸出。因為需要搭建回歸預測網(wǎng)絡模型,所以選用Softplus 函數(shù)作為激活函數(shù)較為合適。
TF 框架提供了多種優(yōu)化器,如Adadelta、Adagrad、Momentum等,旨在加速完成訓練過程。優(yōu)化器的選取與學習率的設置相關,學習率過大,會出現(xiàn)參數(shù)搖擺無法收斂到極小值的情況,過小則會大大降低收斂速度。選擇AdaGrad 優(yōu)化器,以使每個參數(shù)使用不同的學習率,而且學習率會隨著每次迭代而根據(jù)歷史梯度的變化而變化,其表達式為:
利用樣本數(shù)據(jù)來訓練上節(jié)建立的機器學習模型,并對車削加工表面粗糙度進行預測,研究切削深度、切削速度和進給量三個變量對輪廓算數(shù)平均偏差Ra、輪廓最大高度Ry和微觀不平度十點高度Rz的影響。用來訓練和測試神經(jīng)網(wǎng)絡模型的數(shù)據(jù)取自文獻[12],該文獻提供了60 個數(shù)據(jù)樣本,這些樣本通過測量數(shù)控車床加工的工件獲得,由于篇幅所限,這里不再詳細列出這些數(shù)據(jù)。
為提升模型精度、收斂速度和防止激活函數(shù)硬飽和,需要對原始數(shù)據(jù)樣本進行預處理,常見的預處理方法有標準化、歸一化和正則化等,經(jīng)過試驗,對于切削參數(shù)數(shù)據(jù)樣本,選擇歸一化方法效果較好。切削參數(shù)歸一化預處理數(shù)學模型為:
式中:xˉ—樣本數(shù)據(jù)均值;σ—樣本數(shù)據(jù)方差;a—偏置項,增加偏置項可以保證預處理后數(shù)據(jù)為正數(shù)。式(4)可以利用MATLAB提供的歸一化處理函數(shù)來實現(xiàn)。預測完成后,需要對預測結(jié)果進行反向歸一化,以得到正常的粗糙度值。
利用參考文獻[8]中網(wǎng)絡參數(shù)的確定方法,經(jīng)過反復測試表明使用表1 中的網(wǎng)絡參數(shù)可以達到很好的訓練和預測效果,輸出變量Ra、Rm和Rz的初始學習率分別設為0.08、0.1 和0.1。
表1 網(wǎng)絡參數(shù)Tab.1 Network Parameters
設定好網(wǎng)絡參數(shù)后,隨機選取60 個樣本中的39 個作為訓練樣本對模型進行訓練,訓練后的損失函數(shù)值,如表2 所示??梢娪柧毦冗_到了99%以上。數(shù)據(jù)樣本中的原始測量值與網(wǎng)絡訓練結(jié)果的對比情況,如圖2 所示。Ra、Ry和Rz的對比,如圖2(a)~圖2(c)所示。圖中實心方塊表示數(shù)據(jù)樣本中粗糙度的原始測量值,實心三角表示訓練后的網(wǎng)絡輸出值,從中可以看出經(jīng)過訓練后的粗糙度網(wǎng)絡輸出值與樣本的原始測量值相當接近,這進一步說明了神經(jīng)網(wǎng)絡達到了很高的訓練精度。為了驗證TF 機器學習框架的預測能力,從訓練剩下的21 個數(shù)據(jù)樣本中隨機選擇7 個,將每個樣本中的切削深度、切削速度和進給量三個變量值輸入訓練好的網(wǎng)絡,這時網(wǎng)絡輸出的粗糙度值就是預測值。
表2 損失函數(shù)值Tab.2 The Value of Loss Function
圖2 訓練結(jié)果與樣本值比較Fig.2 Comparison of Trained Results and Samples
將這些預測值與7 個樣本中的原始測量值進行對比,結(jié)果如圖3 所示。去除Ra,Ry,Rz對應準確度的最高和最低值,預測值平均準確度達94.42%、93.25%、84.47%,與文獻[11]相比,預測結(jié)果Ra準確度提高3.5%。其中部分預測結(jié)果準確度較低的原因主要有:(1)在切削過程中,影響粗糙度的參數(shù)還有刀具振動、原材料性能、刀具幾何角度等。(2)用于訓練的數(shù)據(jù)量少,模型預測范圍小。
圖3 預測結(jié)果與樣本值比較Fig.3 Comparison of Prediction Results and Samples
應用TF 框架搭建了預測車削工件表面粗糙度的神經(jīng)網(wǎng)絡模型,并對該模型進行了訓練和測試,結(jié)果表明:
(1)神經(jīng)網(wǎng)絡模型能夠描述切削深度、切削速度、進給量三個參數(shù)與表面粗糙度之間的非線性關系,對網(wǎng)絡模型進行訓練學習后,能夠用來對車削工件的表面粗糙度進行預測。
(2)基于TF 框架的神經(jīng)網(wǎng)絡建模簡單方便,并可以靈活修改網(wǎng)絡結(jié)構(gòu)和參數(shù),預測精度高,該預測方法有助于實現(xiàn)車削工藝編制的自動化和智能化。