游明琳 潘 陽
貴州師范大學(xué)1貴州.貴陽550014 貴州大學(xué)2貴州.貴陽 550003
在數(shù)控機(jī)床的使用過程中,數(shù)控系統(tǒng)的結(jié)構(gòu)比較復(fù)雜、種類繁多,既有確定性因素,又有隨機(jī)因素,各種因素交錯,使故障更具有漸變性和隱蔽性。一旦出現(xiàn)故障,將直接影響到生產(chǎn)效率,因此,對數(shù)控系統(tǒng)的可靠性和可維護(hù)性的要求越來越高。
故障診斷是對系統(tǒng)產(chǎn)生故障的原因做出分析與判斷,以便找出解決問題的方法。從診斷方式上看,目前數(shù)控系統(tǒng)的故障診斷主要是工程技術(shù)人員通過視、聽、觸、嗅、問等方式并輔以簡單的會診儀器憑自己的實(shí)踐經(jīng)驗(yàn)進(jìn)行簡易診斷的,或在簡易診斷的基礎(chǔ)上對有疑問的異?,F(xiàn)象,使用某種精密檢測儀器對其進(jìn)行精密診斷分析,從而找出數(shù)控系統(tǒng)發(fā)生故障的原因與部位。在診斷過程中,還具有很大的人為主觀因素,其精確程度遠(yuǎn)遠(yuǎn)不能滿足現(xiàn)代工業(yè)發(fā)展的要求。
目前,數(shù)控系統(tǒng)中的故障診斷主要有基于傳遞函數(shù)的故障診斷方法和基于人工智能(包括專家系統(tǒng)、神經(jīng)網(wǎng)絡(luò)兩個(gè)分支)的故障診斷方法。前者由于需要系統(tǒng)控制過程的數(shù)學(xué)模型而遇到較大困難,后者又由于專家系統(tǒng)知識難以獲取而難以推廣應(yīng)用。目前傳統(tǒng)的維護(hù)手段主要依靠維護(hù)人員的經(jīng)驗(yàn),很難保障維護(hù)的質(zhì)量,而神經(jīng)網(wǎng)絡(luò)在故障診斷中的應(yīng)用可較好地克服基于規(guī)則推理的單一專家系統(tǒng)知識獲取困難的缺點(diǎn),基于理論上比較成熟的BP神經(jīng)網(wǎng)絡(luò),本文對BP神經(jīng)網(wǎng)絡(luò)在數(shù)控系統(tǒng)故障診斷方面的應(yīng)用進(jìn)行探討,提出一種解決方法。
神經(jīng)網(wǎng)絡(luò)是由大量的處理單元(神經(jīng)元)互相連接而成的網(wǎng)絡(luò)。為了模擬大腦的基本特性,在神經(jīng)科學(xué)研究的基礎(chǔ)上,提出了神經(jīng)網(wǎng)絡(luò)模型。但是,實(shí)際上神經(jīng)網(wǎng)絡(luò)并不能完全反映大腦的功能,只是對生物神經(jīng)網(wǎng)絡(luò)進(jìn)行某種抽象、簡化和模擬。神經(jīng)網(wǎng)絡(luò)的信息處理通過神經(jīng)元的互相作用來實(shí)現(xiàn),知識與信息的存儲表現(xiàn)為網(wǎng)絡(luò)元件互連分布式的物理聯(lián)系。神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)和識別取決于各神經(jīng)元連接權(quán)系數(shù)的動態(tài)演化過程。神經(jīng)網(wǎng)絡(luò)的全稱是人工神經(jīng)網(wǎng)(Artificial Neural Network,ANN), 它采用物理上可實(shí)現(xiàn)的器件或采用計(jì)算機(jī)來模擬生物體中神經(jīng)網(wǎng)絡(luò)的某些結(jié)構(gòu)和功能,并應(yīng)用于工程領(lǐng)域。神經(jīng)網(wǎng)絡(luò)的著眼點(diǎn)不在于利用物理器件完整地復(fù)制生物體中的神經(jīng)細(xì)胞網(wǎng)絡(luò),而是抽取其中可利用的部分來克服目前計(jì)算機(jī)或其他系統(tǒng)不能解決的問題,如學(xué)習(xí)、控制、識別和專家系統(tǒng)等。隨著生物和認(rèn)知科學(xué)的發(fā)展,人們對大腦的認(rèn)識和了解越來越深入,神經(jīng)網(wǎng)絡(luò)將會獲得更加廣闊的發(fā)展空間和應(yīng)用范圍。
在神經(jīng)網(wǎng)絡(luò)所有結(jié)構(gòu)模型中用法最多也最有成效的是前向多層神經(jīng)網(wǎng)絡(luò),由于該網(wǎng)絡(luò)在學(xué)習(xí)(訓(xùn)練)過程中采用了 BP(Error Back-propa-gation)算法,故又稱為BP網(wǎng)絡(luò)。
標(biāo)準(zhǔn)的BP網(wǎng)絡(luò)由三層神經(jīng)元組成,其結(jié)構(gòu)如圖1所示。最下面為輸入層,中間為隱含層,最上面為輸出層,網(wǎng)絡(luò)中相鄰層采取全互連方式連接,同層各神經(jīng)元之間沒有任何連接,輸出層與輸入層之間也沒有直接的聯(lián)系。為方便討論,在此設(shè)輸入層、隱含層及輸出層神經(jīng)元的個(gè)數(shù)分別為L、M、N??梢宰C明:在隱含層節(jié)點(diǎn)可以根據(jù)需要自由設(shè)置的情況下,用三層前向神經(jīng)網(wǎng)絡(luò)可以實(shí)現(xiàn)以任意精度逼近任意連續(xù)函數(shù)。
BP算法的主要思路是根據(jù)訓(xùn)練網(wǎng)絡(luò)的誤差函數(shù)EP對各個(gè)神經(jīng)元輸出的偏導(dǎo)數(shù),計(jì)算出誤差EP對所有連接權(quán)值的偏導(dǎo)數(shù),從而可以利用求解非線性優(yōu)化問題的梯度下降法來修改各個(gè)連接權(quán)值。當(dāng)誤差EP滿足實(shí)際要求時(shí),停止訓(xùn)練,專家系統(tǒng)知識獲取過程結(jié)束,此時(shí)領(lǐng)域?qū)<医鉀Q實(shí)際問題的經(jīng)驗(yàn)知識就轉(zhuǎn)化成神經(jīng)網(wǎng)絡(luò)中各個(gè)神經(jīng)元之間的連接強(qiáng)度,整個(gè)網(wǎng)絡(luò)就構(gòu)成了神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)的知識庫。
BP網(wǎng)絡(luò)的學(xué)習(xí)過程是由正向和反向傳播兩部分組成。在正向傳播過程中,每一層神經(jīng)元的狀態(tài)只影響到下一層神經(jīng)元網(wǎng)絡(luò)。如果輸出層不能得到期望輸出,即說明實(shí)際輸出值與期望輸出值之間存在誤差,于是轉(zhuǎn)入反向傳播過程,將誤差信號原路返回,通過修改各層神經(jīng)元的權(quán)值,逐次向輸入層傳播進(jìn)行計(jì)算,再經(jīng)過正向傳播過程,這兩個(gè)過程的反復(fù)運(yùn)用,使得誤差信號最小。
BP學(xué)習(xí)算法中的注意問題主要有以下幾點(diǎn):
(1)神經(jīng)網(wǎng)絡(luò)輸入層,輸出層的神經(jīng)元個(gè)數(shù)可以根據(jù)研究對象的輸入,輸出信息來確定,如何合適選取隱含層神經(jīng)元的數(shù)目無規(guī)律可循,然而隱含神經(jīng)元的數(shù)目是否合適對整個(gè)網(wǎng)絡(luò)能否正常工作具有重要意義,一般情況下可按下式給出:
式中:nH為隱含層神經(jīng)元數(shù)目,nI為輸入層神經(jīng)元數(shù)目,nO為輸出層神經(jīng)元數(shù)目,L為1~10之間的整數(shù)。
(2)學(xué)習(xí)算法中的η表示學(xué)習(xí)速率,或稱為步幅,η較大時(shí),數(shù)值的修改量就較大,學(xué)習(xí)速率比較快,但有時(shí)會導(dǎo)致振蕩,η值較小時(shí),學(xué)習(xí)速率慢,然而學(xué)習(xí)過程平穩(wěn),η值的具體選取方案有很多種,但沒有一種是令人信服的,在一些簡單的問題中,η可取為一常數(shù),滿足0∠η∠1,如η取0.5。
(3)在權(quán)值的修改公式中,往往還加入一個(gè)慣性項(xiàng)(或稱為動量項(xiàng))即
慣性項(xiàng)修正系數(shù)α應(yīng)與η協(xié)調(diào)選取,較大的α可以改善網(wǎng)絡(luò)的收斂速度,但對提高網(wǎng)絡(luò)的收斂精度沒有積極的作用,對于簡單的情況,α取0.5。
(4)在設(shè)置各訓(xùn)練樣本的理想輸出分量時(shí),tpj有時(shí)可取為接近1或者0的數(shù),如0.9或者0.1等,而不直接取為1.0,因?yàn)閱蝹€(gè)神經(jīng)元的轉(zhuǎn)換函數(shù)大都是采用Sigmoid函數(shù),因而輸出層各神經(jīng)元的實(shí)際輸出值,只能接近于1或者0,而不能達(dá)到1或者0。
(5)在學(xué)習(xí)開始時(shí),必須給每個(gè)連接權(quán)賦初值。
在實(shí)際的網(wǎng)絡(luò)訓(xùn)練過程中,通常的處理方法是給每一個(gè)連接權(quán)賦以-1至1之間的隨機(jī)數(shù)。
當(dāng)出現(xiàn)局部最優(yōu)的情況下,表現(xiàn)出來的特征是:各數(shù)值收斂到某一穩(wěn)定值,而誤差值卻不是最小,這時(shí)可以按下式判定:
式中 ζ<<1, β 為一小數(shù), 通常 0<β<0.2。 如符合上式,則認(rèn)為此時(shí)BP網(wǎng)絡(luò)陷入局部極小點(diǎn)。
綜合上面的討論,可以按照以下步驟來設(shè)計(jì)具體的學(xué)習(xí)過程:
(1)網(wǎng)絡(luò)結(jié)構(gòu)及學(xué)習(xí)參數(shù)的確定:輸入輸入層,隱含層,輸出層的神經(jīng)元數(shù)目,步長η以及慣性校正系數(shù)α,數(shù)值收斂因子ζ及誤差收斂因子β。
(2)網(wǎng)絡(luò)狀態(tài)初始化:用較小的(絕對值為1以內(nèi))隨機(jī)數(shù)對網(wǎng)絡(luò)權(quán)值,閾值置初值。
(3)提供學(xué)習(xí)樣本:輸入向量xp(p=1,2,…,P)和目標(biāo)向量 tp(p=1, 2, …, P)
(4)學(xué)習(xí)開始:對每一個(gè)樣本進(jìn)行如下操作:
a.計(jì)算網(wǎng)絡(luò)隱含層及輸出層各神經(jīng)元的輸出
b.計(jì)算訓(xùn)練誤差
c.修改權(quán)值和閾值
(7)停止。
某加工型數(shù)控車床數(shù)控系統(tǒng)的BP網(wǎng)絡(luò)如下:
故障樣本值 檢驗(yàn)?zāi)繕?biāo)[6, 0, 18, 25][0, 1, 0, 0, 0, 0, 0, 0, 0][13, 10, 16, 80][0, 0, 0, 0, 0, 0, 1, 0, 0][12.5, 8, 0, 95][0, 0, 0, 0, 0, 0, 0, 1, 0]
故障征兆集合 V= [v1,v2,v3,v4]
代表意義:v1:主軸電機(jī)的負(fù)載大小
v2:主軸電機(jī)的功率
v3:x軸的負(fù)載;
v4:z軸的負(fù)載;
故障集合 U= [u1, u2, u3, u4, u5, u6, u7,u8, u9];
代表意義:u1:主軸傳遞故障;u2:主軸電機(jī)故障;u3:冷卻電機(jī)故障;u4:plc故障;u5:軌導(dǎo)故障;u6:系統(tǒng)溫度太高;u7:反饋控制信號故障;u8:x軸電機(jī)故障;u9:z軸電機(jī)故障.
網(wǎng)絡(luò)節(jié)點(diǎn)的選擇 [4,9,9]輸入層節(jié)點(diǎn)為4,隱層節(jié)點(diǎn)9,輸出節(jié)點(diǎn)為9。
網(wǎng)絡(luò)訓(xùn)練,訓(xùn)練樣本如上表。對系統(tǒng)進(jìn)行仿真輸入TEST=[6 5 0 93]′,則網(wǎng)絡(luò)的輸入結(jié)果為。Y= [-0.0033, -0.0015, 0.0015, 0.0005, 0.0021,0.0002, 0.0003, 0.9762, 0.0025] 與實(shí)際檢驗(yàn)結(jié)果相符合。
BP網(wǎng)絡(luò)在故障診斷中已得到廣泛的應(yīng)用,但仍存在一些問題:1)為確定合理的診斷模型和參數(shù),網(wǎng)絡(luò)結(jié)構(gòu)須進(jìn)一步學(xué)習(xí)和優(yōu)化;2)網(wǎng)絡(luò)的容錯性、魯棒性和泛化能力有待進(jìn)一步提高,以實(shí)現(xiàn)準(zhǔn)確在線實(shí)時(shí)機(jī)械故障診斷、監(jiān)測和預(yù)報(bào);3)BP網(wǎng)絡(luò)若能與其他傳統(tǒng)方法、模糊分析等更好地相結(jié)合,則可實(shí)現(xiàn)故障的多種模型綜合診斷。本文在對采用BP算法進(jìn)行研究的基礎(chǔ)上,提出了一種基于BP神經(jīng)網(wǎng)絡(luò)的數(shù)控系統(tǒng)故障診斷方法,并通過實(shí)驗(yàn)仿真證明,此方法是可行的,具有一定的實(shí)用價(jià)值。但該方法還需在實(shí)際的系統(tǒng)故障中進(jìn)行驗(yàn)證,并不斷完善故障數(shù)據(jù)庫,要想建立更成熟、更完整的故障診斷體系,還有大量的問題有待解決。
略)