文昌俊,邵明穎,徐云飛,陳 哲
(1.湖北工業(yè)大學(xué)機(jī)械工程學(xué)院,湖北 武漢 430068;2.湖北省現(xiàn)代制造質(zhì)量工程重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430068)
隨著農(nóng)業(yè)機(jī)械的智能化和自動(dòng)化發(fā)展,拖拉機(jī)可靠性逐步提高,但其使用環(huán)境復(fù)雜,在工作過程中會遇到各種問題,如高溫、高濕、高阻力等,這些因素對拖拉機(jī)系統(tǒng)可靠性產(chǎn)生重大影響。因此,科學(xué)準(zhǔn)確地預(yù)測拖拉機(jī)工作可靠度是現(xiàn)代農(nóng)業(yè)耕作的必然要求。BP神經(jīng)網(wǎng)絡(luò)有較強(qiáng)的非線性映射能力和自主適應(yīng)能力,在回歸擬合、可靠性工程等領(lǐng)域得到了廣泛應(yīng)用[1-3]。馮瑞龍[4]等選取RBF和BP兩種三層神經(jīng)網(wǎng)絡(luò)對低真空管道中運(yùn)行列車的最大阻力進(jìn)行預(yù)測研究,結(jié)果表明RBF神經(jīng)網(wǎng)絡(luò)模型能更好地預(yù)測列車的最大阻力。李鑫[5]等建立BP神經(jīng)網(wǎng)絡(luò)模型來預(yù)測刀具磨損和切削阻力,相較于經(jīng)驗(yàn)公式得到了更優(yōu)的結(jié)果,為刀具結(jié)構(gòu)的優(yōu)化及加工參數(shù)的選擇提供了依據(jù)。張波[6]等利用DBSCAN聚類算法改進(jìn)人工神經(jīng)網(wǎng)絡(luò),搭建模糊神經(jīng)網(wǎng)絡(luò)模型,將最小二乘法與BP算法相結(jié)合對模型進(jìn)行訓(xùn)練,來預(yù)測拖拉機(jī)耕作過程中受到的牽引阻力,此模型相較于支持向量機(jī)和隨機(jī)森林有著更好的預(yù)測效果。溫昌凱[7]等基于大數(shù)據(jù)的拖拉機(jī)田間工作平臺構(gòu)建了BP神經(jīng)網(wǎng)絡(luò)模型,對拖拉機(jī)田間作業(yè)質(zhì)量進(jìn)行預(yù)測評價(jià)。王森[8]等利用LM算法改進(jìn)BP神經(jīng)網(wǎng)絡(luò),建立LM-BP神經(jīng)網(wǎng)絡(luò)模型對彈丸的落地點(diǎn)進(jìn)行預(yù)測,此模型相較于數(shù)值分析法能更好地預(yù)測到彈丸的降落位置。然而,上述文獻(xiàn)中所運(yùn)用的BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)間過長,網(wǎng)絡(luò)預(yù)測值與真實(shí)值的誤差較大,而LM算法屬于局部優(yōu)化算法,對初值的要求比較高,若神經(jīng)網(wǎng)絡(luò)初值選取不合理,會導(dǎo)致網(wǎng)絡(luò)訓(xùn)練失敗。
針對上述神經(jīng)網(wǎng)絡(luò)在預(yù)測過程中存在的缺陷,建立GA-LM-BP神經(jīng)網(wǎng)絡(luò)拖拉機(jī)可靠性預(yù)測模型,將遺傳算法的全局收斂能力與LM算法的局部尋優(yōu)能力相結(jié)合。首先將現(xiàn)場跟蹤實(shí)驗(yàn)所獲得的數(shù)據(jù)進(jìn)行預(yù)處理,剔除由人員操作不當(dāng)引起的無效故障時(shí)間,然后建立神經(jīng)網(wǎng)絡(luò)模型,進(jìn)行仿真,最后與經(jīng)典BP神經(jīng)網(wǎng)絡(luò)、LM-BP神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測精度對比分析,從而驗(yàn)證遺傳算法和LM算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的有效性及可行性。
BP神經(jīng)網(wǎng)絡(luò)是一種按誤差逆向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò)[2]。信號正向傳播,通過目標(biāo)函數(shù)計(jì)算輸出值;誤差反向傳播,根據(jù)模型輸出值與期望值之間的誤差反向逐層調(diào)整各連接權(quán)值和閾值。此模型具有優(yōu)良的非線性逼近能力[9]。
BP神經(jīng)網(wǎng)絡(luò)神經(jīng)元的凈激活量為

