祁 翔,張心光
(上海工程技術(shù)大學(xué) 機(jī)械與汽車工程學(xué)院,上海201620)
本次研究中,基于BP神經(jīng)網(wǎng)絡(luò)的預(yù)測和基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)的預(yù)測建模的訓(xùn)練數(shù)據(jù)和驗(yàn)證數(shù)據(jù)都來自于文獻(xiàn)[1],通過層次分析法可發(fā)現(xiàn)在影響切削工件表面質(zhì)量的眾多因素中,工件表面粗糙度權(quán)重最高,并且考慮到以往研究高速銑削工藝的學(xué)者們常采用高速銑削工件表面粗糙度預(yù)測模型[1]來解決實(shí)際工藝過程中出現(xiàn)的一些無法解釋的問題,故本文主要選擇高速銑削工件表面粗糙度[2]作為預(yù)測值。
雖然曲線擬合[3]、人工神經(jīng)網(wǎng)絡(luò)[4]等方法都是高速銑削工件表面粗糙度預(yù)測模型的主流構(gòu)建方法,但除了人工神經(jīng)網(wǎng)絡(luò)外其它方法在各種實(shí)際應(yīng)用中都會(huì)表現(xiàn)出不足,例如曲線擬合方法會(huì)在建立預(yù)測模型中存在假定數(shù)學(xué)模型和實(shí)際數(shù)學(xué)模型適配度低的問題。而人工神經(jīng)網(wǎng)絡(luò)就有效避免了這一方面的弊端。研究可知,人工神經(jīng)網(wǎng)絡(luò)因?yàn)樽陨斫Y(jié)構(gòu)簡單、應(yīng)用要求低等優(yōu)點(diǎn)在如今的各大主流領(lǐng)域應(yīng)用中都得到了不錯(cuò)的效果。于振等人[5]為了解決常用扭矩傳感器的剛度差,校準(zhǔn)效率低等問題設(shè)計(jì)了一種基于BP神經(jīng)網(wǎng)絡(luò)的扭矩傳感器靜態(tài)校準(zhǔn)系統(tǒng);陳智雨等人[6]為了提高對光伏發(fā)電量的預(yù)測精度,建立了基于ACO-BP神經(jīng)網(wǎng)絡(luò)的光伏系統(tǒng)發(fā)電功率預(yù)測模型;江毓等人[7]為了研制出新一代的智能電機(jī)異音自動(dòng)化檢測設(shè)備,即基于BP神經(jīng)網(wǎng)絡(luò)提出了一種新型的電機(jī)異音診斷方法。
綜上所述,人工神經(jīng)網(wǎng)絡(luò)因?yàn)榫哂斜姸嗟拇{(diào)參數(shù),從而體現(xiàn)出顯著優(yōu)勢,但這些待調(diào)參數(shù)卻由于缺乏科學(xué)理論的指導(dǎo),大多只是根據(jù)經(jīng)驗(yàn)來進(jìn)行調(diào)參,這又導(dǎo)致了人工神經(jīng)網(wǎng)絡(luò)不能發(fā)揮其最大作用[8-10]。針對這一問題,本文提出了基于遺傳算法[11]優(yōu)化的人工神經(jīng)網(wǎng)絡(luò),以下簡稱遺傳-BP神經(jīng)網(wǎng)絡(luò)。
研究中,通過對來自文獻(xiàn)[1]的數(shù)據(jù)進(jìn)行分組,分別構(gòu)建了訓(xùn)練樣本對和驗(yàn)證集,本文采用工件表面粗糙度的數(shù)值來對預(yù)測模型進(jìn)行驗(yàn)證,通過分別對比基于BP神經(jīng)網(wǎng)絡(luò)的預(yù)測模型和基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)的預(yù)測模型,從而得出兩者預(yù)測模型的預(yù)測精度,進(jìn)而可證明基于遺傳算法優(yōu)化的人工神經(jīng)網(wǎng)絡(luò)在預(yù)測建模方面具有更高的預(yù)測精度。
遺傳算法(Genetic Algorithm,GA)最早可追溯到20世紀(jì)70年代,當(dāng)時(shí)在美國Holland教授受到適者生存思想的啟發(fā),首次提出了遺傳算法的思想,即能夠適應(yīng)環(huán)境的種群個(gè)體往往能夠獲得更多的后代,從而使基因得以保存。遺傳算法的主要步驟為:編碼、選擇、交叉、變異。
BP神經(jīng)網(wǎng)絡(luò)包括3部分:輸入層、隱含層和輸出層,其學(xué)習(xí)過程主要有兩種。第一種是輸入數(shù)據(jù)層經(jīng)過隱含層的前向傳播,即輸入的數(shù)據(jù)經(jīng)過隱含層中的權(quán)值和閾值處理輸出得到預(yù)測結(jié)果,進(jìn)而通過處理預(yù)測結(jié)果和實(shí)際結(jié)果來得到誤差值。第二種是將誤差值通過輸出層進(jìn)入隱含層的反向傳播,就是將第一種得到的誤差值經(jīng)過誤差函數(shù)的梯度下降法進(jìn)行處理來修改隱含層的權(quán)值和閾值??偟貋碚f,BP神經(jīng)網(wǎng)絡(luò)主要通過這兩種學(xué)習(xí)過程不斷地重復(fù)迭代,進(jìn)而得到比較理想的權(quán)值和閾值。但是在實(shí)際算法過程中,由于大多數(shù)待調(diào)參數(shù)的確定依據(jù)的都是以往經(jīng)驗(yàn),即會(huì)導(dǎo)致預(yù)測模型的預(yù)測精度低并且學(xué)習(xí)效果不好等問題。
故本文針對BP神經(jīng)網(wǎng)絡(luò)的不足,利用遺傳算法自動(dòng)搜索全局最優(yōu)解的計(jì)算模型來對BP神經(jīng)網(wǎng)絡(luò)參數(shù)進(jìn)行優(yōu)化,從而得到最優(yōu)的參數(shù)值,這樣就極大地提高了BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)效果和預(yù)測精度。
基于遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的具體流程如下:
(1)進(jìn)行數(shù)據(jù)分組,選擇表面粗糙度的數(shù)據(jù)作為測試樣本,其余因素?cái)?shù)據(jù)值作為樣本訓(xùn)練對來進(jìn)行預(yù)測建模;
(2)確定BP神經(jīng)網(wǎng)絡(luò)的初始值、閾值和層數(shù)等;
(3)把計(jì)算誤差代入選定的適應(yīng)度函數(shù)中,計(jì)算其適應(yīng)度;
(4)利用選擇操作從舊種群中尋找最優(yōu)個(gè)體;利用交叉操作使兩兩隨機(jī)個(gè)體進(jìn)行匹配、交換、組合,把優(yōu)秀特征傳給下一代,使子代進(jìn)化;利用變異操作使BP神經(jīng)神經(jīng)網(wǎng)絡(luò)跳出局部最優(yōu)解;
(5)判斷是否滿足條件來判斷是確定初始值和閾值、還是重新循環(huán)迭代。
由于BP神經(jīng)網(wǎng)絡(luò)參數(shù)過多,故本文只以學(xué)習(xí)率參數(shù)為例進(jìn)行驗(yàn)證。
表1中的高速銑削試驗(yàn)數(shù)據(jù)均來源于文獻(xiàn)[1]。在這16組高速銑削實(shí)驗(yàn)中,主要有6個(gè)參數(shù),分別是:表面粗糙度、主軸轉(zhuǎn)速、進(jìn)給速度、切削深度、切削行距和刀具傾角。根據(jù)層次分析法得到表面粗糙度對工件的表面質(zhì)量影響權(quán)重最大,故選擇工件的表面粗糙度數(shù)據(jù)來做驗(yàn)證。

