王尉旭,周 豪,洪朝銀
(重慶交通大學(xué),重慶 400074)
隨著科技的飛速發(fā)展,人工智能技術(shù)逐漸滲透到各個(gè)領(lǐng)域,為人類社會(huì)帶來了前所未有的變革。作為人工智能領(lǐng)域的重要分支,神經(jīng)網(wǎng)絡(luò)的研究和應(yīng)用備受關(guān)注。當(dāng)前數(shù)據(jù)處理領(lǐng)域存在諸多復(fù)雜的非線性問題,在工業(yè)領(lǐng)域中,滾動(dòng)軸承的故障診斷就是一個(gè)典型的例子。這些非線性問題往往很難通過傳統(tǒng)的數(shù)據(jù)處理方法去解決,因?yàn)閭鹘y(tǒng)的數(shù)據(jù)處理方法無法很好地捕捉數(shù)據(jù)之間復(fù)雜的非線性關(guān)系,而神經(jīng)網(wǎng)絡(luò)技術(shù)就在其中發(fā)揮了重要的作用。例如BP神經(jīng)網(wǎng)絡(luò),以其強(qiáng)大的映射能力和自學(xué)習(xí)能力,為解決許多復(fù)雜的非線性問題提供了有效途徑。本文旨在探討B(tài)P神經(jīng)網(wǎng)絡(luò)的技術(shù)原理和應(yīng)用,通過深入剖析其基本原理和算法,揭示其內(nèi)在的規(guī)律和特點(diǎn),并介紹了BP神經(jīng)網(wǎng)絡(luò)的應(yīng)用。以滾動(dòng)軸承故障診斷為例,本文對BP神經(jīng)網(wǎng)絡(luò)在工業(yè)領(lǐng)域的應(yīng)用效果和優(yōu)勢進(jìn)行了研究,為相關(guān)領(lǐng)域的研究和實(shí)踐提供支持。
BP神經(jīng)網(wǎng)絡(luò)的基于反向傳播算法,是一種自動(dòng)調(diào)整神經(jīng)網(wǎng)絡(luò)權(quán)重的方法,通過每個(gè)神經(jīng)元的輸出誤差調(diào)整神經(jīng)網(wǎng)絡(luò)中的權(quán)重,以達(dá)到最佳的輸出結(jié)果。與其他前饋神經(jīng)網(wǎng)絡(luò)不同,BP神經(jīng)網(wǎng)絡(luò)能夠自動(dòng)提取輸入和輸出數(shù)據(jù)之間的“合理規(guī)則”,并自適應(yīng)地將學(xué)習(xí)內(nèi)容記憶于網(wǎng)絡(luò)的權(quán)值中[1]。此外,由于采用了反向傳播算法,BP神經(jīng)網(wǎng)絡(luò)還具有很強(qiáng)的非線性映射能力、自學(xué)習(xí)和自適應(yīng)能力、泛化能力以及容錯(cuò)能力[2]。
本文選取凱斯西儲(chǔ)大學(xué)的軸承振動(dòng)數(shù)據(jù)作為數(shù)據(jù)集進(jìn)行BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練,以用于預(yù)測不同軸承的故障類型。本文首先將每種類別的振動(dòng)數(shù)據(jù)進(jìn)行歸一化處理得到時(shí)域幅度圖像,使用Blackman窗口對數(shù)據(jù)進(jìn)行處理以減少頻譜泄露,根據(jù)數(shù)據(jù)總長度以及12000個(gè)/s的采樣率,將每種類別數(shù)據(jù)拆分為2048個(gè)/份,以保證充分包含數(shù)據(jù)特征且保留足夠樣本數(shù)。然后再經(jīng)過離散傅里葉變換得到對應(yīng)的幅頻圖,最后將幅頻圖進(jìn)行特征提取。由于軸承故障會(huì)出現(xiàn)高幅度的特征頻率,所以本文將拆分后的每份數(shù)據(jù)提取幅度峰值最大的20個(gè)數(shù)據(jù)的對應(yīng)頻率作為一份樣本,排序后再進(jìn)行歸一化處理,以契合后續(xù)多分類BP神經(jīng)網(wǎng)絡(luò)的輸入。
離散傅立葉變換是傅立葉變換的一種離散形式,更適合處理離散的、有限長度的信號,適合處理現(xiàn)有的離散時(shí)間時(shí)域幅度圖像。對于一個(gè)有限長度的離散信號x[n],其離散傅立葉變換可以用以下公式表示:
這個(gè)公式表示離散傅立葉變換將每個(gè)樣本x[n]乘以e^{-i2πkn/N},然后將所有的乘積進(jìn)行求和。變換的結(jié)果是一個(gè)頻域表示,其中X[k]為第k個(gè)頻率分量的振幅;x[n]為輸入信號;N為信號長度;k為頻率索引;e為自然對數(shù)的底數(shù);i為虛數(shù)單位。
2.3.1 決定輸入層和輸出層節(jié)點(diǎn)個(gè)數(shù)
本文將振動(dòng)數(shù)據(jù)進(jìn)行預(yù)處理并特征提取后,每份樣本具有20個(gè)數(shù)據(jù),故在輸入層選取20個(gè)節(jié)點(diǎn)。根據(jù)軸承故障診斷的故障類型分類,本文將問題歸于多分類問題,因此,輸出層設(shè)置為故障類型個(gè)數(shù),即32個(gè)輸出節(jié)點(diǎn)同轉(zhuǎn)速的正常樣本(本文選取了4不同轉(zhuǎn)速的正常樣本數(shù)據(jù)、4個(gè)不同轉(zhuǎn)速的驅(qū)動(dòng)端內(nèi)圈和外圈06:00方向的斷層直徑為0.007″和0.021″的16種樣本數(shù)據(jù)以及4個(gè)不同轉(zhuǎn)速的驅(qū)動(dòng)端滾動(dòng)體斷層直徑為0.007″、0.014″、0.021″的12種數(shù)據(jù)樣本,共計(jì)32種類型)。
2.3.2 選取傳遞函數(shù)
由于軸承故障診斷屬于多分類問題,本文首先選取Tansig作為隱藏層的傳遞函數(shù)。在BP神經(jīng)網(wǎng)絡(luò)中Tansig函數(shù)是一種常用的激活函數(shù),非線性映射能力強(qiáng)、計(jì)算效率高,可以避免輸出值過大或過小,從而避免梯度消失或爆炸。然后選取Purelin函數(shù)作為輸出層的傳遞函數(shù)。Purelin函數(shù)常用于輸出層的傳遞函數(shù),易于計(jì)算,可用于分類問題。用于分類問題時(shí),需要將輸出值映射到離散的類別中,能將輸入值直接映射到輸出值,適用于本次多分類問題。
2.3.3 決定隱藏層及各層節(jié)點(diǎn)個(gè)數(shù)
隱藏層節(jié)點(diǎn)數(shù)應(yīng)該小于訓(xùn)練樣本數(shù)減一,即n-1,否則網(wǎng)絡(luò)模型的系統(tǒng)誤差與訓(xùn)練樣本的特性無關(guān)而趨于0,即建立的網(wǎng)絡(luò)模型沒有泛化能力,也沒有任何使用價(jià)值[3]。而訓(xùn)練樣本數(shù)必須多于網(wǎng)絡(luò)模型的連接權(quán)數(shù),一般為2~10倍,否則樣本必須分成幾部分且必須采用“輪流訓(xùn)練”的方法才能得到可靠的神經(jīng)網(wǎng)絡(luò)[3]。故本文樣本總量為2717,輸入層節(jié)點(diǎn)數(shù)為20,輸出層節(jié)點(diǎn)數(shù)為32,得到節(jié)點(diǎn)數(shù)范圍應(yīng)在6~25,因此本研究選取中間數(shù)15作為隱藏層節(jié)點(diǎn)個(gè)數(shù)。
2.3.4 分析和設(shè)置BP神經(jīng)網(wǎng)絡(luò)的各個(gè)基本數(shù)據(jù)
首先,選擇TrainLM作為訓(xùn)練函數(shù)。神經(jīng)網(wǎng)絡(luò)中,TrainLM訓(xùn)練函數(shù)是一種使用Levenberg-Marquardt算法的優(yōu)化方法,主要用于解決非線性最小二乘問題,如神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。其次,設(shè)置最大學(xué)習(xí)次數(shù)為1000次。由于樣本總量較大,可以設(shè)置較大的最大學(xué)習(xí)次數(shù),以便模型能夠充分學(xué)習(xí)。如果模型收斂速度較慢,則需要設(shè)置較大的最大學(xué)習(xí)次數(shù),避免模型收斂過慢,無法達(dá)到最優(yōu)。再次,選擇均方誤差(Mean-Square Error, MSE)作為性能指標(biāo),因?yàn)镸SE易于計(jì)算和理解,值越小,模型的性能越好。而且MSE適用于各種不同類型的模型和數(shù)據(jù)集,回歸和分類問題都能將其作為評估性能的有效指標(biāo)。最后,設(shè)置目標(biāo)誤差0.00001。
本文對樣本集隨機(jī)打亂后劃分為訓(xùn)練集、驗(yàn)證集和測試集,用于評估驗(yàn)證該多分類BP神經(jīng)網(wǎng)絡(luò)。運(yùn)用MATLAB神經(jīng)網(wǎng)絡(luò)工具箱進(jìn)行代碼實(shí)現(xiàn),本文使用訓(xùn)練集樣本對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,訓(xùn)練結(jié)果如圖1所示。
圖1 訓(xùn)練結(jié)果
圖1展示了模型預(yù)測輸出和目標(biāo)輸出之間的誤差分布情況,將訓(xùn)練數(shù)據(jù)集的每個(gè)樣本的誤差進(jìn)行統(tǒng)計(jì),并進(jìn)行分組,可以直觀地看出模型在不同誤差范圍內(nèi)的表現(xiàn)以及是否存在異常點(diǎn)。
訓(xùn)練過程變化如圖2所示。圖2(a)曲線表示梯度下降函數(shù),橫坐標(biāo)代表迭代次數(shù),縱坐標(biāo)代表梯度,顯示了每一次訓(xùn)練梯度隨迭代次數(shù)的變化;圖2(b)是阻尼因子改變的曲線,橫坐標(biāo)代表迭代次數(shù),縱坐標(biāo)代表阻尼分子,阻尼因子mu的值通常為0~1,隨迭代次數(shù)變換而變換,用于控制學(xué)習(xí)率衰減;圖2(c)曲線表示在設(shè)置驗(yàn)證步數(shù)為6后,誤差是否不下降,橫坐標(biāo)代表迭代次數(shù),縱坐標(biāo)代表檢驗(yàn)次數(shù),表示系統(tǒng)判斷誤差在連續(xù)6次檢驗(yàn)后不下降,說明誤差不再減小,效果達(dá)到最好。
圖2 訓(xùn)練過程變化
(1)準(zhǔn)確率驗(yàn)證。
對于分類問題,準(zhǔn)確率能直觀地體現(xiàn)神經(jīng)網(wǎng)絡(luò)的性能,表明模型的泛化能力,能夠在新數(shù)據(jù)上進(jìn)行有效推斷。
(2)準(zhǔn)確率計(jì)算過程。
本文將測試集預(yù)測輸出矩陣進(jìn)行二值化處理,即每列(一份樣本輸出)中最大概率化為1,其余概率化為0,與測試集的預(yù)期輸出矩陣進(jìn)行比較,得到該測試集經(jīng)過本神經(jīng)網(wǎng)絡(luò)預(yù)測的準(zhǔn)確率。
本模型經(jīng)過多次重新訓(xùn)練,得到準(zhǔn)確率范圍在0.965~0.980,準(zhǔn)確率良好,說明模型對于軸承故障類型診斷問題的解決能力強(qiáng)。
本文通過對凱斯西儲(chǔ)大學(xué)的正常及各故障類型的振動(dòng)數(shù)據(jù)進(jìn)行歸一化處理得到時(shí)域幅度圖像。再進(jìn)行加窗離散傅里葉變換得到幅頻譜,根據(jù)不同軸承故障類型具有獨(dú)有的高幅度高頻特征頻率,對幅頻譜進(jìn)行峰值提取,以最高20個(gè)幅值對應(yīng)的頻率歸一化處理后作為BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練樣本。然后選擇神經(jīng)網(wǎng)絡(luò)的訓(xùn)練函數(shù)并調(diào)整各參數(shù),經(jīng)驗(yàn)證后,得到準(zhǔn)確率較高的BP神經(jīng)網(wǎng)絡(luò)模型。本文方法高效準(zhǔn)確,是一種比較良好的軸承故障診斷的方法。
總之,BP神經(jīng)網(wǎng)絡(luò)的研究和應(yīng)用已經(jīng)取得了顯著成果,未來隨著技術(shù)的不斷發(fā)展,其應(yīng)用前景將更加廣闊。相信在未來的研究中,BP神經(jīng)網(wǎng)絡(luò)將繼續(xù)發(fā)揮重要作用,為人工智能領(lǐng)域的發(fā)展作出更大的貢獻(xiàn)。