林 立
(中冶北方(大連)工程技術(shù)有限公司,遼寧 大連 116622)
故障診斷技術(shù)按處理方法主要分三種,即依靠數(shù)學(xué)分析的方法、依據(jù)信號分析的方法、利用人工智能(知識)的處理方法。而人工智能方法,如人工神經(jīng)網(wǎng)絡(luò)、SVM、專家系統(tǒng)等,能夠處理傳統(tǒng)故障診斷方法所無法解決的問題。相對于傳統(tǒng)方法,人工智能具有很大的優(yōu)勢,在近些年在電機故障診斷方面,人工智能的應(yīng)用被廣泛傳播和發(fā)展,成為大家公認的最有前途的發(fā)展方向。
每種方法都有自己的缺點。依靠數(shù)學(xué)分析的方法首先要確定精準的數(shù)學(xué),但很多情況下,情況比較復(fù)雜,精確的數(shù)學(xué)模型很難建立?;谛盘柼幚淼姆椒m然不需要對象的數(shù)學(xué)模型,但有些情況下信號分析特征并不能代表故障特征,另外此種方法自身的特點不方便研究工作的開展。基于專家知識模式的智能診斷系統(tǒng)不能實現(xiàn)自學(xué)習(xí),對于知識庫的更新需要人工進行。知識之間也會存在沖突,對于結(jié)果的是否正確影響很大。基于人工神經(jīng)網(wǎng)絡(luò)的智能系統(tǒng)也具有一些缺點,如無法詮釋推理結(jié)果是怎么得到的,但人工神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)的權(quán)值閾值來對應(yīng)繁多的知識,通過變換算法及對樣本的學(xué)習(xí)來回歸實際情況,并能通過新的輸入來調(diào)整參數(shù)實現(xiàn)自學(xué)習(xí),最后使知識體系更加完善。
BP 神經(jīng)算法具有模式識別(分類)能力和很好的函數(shù)回歸及映射能力。解決了很多單層感知器解決不了的問題。從結(jié)構(gòu)上看,BP 網(wǎng)絡(luò)主要有輸入、隱藏和輸出三層架構(gòu)。從本質(zhì)上講,BP 網(wǎng)絡(luò)算法的學(xué)習(xí)過程其實就是通過輸入數(shù)據(jù)信息后計算的結(jié)果與希望得到的結(jié)果的偏差來改變網(wǎng)絡(luò)的權(quán)值或閾值,直至模型的輸出結(jié)果與希望得到的結(jié)果之差在設(shè)定的可接受的范圍內(nèi),這樣BP 神經(jīng)網(wǎng)絡(luò)就完成了一次學(xué)習(xí)。
BP 神經(jīng)算法中S(sigmoid)型函數(shù)是單元中經(jīng)常采用的傳遞函數(shù),所以經(jīng)復(fù)合后BP 網(wǎng)絡(luò)可以讓輸入信息與輸出信息之間達到任意非線性對應(yīng)關(guān)系。這一功能使得BP 神經(jīng)算法在函數(shù)回歸、分類等方面有著用武之地,BP 神經(jīng)算法主要有以下優(yōu)點:
(1)非線性映射能力:BP 神經(jīng)算法可以完成輸入與輸出之間的對應(yīng)關(guān)系。從理論上講,三層架構(gòu)的神經(jīng)網(wǎng)絡(luò)就可以實現(xiàn)以非常高的精度趨近任何非線性曲線。所以從這可以看出BP 神經(jīng)算法具有非常強的非線性映射能力。
(2)自學(xué)習(xí)能力:BP 神經(jīng)算法能夠通過一定機制自動挖掘輸入與輸出結(jié)果之間的對應(yīng)關(guān)系,并自適應(yīng)的將這樣的關(guān)系以權(quán)值系數(shù)和閾值的形式進行存儲。
(3)具有一定的泛化能力:BP網(wǎng)絡(luò)不但可以實現(xiàn)對待分類事物進行有效分類,并且通過一定的學(xué)習(xí)和訓(xùn)練后,還能對干擾數(shù)據(jù)或陌生數(shù)據(jù)進行正確劃分。這是BP算法泛化能力的具體體現(xiàn)。
(4)具有容錯性:是指當BP 結(jié)構(gòu)的一部分被改掉或破壞掉時,其輸出結(jié)果不會有很大的改變,具備的分類、識別、回歸功能等功能也不會被影響到。所以看出BP 算法的容錯能力很強大。
BP 神經(jīng)網(wǎng)絡(luò)同時也有以下缺點:
(1)學(xué)習(xí)速度很慢:BP 網(wǎng)絡(luò)受其算法影響,當擬合比較復(fù)雜的函數(shù)時,會顯得效率較低。
(2)陷入局部極值:BP 算法受其搜索方法影響,網(wǎng)絡(luò)的權(quán)值系數(shù)是向著局部優(yōu)化的方向漸漸地進行改變的,所以其很容易出現(xiàn)局部極值。但是,我們需要的是全局極值而不是局部極值。
(3)樣本依懶性強:網(wǎng)絡(luò)訓(xùn)練的成功與樣本的選擇直接相關(guān),但在現(xiàn)實中,很難從問題中選擇合適的典型樣本來形成訓(xùn)練集。
系統(tǒng)的設(shè)計基于MATLAB 進行訓(xùn)練和測試。首先設(shè)計BP 網(wǎng)絡(luò)模型,然后通過主抽電機故障樣本數(shù)據(jù)進行訓(xùn)練,再經(jīng)過主抽故障測試數(shù)據(jù)進行測試,根據(jù)測試結(jié)果對BP 神經(jīng)網(wǎng)絡(luò)進行調(diào)整,直至測試結(jié)果通過。
理論上講三層人工神經(jīng)網(wǎng)絡(luò)可以完成任意函數(shù)的映射,所以暫且將網(wǎng)絡(luò)設(shè)置為三層。每個人工神經(jīng)網(wǎng)絡(luò)的輸入數(shù)量可能不同,所以人工神經(jīng)網(wǎng)絡(luò)輸入的個數(shù)根據(jù)具體的判斷條件進行設(shè)置。
對于隱含層神經(jīng)元個數(shù)的選擇,我們主要依據(jù)以下經(jīng)驗公式:
式中k 代表隱含層中神經(jīng)元的數(shù)量;Ni為輸入層神經(jīng)元的個數(shù);N0為輸出層神經(jīng)元的個數(shù);R 為1~10 的任意數(shù)。
神經(jīng)網(wǎng)絡(luò)的輸出為相對應(yīng)故障類型的可能性大小。
從表1 可以看出BP 網(wǎng)絡(luò)選擇trainlm 訓(xùn)練函數(shù)性能最佳。trainlm 對于中小規(guī)模的網(wǎng)絡(luò)來說,其速度比其他算法都要快,但其最大的缺點是內(nèi)存空間利用較大。對于大型網(wǎng)絡(luò),需要考慮其他的訓(xùn)練算法或進行算法優(yōu)化。
圖1 歸一化前訓(xùn)練函數(shù)為trainrp 的訓(xùn)練誤差曲線
表1 測試數(shù)據(jù)
表2 神經(jīng)網(wǎng)絡(luò)測試輸出結(jié)果
BP 神經(jīng)網(wǎng)絡(luò)已經(jīng)建模完成,但即使網(wǎng)絡(luò)的擬合程度較高,也不代表測試樣本的準確率高,一個好的網(wǎng)絡(luò)應(yīng)該具有很好的泛化能力。用表1 的測試數(shù)據(jù)樣本進行測試。測試前也需要用函數(shù)mapminmax 按照學(xué)習(xí)樣本數(shù)據(jù)歸一化的參數(shù)對測試樣本進行歸一化處理。結(jié)果經(jīng)過反歸一化后如表2,可以看出測試輸出結(jié)果與測試數(shù)據(jù)故障基本相符。通過同樣的方法建立其余故障診斷的神經(jīng)網(wǎng)絡(luò)。這樣就可以利用訓(xùn)練成功的BP 網(wǎng)絡(luò)對設(shè)備進行診斷。