王欣瑞 章 繼
(昆明鐵道職業技術學院,云南 昆明 650000)
在切削加工過程中,零件表面粗糙度的研究是機械加工的重點研究領域之一,表面粗糙度對零件的疲勞強度、精度、耐磨性以及耐腐蝕性等具有重要影響[1]。長期以來,工人在切削加工過程中通常采用經驗法,缺乏科學依據和理論指導,制約了加工質量的提高。同時,傳統的切削加工表面粗糙度的預測方法主要有理論建模法和設計試驗法。理論建模法預測誤差大,精度低,缺乏實際的應用價值[2];設計試驗法,如田口法不能區分因素和因素間是否有交互作用,缺乏嚴格的統計理論支持,預測準確度一般。
隨著計算機技術的發展和科學家在生物神經元工作過程中所受的啟發,神經網絡技術逐漸成為建立預測模型的重要方法。神經網絡有強大的自適應能力,和傳統的預測模型相比,能有效處理非線性映射,并具有自主學習的能力,因此在自動控制、產品質量預測和故障診斷方面均有廣泛的應用和發展[3]。
該文利用正交試驗法對鋁合金ZL114A進行切削試驗,獲取切削參數與表面粗糙度的相互關系,通過MATLAB軟件建立BP神經網絡,構建預測模型,通過分析對預測模型進行驗證,驗證結果表明預測精度較高。
機床:高精度數控臥式坐標鏜床。主軸轉速10~6000r/min,X向行程1200mm,Y向行程1100mm,Z向行程1100mm。由于轉速限制,實際加工中限制轉速為4000r/min。
刀具:Φ20mm的硬質合金(無涂層材料)。該刀具直徑較大,可實現較大的切削速度(線速度)。在試驗中盡量不更換刀具,以免影響試驗結果。
工件:主軸箱缸蓋鋁合金(ZL114A),材料為鑄造鋁合金,部分物理性能指標見表1。該型號鋁合金具有良好的耐腐蝕性能和力學性能,是缸蓋的常見材料。另外,由于零件本身的特性,因此對表面粗糙度、形狀精度等要求較高,否則易影響加工過程中的定位精度,形成應力集中,易被腐蝕等。

表1 ZL114A部分物理性能指標
測量儀器:Perhometer-M1CNOMO粗糙度測量儀。
其他試驗條件:盡可能選取高轉速,以獲取較高的切削速度(線速度),同時加工過程中無吹氣或冷卻。
影響零件表面粗糙度的因素除了切削速度、進給量和切削深度外,還有主軸振動和刀具磨損等因素。為了研究在其他因素基本一致的條件下,切削速度、切削深度和進給量對零件表面粗糙度的影響規律,該文試驗設計了三因素、四水平的正交切削試驗,切削用量的選用見表2。

表2 切削試驗因素水平表
試驗時,對每組切削參數重復3次,以測量表面粗糙度,并根據公式(1),計算3次試驗的表面粗糙度數值均值,最終通過計算得出不同切削參數組合的表面粗糙度均值,如公式(1)和表3所示。

表3 L16(34)正交試驗表(ZL114A)
式中:為表面粗糙度均值;xi為第i次測量的表面粗糙度值;n為測量次數。
經驗證,利用人工神經網絡建立的零件表面粗糙度預測系統,具有較高的準確性[4],不需要建立復雜的數學模型。典型的BP神經網絡預測模型如圖1所示。3層結構包括輸入層、隱藏層和輸出層。圖1中,輸出層的3個節點分別代表預測的3個輸入量,即銑削速度Vc、進給量fz和切削深度ap。輸出層為表面粗糙度的期望值。隱含層的節點選取一般根據模型的復雜程度而定。需要注意的是,實踐表明,隱含層的層數和節點數并非越多越好,過多會導致神經網絡結構過于復雜,容易出現局部極小值。BP神經網絡的基本思想為利用梯度下降法,使輸出結果和期望輸出值的誤差均方差最小。當輸出偏差滿足預期時,停止計算,得出最終的BP網絡模型。BP神經網絡具有較強的非線性映射能力,能實現從輸入輸出的映射過程。多次實踐證明,3層神經網絡能以任意精度逼近非線性連續函數。

圖1 BP神經網絡結構圖

