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