張劍飛,王磊,劉明,王碩
基于改進(jìn)遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的表面粗糙度誤差預(yù)測(cè)
張劍飛,王磊,劉明,王碩
(齊齊哈爾大學(xué) 計(jì)算機(jī)與控制工程學(xué)院,黑龍江 齊齊哈爾 161006)
隨著現(xiàn)代制造業(yè)的發(fā)展,對(duì)工件加工質(zhì)量和精度越來越追求高標(biāo)準(zhǔn).表面粗糙度作為評(píng)價(jià)工件質(zhì)量的重要指標(biāo),對(duì)工件質(zhì)量和產(chǎn)品特性具有重要的影響.針對(duì)傳統(tǒng)BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中易陷入局部極小值和收斂速度慢等不足,遺傳算法(Genetic Algorithm,GA)存在隨機(jī)性問題,提出采用遺傳算法和混合蛙跳算法(Shuffled Frog Leaping Algorithm,SFLA)結(jié)合來改進(jìn)BP神經(jīng)網(wǎng)絡(luò)(記為SFLA-GA-BP)進(jìn)行工件表面粗糙度誤差預(yù)測(cè).以工件表面粗糙度與砂輪粒度、砂輪轉(zhuǎn)速、工件速度、進(jìn)給率四要素之間的相關(guān)關(guān)系為研究目標(biāo),通過正交實(shí)驗(yàn)技術(shù),分別以BP神經(jīng)網(wǎng)絡(luò)、遺傳算法改進(jìn)BP神經(jīng)網(wǎng)絡(luò)(記為GA-BP)和SFLA-GA-BP神經(jīng)網(wǎng)絡(luò)進(jìn)行建模分析.實(shí)驗(yàn)結(jié)果表明,SFLA-GA-BP的均方根誤差(Root Mean Squared Error,RMSE)比BP網(wǎng)絡(luò)和GA-BP網(wǎng)絡(luò)分別提高了1.7%和0.7%、平均絕對(duì)百分誤差(Mean Absolute Percentage Error,MAPE)分別提高了2%和1.1%,平均絕對(duì)誤差(Mean Absolute Error,MAE)分別提高了1%和0.6%.SFLA-GA-BP模型的預(yù)測(cè)誤差相比于BP神經(jīng)網(wǎng)絡(luò)和GA-BP神經(jīng)網(wǎng)絡(luò)更加精準(zhǔn).故SFLA-GA-BP模型對(duì)于預(yù)測(cè)工件表面粗糙度具有更高的準(zhǔn)確率和良好的穩(wěn)定性,同時(shí)為企業(yè)減少成本,對(duì)企業(yè)智能化發(fā)展具有一定的指導(dǎo)意義.
表面粗糙度;神經(jīng)網(wǎng)絡(luò);遺傳算法;混合蛙跳算法
人工神經(jīng)網(wǎng)絡(luò)由Rumenlhart[1]等科學(xué)家在1986年提出,目前己經(jīng)被廣泛運(yùn)用在人工智能、醫(yī)學(xué)處理、機(jī)械工業(yè)等各個(gè)領(lǐng)域方面.針對(duì)不同的應(yīng)用需要,學(xué)者們做了相關(guān)研究.Vogl[2]等提出一種自適應(yīng)學(xué)習(xí)率的算法,來減少BP算法的學(xué)習(xí)時(shí)間.研究人員為加快網(wǎng)絡(luò)模型的訓(xùn)練速度,將其他算法與之結(jié)合,取得了良好的效果.馬秋芳[3]利用粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)來預(yù)測(cè)城市短時(shí)交通流.劉亞麗[4]等利用遺傳算法初始化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值與閾值對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化并計(jì)算配電網(wǎng)的線損誤差.牛華[5]將遺傳算法與BP算法結(jié)合預(yù)測(cè)汽車發(fā)動(dòng)機(jī)故障.梅妍玭[6]等利用自適應(yīng)遺傳算法與BP神經(jīng)網(wǎng)絡(luò)結(jié)合去預(yù)測(cè)船舶交通流量.李超[7]等將粒子群算法和遺傳算法結(jié)合優(yōu)化BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)船舶電力系統(tǒng)故障.郝娟[8]將粒子群算法與BP算法結(jié)合監(jiān)測(cè)SRM轉(zhuǎn)子位置.研究表明,采用BP神經(jīng)網(wǎng)絡(luò)建立多輸入多輸出非線性系統(tǒng)的數(shù)學(xué)模型具有很強(qiáng)的適應(yīng)性,如果將其他智能算法與之結(jié)合,將更好地發(fā)揮BP神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì).本文將遺傳算法(Genetic Algorithm,GA)與混合蛙跳算法(Shuffled Frog Leaping Algorithm,SFLA)結(jié)合改進(jìn)BP神經(jīng)網(wǎng)絡(luò)算法,利用遺傳算法來保證全局搜索的同時(shí),采用混合蛙跳算法分組策略局部搜索來避免遺傳算法的隨機(jī)性問題,最后通過BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練以實(shí)現(xiàn)對(duì)加工工件表面粗糙度的預(yù)測(cè),進(jìn)一步提升算法的誤差精度.
BP神經(jīng)網(wǎng)絡(luò)[9-10]首先執(zhí)行輸入樣本的正向傳播過程,從輸入層進(jìn)入,進(jìn)行權(quán)值與閾值的運(yùn)算,通過激勵(lì)函數(shù)得到的輸出作為隱藏層的輸入,隱藏層再進(jìn)行權(quán)值與閾值的運(yùn)算,得到最終輸出.其過程是進(jìn)行加權(quán)操作與調(diào)用激勵(lì)函數(shù)來獲得各層輸出值,當(dāng)誤差不滿足精度要求時(shí),則執(zhí)行反向傳遞,通過梯度下降法不斷對(duì)權(quán)值和閾值進(jìn)行處理來減小誤差.
遺傳算法是一種利用模仿生物進(jìn)化生存規(guī)律的自然選擇理論[11],其核心是搜索最優(yōu)解的數(shù)學(xué)模型.遺傳算法中的個(gè)體或染色體是一組基因編碼,該基因編碼是基于一定的編碼方式生成,編碼方式較為常用的有實(shí)數(shù)編碼和二進(jìn)制編碼[12].通過對(duì)染色體執(zhí)行選擇、交叉及變異3種操作進(jìn)化成更優(yōu)的子群,并根據(jù)適應(yīng)度函數(shù)來進(jìn)行個(gè)體評(píng)價(jià),在進(jìn)化過程中逐步向最優(yōu)個(gè)體進(jìn)化,直到滿足期望的收斂要求為止.其目的是為了通過產(chǎn)生新的個(gè)體在進(jìn)化過程中能跳出局部最優(yōu).具體描述為:
Step1初始化參數(shù).確定初始化種群的數(shù)量、編碼的方式、個(gè)體編碼的長(zhǎng)度、選擇策略、交叉概率的設(shè)定、變異概率的設(shè)定、適應(yīng)度函數(shù)的選擇、最大迭代次數(shù).
Step2初始種群,選擇編碼方式進(jìn)行編碼.
Step3選擇合適的函數(shù)作為適應(yīng)度值.
Step4進(jìn)行選擇、交叉、變異操作,進(jìn)化種群.
遺傳操作中選擇、交叉和變異3種算子具體公式為:
(1)選擇操作.計(jì)算出所有個(gè)體的適應(yīng)度值,利用輪盤賭算法隨機(jī)選擇個(gè)體,個(gè)體的適應(yīng)度值越高,被選中成下一代子群的機(jī)率則越大,個(gè)體的概率公式為
(2)交叉操作.選擇個(gè)體的某段基因進(jìn)行交換,交換后產(chǎn)生新的個(gè)體
(3)變異操作.通過變異概率產(chǎn)生新的個(gè)體
Step5當(dāng)達(dá)到最大迭代次數(shù)時(shí),執(zhí)行Step6,否則,繼續(xù)執(zhí)行Step3.
Step6輸出結(jié)果,解碼后得到問題的最優(yōu)解.
由于遺傳算法的選擇操作存在一定的隨機(jī)性,針對(duì)其存在的問題,引入了混合蛙跳的分組策略進(jìn)行替換輪盤賭算法.混合蛙跳算法于2003年由Eusuff[13]等提出,該算法具有參數(shù)少,能夠跳出局部最優(yōu)等優(yōu)點(diǎn).
混合蛙跳算法采用全局和局部搜索相結(jié)合的并行機(jī)制,使算法得到全局最優(yōu)解.其具體的實(shí)現(xiàn)步驟為:
Step1設(shè)置相關(guān)參數(shù),即青蛙種群數(shù)量、各子群中青蛙數(shù)量、子群內(nèi)最大進(jìn)化次數(shù)、種群最大進(jìn)化次數(shù).計(jì)算種群中各個(gè)青蛙的適應(yīng)值.
Step3子群劃分.將排序后的種群分別放入每一個(gè)子群內(nèi),直到所有青蛙種群分配完成.
Step5混合子群.將重新混合所有子群,當(dāng)達(dá)到最大迭代次數(shù)時(shí),結(jié)束循環(huán).否則繼續(xù)執(zhí)行Step3.
根據(jù)研究,提出一種改進(jìn)的遺傳BP神經(jīng)網(wǎng)絡(luò)算法.該算法引入混合蛙跳算法的分組策略來替換傳統(tǒng)遺傳算法選擇操作中的輪盤賭算法.其算法流程見圖1.
圖1 改進(jìn)遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)計(jì)算流程
實(shí)現(xiàn)步驟為:
Step1初始化參數(shù).輸入訓(xùn)練樣本數(shù)據(jù),進(jìn)行預(yù)處理.確定BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu).初始化遺傳算法的種群數(shù)目、編碼方式、交叉因子、變異因子、最大迭代次數(shù).初始化混合蛙跳算法分組數(shù)目,組內(nèi)最大迭代次數(shù).
Step2適應(yīng)度評(píng)價(jià).本文采用公式(3)作為適應(yīng)度函數(shù),記錄所有個(gè)體的適應(yīng)度值.
Step3分組更新.按適應(yīng)度值將所有個(gè)體進(jìn)行從高到低排序,然后進(jìn)行分組,分組策略為2.2中的Step3子群劃分.子群內(nèi)部進(jìn)行更新,每個(gè)子群中最差個(gè)體執(zhí)行3次跳躍過程,其過程為2.2中的Step4局部搜索.
Step4整體尋優(yōu).混合所有子群個(gè)體,對(duì)混合后的種群進(jìn)行選擇、交叉操作.
Step5輸出結(jié)果.當(dāng)達(dá)到最大迭代次數(shù)時(shí),輸出結(jié)果,否則跳到Step3重復(fù)進(jìn)行.得到的輸出結(jié)果即為SFLA-GA-BP算法的初始權(quán)值和閾值,然后進(jìn)行訓(xùn)練.
本文所使用數(shù)據(jù)集來自文獻(xiàn)[14],經(jīng)重新整理后見表1.實(shí)驗(yàn)對(duì)象為某轎車發(fā)動(dòng)機(jī)四缸缸體,實(shí)驗(yàn)選取砂輪顆粒、砂輪轉(zhuǎn)速、工件速度和進(jìn)給量作為表面粗糙度的主要影響因素.進(jìn)行傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)建模時(shí),需有數(shù)量充足的樣本,有明確的網(wǎng)絡(luò)模型、網(wǎng)絡(luò)的權(quán)值、閾值以及初始值.從訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)的樣本s中選擇一個(gè)體s=[g,r,w,f,sr],單位分別為#,r/min,mm/min,mm/r,Ra.其中,[g,r,w,f]反映為砂輪顆粒、砂輪轉(zhuǎn)速、工件速度、進(jìn)給量;[sr]為工件的表面粗糙度.[g,r,w,f]為BP網(wǎng)絡(luò)樣本的輸入;[sr]為目標(biāo)輸出.根據(jù)正交實(shí)驗(yàn)設(shè)計(jì)準(zhǔn)則,經(jīng)過正確合理的安排后,能夠降低試驗(yàn)次數(shù)和時(shí)間.
表1 正交實(shí)驗(yàn)數(shù)據(jù)
均方根誤差為
平均絕對(duì)誤差
平均絕對(duì)百分誤差
圖3 平均絕對(duì)誤差變化
由于表1中數(shù)據(jù)數(shù)量級(jí)差別較大,對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí),為了減少因數(shù)據(jù)間較大數(shù)值的差別,防止網(wǎng)絡(luò)收斂速度過慢,需要對(duì)數(shù)據(jù)樣本進(jìn)行歸一化操作.其公式為
實(shí)驗(yàn)方法是基于PC端Win10操作系統(tǒng)進(jìn)行模型的設(shè)計(jì)和系統(tǒng)的開發(fā),主要軟硬件環(huán)境為PyChram-2021,Python3.8,8G Intel-i7-1065G7 CPU.
其中參數(shù)的設(shè)置大多數(shù)是根據(jù)人為經(jīng)驗(yàn)所設(shè)置,其中染色體長(zhǎng)度和網(wǎng)絡(luò)結(jié)構(gòu)是根據(jù)輸入?yún)?shù)和輸出參數(shù)的個(gè)數(shù)所決定的.
表2 模型參數(shù)設(shè)置
在網(wǎng)絡(luò)結(jié)構(gòu)、權(quán)值和閾值等條件一致的情況下,各模型的預(yù)測(cè)誤差見表3.BP模型的最大誤差為6.65%,最小誤差為1.97%,GA-BP模型的最大誤差為5.06%,最小誤差為0.68%,而SFLA-GA-BP模型的最大誤差為3.13%,最小誤差為0.15%.
表3 各模型預(yù)測(cè)結(jié)果對(duì)比
相對(duì)于其他預(yù)測(cè)工件表面粗糙度的模型,SFLA-GA-BP神經(jīng)網(wǎng)絡(luò)具有較好的預(yù)測(cè)結(jié)果(見圖4).相對(duì)于傳統(tǒng)BP網(wǎng)絡(luò)和GA-BP網(wǎng)絡(luò)提高了預(yù)測(cè)精度.
圖4 各神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)對(duì)比
GA-BP模型在迭代100次以后尋找到最優(yōu)解(見圖5),SFLA-GA-BP在迭代75次左右以后尋找到最優(yōu)解(見圖6),其適應(yīng)度值的精度也高于GA-BP模型.
圖5 GA-BP網(wǎng)絡(luò)最優(yōu)個(gè)體適應(yīng)度值
圖6 SFLA-GA-BP網(wǎng)絡(luò)最優(yōu)個(gè)體適應(yīng)度值
表4 模型評(píng)價(jià)指標(biāo)對(duì)比
本文以工件表面粗糙度為預(yù)測(cè)目標(biāo),提出的結(jié)合遺傳算法和混合蛙跳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)方法,并與傳統(tǒng)的BP模型與遺傳算法優(yōu)化BP模型進(jìn)行對(duì)比.預(yù)測(cè)結(jié)果表明:
(1)使用SFLA-GA-BP算法的預(yù)測(cè)誤差精度高于傳統(tǒng)的BP模型與GA-BP模型.
(2)SFLA-GA-BP算法對(duì)于預(yù)測(cè)工件表面粗糙度具有良好的穩(wěn)定性和有效性.
因此,給出的方法能夠在一定程度上為企業(yè)減少成本,對(duì)企業(yè)智能化發(fā)展具有一定的指導(dǎo)意義.
[1] Rumelhart D E,Hinton G E,Williams R J.Learning Representations by Back Propagating Errors[J].Nature,1986,323(6088):533-536.
[2] Vogl T P,Mangis J K,Rigler A K.Accelerating the convergence of the back-propagation method[J].Biological Cybernetics,1988,59(4/5):257-263.
[3] 馬秋芳.改進(jìn)PSO優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)短時(shí)交通流預(yù)測(cè)[J].計(jì)算機(jī)仿真,2019,36(4):94-98.
[4] 劉亞麗,李英娜,李川.基于遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的線損計(jì)算研究[J].計(jì)算機(jī)應(yīng)用與軟件,2019,36(3):72-75.
[5] 牛華.基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的汽車發(fā)動(dòng)機(jī)故障診斷[J].組合機(jī)床與自動(dòng)化加工技術(shù),2021,13(5):57-61.
[6] 梅妍玭,張得才,傅榮.一種準(zhǔn)確預(yù)測(cè)船舶交通流的自適應(yīng)遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)模型研究[J].電子器件,2020,43(2):452-455.
[7] 李超,薛士龍.改進(jìn)GA-PSO算法的船舶電力系統(tǒng)故障診斷[J].科學(xué)技術(shù)與工程,2019(28):372-377.
[8] 郝娟.基于粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的SRM磁鏈模型[J].機(jī)械制造與自動(dòng)化,2018,47(2):130-132.
[9] 周志華.機(jī)器學(xué)習(xí)[M].北京:清華大學(xué)出版社,2016.
[10] Cybenko G.Approximation by superposition of a sigmoidal function[J].Mathematics of Control,Signals,Systems,1989,2(4):303-314.
[11] Miao H,Zuo D W,Wang H J,et al.Optimization of Tap Parameters for Internal Thread Cold Extrusion of High Strength Steel Based on Genetic Algorithm[J].Key Engineering Materials,2010,898(431/432):434-437.
[12] 趙紅,李瀅,肖文潔.實(shí)數(shù)與二進(jìn)制編碼GA種群多樣性統(tǒng)一數(shù)學(xué)模型[J].計(jì)算機(jī)工程與科學(xué),2016,38(6):1177-1182.
[13] Eusuff M M,Lansey K E.Optimization of Water Distribution Network Design Using the Shuffled Frog Leaping Algorithm[J].Journal of Water Resources Planning and Management,2003,129(3):210-225.
[14] 楊志賢,于萍萍,顧寄南.基于PSO-BP神經(jīng)網(wǎng)絡(luò)的磨削表面粗糙度預(yù)測(cè)模型的研究[J].工具技術(shù),2017,51(11):36-40.
Prediction of surface roughness error based on BP neural network optimized by improved genetic algorithm
ZHANG Jianfei,WANG Lei,LIU Ming,WANG Shuo
(School of Computer and Control Engineering,Qiqihar University,Qiqihar 161006,China)
With the development of modern manufacturing industry,the workpiece processing quality and precision are increasingly pursuing high standards.Surface roughness is a significant index to estimatethe surface quality of workpiece,it had significant influence on the quality of machined parts and product performance.Aiming at the shortcomings of traditional BP(Back Propagation) neural networks was effortless to sink into the local minimum and slow convergence rate in the training process,genetic algorithm(GA)had the problem of randomness,according to the genetic algorithm and shuffled frog leaping algorithm(SFLA)were combined to improve BP neural network (named SFLA-GA-BP)to predict surface roughness error.The model taken the correlation between artifacts surface roughness and grinding wheel granularity,grinding wheel speed,artifacts speed and feed rate as the research object,and used orthogonal experiment method.BP neural network,genetic algorithm improved BP neural network (named GA-BP)and SFLA-GA-BP neural network were established model analysis respectively.Experimental show that the root mean squared error(RMSE)of SFLA-GA-BP was 1.7% and 0.7% higher than that of BP and GA-BP,respectively.MAPE increased by 2% and 1.1%,mean absolute error(MAE)increased by1%and 0.6%.The prediction error of SFLA-GA-BP model is more accurate than that of BP neural network and GA-BP neural network.So the SFLA-GA-BP model for predicting the workpiece surface roughness had a higher accuracy and good stability.Meanwhile,it can reduce the cost for enterprises,and has certain guiding significance for the development of enterprise intelligence.
surface roughness;neural network;genetic algorithm;shuffled frog leaping algorithm
1007-9831(2023)07-0033-08
TP39
A
10.3969/j.issn.1007-9831.2023.07.008
2023-03-08
齊齊哈爾市科技計(jì)劃重點(diǎn)項(xiàng)目(ZDGG-202203)
張劍飛(1974-),男,黑龍江齊齊哈爾人,教授,博士,從事深度學(xué)習(xí)和計(jì)算機(jī)輔助診斷研究.E-mail:jian_fei_zhang@163.com