(1)
神經(jīng)元節(jié)點(diǎn)的輸出
yi=f(neti)
(2)
若用X表示輸入向量,用W表示權(quán)重向量
X=[x0,x1,x2,…,xn],W=[wi0,wi1,wi2,…win]T
(3)
則有
neti=XWyi=f(XW)
(4)
式中wij是神經(jīng)元j與神經(jīng)元i之間的連接權(quán)值,θ表示閾值,xj為上一個(gè)神經(jīng)元j的輸出信號。使用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí),首先要初始化網(wǎng)絡(luò)參數(shù),樣本輸入必須是成對出現(xiàn)的,設(shè)第k組樣本輸入:Xk=(X1k,X2k,…,Xnk),則必須有相對應(yīng)的輸出:Yk=(Y1k,Y2k,…,Ymk)。將目標(biāo)函數(shù)定義為

(5)
式中,N為訓(xùn)練樣本集,Yi為網(wǎng)絡(luò)輸出的預(yù)測值,i為期望值,當(dāng)二者的誤差值達(dá)到設(shè)定精度時(shí),訓(xùn)練結(jié)束,否則進(jìn)入誤差反向傳播環(huán)節(jié),逐層調(diào)整各連接權(quán)值

(6)
式中,η為學(xué)習(xí)速率,η>0。
由于BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的選擇沒有統(tǒng)一規(guī)則,權(quán)值根據(jù)局部改進(jìn)的方向逐步調(diào)整,可能會忽視全局極小值點(diǎn),陷入局部最優(yōu),并且,若初值選取不當(dāng),網(wǎng)絡(luò)訓(xùn)練速度就會比較慢。因此,提出利用LM算法和遺傳算法來優(yōu)化經(jīng)典BP神經(jīng)網(wǎng)絡(luò),以提高網(wǎng)絡(luò)模型的預(yù)測精度和收斂速度。
LM(Levenberg-Marquardt)算法是一種基于標(biāo)準(zhǔn)數(shù)值優(yōu)化技術(shù)的快速算法,其阻尼因子可以根據(jù)迭代結(jié)果動(dòng)態(tài)調(diào)整,因此可以動(dòng)態(tài)調(diào)整迭代的收斂方向。采用LM算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),既能提高網(wǎng)絡(luò)的訓(xùn)練速度,又能保證其良好的訓(xùn)練精度[10]。下面對LM算法的基本原理進(jìn)行簡單闡述[11]。
網(wǎng)絡(luò)的性能函數(shù)為

(7)
式中,ei(w)為誤差,w為權(quán)值和閾值向量。假設(shè)第K次的權(quán)值和閾值向量為w(k),第k+1次的權(quán)值和閾值向量為w(k+1),權(quán)值和閾值的修正量如下
Δw=-[JT(w)J(w)+μI]-1JT(w)e(w)
(8)
式中,I為單位矩陣,μ為阻尼因子,J(w)為Jacobian矩陣,其計(jì)算方式如下

