梁 潔,蔡 琦,王曉龍
(海軍工程大學(xué) 船舶與動力學(xué)院,湖北 武漢 430033)
核動力系統(tǒng)一旦發(fā)生重大事故將對裝置、人員、環(huán)境等產(chǎn)生惡劣影響,同時由于核動力裝置系統(tǒng)眾多、結(jié)構(gòu)復(fù)雜、故障模式繁多,對故障診斷提出了較高的要求。傳統(tǒng)專家系統(tǒng)能有效模擬該領(lǐng)域?qū)<覍崿F(xiàn)對故障的診斷,但存在著知識獲取困難、推理效率低等“瓶頸”問題。而人工神經(jīng)網(wǎng)絡(luò)具有知識獲取快捷、并行推理速度快、學(xué)習(xí)能力強(qiáng)等優(yōu)點,但在核動力裝置故障診斷領(lǐng)域,神經(jīng)網(wǎng)絡(luò)對故障樣本數(shù)據(jù)質(zhì)量范圍的高要求限制了其應(yīng)用,且存在推理過程類似“黑箱”、解釋機(jī)制難以實現(xiàn)等問題[1]。
由于核動力系統(tǒng)的復(fù)雜性和高可靠性,其故障是典型的小樣本問題,實際工況采集的故障樣本數(shù)據(jù)無法滿足人工神經(jīng)網(wǎng)絡(luò)的訓(xùn)練要求,而模擬機(jī)產(chǎn)生的模擬數(shù)據(jù)又受到環(huán)境和工況的限制,無法準(zhǔn)確完整描述各種情況下故障的不同狀況。由此,采用通過樣本訓(xùn)練的傳統(tǒng)方式建立神經(jīng)網(wǎng)絡(luò)在核動力系統(tǒng)的故障診斷領(lǐng)域受到應(yīng)用的限制;同時,傳統(tǒng)的專家系統(tǒng)在該領(lǐng)域具有深厚的積累,用產(chǎn)生式規(guī)則表達(dá)故障診斷知識是目前該類系統(tǒng)中應(yīng)用最普遍的方法。若能通過豐富的知識儲備構(gòu)造神經(jīng)網(wǎng)絡(luò),在有效地避免了神經(jīng)網(wǎng)絡(luò)對樣本數(shù)據(jù)的高要求的同時,將有效提高專家系統(tǒng)的知識獲取和診斷推理能力。
本文以核動力系統(tǒng)專家系統(tǒng)所存儲的產(chǎn)生式規(guī)則庫為基礎(chǔ),構(gòu)造人工神經(jīng)網(wǎng)絡(luò),建立具有實例學(xué)習(xí)能力的神經(jīng)網(wǎng)絡(luò)推理機(jī);同時,建立完整的專家系統(tǒng)知識獲取、推理機(jī)制和解釋機(jī)制,融合傳統(tǒng)專家系統(tǒng)和神經(jīng)網(wǎng)絡(luò)的優(yōu)勢,構(gòu)造核動力系統(tǒng)神經(jīng)網(wǎng)絡(luò)故障診斷專家系統(tǒng)。
傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)中,大多將每個神經(jīng)元當(dāng)作一個黑箱系統(tǒng),通過神經(jīng)元之間的權(quán)值來表示網(wǎng)絡(luò)知識,可理解性差。近年來出現(xiàn)了一類新的網(wǎng)絡(luò)學(xué)習(xí)算法,稱為構(gòu)造型的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,即依據(jù)給定的全部樣本知識,設(shè)計和構(gòu)造整體網(wǎng)絡(luò)(網(wǎng)絡(luò)的結(jié)構(gòu)和全部參數(shù))。借鑒其構(gòu)造思想,以專家系統(tǒng)中原有的產(chǎn)生式規(guī)則為依據(jù),設(shè)計和構(gòu)造整體網(wǎng)絡(luò)作為專家系統(tǒng)的推理機(jī)。
圖1 產(chǎn)生式規(guī)則(a)與感知器(b)
產(chǎn)生式規(guī)則表示法也叫規(guī)則表示法,是專家系統(tǒng)中最常用的一種表示方法[2]。它具有統(tǒng)一的IF-THEN結(jié)構(gòu),是最常用的知識表達(dá)方式,其規(guī)則形式如圖1a所示,其中C1,C2,…,Cm為規(guī)則前件,表示規(guī)則需滿足的m個條件,相互之間為“and”(并且)關(guān)系;R為規(guī)則后件,即滿足相應(yīng)的前提條件后產(chǎn)生的結(jié)論。對于多個前件之間或后件之間連接為“or”(或者)關(guān)系的規(guī)則,均可轉(zhuǎn)換為若干并集。
感知器是一種具有單層計算單元的神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)如圖1b所示。其中:X=(x1,x2,…,xn)為n個輸入;W=(ω1,ω2,…,ωn)為聯(lián)接權(quán)值;y為輸出;f為閾值函數(shù),當(dāng)輸入的加權(quán)和大于或等于閾值時,感知器輸出為1,否則為0。
感知器的輸入與輸出關(guān)系可描述如下:
ωixi-θ
(1)
(2)
由于核動力系統(tǒng)現(xiàn)有的故障診斷專家系統(tǒng)的知識庫的診斷規(guī)則絕大多數(shù)為線性可分集,因此,對于線性不可分問題這里不進(jìn)行討論,將另外行文闡述。
1) 輸入層構(gòu)造。將與同類后件相關(guān)的前件全集合Call=(C1,C2,…,Cn)作為網(wǎng)絡(luò)的輸入,構(gòu)造n個輸入神經(jīng)元。
對于不同后件的神經(jīng)網(wǎng)絡(luò),若其前件屬于同一個全集,則可采用并聯(lián)的模式合并為1個統(tǒng)一的神經(jīng)網(wǎng)絡(luò)。不妨設(shè)R=(R1,R2,…,Rk)為k個后件的集合,而其分別訓(xùn)練出的感知器為G1,G2,…,Gk,則其合并網(wǎng)絡(luò)如圖2所示。
圖2 不同后件合并后的神經(jīng)網(wǎng)絡(luò)
從專家系統(tǒng)獲取知識和解決問題的能力來看,產(chǎn)生式系統(tǒng)建立在經(jīng)驗型知識之上,系統(tǒng)本身無法從領(lǐng)域基本原理與實例數(shù)據(jù)中理解知識,因此,知識的獲取成為系統(tǒng)開發(fā)中的“瓶頸”問題。而神經(jīng)網(wǎng)絡(luò)本身具有強(qiáng)大的自學(xué)習(xí)能力,即能通過預(yù)先確定的算法學(xué)習(xí)樣本數(shù)據(jù)調(diào)整網(wǎng)絡(luò)權(quán)值來提高網(wǎng)絡(luò)的辨識能力[4]。
已構(gòu)造完成的神經(jīng)網(wǎng)絡(luò)在獲得1批新的實例樣本數(shù)據(jù)時,利用網(wǎng)絡(luò)的自學(xué)習(xí)能力,亦能更新網(wǎng)絡(luò)連接權(quán)值,從而表現(xiàn)出對新知識的理解和吸收能力。具體方法如下。
1) 將實例樣本數(shù)據(jù)按產(chǎn)生式規(guī)則的前件內(nèi)容離散、規(guī)范化,并剔除異常數(shù)據(jù);生成對應(yīng)的神經(jīng)網(wǎng)絡(luò)輸入。
2) 將樣本數(shù)據(jù)全部輸入神經(jīng)網(wǎng)絡(luò),根據(jù)神經(jīng)網(wǎng)絡(luò)推理結(jié)果將其分為兩類:神經(jīng)網(wǎng)絡(luò)計算結(jié)果與實例樣本一致;計算結(jié)果與實例樣本不一致。
3) 將與網(wǎng)絡(luò)結(jié)果不一致的實例樣本集按其后件分類加入各感知器規(guī)則集。利用最大間隔法重新計算加入新樣本后的集合的分類面。在使用最大間隔法時,由于更傾向于原知識庫中規(guī)則的正確性,為規(guī)則和實例數(shù)據(jù)分別加權(quán),規(guī)則的權(quán)值遠(yuǎn)大于實例數(shù)據(jù)(兩者比值為100∶1時,可視為原規(guī)則由高維空間中100個實例數(shù)據(jù)總結(jié)得出)。
4) 將訓(xùn)練所得新的權(quán)值更新至各感知器神經(jīng)元,網(wǎng)絡(luò)連接結(jié)構(gòu)不變。
在上述構(gòu)造型神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上的知識獲取,實質(zhì)是基于神經(jīng)網(wǎng)絡(luò)的產(chǎn)生式規(guī)則抽取。對于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),知識均隱含于網(wǎng)絡(luò)結(jié)構(gòu)和權(quán)值中。由于本文的構(gòu)造型神經(jīng)網(wǎng)絡(luò)每個感知器均代表1個后件的規(guī)則集合,感知器本身是一種知識表達(dá),因此,其規(guī)則抽取較傳統(tǒng)神經(jīng)網(wǎng)絡(luò)要簡易和可理解得多。系統(tǒng)規(guī)則庫中的規(guī)則由兩部分組成:原規(guī)則庫產(chǎn)生式規(guī)則;由神經(jīng)網(wǎng)絡(luò)抽取獲得規(guī)則。對于某一個感知器神經(jīng)元,其規(guī)則抽取方法如下。
2) 羅列。獲取其所有輸入的可能組合(即所有前件的可能組合),刪除前件互斥和原規(guī)則庫已有組合。
4) 存儲。將所獲得的新的產(chǎn)生式規(guī)則存入知識庫。
神經(jīng)網(wǎng)絡(luò)的并行推理機(jī)制,使其效率遠(yuǎn)高于普通專家系統(tǒng)。一旦神經(jīng)網(wǎng)絡(luò)訓(xùn)練完畢,其診斷推理即完成1個從網(wǎng)絡(luò)輸入到輸出的過程。
進(jìn)行故障的實時推理診斷時,需進(jìn)行輸入數(shù)據(jù)的規(guī)范化,即首先將數(shù)據(jù)按網(wǎng)絡(luò)輸入要求即前件模式進(jìn)行離散劃分,即可輸入網(wǎng)絡(luò),直接得出診斷結(jié)果。
神經(jīng)網(wǎng)絡(luò)故障診斷專家系統(tǒng)以參數(shù)自診斷方式,利用知識庫中的實例和規(guī)則,采用神經(jīng)網(wǎng)絡(luò)的推理機(jī)制,進(jìn)行故障診斷。神經(jīng)網(wǎng)絡(luò)故障診斷專家系統(tǒng)結(jié)構(gòu)如圖3所示。
知識庫由規(guī)則庫和實例庫組成。規(guī)則庫存儲由專家知識形成的和由神經(jīng)網(wǎng)絡(luò)模塊通過知識獲取手段獲得的新的產(chǎn)生式規(guī)則集。實例庫存儲所有事實案例。知識庫與各模塊交互通信,是專家系統(tǒng)的核心之一。知識庫管理系統(tǒng)對知識庫進(jìn)行管理,完成人機(jī)接口和知識庫的交互,可由領(lǐng)域?qū)<矣脩舻冗M(jìn)行知識庫的管理操作,同時完成知識表達(dá)格式的規(guī)范。
圖3 神經(jīng)網(wǎng)絡(luò)故障診斷專家系統(tǒng)結(jié)構(gòu)
神經(jīng)網(wǎng)絡(luò)模塊承擔(dān)了傳統(tǒng)專家系統(tǒng)中知識獲取和推理機(jī)兩部分的工作。由于神經(jīng)網(wǎng)絡(luò)的運(yùn)用,具有自動獲取知識和并行推理的優(yōu)勢。該模塊與知識庫交互通信,完成由規(guī)則構(gòu)建網(wǎng)絡(luò),由實例優(yōu)化訓(xùn)練權(quán)值的功能,同時,又由知識獲取手段豐富知識庫中的規(guī)則。
數(shù)據(jù)庫用于存放反應(yīng)當(dāng)前狀態(tài)事實的數(shù)據(jù)。主要包括當(dāng)前的故障診斷狀態(tài)數(shù)據(jù)和神經(jīng)網(wǎng)絡(luò)模塊的結(jié)構(gòu)、權(quán)值等參數(shù)。
在解釋模塊中,故障診斷依然由產(chǎn)生式規(guī)則表達(dá),規(guī)則前件視為診斷依據(jù),后件為結(jié)論。解釋模塊將輸入數(shù)據(jù)離散規(guī)范化為規(guī)則前件,將輸入輸出結(jié)果表達(dá)為if…then…結(jié)構(gòu)的規(guī)則,同時與規(guī)則庫中知識進(jìn)行比對。
以蒸汽發(fā)生器U型管破裂(R1)、主蒸汽管道破裂(R2)、給水管道破裂(R3)3種典型故障為例,闡明核動力系統(tǒng)神經(jīng)網(wǎng)絡(luò)故障診斷專家系統(tǒng)的構(gòu)建和應(yīng)用。當(dāng)每種故障發(fā)生時,特征向量可能的變化列于表1[5]。
1) 網(wǎng)絡(luò)輸入層
整理表1中3種典型故障的規(guī)則集,可得其前件全集(表2)。將17個前件對應(yīng)生成17個輸入神經(jīng)元加入網(wǎng)絡(luò),形成輸入層。
表3列出各故障規(guī)則對應(yīng)的神經(jīng)網(wǎng)絡(luò)輸入,輸入值由式(2)確定。
2) 感知器權(quán)值訓(xùn)練
對3個不同后件R1、R2、R3分別構(gòu)造3個感知器G1、G2、G3加入網(wǎng)絡(luò)。
表1 故障類型與特征參量的對應(yīng)關(guān)系
表2 故障前件全集
由于表1中知識庫為各種故障發(fā)生時,特征可能的變化,即故障發(fā)生時,某些特征可能不表現(xiàn)或不明顯,實際故障征兆為這些特征的組合,因此采用mofn的方法對知識庫進(jìn)行處理,當(dāng)知識庫中各故障前件條件達(dá)到一定程度的滿足時,即認(rèn)為故障發(fā)生。這里取50%的特征發(fā)生比例以說明診斷系統(tǒng)構(gòu)建方法,具體比例應(yīng)視情況而定。
以后件為R1的規(guī)則為例,在表3中可看到,其完整的特征集有7個值輸入為1,按50%的比例取整,當(dāng)滿足條件的至少4個特征出現(xiàn),且滿足輸入規(guī)范時,認(rèn)為故障發(fā)生。表達(dá)式如下:
,2,3
(3)
表3 3種典型故障對應(yīng)的感知器輸入
表4 3種典型故障的構(gòu)造型神經(jīng)網(wǎng)絡(luò)輸入權(quán)值
3) 不同感知器合并
將已訓(xùn)練好的3個感知器神經(jīng)網(wǎng)絡(luò)G1、G2、G3并聯(lián)接入同一個神經(jīng)網(wǎng)絡(luò),共用輸入層,實現(xiàn)輸入層神經(jīng)元到感知器的全連接,感知器各自輸出結(jié)果,形成如圖2形式的神經(jīng)網(wǎng)絡(luò)模塊,診斷輸出格式為Y=(y1,y2,y3);其中y1∈[0,1],y2∈[0,2],y3∈[0,3]。診斷結(jié)論不排除同時出現(xiàn)不止1種故障的情況。
以輸入Xj=(1,0,1,0,0.5,0.5,0,0.5,1,0,0.5,0,1,0,0,1,0)為例說明解釋機(jī)制和知識獲取,將Xj(由實例數(shù)據(jù)經(jīng)數(shù)據(jù)輸入規(guī)范化后獲得)輸入神經(jīng)網(wǎng)絡(luò)模塊,得出Yj=(0,2,0)。說明該輸入所對應(yīng)的實例屬于第2類故障。搜索其輸入?yún)?shù)值為1的項對應(yīng)的前件,可知滿足前件C1、C3、C9、C13、C16,轉(zhuǎn)化為標(biāo)準(zhǔn)的產(chǎn)生式規(guī)則,其解釋表達(dá)為:Because〈一回路平均溫度下降,一回路壓力下降,二回路蒸汽流量增加,蒸汽發(fā)生器水位升高,穩(wěn)壓器壓力下降〉So〈主蒸汽管道破裂〉。
圖4 感知器推理結(jié)果
同理,作為該實例的知識獲取,搜索知識庫若無該產(chǎn)生式規(guī)則的歷史記錄,則將其存入知識庫,表達(dá)方式為if〈一回路平均溫度下降,一回路壓力下降,二回路蒸汽流量增加,蒸汽發(fā)生器水位升高,穩(wěn)壓器壓力下降〉then〈主蒸汽管道破裂〉。
建立了一種新的核動力系統(tǒng)故障診斷專家系統(tǒng),該專家系統(tǒng)融合了神經(jīng)網(wǎng)絡(luò)技術(shù),充分發(fā)揮了產(chǎn)生式專家系統(tǒng)和神經(jīng)網(wǎng)絡(luò)各自的優(yōu)勢,彌補(bǔ)了不足。從實例測試可看出,該系統(tǒng)具有較高的故障識別能力,同時提高了專家系統(tǒng)的知識獲取能力和并行推理能力。為核動力系統(tǒng)這類缺乏故障數(shù)據(jù)支持的高可靠性系統(tǒng)的人工神經(jīng)網(wǎng)絡(luò)的應(yīng)用提供了一種嘗試手段。
參考文獻(xiàn):
[1] IOANNIS H G, PRENTZAS J. Integrating (rules, neural, networks) and cases for know-ledge representation and reasoning in expert systems[J]. Expert Systems With Applications, 2004, 27 (1): 63-75.
[2] 張梅軍. 機(jī)械狀態(tài)檢測與故障診斷[M]. 北京:國防工業(yè)出版社,2008.
[3] 劉興堂,梁炳成,劉力,等. 復(fù)雜系統(tǒng)建模理論、方法與技術(shù)[M]. 北京:科學(xué)出版社,2010.
[4] 蔡猛,張大發(fā),張宇聲. 基于遺傳算法的核動力設(shè)備實時故障診斷系統(tǒng)[J]. 核動力工程,2009,30(3):111-114.
CAI Meng, ZHANG Dafa, ZHANG Yusheng. Nuclear power plant real-time fault diagnosis system based on genetic algorithm[J]. Nuclear Power Engineering, 2009, 30(3): 111-114(in Chinese).
[5] 劉永闊,謝春麗,夏虹,等. 神經(jīng)網(wǎng)絡(luò)在核動力裝置故障診斷系統(tǒng)中的應(yīng)用[J]. 應(yīng)用科技,2007,34(5):46-49.
LIU Yongkuo, XIE Chunli, XIA Hong, et al. An application of neural network to fault diagnosis of the nuclear power plant[J]. Applied Science and Technology, 2007, 34(5): 46-49(in Chinese).