(河海大學 機電工程學院,江蘇 常州 213022)
錳元素質量分數介于11%和18%之間的合金鋼被稱為高錳鋼,其耐磨性很好。由于其所具備的耐沖擊、高耐磨及抗疲勞特性,U71Mn高錳鋼被大規模的應用到鐵路事業上[1-2]。但當銑削參數配置不合理時易導致加工硬化與應力集中,零件加工后表面粗糙度發散,難以滿足鐵軌的裝配精度[3-4]以及使用壽命[5]。基于此原因U71Mn材料特性一直為國內學者的重點研究方向: 暨南大學范宇[6]研究了不同時效溫度對水韌后高錳鋼(Mn13、Mn18)組織結構、力學性能、磨損特性及磨損硬化的影響;北京理工大學于啟勛[7]從切削過程特性、切削力、刀具磨損耐用度諸方面闡明了高錳鋼的切削加工性,并建立了多元線性回歸預測模型。
此外表面粗糙度作為加工中須被約束的重要參數,傳統試切法、經驗切法[8]效率較低,加工者資歷要求較高,易導致資源浪費。在工業4.0[9]的趨勢下更是成為國內外諸多學者的重點研究方向。
表面粗糙度預測模型大致可以分類如下類別:統計學、機器學習及深度學習回歸模型。Li et al[10]在2018從切削液壓力出發,基于 Weierstrass-Mandelbrot函數建立了精確的粗糙度預測模型。Kong et al[11]在2020年提出一種結合貝葉斯矩陣分解的線性回歸模型;馬堯[12]在2020年基于線性回歸與主成分分析算法在預測粗糙度的同時可對粗糙度影響因子進行有效分析。上述回歸模型大多依賴于最小二乘與凸優化[13]原則進行求解,算法復雜度低可讀性強,但U71Mn等難加工金屬所對應的強多元非線性關系,線性回歸預測精度通常難以滿足要求。機器學習與深度學習算法,因其強大的非線性擬合能力在各類工程系統中有著廣泛的使用。學者魯娟[14]2020年使用PSO-SVM算法精確預測蠕墨鑄鐵加工過程中的表面質量。深度學習模型,雖尚存一些諸如可解釋性與原理的”黑盒”問題,但通過多層神經網絡可對高維數據進行有效解析,在圖片識別[15]、文本翻譯等任務相對機器學習模型均有更優的表現。其中卷積神經網絡在表面粗糙度檢測[16-17]中也有所使用,但當前主流ResNet150(he et all),VGG16網絡其訓練參數均屬于千萬級別,綜合考慮其參數修正與前向傳播,普通計算機難以求解,此外因參數較多當模型樣本數目較少時易產生稀疏學習導致過擬合現象。
本模型為降低模型誤差上界,使其具有良好的泛化性。提出一種使用混合編碼DE[18]優化的Xgboost模型,Xgboost由chen et all[19]提出,近年來在Kaggle與天池等數據挖掘賽事中有著十分優秀的性能表現,但模型誤差對諸如:最大數深度(整數)、集成內核(選擇項)、最大縱向采樣深度(浮點數)等參數初始值設置極為敏感,故使用混合編碼的差分進化算法進行模型參數調優。
U71Mn高錳鋼材料作為一種難加工金屬本身的硬度并不高僅有180 HB左右,其抗拉強度和韌性較高,其化學與物理成分如表1所示。

表1 U71Mn鋼材料性質
U71Mn高錳鋼的切削加工性能主要由其硬度所決定,此外,銑削參數、工件安裝方式、銑削方式、熱處理狀態等都會對銑削過程產生影響,主要表現為以下幾點:(1)加工硬化:在銑削過程中,高錳鋼的面心立方晶格結構受到外力沖擊,晶格產生滑移從而導致單相奧氏體組織向著硬度較高的馬氏體轉變,硬度急劇升高,產生強烈的冷作硬化現象。(2)切削力大和應力集中:由于高錳鋼工件在銑削過程中切削溫度高,其加工表面會發生化學反應生成厚度約為0.1~0.3mm的三氧化二錳層,導致切削力增大。(3)切削溫度高:前面也已經多次提到,高錳鋼切削時會產生大量的熱,而且高錳鋼的導熱性很差,大約是碳鋼的1/4左右,熱量散發不出去,最終就會導致切削區溫度不斷的升高,降低刀具壽命,提高生產成本。基于上述特性選擇進給量f(mm/z)、銑削深度ap(mm)、銑削寬度ae(mm)、主軸轉速n(r/min)作為輸入變量,使用M-V5CN組合機床與4齒硬質合金平底立銑刀進行銑削加工。最終獲取了1 000組數據樣本,表2為部分數據。