(9)
LM算法有著較高的精度和較快的收斂速度,但其對初始值尤為敏感,若初始值選擇不當(dāng),會導(dǎo)致系統(tǒng)迭代誤差較大。從本質(zhì)上來講,LM 算法屬于局部優(yōu)化算法,進(jìn)行迭代時(shí)僅考慮目標(biāo)函數(shù)的下降方向,并未兼顧目標(biāo)函數(shù)的大小,這就導(dǎo)致LM算法只能收斂至初始值附近的極小點(diǎn)[12],因此神經(jīng)網(wǎng)絡(luò)初始值的選取尤為重要,故采用遺傳算法迭代尋優(yōu)后的計(jì)算結(jié)果作為LM算法的初始值。
遺傳算法(GA,Genetic Algorithm)是使用生物學(xué)中的進(jìn)化理論來模擬數(shù)據(jù)進(jìn)化的一種智能算法[13,14]。首先選擇恰當(dāng)?shù)倪m應(yīng)度函數(shù),對編碼后種群個(gè)體的適應(yīng)度值進(jìn)行計(jì)算,然后選擇并重復(fù)適應(yīng)度最佳的個(gè)體進(jìn)行基因突變操作,進(jìn)而計(jì)算新種群個(gè)體的適應(yīng)度,若滿足初始設(shè)定條件,則輸出,否則,迭代繼續(xù)[15]。該算法能在全局范圍內(nèi)搜尋最優(yōu)估計(jì)解,不易陷入局部極值。
將收集到的拖拉機(jī)故障時(shí)間數(shù)據(jù)進(jìn)行預(yù)處理,確定神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。利用遺傳算法全局搜索能力強(qiáng)的優(yōu)點(diǎn),將由遺傳操作選擇出的權(quán)值和閾值輸入神經(jīng)網(wǎng)絡(luò),作為網(wǎng)絡(luò)訓(xùn)練的初始值,然后再利用LM算法局部尋優(yōu)效果好的優(yōu)點(diǎn)進(jìn)行小范圍的精確求解,從而提高神經(jīng)網(wǎng)絡(luò)的收斂速度、準(zhǔn)確度和預(yù)測精度。
本文采用單隱含層的三層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),將拖拉機(jī)的故障時(shí)間作為網(wǎng)絡(luò)的輸入,可靠度R(t)作為網(wǎng)絡(luò)的輸出。設(shè)置網(wǎng)絡(luò)最大訓(xùn)練次數(shù)為10000,目標(biāo)誤差為0.001,學(xué)習(xí)速率為0.01,選擇tansig函數(shù)作為輸入層到隱含層的傳遞函數(shù),purelin函數(shù)作為隱含層到輸出層的傳遞函數(shù)。
網(wǎng)絡(luò)訓(xùn)練精度、收斂速度與隱含層節(jié)點(diǎn)的數(shù)目有著重大關(guān)系。節(jié)點(diǎn)個(gè)數(shù)選擇的常用經(jīng)驗(yàn)公式為

(10)
式中,l、m、n分別為隱含層、輸入層、輸出層神經(jīng)元的個(gè)數(shù),c為1~10之間的常數(shù)。由式(10)多次調(diào)整隱含層節(jié)點(diǎn)的個(gè)數(shù)可知,當(dāng)l=5時(shí),網(wǎng)絡(luò)性能最好,因此選擇5個(gè)隱含層節(jié)點(diǎn)。根據(jù)上述神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)建立基于遺傳算法和LM算法的BP神經(jīng)網(wǎng)絡(luò)模型。GA-LM-BP神經(jīng)網(wǎng)絡(luò)拖拉機(jī)可靠性預(yù)測流程圖如圖1。

圖1 GA-LM-BP神經(jīng)網(wǎng)絡(luò)拖拉機(jī)可靠性預(yù)測流程圖
其步驟可總結(jié)如下:
1)產(chǎn)生初始化種群,設(shè)置變異概率Pm=0.1,交叉概率Pc=0.8,種群規(guī)模為M=30,最大遺傳代數(shù)G=100。
2)個(gè)體適應(yīng)度值計(jì)算,網(wǎng)絡(luò)預(yù)測值Ri與期望值i之間的誤差平方和被用作適應(yīng)度函數(shù)。適應(yīng)度值越低,優(yōu)化效果越好。
3)選擇和復(fù)制,使用輪盤賭算法優(yōu)先選擇和復(fù)制種群中適應(yīng)度優(yōu)良的個(gè)體。
4)交叉操作,根據(jù)交叉概率,交叉互換上一步驟所選個(gè)體的等位基因。
5)突變操作,設(shè)定合適的突變幾率,隨機(jī)地修改個(gè)體中的一個(gè)或多個(gè)基因值,用來形成全新個(gè)體,從而提高群體的生物多樣性。
6)返回步驟2),再次計(jì)算個(gè)體的適應(yīng)度值,直到適應(yīng)度值達(dá)到最優(yōu)或者迭代100次之后,進(jìn)入下一步。
7)解碼,經(jīng)一系列遺傳變異尋得了較優(yōu)的權(quán)值和閾值,將其輸入神經(jīng)網(wǎng)絡(luò),作為LM算法的初始值。
8)計(jì)算神經(jīng)網(wǎng)絡(luò)的誤差值,利用LM算法對權(quán)值和閾值進(jìn)行微調(diào),當(dāng)誤差達(dá)到所設(shè)定的精度時(shí)停止訓(xùn)練。
根據(jù)現(xiàn)場跟蹤實(shí)驗(yàn),將收集到的23臺某輪式拖拉機(jī)的117個(gè)故障時(shí)間數(shù)據(jù)t按從小到大的順序排列為t(1)≤t(2)≤…≤t(a)≤…≤t(B),則該拖拉機(jī)的經(jīng)驗(yàn)分布函數(shù)FB(t)為

