田景海,陳江義,陳瑛琳,楊布堯
(鄭州大學機械工程學院,河南 鄭州 450001)
表面粗糙度對于車削工件來說是一個非常重要的質量評定指標,直接反映工件加工質量的好壞。在對工件進行車削加工之前,準確預測加工后的表面粗糙度,有助于實現車削工藝編制的自動化和智能化。
在車削工件表面粗糙度的預測方面,前人已經做了大量的工作,提出了一些基于人工神經網絡(ANN)和數學模型的預測方法。文獻[1]訓練的ANN 模型最大預測誤差不超過5%,文獻[2]分析了機床、刀具、材料等方面影響粗糙度的因素,并介紹了各個影響因素的建模方法。文獻[3]借助BP 神經網絡建立粗糙度預測模型,并通過MATLAB 圖形用戶界面設計了表面粗糙度預測軟件。文獻[4]利用人工神經網絡,以車刀刀尖半徑、接近角、前角、刀具懸伸長度作為輸入,表面粗糙度Ra為輸出,模型預測結果與測量數據相當接近。文獻[5]將BP 神經網絡與多元回歸模型測試結果進行了對比,實驗證明BP 神經網絡預測精度遠遠高于回歸模型預測結果。文獻[6]以切削三要素及三個正交軸的振動信號作為神經網絡輸入,預測結果準確度可達到91.17%。文獻[7]利用MATLAB TM接口實現表面粗糙度的預測,結果表明ANN 算法效率及準確率都很高。文獻[8]比較了神經網絡不同隱含層層數和節點數所能達到的預測準確度。
上述預測技術有些是基于作者自己開發的ANN 模型,有些基于MATLAB 平臺提供的工具箱,兩種方法各有缺點。自主開發ANN 模型工作量大,且通用性較差,MATLAB 提供的工具箱使用起來靈活性不足,機器學習框架的出現解決了這些問題。TensorFlow(TF)是近些年出現的一種較為著名的機器學習框架,具有深度學習的功能,可用于解決比較復雜的人工智能問題。基于該框架,可以設計極為復雜的神經網絡模型,能包含幾百甚至上千個隱含層,具備處理海量數據的能力。目前TF 框架在機械工程領域已經逐步開始應用,如文獻[9]將算法從傳統的.Net 平臺遷移至針對機器學習優化設計的TF 平臺。文獻[10]將深度學習應用于故障預測技術當中。嘗試用TF 框架來對車削工件表面粗糙度進行預測,考慮到工業生產過程中每天都可以采集大量的加工數據,利用這些海量數據,基于TF 技術的深度學習機制有望為車削加工質量的預測與預報提供強有力的手段。
為了使用TF 框架對車削加工表面粗糙度進行預測和預報,首先要構造一個基于TF 框架的機器學習模型。該機器學習模型的基本結構和流程,如圖1 所示。采用前饋神經網絡,學習方式為監督學習。首先將已有的車削加工數據作為學習樣本存入一個數據庫,對數據進行預處理后,用這些數據來對設計好的神經網絡模型進行訓練,訓練滿足要求后,就可以用該模型來對加工表面粗糙度進行預測了。由于TensorFlow 提供了方便快捷的人工神經網絡建模技術,因此該流程實現起來相當容易。

圖1 機器學習流程Fig.1 Machine Learning Process
該機器學習模型中涉及神經網絡的參數選擇原則可以參考相關文獻[11]。下面討論該模型中的激活函數、損失函數和優化器的選擇方法。
激活函數的作用是激活神經網絡中某一部分神經元,將激活信息向后傳入下一層的神經網絡。常用的激活函數有ReLU、sigmoid 和tanh 函數,Softplus 函數是ReLU 函數的平滑版本,可以緩解梯度消失問題的同時實現更快的收斂,具有硬飽和性,其表達式為

式中:x—節點加權和;f—非線性變換后節點輸出。因為需要搭建回歸預測網絡模型,所以選用Softplus 函數作為激活函數較為合適。