表2 部分銑削樣本
表面粗糙度由于光電輪廓儀任選零件加工后表面三處均勻表面取均值獲得。
從表2易知n相對f、ap、ae數據量波動較大,為消除數值量偏差干擾使用式(1)進行標準化處理。
(1)
式中,nor為標準化數據;i為樣本索引,j為特征索引。μj為第j個特征均值,sj為其標準差;最終樣本80%基于作為訓練與驗證集4折交叉驗證圖1原則進行模型訓練,余下20%為測試集樣本。選用最大誤差errmax、平均絕對誤差mae、方差std與決定系數作為模型性能評價指標。
Xgboost是一種通過梯度提升樹進行的監督學習算法,設訓練集樣本(xi,yi),其中xi∈Rm,yi∈R,xi為維度為m的一個樣本。若Xgboost包含K顆樹,可得模型定義表達式(2):
FK=FK-1(xi)+fK(xi)
(2)
式中,fK為第K顆集成回歸樹。FK-1為先前K-1顆回歸樹所組成的函數項;為使模型有效訓練,選用 MSE均方損失項l作為評價指標,將其轉化為有監督的優化目標式(3):

(3)
式中,x=[n,f,ap,ae];θ為Xgboost模型超參數;n為訓練集樣本數目;Ω為正則化函數,其中K為回歸樹的數目;T為葉子節點數,γ為l1正則化系數;w為節點權重即為l2正則化項用以約束回歸樹分裂次數;Xgboost算法在當次迭代t中各回歸樹直接優化上輪t-1輪殘差,結合泰勒公式可將第t輪目標函數Obj二階展開為式(4):
(4)
式中,yis-1為第t-1輪樣本i的輸出預測值;g,h分別為模型的一階與二階損失梯度函數。ft(xi)為第t輪的樹模型,最終樣本會被分配到各葉子節點進行加權輸出聯立式(2)可得第t輪殘差優化目標式(5):
(5)
式中,Ij為葉子節點j所劃分的樣本集,將所有樣本特征進行了劃分。對于固定的樹結構基于凸優化原則可求解出葉子節點j的w最優解式(6):
式中,g,h為基于式(5)求得樣本i的特征的梯度與偏置;結合式(3)減去引入該葉子節點的代價γ即可得各特征對應葉子節點所占輸出權重。得到葉子節點的最優分布權重wj*后,對于固定的樹狀結構引入正則化系數,可以求得最優的目標函數值式(7):
(7)
在式(7)中,令Gj=∑i∈Ijgi,Hj=∑i∈Ijhi,則有式(8):
(8)
式中,可直接作為樹模型評價指標,基于式(8)可以得到其一般算法迭代流程:
(1)每輪增加一個新的模型優化式(2);
(2)基于MSE均方誤差得到其優化目標式(3);
(3)計算誤差梯度式(4)得到其一階gi與二階hi梯度誤差表達;
(4)根據貪心算法及梯度生成樹ft;
(5)基于式(8)選擇最優切分點;
(6)計算葉子節點權重式(6);
(7)將新新生成樹加入模型得到FK,返回(1)。
此外Xgboost支持隨機行列采樣。即對特征數量(m)及樣本數目(n)進行有放回的隨機采樣。通過引入隨機性有效避免直接優化殘差可能帶來的過擬合現象,此外還可減小迭代運算復雜度。該算法已封裝在Python的Xgboost工具箱通過命令(pip install XGBoost)可直接安裝。圖1為使用該工具箱自適應參數配置下模型訓練與驗證集方差波動。