(11)
式中,a為按照從小到大順序排列好的故障時(shí)間順序號,B為故障時(shí)間總數(shù),B=117。

將排列好的117個(gè)故障時(shí)間數(shù)據(jù)分為19組,前18組每組6條數(shù)據(jù),最后一組9條數(shù)據(jù),每組的第6條數(shù)據(jù)作為測試樣本,其余98條數(shù)據(jù)作為訓(xùn)練樣本訓(xùn)練神經(jīng)網(wǎng)絡(luò)。為了預(yù)測的準(zhǔn)確性,對數(shù)據(jù)進(jìn)行歸一化處理,將其轉(zhuǎn)化為[0,1]之間

(12)
式中input(xa)為故障時(shí)間進(jìn)行歸一化之后,神經(jīng)網(wǎng)絡(luò)的第a個(gè)輸入,ta為第a個(gè)故障發(fā)生的時(shí)間,tmax為所收集到的樣本中故障時(shí)間最大值,tmin為故障時(shí)間最小值。根據(jù)式(11)和(12)對數(shù)據(jù)進(jìn)行處理,處理后的部分?jǐn)?shù)據(jù)見表1。

表1 處理后的部分?jǐn)?shù)據(jù)
首先由訓(xùn)練樣本訓(xùn)練神經(jīng)網(wǎng)絡(luò),然后輸入測試樣本進(jìn)行拖拉機(jī)可靠性預(yù)測。使用遺傳算法初步優(yōu)化神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,其適應(yīng)度曲線先呈現(xiàn)下降的趨勢,迭代18次之后收斂,而后逐漸趨向平穩(wěn)狀態(tài),迭代過程如圖2。

圖2 遺傳算法收斂曲線
將遺傳算法迭代后的權(quán)值和閾值輸入BP神經(jīng)網(wǎng)絡(luò),再由LM算法進(jìn)行局部優(yōu)化,BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)訓(xùn)練性能曲線如圖3。

圖3 網(wǎng)絡(luò)訓(xùn)練性能曲線
由圖3可知,網(wǎng)絡(luò)迭代6次后的訓(xùn)練精度為0.00038,達(dá)到并超過設(shè)定值0.001,結(jié)果表明,優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)模型收斂速度較快,能很快達(dá)到所設(shè)定的誤差精度。模型預(yù)測值與期望值之間的可靠度對比曲線如圖4,網(wǎng)絡(luò)訓(xùn)練的絕對誤差如圖5。

圖4 GA-LM-BP神經(jīng)網(wǎng)絡(luò)模型可靠度預(yù)測值

圖5 GA-LM-BP神經(jīng)網(wǎng)絡(luò)模型絕對誤差值
由圖4和圖5可知,網(wǎng)絡(luò)預(yù)測的輸出值與期望值之間的擬合效果較好,絕對誤差波動(dòng)幅度較低,最高不超過0.038。表明該模型有較高的預(yù)測精度和網(wǎng)絡(luò)訓(xùn)練質(zhì)量。
為了驗(yàn)證采用遺傳算法和LM算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),能提高網(wǎng)絡(luò)性能,使其達(dá)到更好的預(yù)測效果,使用相同的訓(xùn)練樣本、測試樣本以及網(wǎng)絡(luò)參數(shù),建立經(jīng)典BP神經(jīng)網(wǎng)絡(luò)模型和LM-BP神經(jīng)網(wǎng)絡(luò)模型。選取平均絕對誤差MAE、均方根誤差RMSE、相對均方根誤差NRMSE作為神經(jīng)網(wǎng)絡(luò)模型的主要評價(jià)參數(shù),定量分析三種模型預(yù)測拖拉機(jī)可靠度的準(zhǔn)確性。評價(jià)指標(biāo)的計(jì)算結(jié)果見表2。

