謝永成,李光升,魏 寧,李 剛
(陸軍裝甲兵學(xué)院 兵器與控制系,北京 100072)
裝甲車輛電氣系統(tǒng)的工作狀態(tài)直接影響著裝甲車輛整體作戰(zhàn)性能。 當(dāng)前,隨著科技發(fā)達(dá),電路板作為裝甲車輛電氣系統(tǒng)的關(guān)鍵組件,功能日趨多樣、結(jié)構(gòu)日趨復(fù)雜,隨之而來,故障發(fā)生的種類也越來越多、復(fù)雜程度也越來越高,對(duì)故障診斷的要求也不斷提升。 目前,對(duì)于裝甲車輛電氣系統(tǒng)的故障診斷,大多是系統(tǒng)級(jí)故障診斷,即使發(fā)現(xiàn)電路板故障,也多是以更換為主。 雖有部分學(xué)者將神經(jīng)網(wǎng)絡(luò)方法應(yīng)用在電路板故障診斷中,但由于存在訓(xùn)練停滯現(xiàn)象、收斂效果較差等問題,使得基于神經(jīng)網(wǎng)絡(luò)的智能診斷方法應(yīng)用在電路板故障診斷中存在著諸多問題和限制[1]。 為了克服該問題,有部分學(xué)者引入附加動(dòng)量項(xiàng)、學(xué)習(xí)率自適應(yīng)等方法對(duì)模型進(jìn)行改進(jìn),取得了一定效果,但由于動(dòng)量因子是固定的,學(xué)習(xí)率變化范圍不大,其整體自適應(yīng)能力仍然不夠[2-5]。 基于此,文章探索將遺傳算法與BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行結(jié)合,以嘗試解決單一BP 網(wǎng)絡(luò)容易陷入局部最小值、收斂效果差等問題,以期在以往神經(jīng)網(wǎng)絡(luò)診斷方法基礎(chǔ)上[2-5],為裝甲車輛電氣系統(tǒng)電路板故障診斷提供更好的解決方法。
BP 神經(jīng)網(wǎng)絡(luò)又稱為誤差反向傳播神經(jīng)網(wǎng)絡(luò),數(shù)據(jù)信息通過神經(jīng)網(wǎng)絡(luò)的輸入端向輸出端正向傳播,而輸出信息的誤差沿著相反的方向傳遞給神經(jīng)網(wǎng)絡(luò)的權(quán)值和閥值,使其按照反饋信息調(diào)節(jié)網(wǎng)絡(luò)結(jié)構(gòu)[6]。BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。
圖1 BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 BP neural network structure diagram
輸出層梯度:
隱含層梯度:
第n 次迭代閾值:
第n 次迭代權(quán)值:
學(xué)習(xí)率η 根據(jù)誤差變化e(n)進(jìn)行自適應(yīng)調(diào)整:
由典型BP 神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)及原理可知,雖然其具有較好的收斂速度和自適應(yīng)能力,但其學(xué)習(xí)率范圍和動(dòng)量因子本身的問題導(dǎo)致其對(duì)網(wǎng)絡(luò)誤差仍然敏感性不足,難以適應(yīng)學(xué)習(xí)率較大范圍變化的情況。 為了解決上述問題,對(duì)其進(jìn)行如下改進(jìn):
設(shè)定p1,p2分別是網(wǎng)絡(luò)誤差e(n)連續(xù)增大、減小的標(biāo)志量:
將其代入公式(5)中,得到學(xué)習(xí)率η:
自適應(yīng)動(dòng)量因子為
若誤差連續(xù)減小k 次時(shí), 說明方向正確但學(xué)習(xí)率不夠,從而可以以k 冪指數(shù)提高η,并降低μ,推動(dòng)網(wǎng)絡(luò)進(jìn)一步收斂[11]。
為了對(duì)典型BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,可引入遺傳算法, 對(duì)典型BP 神經(jīng)網(wǎng)絡(luò)的各層節(jié)點(diǎn)參數(shù)進(jìn)行尋優(yōu)操作。 遺傳算法是一種常用的全局搜索方法,通過設(shè)置種群初始值、選擇、交叉、變異等操作步驟,可以對(duì)典型BP 神經(jīng)網(wǎng)絡(luò)的各層節(jié)點(diǎn)參數(shù)進(jìn)行尋優(yōu),從而降低訓(xùn)練停滯和局部極小值問題對(duì)模型預(yù)測(cè)結(jié)果的影響[12-15]。 其與BP 神經(jīng)網(wǎng)絡(luò)結(jié)合對(duì)各層參數(shù)進(jìn)行優(yōu)化的基本流程如圖2 所示。
圖2 改進(jìn)型GA-BP 算法基本流程Fig.2 Basic flow chart of improved GA-BP algorithm
運(yùn)用遺傳算法對(duì)BP 神經(jīng)網(wǎng)絡(luò)模型參數(shù)尋優(yōu)的基本操作可分為5 個(gè)步驟:
步驟1種群初始化。 遺傳算法是從潛在的解集出發(fā)進(jìn)行尋優(yōu)的過程,因此,在模型運(yùn)用過程中,首先應(yīng)按照一定的編碼規(guī)則給出種群的初始解,對(duì)種群進(jìn)行初始化,生成初始種群、確定適應(yīng)度函數(shù)。本模型中,選取網(wǎng)絡(luò)誤差為適應(yīng)度函數(shù)。
步驟2選擇操作。在本模型中,采取基于適應(yīng)度比例的選擇操作,每個(gè)個(gè)體被選擇的幾率為:Pi=
步驟3交叉操作。通過交叉操作,可以進(jìn)一步增大子代基因信息范圍。本模型中,第k 個(gè)染色體ak和第s 個(gè)染色體as在第j 位的交叉方法為
式中:d 為[0,1]之間的隨機(jī)值。
步驟4變異操作。通過變異,能夠提高種群的多樣性,使種群得到豐富和優(yōu)化。若對(duì)第i 個(gè)個(gè)體第j 個(gè)基因a 進(jìn)行變異操作,可得到:
式中:amax是基因aij的上邊界;為一個(gè)隨機(jī)值;g 為當(dāng)前迭代次數(shù);Gmax為最大迭代次數(shù);r 為[0,1]之間的隨機(jī)值。
步驟5判斷。按照上述步驟進(jìn)行計(jì)算,并判斷進(jìn)化是否達(dá)到了預(yù)期目標(biāo),若沒有達(dá)到,則重復(fù)上述步驟直到達(dá)到預(yù)設(shè)目標(biāo)為止。
以裝甲車輛電氣系統(tǒng)中80 式滅火系統(tǒng)控制盒電路板撕裂后存在故障的子網(wǎng)絡(luò)為例,對(duì)優(yōu)化后的BP 神經(jīng)網(wǎng)絡(luò)模型進(jìn)行驗(yàn)證分析。選擇撕裂后的子網(wǎng)絡(luò)作為數(shù)據(jù)采集的區(qū)域,故障信息通過節(jié)點(diǎn)電壓測(cè)量法獲取。 其故障采集區(qū)域如圖3 所示。
圖3 80 式滅火系統(tǒng)控制盒電路板電壓信息采集區(qū)域Fig.3 Type 80 fire extinguishing system control box circuit board voltage information collection area
首先設(shè)置故障元器件以及元器件所產(chǎn)生的故障,如表1 所示。
表1 故障注入?yún)?shù)設(shè)置Tab.1 Fault injection parameter settings
然后依據(jù)測(cè)量節(jié)點(diǎn)的順序依次將故障測(cè)量節(jié)點(diǎn)命名為a~g,并將故障依次注入電路可以通過測(cè)量節(jié)點(diǎn)電壓獲得故障數(shù)據(jù)。 獲得節(jié)點(diǎn)電壓數(shù)據(jù)后,進(jìn)行歸一化處理,如表2 所示,對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò)輸出,如表3 所示。
表2 故障參數(shù)(0-1)歸一化Tab.2 Fault parameters(0-1) are normalized
表3 故障參數(shù)(0-1)歸一化網(wǎng)絡(luò)輸出Tab.3 Fault parameters(0-1) normalize the network output
設(shè)置BP 神經(jīng)網(wǎng)絡(luò)3 個(gè)層次的節(jié)點(diǎn)數(shù)量分別為3,5,6,η=0.8,μ=0.6,并對(duì)其進(jìn)行批量訓(xùn)練,從而獲得誤差滿足要求的網(wǎng)絡(luò)模型。
對(duì)于遺傳算法部分,其初始種群規(guī)模設(shè)定為16,交叉概率和變異概率分別為0.4,0.2,共進(jìn)行20 次的進(jìn)化,以得到經(jīng)GA 優(yōu)化的BP 神經(jīng)網(wǎng)絡(luò)各層節(jié)點(diǎn)初始值,如表4 所示。 其中,ω1~ω3是第1~2 層網(wǎng)絡(luò)權(quán)值,b 是第2 層網(wǎng)絡(luò)閾值,W1~W5是第2~3 層網(wǎng)絡(luò)權(quán)值,B 是第3 層網(wǎng)絡(luò)閾值。
表4 優(yōu)化后的BP 神經(jīng)網(wǎng)絡(luò)初始值Tab.4 Initial values of the optimized BP neural network
將上述優(yōu)化得到的BP 神經(jīng)網(wǎng)絡(luò)各層節(jié)點(diǎn)初始值代入模型中,以表2 和表3 數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,經(jīng)過4 次迭代之后,可以得到訓(xùn)練誤差為0.0563,此時(shí),模型的訓(xùn)練誤差滿足要求,該模型可以對(duì)裝甲車輛電氣系統(tǒng)電路板故障進(jìn)行診斷,如圖4 所示。
圖4 優(yōu)化神經(jīng)網(wǎng)絡(luò)(0,1)區(qū)間訓(xùn)練誤差曲線Fig.4 Optimization neural network(0,1) interval training error curve
為了驗(yàn)證優(yōu)化后的GA-BP 神經(jīng)網(wǎng)絡(luò)模型的可靠性, 將其與典型BP 神經(jīng)網(wǎng)絡(luò)以及測(cè)試數(shù)據(jù)進(jìn)行預(yù)測(cè)結(jié)果對(duì)比。 首先對(duì)沒有優(yōu)化的典型BP 神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,經(jīng)過12 次迭代之后,得到訓(xùn)練誤差為0.16125,如圖5 所示。 將實(shí)驗(yàn)數(shù)據(jù)分別帶入優(yōu)化后的神經(jīng)網(wǎng)絡(luò)模型和沒有優(yōu)化的神經(jīng)網(wǎng)絡(luò)模型,可以得到預(yù)測(cè)結(jié)果,如圖6 所示。 可見,沒有優(yōu)化的網(wǎng)絡(luò)模型預(yù)測(cè)結(jié)果明顯與測(cè)試數(shù)據(jù)偏離較大,而優(yōu)化后的網(wǎng)絡(luò)模型預(yù)測(cè)結(jié)果與測(cè)試結(jié)果擬合度較好,優(yōu)化后的網(wǎng)絡(luò)模型預(yù)測(cè)結(jié)果明顯優(yōu)于沒有優(yōu)化的網(wǎng)絡(luò)模型預(yù)測(cè)結(jié)果。
圖5 未優(yōu)化神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差曲線Fig.5 Not optimized neural network training error curve
圖6 免疫遺傳算法預(yù)測(cè)結(jié)果對(duì)比Fig.6 Comparison of prediction results of immunogenetic algorithms
裝甲車輛電氣系統(tǒng)電路板故障診斷問題一直是一個(gè)難點(diǎn)問題,傳統(tǒng)的電路板故障診斷方法主要存在故障檢出率低、虛警等問題,應(yīng)用BP 神經(jīng)網(wǎng)絡(luò)雖然能一定程度上解決檢出率低等問題,但其存在的自適應(yīng)問題和局部極小值問題仍然導(dǎo)致故障診斷虛警率較高。 而通過引入遺傳算法,對(duì)典型BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行參數(shù)尋優(yōu)改進(jìn),從而使得神經(jīng)網(wǎng)絡(luò)故障診斷方法可以得到優(yōu)化。 本文在改進(jìn)模型的基礎(chǔ)上, 以裝甲車輛電氣系統(tǒng)中80 式滅火系統(tǒng)控制盒電路板故障診斷數(shù)據(jù)對(duì)模型進(jìn)行驗(yàn)證分析,由結(jié)果可見, 經(jīng)過遺傳算法參數(shù)尋優(yōu)改進(jìn)后的BP 神經(jīng)網(wǎng)絡(luò)模型可以有效克服自適應(yīng)不夠和局部極小值問題,實(shí)現(xiàn)對(duì)裝甲車輛電氣系統(tǒng)電路板的故障診斷。