林海濤 朱寶全 馬小涵
(東北林業(yè)大學(xué),黑龍江 哈爾濱150040)
現(xiàn)代發(fā)動機涉及機械傳動、電子技術(shù)、計算機控制、熱力學(xué)等多門學(xué)科[1],一旦發(fā)生故障不易精確快速診斷。發(fā)動機故障診斷技術(shù)意義重大,對于使用者來講,及時發(fā)現(xiàn)故障可以有效避免事故風(fēng)險,提高發(fā)動機的運行條件和使用壽命,并能大大減小出現(xiàn)嚴重故障的檢修費用[2];對于社會來講,及早排除故障可以使發(fā)動機在更好工況運行,大大提高在經(jīng)濟工況區(qū)域工作的機會,而且對于減小排放污染也大有貢獻[3]?,F(xiàn)代智能化診斷技術(shù)既需要理論支撐,又需要技術(shù)支持[4]。在進行故障診斷之前需要對診斷對象有充分了解,根據(jù)目的選擇合適的診斷方法,選用合適的儀器,提前做好計劃方案。
發(fā)動機作為汽車的心臟,準確高效地進行發(fā)動機故障診斷對于保障汽車安全性、提高經(jīng)濟效益具有重大意義。傳統(tǒng)診斷方法勞動強度大,效率低下,正確率不高,隨著人工智能方法的發(fā)展,神經(jīng)網(wǎng)絡(luò)廣泛應(yīng)用于故障診斷方面,相關(guān)方面的理論研究也越來越成熟[5]。BP 神經(jīng)網(wǎng)絡(luò)只需要采集與故障工況相關(guān)的特征參數(shù),神經(jīng)網(wǎng)絡(luò)即可自行學(xué)習(xí),建立特征參數(shù)與故障工況的對應(yīng)關(guān)系。本文介紹了發(fā)動機故障診斷的背景與發(fā)展,并進行了實驗數(shù)據(jù)采集,提出了BP 神經(jīng)網(wǎng)絡(luò)進行故障診斷的方案,從中挑選最佳的BP 神經(jīng)網(wǎng)絡(luò)。
基于BP 神經(jīng)網(wǎng)絡(luò)的發(fā)動機故障診斷算法整體流程如圖所示。首先進行數(shù)據(jù)采集,并將數(shù)據(jù)分為訓(xùn)練樣本和測試樣本兩個子集,并對兩個數(shù)據(jù)集進行歸一化等預(yù)處理,將訓(xùn)練樣本放入BP 神經(jīng)網(wǎng)絡(luò)中進行不斷訓(xùn)練,訓(xùn)練過程中不斷調(diào)整網(wǎng)絡(luò)參數(shù),計算收斂情況和預(yù)測誤差,當(dāng)精度滿足預(yù)期要求時,停止訓(xùn)練,輸出訓(xùn)練后的BP 神經(jīng)網(wǎng)絡(luò)模型。
本文網(wǎng)絡(luò)層數(shù)選擇為3。輸入層節(jié)點數(shù)等于神經(jīng)網(wǎng)絡(luò)輸入向量的維數(shù),本文提取11 個特征參數(shù)作為網(wǎng)絡(luò)輸入向量,因此可確定網(wǎng)絡(luò)輸入層節(jié)點數(shù)為11,輸出層節(jié)點數(shù)等于輸出向量的維數(shù),網(wǎng)絡(luò)輸出為9 種發(fā)動機工況,因此輸出層節(jié)點數(shù)確定為8。
隱含層節(jié)點數(shù),通常根據(jù)經(jīng)驗公式進行估計:
其中,m 和n 分別為輸出層和輸入層的神經(jīng)元個數(shù),a 是[0,10]之間的常數(shù)。
由于經(jīng)驗公式得到的只是一個范圍,如果要確定最佳的隱含層節(jié)點數(shù),可以在訓(xùn)練樣本不變的條件下,比較不同隱含層節(jié)點數(shù)的性能好壞,從而選擇出最佳值。根據(jù)公式(1),初步選取隱含層節(jié)點數(shù)[4,14]之間的整數(shù),最后對比網(wǎng)絡(luò)誤差選取最佳值。
基于BP 神經(jīng)網(wǎng)絡(luò)的發(fā)動機故障診斷算法
BP 網(wǎng)絡(luò)需要對迭代的初始值進行設(shè)置,初始值過大或過小都會對性能產(chǎn)生影響,初始值過大,可能會在極大程度上影響學(xué)習(xí)效率,通常設(shè)置一個接近于0 的隨機數(shù)作為初始值。誤差精度通常根據(jù)經(jīng)驗先選擇一個合適的值,如果不能滿足預(yù)期要求可以繼續(xù)比較調(diào)整,初選誤差精度為10-3。網(wǎng)絡(luò)最大迭代次數(shù)設(shè)置為2000。
最終選用LM算法對網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練,得到隱含層節(jié)點數(shù)為11 時網(wǎng)絡(luò)誤差最小,因此確定隱含層節(jié)點數(shù)為11。由于BP 神經(jīng)網(wǎng)絡(luò)改進訓(xùn)練算法有四種:動量BP 算法、VLBP 算法、擬牛頓算法和LM算法。本文定隱含層節(jié)點數(shù)為11,分別用不同訓(xùn)練算法比較優(yōu)劣,結(jié)果顯示選用LM算法網(wǎng)絡(luò)誤差最小,收斂速度最快。
為提高發(fā)動機故障診斷的準確度和診斷效率,本文開展一種基于BP 神經(jīng)網(wǎng)絡(luò)的發(fā)動機故障診斷算法研究,本文針對故障診斷進行了BP 神經(jīng)網(wǎng)絡(luò)的設(shè)計,選用LM算法對網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練,得到隱含層節(jié)點數(shù)為11 時網(wǎng)絡(luò)誤差最小,因此確定隱含層節(jié)點數(shù)為11。由于BP 神經(jīng)網(wǎng)絡(luò)改進訓(xùn)練算法有四種:動量BP算法、VLBP 算法、擬牛頓算法和LM算法。本文定隱含層節(jié)點數(shù)為11,分別用不同訓(xùn)練算法比較優(yōu)劣,結(jié)果顯示選用LM 算法網(wǎng)絡(luò)誤差最小,收斂速度最快,因此確定最佳的BP 神經(jīng)網(wǎng)絡(luò)方案為11-11-8 結(jié)構(gòu),采用LM算法的BP 神經(jīng)網(wǎng)絡(luò)。利用訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)進行故障診斷,診斷正確率達到94%。