表1 實(shí)驗(yàn)參數(shù)及結(jié)果Tab.1 Experimental parameters and results
本文使用實(shí)驗(yàn)1、實(shí)驗(yàn)2、實(shí)驗(yàn)4、實(shí)驗(yàn)6、實(shí)驗(yàn)8、實(shí)驗(yàn)9、實(shí)驗(yàn)12和實(shí)驗(yàn)13下的高速銑削試驗(yàn)數(shù)據(jù)來構(gòu)建基于遺傳-BP神經(jīng)網(wǎng)絡(luò)高速銑削工件表面粗糙度預(yù)測模型的訓(xùn)練樣本對。
設(shè)置遺傳算法的主要結(jié)構(gòu)參數(shù):最大進(jìn)化次數(shù)為100;初始化種群數(shù)目為50;變異概率為0.05;交叉概率為0.8。采用遺傳算法對BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速率參數(shù)進(jìn)行優(yōu)化定值,在Matlab運(yùn)行仿真中不同預(yù)報(bào)誤差改變量所對應(yīng)的學(xué)習(xí)率優(yōu)化過程如圖1所示,最優(yōu)學(xué)習(xí)率見表2。

表2 不同預(yù)報(bào)誤差改變量對應(yīng)的最優(yōu)學(xué)習(xí)率Tab.2 The optimal learning rate corresponding to the changes of different forecast errors