TF 框架提供了多種優化器,如Adadelta、Adagrad、Momentum等,旨在加速完成訓練過程。優化器的選取與學習率的設置相關,學習率過大,會出現參數搖擺無法收斂到極小值的情況,過小則會大大降低收斂速度。選擇AdaGrad 優化器,以使每個參數使用不同的學習率,而且學習率會隨著每次迭代而根據歷史梯度的變化而變化,其表達式為:

利用樣本數據來訓練上節建立的機器學習模型,并對車削加工表面粗糙度進行預測,研究切削深度、切削速度和進給量三個變量對輪廓算數平均偏差Ra、輪廓最大高度Ry和微觀不平度十點高度Rz的影響。用來訓練和測試神經網絡模型的數據取自文獻[12],該文獻提供了60 個數據樣本,這些樣本通過測量數控車床加工的工件獲得,由于篇幅所限,這里不再詳細列出這些數據。
為提升模型精度、收斂速度和防止激活函數硬飽和,需要對原始數據樣本進行預處理,常見的預處理方法有標準化、歸一化和正則化等,經過試驗,對于切削參數數據樣本,選擇歸一化方法效果較好。切削參數歸一化預處理數學模型為:

式中:xˉ—樣本數據均值;σ—樣本數據方差;a—偏置項,增加偏置項可以保證預處理后數據為正數。式(4)可以利用MATLAB提供的歸一化處理函數來實現。預測完成后,需要對預測結果進行反向歸一化,以得到正常的粗糙度值。
利用參考文獻[8]中網絡參數的確定方法,經過反復測試表明使用表1 中的網絡參數可以達到很好的訓練和預測效果,輸出變量Ra、Rm和Rz的初始學習率分別設為0.08、0.1 和0.1。

表1 網絡參數Tab.1 Network Parameters
設定好網絡參數后,隨機選取60 個樣本中的39 個作為訓練樣本對模型進行訓練,訓練后的損失函數值,如表2 所示。可見訓練精度達到了99%以上。數據樣本中的原始測量值與網絡訓練結果的對比情況,如圖2 所示。Ra、Ry和Rz的對比,如圖2(a)~圖2(c)所示。圖中實心方塊表示數據樣本中粗糙度的原始測量值,實心三角表示訓練后的網絡輸出值,從中可以看出經過訓練后的粗糙度網絡輸出值與樣本的原始測量值相當接近,這進一步說明了神經網絡達到了很高的訓練精度。為了驗證TF 機器學習框架的預測能力,從訓練剩下的21 個數據樣本中隨機選擇7 個,將每個樣本中的切削深度、切削速度和進給量三個變量值輸入訓練好的網絡,這時網絡輸出的粗糙度值就是預測值。

表2 損失函數值Tab.2 The Value of Loss Function

圖2 訓練結果與樣本值比較Fig.2 Comparison of Trained Results and Samples
將這些預測值與7 個樣本中的原始測量值進行對比,結果如圖3 所示。去除Ra,Ry,Rz對應準確度的最高和最低值,預測值平均準確度達94.42%、93.25%、84.47%,與文獻[11]相比,預測結果Ra準確度提高3.5%。其中部分預測結果準確度較低的原因主要有:(1)在切削過程中,影響粗糙度的參數還有刀具振動、原材料性能、刀具幾何角度等。(2)用于訓練的數據量少,模型預測范圍小。

圖3 預測結果與樣本值比較Fig.3 Comparison of Prediction Results and Samples
應用TF 框架搭建了預測車削工件表面粗糙度的神經網絡模型,并對該模型進行了訓練和測試,結果表明:
(1)神經網絡模型能夠描述切削深度、切削速度、進給量三個參數與表面粗糙度之間的非線性關系,對網絡模型進行訓練學習后,能夠用來對車削工件的表面粗糙度進行預測。
(2)基于TF 框架的神經網絡建模簡單方便,并可以靈活修改網絡結構和參數,預測精度高,該預測方法有助于實現車削工藝編制的自動化和智能化。