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

圖1 訓練結果
圖1展示了模型預測輸出和目標輸出之間的誤差分布情況,將訓練數據集的每個樣本的誤差進行統計,并進行分組,可以直觀地看出模型在不同誤差范圍內的表現以及是否存在異常點。
訓練過程變化如圖2所示。圖2(a)曲線表示梯度下降函數,橫坐標代表迭代次數,縱坐標代表梯度,顯示了每一次訓練梯度隨迭代次數的變化;圖2(b)是阻尼因子改變的曲線,橫坐標代表迭代次數,縱坐標代表阻尼分子,阻尼因子mu的值通常為0~1,隨迭代次數變換而變換,用于控制學習率衰減;圖2(c)曲線表示在設置驗證步數為6后,誤差是否不下降,橫坐標代表迭代次數,縱坐標代表檢驗次數,表示系統判斷誤差在連續6次檢驗后不下降,說明誤差不再減小,效果達到最好。

圖2 訓練過程變化
(1)準確率驗證。
對于分類問題,準確率能直觀地體現神經網絡的性能,表明模型的泛化能力,能夠在新數據上進行有效推斷。
(2)準確率計算過程。
本文將測試集預測輸出矩陣進行二值化處理,即每列(一份樣本輸出)中最大概率化為1,其余概率化為0,與測試集的預期輸出矩陣進行比較,得到該測試集經過本神經網絡預測的準確率。
本模型經過多次重新訓練,得到準確率范圍在0.965~0.980,準確率良好,說明模型對于軸承故障類型診斷問題的解決能力強。
本文通過對凱斯西儲大學的正常及各故障類型的振動數據進行歸一化處理得到時域幅度圖像。再進行加窗離散傅里葉變換得到幅頻譜,根據不同軸承故障類型具有獨有的高幅度高頻特征頻率,對幅頻譜進行峰值提取,以最高20個幅值對應的頻率歸一化處理后作為BP神經網絡訓練樣本。然后選擇神經網絡的訓練函數并調整各參數,經驗證后,得到準確率較高的BP神經網絡模型。本文方法高效準確,是一種比較良好的軸承故障診斷的方法。
總之,BP神經網絡的研究和應用已經取得了顯著成果,未來隨著技術的不斷發展,其應用前景將更加廣闊。相信在未來的研究中,BP神經網絡將繼續發揮重要作用,為人工智能領域的發展作出更大的貢獻。