付秀偉,孔 峰,付 莉
(1.桂林電子科技大學(xué) 計(jì)算機(jī)與控制學(xué)院,廣西桂林541004;2.廣西工學(xué)院 電控系 ,廣西 柳州545006)
汽車(chē)線(xiàn)控轉(zhuǎn)向是通過(guò)微電子技術(shù)連接并控制轉(zhuǎn)向系統(tǒng)的元件來(lái)代替?zhèn)鹘y(tǒng)的機(jī)械連接,用傳感器記錄駕駛者的轉(zhuǎn)向數(shù)據(jù)和車(chē)輛轉(zhuǎn)角、車(chē)速、轉(zhuǎn)向阻力等數(shù)據(jù)并傳送給車(chē)載控制器,車(chē)載控制器按照給定的控制算法計(jì)算輸出控制信號(hào),控制車(chē)輛的轉(zhuǎn)向角度實(shí)現(xiàn)汽車(chē)轉(zhuǎn)向控制[1]。但因傳感器的穩(wěn)定性和數(shù)據(jù)傳輸?shù)恼`差性,不可避免地要出現(xiàn)故障,對(duì)其引入故障診斷,提高汽車(chē)轉(zhuǎn)向系統(tǒng)的可靠性和穩(wěn)定性。運(yùn)用故障診斷機(jī)制直接進(jìn)行故障定位,故障隔離,并指導(dǎo)用戶(hù)及時(shí)排除故障,減少事故的發(fā)生,對(duì)汽車(chē)轉(zhuǎn)向系統(tǒng)具有重要意義。
神經(jīng)網(wǎng)絡(luò)具有自學(xué)習(xí)、自組織、自適應(yīng)等特性,并具有極強(qiáng)的容錯(cuò)性、魯棒性和聯(lián)想存儲(chǔ)功能[2]。但神經(jīng)網(wǎng)絡(luò)算法存在收斂速度慢、易陷入局部極小值等問(wèn)題,本文通過(guò)改進(jìn)的粒子群優(yōu)化算法來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò),并根據(jù)群體早熟收斂程度和個(gè)體適應(yīng)值來(lái)調(diào)整慣性權(quán)重的自適應(yīng)粒子群優(yōu)化神經(jīng)網(wǎng)絡(luò)算法,有效改善神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效率,加快了收斂速度,提高故障模式識(shí)別的準(zhǔn)確率。
本文主要是通過(guò)檢測(cè)傳感器的信號(hào),控制器輸出控制信號(hào)x5和指示燈x6判斷汽車(chē)轉(zhuǎn)向故障,傳感器的信號(hào)主要來(lái)自力矩傳感器x1,轉(zhuǎn)向角傳感器x2,車(chē)速傳感器x3和位移傳感器x4,選取以上5種信號(hào)作為汽車(chē)故障的特征信號(hào)。
本文中,網(wǎng)絡(luò)輸出采用以下5種故障模式表示:力矩過(guò)大y1,轉(zhuǎn)角不變幾乎為零y2,速度超過(guò)規(guī)定值y3,位移超過(guò)量程范圍y4,控制器干擾信號(hào)多y5。據(jù)此建立神經(jīng)網(wǎng)絡(luò),它具有5個(gè)輸入神經(jīng)元,5個(gè)輸出神經(jīng)元,隱含神經(jīng)元數(shù)為6個(gè)。其訓(xùn)練樣本如表1所示。
表1 網(wǎng)絡(luò)訓(xùn)練樣本Tab 1 Samples of network training
全局粒子群優(yōu)化算法是同時(shí)跟蹤自己的歷史最優(yōu)值與全局最優(yōu)值來(lái)改變自己的位置和速度[3]。設(shè)種群規(guī)模為m,第i個(gè)粒子在d維空間的位置表示為xi=(xi1,xi2,…,xid),速度表示為vi=(vi1,vi2,…,vid),i=1,2,…,m。計(jì)算每個(gè)粒子的適應(yīng)度,適應(yīng)度函數(shù)一般由被優(yōu)化的函數(shù)決定。根據(jù)每一個(gè)粒子的適應(yīng)度,更新每個(gè)粒子的個(gè)體最優(yōu)值位置pb和全局最優(yōu)值位置gb,粒子通過(guò)動(dòng)態(tài)跟蹤pb和gb來(lái)更新其速度和位置。粒子根據(jù)以下公式來(lái)更新其速度和位置
式中 i=1,2,…,m 表示第 i個(gè)粒子;j=1,2,…,d,表示第 j維空間;c1和c2為學(xué)習(xí)因子,t為迭代次數(shù),rand()為均勻分布在(0~1)之間的隨機(jī)數(shù),w為慣性權(quán)重。
局部粒子群算法[4]是在上面全局粒子群算法基礎(chǔ)上,多速度更新中用lb代替gb,其余保持不變。經(jīng)過(guò)實(shí)踐證明:全局粒子群箅法收斂速度快,但容易陷入局部最優(yōu);局部粒子群算法收斂速度慢,但可以有效避免陷入局部最優(yōu),粒子的速度和位置根據(jù)如下公式進(jìn)行更新
式中 c1,c2,c3為學(xué)習(xí)因子。
將全局粒子群算法和局部粒子群算法上的融合來(lái)實(shí)現(xiàn)對(duì)全局粒子群優(yōu)化算法進(jìn)行了改進(jìn),在迭代過(guò)程中計(jì)算每一個(gè)粒子與群中其他粒子的距離,記錄任何2個(gè)粒子間的最大距離為dmax。dab是當(dāng)前粒子a到粒子b的距離,如果粒子b滿(mǎn)足dab/dmax<η時(shí),認(rèn)為b屬于當(dāng)前粒子的鄰域 ;如果粒子b滿(mǎn)足dab/dmax<η時(shí),認(rèn)為b不屬于當(dāng)前粒子的鄰域。閾值系數(shù)η的選擇根據(jù)迭代次數(shù)而變化[4],η的表示如下
式中 t為當(dāng)前迭代次數(shù),tmax為最大迭代次數(shù)。
當(dāng)η>0.9時(shí),采用全局粒子群算法來(lái)更新粒子的速度和位置。當(dāng)η<0.9時(shí),采用局部粒子群算法來(lái)更新粒子的速度和位置。
當(dāng)群體的最優(yōu)適應(yīng)值長(zhǎng)時(shí)間未發(fā)生變化(停滯)時(shí),應(yīng)根據(jù)群體早熟收斂程度自適應(yīng)地調(diào)整慣性權(quán)重。本文引用文獻(xiàn)[5]的指標(biāo)來(lái)評(píng)價(jià)粒子群早熟收斂程度。設(shè)粒子群的規(guī)模數(shù)為Q,如果favg為所有粒子當(dāng)前適應(yīng)度值的平均值,則
其中,fi為粒子在當(dāng)前迭代次數(shù)時(shí)的適應(yīng)值。設(shè)最優(yōu)粒子的適應(yīng)值為fg,并將適應(yīng)值優(yōu)于favg的適應(yīng)值求平均得到f'avg,定義Δ=|fg-f'avg|,Δ可用來(lái)評(píng)價(jià)粒子群的早熟收斂程度,Δ越小,說(shuō)明粒子群越趨于早熟收斂。
本文引用文獻(xiàn)[6]來(lái)計(jì)算慣性權(quán)重,適應(yīng)值為fi的粒子,其慣性權(quán)重w的具體調(diào)整方法如下:
1)fi>f'avg時(shí),粒子已經(jīng)比較接近全局最優(yōu),所以,應(yīng)被賦予較小的慣性權(quán)重,以加速向全局最優(yōu)收斂。本文根據(jù)粒子適應(yīng)值,按下式調(diào)整粒子的慣性權(quán)重
其中,wmax為搜索開(kāi)始時(shí)最大的權(quán)重。粒子適應(yīng)值越接近平均值,其慣性權(quán)重相應(yīng)越小,局部尋優(yōu)越好。
2)f'avg>fi>favg時(shí),粒子具有良好的全局尋優(yōu)能力和局部尋優(yōu)能力。開(kāi)始搜索時(shí)w能較長(zhǎng)時(shí)間保持較大值以提高搜索效率,在搜索后期 w又能較長(zhǎng)時(shí)間保持較小值以提高搜索精度,其w的修正公式
式中 wmax為搜索開(kāi)始時(shí)最大的權(quán)重;wmin為搜索結(jié)束時(shí)最小的權(quán)重;t為迭代所進(jìn)行的步數(shù);tmax為允許最大迭代次數(shù)。
3)fi<favg時(shí),滿(mǎn)足此條件的粒子是群體中較差的粒子,其慣性權(quán)重的調(diào)整引用文獻(xiàn)[5]中調(diào)整控制參數(shù)的方法
其中,k1主要用來(lái)控制w的上限,k1選取大于1的常數(shù),本文取k1=1.5;k2主要起調(diào)節(jié)作用,若k2過(guò)大,在早期停滯時(shí),w會(huì)迅速變得很小,這雖然會(huì)加快收斂,卻使算法在早期全局尋優(yōu)中能力不足,若k2過(guò)小,則式(9)的調(diào)節(jié)能力不是很明顯,尤其是在后期算法不能有效地跳出局部最優(yōu),本文取k2=0.3。w隨著Δ的增大而減小,因此,Δ較大時(shí),加強(qiáng)局部尋優(yōu),以使群體趨于收斂;Δ較小,使粒子具有較強(qiáng)的探查能力,從而有效地跳出局部最優(yōu)。
自適應(yīng)粒子群優(yōu)化算法訓(xùn)練神經(jīng)網(wǎng)絡(luò)的基本流程如下:
1)根據(jù)神經(jīng)網(wǎng)絡(luò)的輸入、輸出樣本集,建立神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),將神經(jīng)元之間所有的連接權(quán)值和閾值編碼成實(shí)數(shù)向量表示種群中的個(gè)體粒子。
2)初始化粒子的初始位置、速度、慣性權(quán)重w,加速因子c1,c2,規(guī)定最大迭代次數(shù)等。
3)根據(jù)輸入、輸出樣本,粒子群算法計(jì)算出每個(gè)粒子適應(yīng)度函數(shù)值,并將每個(gè)粒子的最好位置作為其歷史最佳位置,并記錄當(dāng)前位置,開(kāi)始迭代。
4)如果當(dāng)前粒子與前一個(gè)粒子的距離η>0.9時(shí),采用全局粒子群算法,反之,用局部粒子群算法。
5)如果粒子適應(yīng)度優(yōu)于個(gè)體極值pi,將pi設(shè)置為新位置。若粒子適應(yīng)度優(yōu)于全局極值pg,將pg設(shè)置為新位置。
6)利用全局粒子群優(yōu)化算法的式(1),式(2),式(3)更新粒子的速度和位置。
7)檢查粒子速度和位置是否越界,如越界,排除越界并重新更新粒子速度和位置。
8)重新計(jì)算粒子的適應(yīng)度值,并根據(jù)適應(yīng)度自動(dòng)改變慣性權(quán)重,搜索出粒子最佳位置。
9)檢根據(jù)粒子適應(yīng)值不同采取相應(yīng)的自適應(yīng)策略,分別按照式(4)~式(6)調(diào)整慣性權(quán)重w,轉(zhuǎn)向(3)。
10)若滿(mǎn)足停止條件,則搜索停止,輸出全局最優(yōu)位置。
對(duì)于6種故障,每種設(shè)定故障下采集70組數(shù)據(jù),共420組數(shù)據(jù)。利用改進(jìn)后的自適應(yīng)粒子群優(yōu)化算法的神經(jīng)網(wǎng)絡(luò)對(duì)訓(xùn)練樣本數(shù)據(jù)進(jìn)行學(xué)習(xí),得到網(wǎng)絡(luò)的權(quán)重矩陣,權(quán)重矩陣表達(dá)了網(wǎng)絡(luò)輸入輸出間的非線(xiàn)性關(guān)系,即故障診斷的知識(shí)。
圖1為采用普通粒子群優(yōu)化算法的神經(jīng)網(wǎng)絡(luò)(PSO—NN)與改進(jìn)型自適應(yīng)粒子群神經(jīng)網(wǎng)絡(luò)(MAPSO—NN)進(jìn)行訓(xùn)練時(shí)最優(yōu)誤差P隨迭代次數(shù)T的變化曲線(xiàn)。
由圖1可知,ACPSONN收斂速度快,且誤差精度高。對(duì)500組檢驗(yàn)樣本分別取不同故障下的典型樣本進(jìn)行測(cè)試.并將MAPSO—NN的診斷結(jié)果與BPNN,遺傳—神經(jīng)網(wǎng)絡(luò)(GA—NN)和PSO—神經(jīng)網(wǎng)絡(luò)(PS0—NN)的診斷結(jié)果進(jìn)行比較,診斷結(jié)果如表2和表3所示。
圖1 最優(yōu)誤差曲線(xiàn)Fig 1 The optimal error curve
表2 MAPSO—NN的故障診斷結(jié)果Tab 2 Fault diagnosis results of MAPSO—NN
表3 診斷結(jié)果的比較Tab 3 Comparison of diagnosis results
由結(jié)果可以看出,改進(jìn)后的自適應(yīng)粒子群算法訓(xùn)練神經(jīng)網(wǎng)絡(luò)的方法比其他訓(xùn)練算法性能更好,用此算法進(jìn)行汽車(chē)線(xiàn)控轉(zhuǎn)向故障診斷的精度要高于其他算法,所以,將其應(yīng)用于汽車(chē)線(xiàn)控轉(zhuǎn)向故障診斷是可行的。
本文使用改進(jìn)后的自適應(yīng)粒子群優(yōu)化算法優(yōu)化神經(jīng)網(wǎng)絡(luò)并將其應(yīng)用于汽車(chē)線(xiàn)控轉(zhuǎn)向故障診斷中,有效的克服了收斂速度慢、易陷入局部極小值等問(wèn)題。實(shí)驗(yàn)結(jié)果表明:該方法比普通粒子群優(yōu)化算法、遺傳算法訓(xùn)練神經(jīng)網(wǎng)絡(luò)能有效地提高神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效率,加快網(wǎng)絡(luò)的收斂速度,而且,網(wǎng)絡(luò)的故障識(shí)別精度更高,能有效地對(duì)汽車(chē)轉(zhuǎn)向故障進(jìn)行診斷。
[1]胡靜波.轉(zhuǎn)載機(jī)容錯(cuò)線(xiàn)控轉(zhuǎn)向系統(tǒng)研究[D].長(zhǎng)春:吉林大學(xué),2008.
[2]周志華,曹存根.神經(jīng)網(wǎng)絡(luò)及其應(yīng)用[M].北京:清華大學(xué)出版社,2004.
[3]Rumelhart D E,McClelland J L.Parallel distributed processing:Explorations in the microstructure of cognition.[M].Cambridge:MIT Press,1986.
[4]Suganthan P.Particle swarm optimizer with neighborhood operator[C]∥Proceeding of Congress on Evolutionary Computation.Piscataway,1999:1958-1964.
[5]王建國(guó),陽(yáng)建宏.改進(jìn)粒子群優(yōu)化神經(jīng)網(wǎng)絡(luò)及其在產(chǎn)品質(zhì)量建模中的應(yīng)用[J].北京科技大學(xué)學(xué)報(bào),2008,30(10):1189-1195.
[6]吳浩揚(yáng),朱長(zhǎng)純,常炳國(guó),等.基于種群過(guò)早收斂程度定量分析的改進(jìn)自適應(yīng)遺傳算法[J].西安交通大學(xué)學(xué)報(bào),1999,33(11):27-30.
[7]Isermann R,Schwarz R,Stolzl S.Fault-tolerance for drive-by-wire systems[J].IEEE Control Systems Magazine,2002,22(5):64-81.