圖2 BP神經網絡預測流程圖
在實際加工鋁合金ZL114A零件的過程中,切削參數(切削速度、進給量和切削深度)與表面粗糙度切相關,因此選取切削速度、進給量和切削深度3個切削參數為BP神經網絡的輸入,表面粗糙度為唯一輸出。隱藏層節點數可以是任意值,一般規律為隱藏層節點數量增加,能有效提高網絡訓練精度,但也會延長網絡的訓練時間,使泛化能力下降[5]。
傳遞函數(又名激活函數)可理解為神經網絡最終輸出的數學方程式。鑒于模型的復雜性,神經網絡并非都為線性輸出,引入非線性的傳遞函數能促進網絡的學習能力。因此,最常用的BP神經網絡的傳遞函數采用S(sigmoid)函數,該函數的定義域為[-∞,+∞],值域為[0,1],如公式(2)所示。其特點為函數本身和導數都是連續的,梯度較平滑,處理較方便。
式中:α為大于零的實數。
該文采用收斂速度較快的動量梯度下降算法,即traingdm函數,可有效提高學習速度和算法的可靠性,避免出現局部最小值。該算法的表達式如公式(3)、公式(4)所示,基本思想是在梯度下降算法的基礎上增加動量因子。
式中:k為訓練循環的次數;Δw(k+1)和Δb(k+1)分別為第k+1次的權值和閾值的改變量;gw(k)和gb(k)為當前性能函數對權值和閾值的梯度;ak為學習率;mc為動量因子(動量系數),取值范圍為[0,1];Δw(k-1)和Δb(k-1)為第k-1次的權值和閾值的該變量。
如公式(3)、公式(4)所示,在網絡訓練中,當mc為0時,權值和閾值的改變量由計算出的負梯度決定;當mc為1時,權值和閾值的該變量等于k-1循環訓練時的改變量(即不變)。
該文試驗以切削速度、進給量和切削深度建立3個輸入層節點數,以表面粗糙度實際值為1個輸出節點數,選擇隱含層和節點數的基本原則是在客觀反映輸入和輸出關系的前提下,選用較少的層數和節點數。如果數量太多,會延長訓練時間,或者出現數據過度擬合問題。到目前為止,相關研究過少,可行的方案參照沈花玉[6]的研究,隱含層節點數如公式(5)所示。
式中:n1為所求隱含層節點數;n為輸入層節點數;m為輸出層節點數;a為取值為[1-10]的常數[6]。
根據公式(5)可得n1取值范圍為[3,12]。由于無法確定隱藏層節點數的最佳數量,該文建立了3~12共計10個BP網絡,通過比較和分析各BP網絡的預測精度,最終確定隱藏層節點數為7。
設置動量因子是為了避免出現局部最小值,使算法誤認為達到了全局最小值,進而導致次優結果。BP神經網絡的算法為隨機梯度下降算法,可簡單理解為模型的變化量或者步長。兩者間的設置關系如下:如果動量因子較大,則學習率應較小,以免很快發生收斂;如果動量因子較小,則不可避免地會靠近局部最小值,或使訓練速度下降。經過嘗試和上述分析,該文將動量因子設置為0.4,學習速度設置為0.02。
由于神經網絡輸入節點量綱并不相同,如該文中3個輸入量的單位分別為m/min、mm/z和mm,而輸出量單位為μm。為了適應神經網絡的計算規則,使輸入保持相同的分布,并使網絡快速收斂,需要對輸入數據進行歸一化處理,對輸出數據進行反歸一化。在MATLAB中使用函數mapminmax和mapminmax('reverse')對數據進行處理。
MATLAB用于BP網絡的實現代碼如下。
net=newff(inputn,outputn,[7],{′tansig′,′logsig′},′traingdm′);%創建BP網絡,隱含層節點數為7,訓練函數為traingdm
net.trainParam.show=30000;
net.trainParam.epochs=10000;%訓練次數
net.trainParam.lr=0.02;%學習速率
net.trainParam.goal=0.0001;%訓練目標最小誤差
net.trainParam.mc=0.4;%設置動量因子
net=train(net,inputn,outputn);%訓練函數
預測流程如圖2所示。
在MATLAB中根據流程編寫程序,設置目標誤差為0.01,最大訓練次數為5000次。經過1577輪迭代后完成收斂,如圖3所示。

圖3 BP神經網絡訓練結果圖
根據表2的試驗結果,隨機挑選11組數據建立訓練樣本,將剩余5組作為預測樣本,檢驗模型的預測值誤差,見表4。

表4 BP神經網絡預測和誤差表
比較BP神經網絡的預測值和真實值,整體預測精度令人滿意,相對誤差百分比均值為5.6%。但是個別數據存在一定偏離,主要影響因素可能有神經網絡本身的參數設置、樣本數量較小、機床精度以及工件材料等。
同時,在模型預測中,如果參數設置不合理,可能會導致計算結果不理想。例如通過訓練的數據建立的預測模型過擬合,表現為預測效果差,可通過增加樣本數據、不斷嘗試隱含層節點數來改進;動量因子和學習率設置不當,導致收斂速度過慢、計算時間過長,需要不斷嘗試動量因子和學習率;對于梯度消失,可以嘗試選擇不同的激活函數。
此外,為了提高訓練精度,可以考慮選擇適當的權重來進行初始化,如Xavier或He初始化等。使用正則化技術(L1、L2),即在損失函數中添加參數權重,可防止過擬合,或者使用多種模型集成的方法,更好地提高網絡精度。
該文試驗基于BP神經網絡,建立加工鋁合金ZL114A切削參數對粗糙度影響的預測模型,相對真實地反映了加工規律,實現了對零件加工表面粗糙度的預測,節約了生產成本,提高了生產效率。同時,BP神經網絡模型反映了不同因素對粗糙度的影響,借助計算機技術,簡化了傳統數學建模方法的計算問題。
但是影響零件表面粗糙度的因素眾多,該文僅著重研究了切削參數的影響。在實際加工中,應結合實際情況,加入更多變量,對于不同變量間是否有相互作用,需要在后續研究中繼續探索。同時,在BP神經網絡的參數設置上還需要不斷嘗試,如隱藏層數的確定、動量因子和學習速率的優化等,進而提高預測精度。