圖1 不同預(yù)報(bào)誤差改變量準(zhǔn)則下的學(xué)習(xí)速率的優(yōu)化過程Fig.1 The optimization process of learning rate under different prediction error variable criterion
通過表2可以得到最優(yōu)學(xué)習(xí)率。表2中,迭代次數(shù)為1 000,訓(xùn)練誤差目標(biāo)為1e-5,研究中擬基于遺傳-BP神經(jīng)網(wǎng)絡(luò)對高速銑削工件表面粗糙度預(yù)測建模。本文就選用了基于遺傳-BP神經(jīng)網(wǎng)絡(luò)對高速銑削工件表面粗糙度預(yù)測模型對實(shí)驗(yàn)5和實(shí)驗(yàn)10中的高速銑削工件表面粗糙度進(jìn)行預(yù)測,其預(yù)測結(jié)果和實(shí)驗(yàn)結(jié)果的比值見表3和表4。

表3 高速銑削工件表面粗糙度預(yù)測結(jié)果和實(shí)驗(yàn)結(jié)果的對比Tab.3 Comparison of prediction results and experimental results for high speed milling of workpiece Surface roughness

表4 高速銑削工件表面粗糙度預(yù)測結(jié)果和實(shí)驗(yàn)結(jié)果的對比Tab.4 Comparison of prediction results and experimental results for high speed milling of workpiece surface roughness
通過對比不同學(xué)習(xí)率下的相對誤差得出,不同預(yù)報(bào)誤差改變量準(zhǔn)則下的高速銑削工件表面粗糙度預(yù)測誤差稍微有所差異。預(yù)報(bào)誤差改變量較小下的高速銑削工件表面粗糙度預(yù)測誤差稍微偏大,這可能是由于預(yù)測模型過擬合所致。
本文提出的基于遺傳-BP神經(jīng)網(wǎng)絡(luò)高速銑削工件表面粗糙度預(yù)測模型,通過對比基于BP神經(jīng)網(wǎng)絡(luò)對實(shí)驗(yàn)5和實(shí)驗(yàn)10兩組實(shí)驗(yàn)中表面粗糙度的預(yù)測值和基于遺傳-BP神經(jīng)網(wǎng)絡(luò)對兩組實(shí)驗(yàn)中表面粗糙度的預(yù)測值,可以發(fā)現(xiàn)在提高預(yù)測模型精度方面,遺傳-BP神經(jīng)網(wǎng)絡(luò)具有更好的效果。后續(xù)工作可同時(shí)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始值和閾值,進(jìn)一步證明基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型高精度預(yù)測的可行性。