(學習率lr=0.3,列采樣比例
cc=0.6,行采樣比例lc=0.5,最大樹深度mp=7,回歸樹
數量T=100,內核kernel=tree’,正則化系數γ=0.31)
圖1 Xgboost誤差波動
x
(
)
y
:r(
),MAE(
),
err
max
(
),std(
)
(n)
(m
式(9)即為Xgboost算法的迭代流程,下使用群體智能算法對下列超參數:學習率lr,列采樣比例cc,行采樣比例lc,最大樹深度mp,回歸樹數量T,內核kernel,正則化系數γ進行全局尋優。其中超參數lr、cc、lc、γ均為浮點數可以直接基于浮點數編碼的遺傳算法(Gentic Algorithm,GA)、粒子群優化(Particle swarm optimization,PSO)等算法進行非線性尋優。但超參數T、mp為整數,kernel為選擇項,無法基于浮點數編碼尋優,為降低運算復雜度并對超參數之間非線性關系進行有效解耦,不考慮使用二階段優化求解算法。
差分進化算法其基本思想源于遺傳算法,同其他進化類算法思想一致對候選種群進行操作,通過把一定比例的多個個體的差分信息作為個體擾動量,使算法在跳躍搜索距離與方向上具有自適應性。并且相對于GA算法DE無需對種群算子進行二進制編碼以及解碼過程。基于上述特性,DE算法具有極強的局部開采能力。本DE優化Xgboost算法大致可分為如下步驟:
(1)確定個體編碼方式。本模型待優化參數為: 學習率lr(浮點數),列采樣比例cc(浮點數),行采樣比例lc(浮點數),最大樹深度mp(整數),回歸樹數量T(整數),內核ker(0、1規劃),正則系數γ(浮點數);對于種群個體x可以寫成如式(9):
x=[lr,cc,lc,mp,T,kernel,γ]
(9)
(2)確定種群數目NP為50,基于rand函數將其初始化寫入矩陣pop,計算適應度fit。
(3)基于種群適應度fit,對種群pop所有特征進行變異式(10)與交叉式(11)操作;
Vi,g+1=xr1,g+F(xr2,g-xr3,g)
(10)
(11)
式中,g為當前迭代次數;r1,r2,r3∈{1,2,……,NP}且互不相等;F為變異因子,為區間[0.3,0.7]之間的線性衰減函數,可有效保證迭代初期最大化搜索范圍,與終止時程序收斂;確定變異因子后通過式(11)即可進行交叉操作,式中,CR為交叉因子決定該特征取代個體分量值得概率,此處取常數0.5。
(4)選擇操作,基于式(12)決定是否在下輪迭代中替換該個體,即保留最優參數。
x(i,g+1)=
(12)
(5)邊界處理對越界的特征重新初始化。
(6)根據Xgboost迭代流程更新種群適應度fit,并且判斷是否達到迭代終止條件,否則返回(3)。
設置進化次數G為100,適應度函數與XGBoost一致使用MSE均方誤差。按照上述參數配置進行迭代,圖2為DE進行尋優尋優誤差波動。

圖2 DE參數尋優
圖中,在第20次迭代時模型已經收斂。經DE算法全局搜索模型最優超參數為: 學習率lr=0.415,列采樣比例cc=0.75,行采樣比例lc=0.641,最大樹深度mp=5,回歸樹數量T=200,內核kernel=tree’,正則化系數γ=0.41。
與DNN、SVM等機器學習算法模型一致,Xgboost模型其初始超參數直接決定模型的性能上限以及收斂區間。雖然使用算法優化器可以在一定程度內緩解對于初值的依賴性,但在Xgboost模型中為保證模型的收斂以及泛化性,訓練迭代流程中已引入貪心與隨機采樣思想,根據”沒有免費的午餐[20]”原則隨之帶來的代價便是初值敏感性。
為直觀評估本DE-Xgboost模型的性能,除未經DE優化的Xgboost算法外。依次建立了DNN、GA-SVM模型進行性能對比;DNN為包含兩個全連層的神經網絡模型其神經元數目依次為64,16,基于誤差反向傳播原則使用BP進行訓練,算法優化器為隨機梯度下降(Stochastic Gradient Descent,SGD)。GA-SVM,即為與DE-Xgboost思想一致使用遺傳算法尋優SVM超參數,最終參數為:kernel=rbf’(高斯內核),正則化系數γ=0.7;平滑系數gamma=1.1;軟間隔系數C=0.14;對樣本集基于五折交叉驗證原則進行處理,表3為上述各模型在驗證集樣本中的泛化性能。
表3中,因模型訓練樣本數目較少,神經網絡模型在測試集上各項指標均不理想。相比之下在機器學習中的典型SVM、Xgboost模型在小樣本條件下性能表現較為優秀。

表3 模型性能對比
其中經DE算法進行優化的Xgboost模型,有著最小的測試集平均絕對誤差、方差、最大誤差,模型泛化性誤差穩定,性能可靠,且絕對系數高達88.4%,對測試集樣本解釋性最高,有理由相信,該DE-Xgboost模型可有效擔任U71Mn高錳鋼粗糙度預測任務。
基于U71Mn高錳鋼材料性質分析了其加工過程中加工硬化、應力集中現象的產生原因。作為典型的難加工金屬,銑削參數與加工后表面粗糙度具有較強的非線性關系,提出了一種使用DE算法優化的Xgboost模型,證明其相對主流DNN、SVM類算法有著更優的精度與性能。且作為一種樹型模型其運算復雜度較低,通過Xgboost求解模塊,可以直接求解該模型表達式并具有直接部署于單片機等嵌入式開發設備的潛質。