表2 網(wǎng)絡(luò)模型評價(jià)指標(biāo)對比
對這三種模型的仿真結(jié)果進(jìn)行對比。其預(yù)測值與期望值的可靠度擬合曲線如圖6。預(yù)測值與期望值的絕對誤差對比曲線如圖7。

圖6 三種網(wǎng)絡(luò)模型可靠度預(yù)測值

圖7 三種網(wǎng)絡(luò)模型絕對誤差值
由表2、圖6和圖7可知,基于遺傳算法和LM算法的BP神經(jīng)網(wǎng)絡(luò)模型可靠度預(yù)測值與期望值的擬合精度最高,誤差值波動(dòng)幅度最小,其平均絕對誤差為1.24%,均方根誤差為1.59%,相對均方根誤差為2.82%;基于LM算法的BP神經(jīng)網(wǎng)絡(luò)模型擬合精度和誤差波動(dòng)幅度次之,其平均絕對誤差為3.11%,均方根誤差為6.91%,相對均方根誤差為9.10%;經(jīng)典BP神經(jīng)網(wǎng)絡(luò)模型擬合精度最差,誤差波動(dòng)幅度也最大,其平均絕對誤差為6.71%,均方根誤差為7.90%,相對均方根誤差為13.97%。
在訓(xùn)練速度方面,基于遺傳算法和LM算法的BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練6次后,網(wǎng)絡(luò)精度即可達(dá)到0.00038,超過所設(shè)定的網(wǎng)絡(luò)精度;僅使用LM算法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練17次網(wǎng)絡(luò)精度可達(dá)到0.00096,同樣超過設(shè)定的網(wǎng)絡(luò)精度,只是訓(xùn)練速度和精度仍不及LM算法和GA算法共同優(yōu)化后的神經(jīng)網(wǎng)絡(luò);經(jīng)典BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練速度比較慢,訓(xùn)練了10000次,達(dá)到所設(shè)定的最大訓(xùn)練次數(shù),此時(shí)模型的精度為0.00604,仍未達(dá)到設(shè)定的網(wǎng)絡(luò)精度,由此可知GA-LM-BP神經(jīng)網(wǎng)絡(luò)模型的可靠度預(yù)測性能最好。
為了進(jìn)一步驗(yàn)證模型的預(yù)測精度是否符合上述結(jié)論,采用皮爾遜相關(guān)系數(shù)法對三種網(wǎng)絡(luò)模型進(jìn)行解析。用相關(guān)系數(shù)ρ來表示網(wǎng)絡(luò)預(yù)測值與期望值的相關(guān)程度,ρ越大表示二者相關(guān)性越強(qiáng),擬合程度越高。公式如式(13)所示
(13)
計(jì)算結(jié)果表明,經(jīng)典BP神經(jīng)網(wǎng)絡(luò)的相關(guān)系數(shù)為0.9275,LM-BP神經(jīng)網(wǎng)絡(luò)的相關(guān)系數(shù)為0.9841,GA-LM-BP神經(jīng)網(wǎng)絡(luò)的相關(guān)系數(shù)為0.9973,可知,GA-LM-BP神經(jīng)網(wǎng)絡(luò)模型的相關(guān)系數(shù)最大,進(jìn)一步證明了LM算法與GA算法共同優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)模型的擬合精度最高。
本文使用遺傳算法與LM算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),建立了GA-LM-BP神經(jīng)網(wǎng)絡(luò)模型對拖拉機(jī)進(jìn)行可靠度預(yù)測,并與經(jīng)典BP神經(jīng)網(wǎng)絡(luò)模型、LM-BP神經(jīng)網(wǎng)絡(luò)模型在迭代次數(shù)、執(zhí)行時(shí)間及擬合精確度等方面進(jìn)行了仿真結(jié)果對比,試驗(yàn)證明經(jīng)兩種算法共同優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)有更好的預(yù)測精度和更快的收斂速度。此模型為實(shí)現(xiàn)拖拉機(jī)可靠性精準(zhǔn)預(yù)測提供了新的方法,為拖拉機(jī)的使用及后續(xù)維修提供了重要參考依據(jù),同時(shí)為其它類型農(nóng)業(yè)機(jī)械產(chǎn)品的可靠性預(yù)測提供了思路。