劉建立,李業(yè)德,張 濤
(1.山東理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院山東淄博255091;2.張店鋼鐵總廠(chǎng)山東淄博255000)
基于混沌PSO-DV優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的汽車(chē)故障診斷
劉建立1,李業(yè)德1,張 濤2
(1.山東理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院山東淄博255091;2.張店鋼鐵總廠(chǎng)山東淄博255000)
針對(duì)傳統(tǒng)的PSO優(yōu)化BP網(wǎng)絡(luò)的局限性,提出了一種混沌PSO-DV算法和BP神經(jīng)網(wǎng)絡(luò)的混合算法.該算法具有混沌算法的局部搜索遍歷性,DE算法的種群多樣性及BP神經(jīng)網(wǎng)絡(luò)的快速搜索能力等優(yōu)勢(shì).仿真結(jié)果表明,混沌PSO-DV優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于汽車(chē)發(fā)動(dòng)機(jī)故障診斷,使得故障診斷的效率和準(zhǔn)確率得到了很大的提高.
混沌PSO-DV算法;BP神經(jīng)網(wǎng)絡(luò);汽車(chē)發(fā)動(dòng)機(jī);故障診斷
汽車(chē)發(fā)動(dòng)機(jī)是汽車(chē)的心臟,對(duì)汽車(chē)發(fā)動(dòng)機(jī)的高效及準(zhǔn)確的故障診斷已成為目前研究熱點(diǎn)問(wèn)題[1],發(fā)動(dòng)機(jī)故障呈現(xiàn)多部位、多現(xiàn)象、復(fù)雜性、非線(xiàn)性等特點(diǎn),而傳統(tǒng)的故障診斷專(zhuān)家系統(tǒng)具有實(shí)時(shí)性差,學(xué)習(xí)能力不強(qiáng),且對(duì)知識(shí)庫(kù)的修改需人工干預(yù)等缺陷[1],因此對(duì)基于智能專(zhuān)家系統(tǒng)如神經(jīng)網(wǎng)絡(luò)[2]、貝葉斯網(wǎng)絡(luò)[3]、模糊理論[4]等的故障診斷倍受關(guān)注.BP神經(jīng)網(wǎng)絡(luò)較強(qiáng)的自學(xué)習(xí)、自適應(yīng)、容錯(cuò)、聯(lián)想記憶及非線(xiàn)性模式識(shí)別等特點(diǎn),使得在處理多故障、多征兆的復(fù)雜系統(tǒng)具有明顯的優(yōu)勢(shì),是目前研究的熱點(diǎn)之一,同時(shí)在汽車(chē)發(fā)動(dòng)機(jī)故障診斷方面也得到了廣泛的應(yīng)用[2].
雖然BP神經(jīng)網(wǎng)絡(luò)在故障診斷中有明顯的優(yōu)勢(shì),但由于其本質(zhì)上為梯度下降法,導(dǎo)致了收斂速度慢的現(xiàn)象,且使用梯度下降法易導(dǎo)致陷入局部極小,從而無(wú)法收斂到全局最優(yōu).粒子群算法(PSO算法)有利于在全局范圍內(nèi)產(chǎn)生很好的搜索能力,因此國(guó)內(nèi)外許多學(xué)者利用PSO及其變體對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,取得了良好的效果.在傳統(tǒng)的PSO算法中,一旦目標(biāo)到達(dá)局部極小值附近,可能會(huì)出現(xiàn)收斂速度慢,甚至在極小點(diǎn)附近振蕩的現(xiàn)象,陷入局部極小的問(wèn)題.為解決以上不足,本文在粒子群算法的基礎(chǔ)上,結(jié)合差分進(jìn)化算法和混沌的概念,提出了一種CPSO-DV算法進(jìn)行BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,可避免用標(biāo)準(zhǔn)PSO算法導(dǎo)致的易陷入局部極小的問(wèn)題.同時(shí)較文獻(xiàn)[5]標(biāo)準(zhǔn)PSO訓(xùn)練神經(jīng)網(wǎng)絡(luò)收斂更快且誤差更小.文中以汽車(chē)發(fā)動(dòng)機(jī)的點(diǎn)火系統(tǒng)為例進(jìn)行故障診斷,得到了很好的效果.
1.1 PSO優(yōu)化算法
PSO算法是一種基本群體智能的隨機(jī)尋優(yōu)算法,它是模擬鳥(niǎo)群覓食行為的研究,當(dāng)一群鳥(niǎo)在某個(gè)空間范圍內(nèi)搜索一塊食物,且它們都不知道食物的具體位置,但知道其離食物的距離,因此每只鳥(niǎo)可以通過(guò)最近鳥(niǎo)的位置進(jìn)行學(xué)習(xí)和優(yōu)化自身位置從而最終找到食物[5].PSO算法是從這種模型中得到啟示并用于解決優(yōu)化問(wèn)題,在PSO中,一個(gè)粒子就是優(yōu)化問(wèn)題的一個(gè)解,類(lèi)似于鳥(niǎo)類(lèi)群體活動(dòng)模型中存在于搜索空間的一只鳥(niǎo),所有的粒子在一個(gè)確定搜索空間范圍內(nèi)進(jìn)行活動(dòng),通過(guò)對(duì)所有的粒子進(jìn)行搜索尋找到最優(yōu)粒子位置從而確定問(wèn)題最優(yōu)解.首先, PSO會(huì)產(chǎn)生一群隨機(jī)粒子,然后通過(guò)迭代找到個(gè)體極值pbest和一個(gè)全局極值gbest;在找到這兩個(gè)極值后,基本的PSO算法就會(huì)利用以下兩個(gè)公式來(lái)更新自己的速度和位置[6].
1.2 DE(差分進(jìn)化)算法介紹
DE算法是基于實(shí)數(shù)編碼的高效進(jìn)化算法,具有個(gè)體最優(yōu)解記憶和共享種群信息的特點(diǎn),它通過(guò)種群內(nèi)部合作和競(jìng)爭(zhēng)求解優(yōu)化問(wèn)題,是一種變異的擁有保優(yōu)思想的貪婪遺傳算法[7].首先,算法在問(wèn)題的可行性解空間上初始化種群,然后迭代,在每一次迭代過(guò)程中都進(jìn)行變異和交叉操作來(lái)產(chǎn)生新的種群,然后在這兩個(gè)新的種群中選擇較優(yōu)種群,從而產(chǎn)生一個(gè)新的種群.如圖1所示描述了DE算法的運(yùn)行流程.
圖1 DE算法運(yùn)行流程
1.3 混沌知識(shí)介紹
對(duì)于混沌目前尚無(wú)精確的定義,一般表現(xiàn)出一種無(wú)規(guī)律性、無(wú)固定周期循環(huán)的運(yùn)動(dòng)狀態(tài)則稱(chēng)之為混沌.在混沌優(yōu)化算法中,首先必須讓解空間中的元素處于混沌狀態(tài),因此Logistic映射作為一種典型的混沌系統(tǒng)則被用來(lái)產(chǎn)生混沌變量,其公式如下,
CPSO-DV算法是在最初的PSO-DV算法中引入了混沌的概念,它是通過(guò)把由原來(lái)的PSO-DV優(yōu)化產(chǎn)生的解空間映射到Logistic方程的定義域上,迭代產(chǎn)生混沌變量序列,再把產(chǎn)生的混沌序列逆映射到原解空間的一個(gè)過(guò)程.PSO-DV算法與標(biāo)準(zhǔn)的PSO有著本質(zhì)的區(qū)別,在速度更新公式(1)中,把有關(guān)pbest的一項(xiàng)替換掉,即我們所說(shuō)的認(rèn)知部分被替換,取而代之的是在粒子群中隨機(jī)選擇的兩個(gè)不同被權(quán)值化了的粒子的位置向量差,這個(gè)向量差分算子作為新的認(rèn)知項(xiàng)來(lái)更新速度,由于這個(gè)速度差分項(xiàng)是通過(guò)DE算法的變異方法產(chǎn)生,稱(chēng)之為PSO-DV算法.在PSO-DV中,每個(gè)粒子k,可以隨機(jī)選取兩個(gè)粒子i和j(i≠j≠k),用他們的差分向量來(lái)作為粒子群算法中的認(rèn)知項(xiàng)來(lái)更新粒子.公式為
則第k個(gè)粒子的第d個(gè)元素可以用以下公式來(lái)更新,
通過(guò)適應(yīng)度函數(shù)去判斷新的位置的適應(yīng)度值,如果新的位置的適應(yīng)度值更好,則粒子的位置將會(huì)由新的位置取代,否則保持當(dāng)前位置不變.如公式(8)用網(wǎng)絡(luò)輸出與期望值的方差作為適應(yīng)度函數(shù),如果新位置的適應(yīng)度值比當(dāng)前位置的適應(yīng)度值要小,則更新粒子的位置.
CPSO-DV算法在運(yùn)行時(shí)會(huì)用公式(5)來(lái)更新自己的速度和公式(7)來(lái)更新自己的位置,然后在進(jìn)行混沌優(yōu)化,依次循環(huán),直至最優(yōu)或達(dá)到最大迭代次數(shù).其運(yùn)行可按如下的步驟進(jìn)行.
第一步:初始化粒子群,包括算法的參數(shù),迭代次數(shù),混沌尋優(yōu)次數(shù)等.
第二步:根據(jù)PSO-DV的算法依式(5)和式(7),當(dāng)隨機(jī)因子小于交叉概率時(shí)更新速度,否則保持不變,同時(shí)用適應(yīng)度函數(shù)去評(píng)價(jià)由式(6)所生成的新位置的適應(yīng)度值,如果滿(mǎn)足新位置的適應(yīng)度值小于當(dāng)前位置的適應(yīng)度值,則改變粒子的位置,否則不變.
第三步:對(duì)全局最優(yōu)解gbest進(jìn)行混沌優(yōu)化,根據(jù)Logistic混沌模型,將gbest中的元素映射到其定義域上,用式(3)進(jìn)行迭代產(chǎn)生混沌變量序列,把產(chǎn)生的混沌變量序列逆映射到原解空間,得gbest(m),然后對(duì)每一個(gè)可行解計(jì)算適應(yīng)度值,保留適應(yīng)度值最好的gbest′.
第四步:在粒子群中任意選取一個(gè)粒子,用gbest′替代.
第五步:若達(dá)到最大迭代數(shù)或得到滿(mǎn)意解,則終止,否則轉(zhuǎn)到第2步.
用CPSO-DV算法訓(xùn)練神經(jīng)網(wǎng)絡(luò),首先建立合理的神經(jīng)網(wǎng)絡(luò)模型和粒子的模型,如確定神經(jīng)網(wǎng)絡(luò)各層之間的權(quán)值和閾值,粒子的適應(yīng)度函數(shù)和搜索空間范圍等,本文對(duì)模型的建立步驟如下:
①參數(shù)編碼:構(gòu)造一個(gè)三層的BP網(wǎng)絡(luò),調(diào)整參數(shù)由權(quán)重和偏差組成,假設(shè)N1、N2和N3分別表示輸入、隱含和輸出層的神經(jīng)元數(shù),從而可將CPSO-DV算法中每個(gè)粒子的維度定為D,D=N1× (N2+1)+N2×(N3+1).參照文獻(xiàn)[5]汽車(chē)發(fā)動(dòng)機(jī)點(diǎn)火系統(tǒng)相關(guān)數(shù)據(jù),構(gòu)造一個(gè)三層神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)的輸入層為5個(gè)節(jié)點(diǎn),分別表示不同的故障現(xiàn)象,正常為0,異常為1,不確定為0.5;輸出層為3個(gè)節(jié)點(diǎn),表示點(diǎn)火系統(tǒng)中的三類(lèi)故障原因,分別為高壓電路故障、低壓電路故障和高低壓電路故障,同樣正常為0,異常為1;隱含層的個(gè)數(shù)可由公式α計(jì)算.n為輸入層的個(gè)數(shù),m為輸出層的個(gè)數(shù),a為[1,10]的整數(shù),可設(shè)隱含層個(gè)數(shù)為6.
②適應(yīng)度函數(shù)的設(shè)計(jì):本文用網(wǎng)絡(luò)輸出與期望值的方差作為種群的適應(yīng)度函數(shù).
式中:N表示樣本容量;?y(t)表示迭代t次時(shí)第i個(gè)訓(xùn)練樣本輸入的實(shí)際輸出值;(t)表示期望輸出值.
③參數(shù)設(shè)置:種群規(guī)模大小,粒子維度,慣性權(quán)重,加速常數(shù)和最大迭代次數(shù).文中所設(shè)中群規(guī)模大小為30,慣性權(quán)重,加速常數(shù)=2,最大迭代次數(shù)t=300,粒子維度D=59,從而種群中第K個(gè)粒子的位置向量可表示為
式中:w、υ表示連接輸入層和隱含層以及隱含層和輸出層的權(quán)值;θ、γ為判斷隱含層和輸出層的閾值.
當(dāng)模型建立好之后就可以進(jìn)行樣本的學(xué)習(xí)和訓(xùn)練了,以下情況為點(diǎn)火系統(tǒng)的故障現(xiàn)象和導(dǎo)致故障的原因[9].
故障現(xiàn)象:
I1電流動(dòng)態(tài)情況.
I2高壓分火線(xiàn)試火.
I3分火線(xiàn)火花情況.
I4高壓總火線(xiàn)試火
I5發(fā)動(dòng)征兆.
故障原因:
Y1低壓電路故障.
Y2高壓電路故障.
Y3高低壓電路故障.
選取樣本數(shù)據(jù)進(jìn)行實(shí)驗(yàn).分別用CPSO-DV和標(biāo)準(zhǔn)PSO優(yōu)化的PB神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,達(dá)到要求的最大迭代次數(shù)或收斂精度結(jié)束神經(jīng)網(wǎng)絡(luò)的訓(xùn)練.
如圖2為標(biāo)準(zhǔn)PSO算法和CPSO-DV算法在同一條件下訓(xùn)練出來(lái)的BP網(wǎng)絡(luò)收斂曲線(xiàn),其中縱坐標(biāo)為誤差,即公式(8)中的方差值,橫坐標(biāo)為迭代次數(shù),達(dá)到300次停止訓(xùn)練.
圖2 兩種優(yōu)化算法在相同條件下訓(xùn)練神經(jīng)網(wǎng)絡(luò)的收斂曲線(xiàn)
表1為隨機(jī)抽取的5組訓(xùn)練樣本和1組測(cè)試樣本,經(jīng)過(guò)訓(xùn)練之后的神經(jīng)網(wǎng)絡(luò),對(duì)測(cè)試樣本進(jìn)行驗(yàn)證,得出低壓電路故障與預(yù)期結(jié)果相符合.
表1 隨機(jī)抽取的故障樣本及數(shù)據(jù)
圖2中基于標(biāo)準(zhǔn)PSO算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)在達(dá)到所要求的最大迭代次數(shù)后,仍然沒(méi)收斂到所要求的誤差精度(要求誤差精度為2×10―2),且迭代到59次之后誤差基本不再變化,陷入了局部最優(yōu);基于CPSO-DV算法在迭代相同的次數(shù)能收斂到所要求的誤差,且效果要明顯好于要求誤差,同時(shí), CPSO-DV算法的收斂曲線(xiàn)有明顯的抖動(dòng)現(xiàn)象,說(shuō)明其具有更好的跳出局部極值的能力.表1的6組數(shù)據(jù)標(biāo)準(zhǔn)PSO訓(xùn)練網(wǎng)絡(luò)得到的結(jié)果為Y=[1.0044 0. 0091 0.0099],CPSO-DV訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)診斷的結(jié)果為Y=[1.0012 0.0037 0.0069],較PSO有更好的診斷能力.
利用CPSO-DV算法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,通過(guò)綜合混沌算法、PSO算法及DE算法的優(yōu)勢(shì)能避免標(biāo)準(zhǔn)PSO算法中易陷入局部極值的問(wèn)題,同時(shí)收斂效果顯著提高.將其應(yīng)用于汽車(chē)發(fā)動(dòng)機(jī)點(diǎn)火系統(tǒng)故障診斷中,通過(guò)故障樣本訓(xùn)練網(wǎng)絡(luò)并進(jìn)行測(cè)試,實(shí)驗(yàn)結(jié)果表明,該算法較標(biāo)準(zhǔn)的PSO優(yōu)化神經(jīng)網(wǎng)絡(luò)提高了收斂精度,減少了誤差,提高了故障診斷的效率和準(zhǔn)確性,對(duì)于實(shí)際應(yīng)用有著非常重要意義.
[1]劉麗芳.汽車(chē)發(fā)動(dòng)機(jī)故障診斷系統(tǒng)[D].太原市:太原理工大學(xué), 2012.
[2]張建軍,張利,穆海芳,等.基于改進(jìn)粒子群優(yōu)化BP網(wǎng)絡(luò)的發(fā)動(dòng)機(jī)故障診斷方法[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2011,42(1):198-203.
[3]李錦,黃長(zhǎng)征.基于bayes判別法的內(nèi)燃機(jī)氣門(mén)間隙故障診斷[J].韶關(guān)學(xué)院學(xué)報(bào),2010,31(12):43-46.
[4]王禮軍.模糊神經(jīng)網(wǎng)絡(luò)專(zhuān)家系統(tǒng)在故障診斷中的應(yīng)用[J].重慶交通大學(xué)學(xué)報(bào),2012,31(3):469-472.
[5]柴長(zhǎng)松,張欣,牛奔,等.基于粒子群神經(jīng)網(wǎng)絡(luò)的發(fā)動(dòng)機(jī)故障診斷[J].微計(jì)算機(jī)信息,2007,23(8-1):186-194.
[6]Eberchart R,Kenndy J.A new optimizer using particle swarm theory[C]//Micro Machine and Human Science,1995,MHS′95, Proceedings of the six International Symposium.USA,Indianapolis Purdue Sch of Eng.&Technol,1995:39-43.
[7]周艷平,顧幸生.差分進(jìn)化算法研究和發(fā)展[J].化工自動(dòng)化及儀表,2007,34(3):1-5.
[8]Liu B,Wang L,Jin Y H,et al.Improved particle swarm optimization combined with chaos[J].Chaos Solitons&Fractals, 2004,25:1 261-1 271.
[9]Wu Z Y,Han Y,Zhang J J.Research on auto-production line fault Diagnosis based on FNN[J].China Mechanical Engineering,2008,19(9):1 072-1 075.
(編輯:劉寶江)
Automotive engine fault diagnosis based on BP neural network optimized by chaos PSO-DV
LIU Jian-li1,LI Ye-de,ZHANG Tao2
(1.School of Computer Science and Technology,Shandong University of Technology,Zibo 255091,China;2.Zhangdian Iron and Steel,Zibo 255000,China)
Aimed at the limitation of BP neural network optimazed by traditional PSO,a novel chaos PSO-DV algorithm was proposed.This algorithm has the advantages of the local search ergodicity of chaos algorithm,the population diversity of the DE algorithm and fast search ability of BP neural network.The simulation results showed that when BP neural network which optimized by chaos PSO-DV was applied on the automotive engine fault diagnosis,the efficiency and accuracy of fault diagnosis was higher improved.
chaos PSO-DV algorithm;BP neural network;automotive engine;fault diagnosis
1672―6197(2013)01―0067―04
TP311
A
2012- 12- 18
劉建立,男,liujianli523@sina.com;通信作者:李業(yè)德,男,liyede@sdut.edu.cn