裴宏杰,陳鈺熒,李公安,劉成石,王貴成
(江蘇大學 機械工程學院,江蘇 鎮(zhèn)江 212013)
表面粗糙度作為機械加工表面質量的一個重要評價指標,能夠實現(xiàn)對其在線預測預報,對智能切削具有重要的意義.C.A.VAN LUTTERVELT等[1]指出了早期理論模型存在的局限性.因此人工智能算法,如小波包分析[2-3]、貝葉斯網絡[4]、多維云[5]和支持向量機法[6]等方法被廣泛應用于表面粗糙度的預測分析.而神經網絡由于具有一定的優(yōu)勢,因此采用神經網絡混合算法實現(xiàn)預測預報的研究較多.N.S.K.VARMA等[7]在外圓磨削AISI 1040鋼試驗中,基于神經網絡和自適應神經模糊系統(tǒng)(ANFIS)來預測切削速度、切削深度和進給速率的輸出響應,結果表明ANFIS預測精度更高,達到91%,同時切削深度的影響程度最大.G.KANT等[8]通過耦合人工神經網絡和遺傳算法兩種智能方法,開發(fā)了一種全新的表面粗糙度預測和優(yōu)化模型,試驗證明該模型平均誤差只有4.11%.HUANG P.B.[9]為了解決神經網絡和模糊邏輯的缺點,利用神經輔助方法為模型生成模糊IF-THEN規(guī)則,構成了一個新的智能神經模糊進程的表面粗糙度預測模型,大大提高了預測精度.CHEN Y.N.等[10]利用嵌套的人工神經網絡(ANN),建立表面粗糙度預測模型,基本思路是先將切削參數(shù)作為輸入?yún)?shù),得到切削力和振幅數(shù)據(jù),然后再將所有輸出值轉給下一個人工神經網絡,試驗結果表明,基于相同試驗數(shù)據(jù),該模型預測效果比常規(guī)ANN和響應曲面法(RSM)模型更好.A.ARRIANDIAGA等[11]基于遞歸神經網絡,考慮新磨粒的產生及砂輪磨損,構建了表面粗糙度動態(tài)模型,試驗效果較好.
Copula分布估計算法(estimation of distribution algorithm,EDA)[12]是將Copula理論和分布估計算法相結合,不僅能夠解決分布估計算法中建立概率分布模型過程較為繁瑣的問題,同時也能夠提高估計算法的效率和精度.Copula EDA是基于全局來尋找最優(yōu)解,但速度較慢,且難以確定解的最優(yōu)位置,而BP算法收斂速度慢,容易陷入局部極小值.為此,筆者將兩種方法相結合,采用Copula EDA方法對銑削加工粗糙度的預測、預報結果進行分析.
機床使用MazakVTC-16A三軸立式加工中心.冷卻裝置采用Accu-Lube MQL噴霧系統(tǒng).刀片為ISCAR HM90 APKT 1003PDR IC928硬質合金涂層銑削刀片,刀桿為ISCAR HM90A-D20-3-C20的高精度硬質合金刀桿,刀具主偏角90°,副偏角12°,前角5°,后角11°,刃傾角-3°,坡走銑角32°.工件選用130 mm×50 mm×20 mm的45#鋼塊料,工件兩側開有兩個水平間距為100 mm、直徑為12 mm的孔,并通過螺栓固定在測力儀上.
試驗分成兩組.表1為兩組銑削試驗設計及結果.第1組作為樣本數(shù)據(jù)試驗,采用控制變量法,3個控制因子分別為切削速度v(m·min-1)、每齒進給量fz(mm·z-1)、切削深度ap(mm),每個因子各有4個水平值,切削寬度ae為5 mm,如表1中序號1- 64的數(shù)據(jù).第2組為驗證試驗,如表1中65-76的數(shù)據(jù).
表1 銑削試驗設計及結果
EDA源于遺傳算法,為反映變量的相關性,多變量相關的分布估計算法往往采用貝葉斯網絡、高斯網絡或馬爾科夫網絡等結構.但是,這些網絡結構的學習本身要花費大量時間.Copula EDA[12]是將Copula理論和分布估計算法相結合,不僅能夠解決分布估計算法中建立概率分布模型的過于繁瑣問題,同時也能夠提高估計算法的效率和精度.
① 隨機生成符合均勻分布函數(shù)的P個初始群體.
② 根據(jù)適應值,運用某種選擇策略找到適應值最好的s個個體,組成優(yōu)勢群體.
③ 對優(yōu)勢群體中的s個個體的隨機變量Xj進行邊緣分布估計,得到邊緣分布函數(shù),記作Fj.
為了預測粗糙度,需要選用相關性最高的輸入?yún)?shù),因此需要定量評估相關性.選用Kendall秩相關系數(shù)τ作為評價指標.τ的定義如下:設(X1,Y1)和(X2,Y2)為獨立同分布,τ(X,Y)=P((X1-X2)×(Y1-Y2)>0)-P((X1-X2)(Y1-Y2)<0),τ能度量X與Y變化的一致性程度,τ為-1~1.τ=1表示X的變化與Y的變化完全一致;τ=-1表示X的變化與Y的反向變化完全一致;τ=0不能判斷兩者是否存在相關性.將相關數(shù)據(jù)帶入到SPSS 20.0,計算得到τ值,如表2所示.
表2 Kendall秩相關系數(shù)值
注:Sig.為差異性顯著的檢驗值;**表示在置信度(雙測)為 0.01 時,相關性是顯著的.
BP算法作為網絡學習算法對網絡中各層的連接權值進行訓練,經過學習掌握樣本信息的內在規(guī)律,能夠把樣本信息的規(guī)則和特點分布在神經網絡的連接權上,使得算法適用于多層網絡的學習,是一種監(jiān)督學習算法.BP算法具有理論上逼近任意非線性連續(xù)函數(shù)的能力,信息處理的大部分問題都可以歸納為數(shù)學映射.因此,BP算法在神經網絡研究中得到廣泛應用.將BP神經網絡應用于表面粗糙度預測的具體步驟如下:
① 樣本數(shù)據(jù)預處理.將第1組試驗結果中的切削力和表面粗糙度數(shù)據(jù)進行量綱一化,采用線性函數(shù)轉換方法,y=2(x-xmin)/(xmax-xmin)-1,量綱一化后的數(shù)據(jù)分布在[-1,1]內,并將量綱一化后的切削力和表面粗糙度分別作為神經網絡的輸入和輸出樣本.
③ BP神經網絡訓練.在Matlab中通過編程實現(xiàn)對樣本數(shù)據(jù)的訓練,設置網絡的迭代次數(shù)(net.trainParam.epochs=10 000)、網絡的迭代步長(net.trainParam.show=50)、網絡的訓練目標(net.trainParam.goal=0.001)、網絡的學習系數(shù)(net.trainParam.lr=0.05)和網絡的動量因子(net.trainParam.mc=0.9),最終得到最優(yōu)的網絡參數(shù)(權值和閾值).
表3 神經網絡相關參數(shù)
BP算法收斂速度慢,容易陷入局部極小值,而Copula EDA是基于全局來尋找最優(yōu)解,但速度較慢,且難以確定解的最優(yōu)位置.因此將BP算法和Copula EDA算法結合起來,根據(jù)試驗數(shù)據(jù)來優(yōu)化神經網絡的權值和閾值,并最終得到一個能夠精確預測表面粗糙度的網絡.具體算法流程如圖1所示.詳細步驟內容如下:
① 樣本數(shù)據(jù)預處理(方法同BP神經網絡預測方法的步驟①).
② 確定基于Copula EDA優(yōu)化BP神經網絡(同BP神經網絡步驟②).
③ 初始化群種.隨機產生P=50個個體{xi1,xi2,…,xij},其中i=1,2,…,50.j是權值和閾值按照編碼方式排列成長度為k(m+n)+n+k的一維數(shù)組的字符數(shù),表示權值和閾值的維數(shù).一維數(shù)組作為Copula EDA的初始群種,本案例的編碼長度j=k(m+n)+n+k=13.得到50組權值和閾值.
④ 選擇S個優(yōu)秀個體.將步驟3產生的50組權值和閾值逐一賦給基于Copula EDA優(yōu)化BP神經網絡,并用量綱一化的切削力作為輸入?yún)?shù)得到表面粗糙度預測值,以實測值和預測值誤差來評價這P個權值和閾值優(yōu)劣,從其中選擇實測值和預測值誤差最小、權值和閾值最優(yōu)的r=15個個體,以及隨機選擇t=10個個體作為Copula EDA的S(S=r+t=25)個優(yōu)秀個體.建立這S個優(yōu)秀個體{xij,i=1,2,…,25,j=1,2,…,13}的概率分布模型Fj,其邊緣分布為正態(tài)分布,即Xi~N(mean(xi),std(xi)).
⑤ 基于Clayton Copula函數(shù)采樣.根據(jù)Marshall和Olkin提出的Copula估算法[13],對于n維的阿基米德Copula函數(shù)C(u1,u2,…,un)=φ-1(φ(u1)+φ(u2)+,…,+φ(un)),生成元為φ,φ-1是φ反函數(shù).若φ-1是正態(tài)分布函數(shù)F的反拉普拉斯變換:
則采樣Copula的算法如下:首先隨機產生n個相互獨立的服從均勻分布函數(shù)的變量yj,j=1,2,…,n.然后隨機產生一個服從正態(tài)分布函數(shù)F的變量y.最后令uj=-lgyj/y,xj=Fj-1(uj),j=1,2,…,n,(x1,x2,…,xj)即為服從Copula的變量.
圖1 基于Copula EDA優(yōu)化BP算法流程圖
⑥ 生成下一代初始群種.從S=25個優(yōu)秀個體中選擇d=10個個體,并隨機產生P-R-d=15個符合均勻分布的個體,將這3組組合起來作為下一代初始群種,返回步驟4.直到達到期望誤差或者迭代次數(shù),停止優(yōu)化,選出最小誤差所對應的個體解碼,從而得到權值和閾值.
⑦ 設置網絡的迭代次數(shù)(net.trainParam.epochs=10 000)、網絡迭代步長(net.trainParam.show=50)、網絡的訓練目標(net.trainParam.goal=0.001)、網絡的學習系數(shù)(net.trainParam.lr=0.05)以及網絡的動量因子(net.trainParam.mc=0.9),將步驟⑥得到的最優(yōu)權值和閾值賦給神經網絡,并在訓練樣本數(shù)據(jù)的過程中,利用BP算法不斷地修正權值和閾值,達到期望誤差或者迭代次數(shù),停止訓練,最終得到最優(yōu)權值和閾值.粗糙度預測結果如表3所示.
⑧ 評價網絡.將步驟7得到的最終權值和閾值賦給網絡,以驗證試驗的切削力為輸入?yún)?shù),并計算表面粗糙度預測值和表面粗糙度實測值的誤差,以此評價網絡結構的準確性和可靠性.
將測得的切削力和振幅作為預測模型的輸入?yún)?shù),得到表面粗糙度的預測值,并與實測值對比,最后以預測值和實測值的誤差來評價預測模型的好壞.表4為運用兩種方法分別預測表面Ra,Sa和Sq的結果.
由表4數(shù)據(jù)還可知,兩種方法的粗糙度預測值與實際值變化趨勢一致.但對于個別奇異點,如表4中下劃線數(shù)據(jù),BP神經網絡的預測精度較低,基本低于70%,而Copula EDA優(yōu)化BP神經網絡預測精度比BP神經網絡的預測精度高10%~15%.其原因在于BP算法容易陷入局部極小值,而Copula EDA是基于全局來尋找最優(yōu)解,所以Copula EDA優(yōu)化BP神經網絡預測精度較高,整體平穩(wěn),基本不存在奇異點現(xiàn)象.
表4 BP神經網絡與Copula EDA優(yōu)化BP神經網絡的粗糙度預測結果
2) 切削力分量對二維表面粗糙度的相關性要高于三維表面粗糙度.
3) 基于Copula EDA優(yōu)化BP神經網絡的預測精度總體要高于BP神經網絡;對于個別奇異點,BP神經網絡的預測精度較低;基于Copula EDA優(yōu)化BP神經網絡的預測整體平穩(wěn),基本上不存在奇異點現(xiàn)象.
4) Copula EDA優(yōu)化BP神經網絡法和BP神經網絡法對二維粗糙度Ra的預測精度要高于三維粗糙度,與相關性大小一致.