王雪,馬秀蓮,席桂清
(黑龍江八一農(nóng)墾大學(xué)信息技術(shù)學(xué)院,大慶 163319)
對于智能診斷系統(tǒng)的研究已經(jīng)開展了多年,比較成功的系統(tǒng)大多應(yīng)用在大型裝備及航空工業(yè)上。但是隨著設(shè)備性能的日益提高,設(shè)備及其使用者在診斷精度、準(zhǔn)確度和診斷速度上的要求也越來越高。應(yīng)用于農(nóng)產(chǎn)品的電子設(shè)備在高科技的需求下,越來越多地出現(xiàn)在我們的周圍。其中不乏對精度要求高的設(shè)備,而農(nóng)產(chǎn)品加工設(shè)備就是其中的一類。研究主要針對農(nóng)產(chǎn)品加工用設(shè)備的智能診斷問題。采用多代理技術(shù)進(jìn)行研究與設(shè)計(jì),研究重點(diǎn)為智能診斷模型的構(gòu)建,并把神經(jīng)網(wǎng)絡(luò)理論加入到診斷決策機(jī)制的定義中。最后將創(chuàng)建的智能診斷系統(tǒng)在之前開發(fā)的種蛋識別設(shè)備中進(jìn)行應(yīng)用,并對決策機(jī)制作出評價。
智能診斷是將傳統(tǒng)的故障診斷技術(shù)與先進(jìn)的人工智能技術(shù)相結(jié)合的技術(shù)。關(guān)于智能診斷技術(shù)可以歸納為三種:基于知識的,基于模型的,基于神經(jīng)網(wǎng)絡(luò)的以及多種技術(shù)綜合的診斷技術(shù)[1]。其中,基于知識的診斷技術(shù)類似于專家系統(tǒng)。在故障診斷過程中將設(shè)備的故障與征兆的因果信息元提取出來,用知識進(jìn)行表示。歸納相關(guān)領(lǐng)域內(nèi)的專家的經(jīng)驗(yàn)進(jìn)入知識庫中。在診斷實(shí)現(xiàn)時,將實(shí)際診斷過程中獲取到的故障信息分析后與知識庫中的規(guī)則進(jìn)行匹配,經(jīng)過推理之后將結(jié)論及說明反饋給診斷人員?;谀P偷脑\斷技術(shù)是在構(gòu)建故障模型的基礎(chǔ)上,通過模型進(jìn)行形態(tài)差異的判斷,從而確定故障的最小集合。基于神經(jīng)網(wǎng)絡(luò)的故障診斷技術(shù)研究主要集中在模式識別及使用動態(tài)神經(jīng)網(wǎng)絡(luò)進(jìn)行擬合預(yù)測兩個方面。而綜合診斷技術(shù)主要是將神經(jīng)網(wǎng)絡(luò)與專家系統(tǒng)相結(jié)合的方式?;诙郃gent 的農(nóng)產(chǎn)品加工設(shè)備用智能診斷系統(tǒng)的設(shè)計(jì)將采用綜合診斷技術(shù)。
Agent 的理論及技術(shù)的研究隨著人們對人工智能的需求增加而日益增加。研究者發(fā)現(xiàn)單個Agent 很難達(dá)到分布式系統(tǒng)結(jié)構(gòu)的要求。所以多Agent 技術(shù)得到了眾多研究者的青睞。多Agent 系統(tǒng)的最突出的特點(diǎn)就是其具有社會性。每個Agent 都各司其職。各Agent 通過協(xié)議或通信語言如KQML 語言等進(jìn)行通信,而多Agent 的診斷系統(tǒng)在此基礎(chǔ)上通過協(xié)作求解機(jī)制和診斷決策機(jī)制來完成協(xié)同診斷功能。在系統(tǒng)的組織結(jié)構(gòu)上多Agent 系統(tǒng)可以分為主從結(jié)構(gòu)、對等結(jié)構(gòu)和復(fù)雜結(jié)構(gòu)三種[2-5]。主從和對等結(jié)構(gòu)的組織形式比較單一,主從結(jié)構(gòu)中從屬Agent 對上層Agent 的依賴性較強(qiáng),每個從屬Agent 間難以達(dá)到協(xié)同診斷。而對等Agent 正與之相反,每個Agent 之間的通信性和協(xié)作性較強(qiáng),但是缺乏統(tǒng)一的管理,采用這樣的結(jié)構(gòu)會給系統(tǒng)留下缺口。將主從和對等兩種結(jié)構(gòu)的優(yōu)點(diǎn)綜合起來就形成了復(fù)雜結(jié)構(gòu)。
系統(tǒng)既要求具有多Agent 的協(xié)同性,也要采用一定的管理機(jī)制對整個多Agent 系統(tǒng)進(jìn)行管理。所以復(fù)雜結(jié)構(gòu)可以滿足要求。
系統(tǒng)將整體結(jié)構(gòu)分為四層,包括管理層、功能層、推理層和數(shù)據(jù)層。
圖1 多Agent 智能診斷模型Fig.1 The model of intelligent diagnosis based on multi-agent
管理層主要負(fù)責(zé)整個系統(tǒng)的管理機(jī)制與通信機(jī)制。決策需要通信的Agent 雙方需要對話,還是需要進(jìn)行知識的交換。二是要對Agent 之間的關(guān)系作出判斷。Agent 之間的交互有兩種關(guān)系:正關(guān)系和負(fù)關(guān)系[1]。正關(guān)系表示Agent 的規(guī)劃有重疊的部分,或某個Agent 具備其他Agent 不具備的能力,各Agent 可通過管理層的協(xié)調(diào)獲得幫助,負(fù)關(guān)系會導(dǎo)致沖突。管理層要進(jìn)行協(xié)調(diào),達(dá)到?jīng)_突的消解的目的。
功能層是多Agent 診斷系統(tǒng)的核心層。主要包括知識處理、特征提取、實(shí)時監(jiān)控、故障診斷與故障決策等功能組件。
推理層處于數(shù)據(jù)層和功能層之間。主要提供各功能組件所需的知識或數(shù)據(jù),并對推理機(jī)制進(jìn)行定義。
數(shù)據(jù)層包括數(shù)據(jù)庫、知識庫與擴(kuò)展知識庫三個方面。數(shù)據(jù)庫主要用于存儲由傳感器獲得的各種信息,知識庫為眾多相關(guān)領(lǐng)域的專家的經(jīng)驗(yàn)總和。擴(kuò)展知識庫主要是為系統(tǒng)的日后擴(kuò)展診斷功能留下接口。
在管理層中主要有兩個Agent:管理Agent 和數(shù)據(jù)傳輸Agent。管理Agent 負(fù)責(zé)協(xié)調(diào)各Agent 和通信,數(shù)據(jù)傳輸Agent 負(fù)責(zé)與后臺計(jì)算機(jī)上的通信Agent之間傳輸巡檢數(shù)據(jù)。具體診斷時,數(shù)據(jù)采集子系統(tǒng)將被診斷設(shè)備的運(yùn)行狀態(tài)、參數(shù)等數(shù)據(jù)采集輸入到診斷系統(tǒng),一方面提供給PC 端顯示,另一方面,將數(shù)據(jù)提供給診斷方法Agent,形成診斷請求。管理Agent對診斷請求進(jìn)行任務(wù)分解,得出多個子任務(wù),再根據(jù)對診斷Agent 的認(rèn)識,將診斷任務(wù)分配給適當(dāng)?shù)脑\斷Agent。管理Agent 還要負(fù)責(zé)診斷Agent 間的工作協(xié)調(diào)、協(xié)作和借助于KQML 語言通信,以及將各診斷Agent 的診斷結(jié)果綜合成最終結(jié)論,提交給用戶。具體的診斷系統(tǒng)模型和診斷流程圖如圖1、2 所示。
其中數(shù)據(jù)采集與處理Agent 主要負(fù)責(zé)數(shù)據(jù)的特征識別等。而診斷方法Agent 將實(shí)現(xiàn)模糊數(shù)學(xué)診斷方法和神經(jīng)網(wǎng)絡(luò)診斷方法,負(fù)責(zé)對故障的具體診斷。
圖2 多Agent 智能診斷系統(tǒng)的診斷流程圖Fig.2 The flow chart of multi-agent intelligent diagnosis system
所使用的實(shí)驗(yàn)設(shè)備為之前的研究成果種蛋識別設(shè)備。
該種蛋識別設(shè)備可以完成如下的功能[6]。
圖像預(yù)處理—圖像預(yù)處理菜單項(xiàng)包括圖像灰度化、中值濾波、二值化和邊緣檢測操作。其中灰度化可實(shí)現(xiàn)灰度變換和灰度調(diào)整操作。
灰度化—可以把一幅彩色圖像變成一幅灰白圖像。
中值濾波—消除孤立的噪聲點(diǎn),使種蛋圖像增強(qiáng)。
二值化—將灰度圖像轉(zhuǎn)換成二值圖像。
邊緣檢測—從種蛋圖像識別中抽取邊緣輪廓。
特征提取—特征提取菜單包括9 個特征為基本特征,6 個不變矩特征,單值、多值特征顯示在圖像區(qū),與使用的相關(guān)預(yù)處理圖像顯示的位置相同。
無精蛋識別—包括遺傳神經(jīng)網(wǎng)絡(luò)構(gòu)建、初始化、網(wǎng)絡(luò)訓(xùn)練和識別。系統(tǒng)的分類器主要功能是把種蛋分為無精蛋和受精蛋。
從上面可以看出該種蛋識別設(shè)備既有硬件部分也有軟件部分。所以將該設(shè)備故障分為軟件故障樣本和硬件故障樣本兩部分。
硬件故障樣本可以歸納為:噪聲、電流穩(wěn)定性、液位穩(wěn)定性、溫度穩(wěn)定性、流量穩(wěn)定性與壓力穩(wěn)定性等。
軟件故障的測試需要選取樣本圖像作為檢測故障的標(biāo)準(zhǔn),再將設(shè)備識別的圖像與之比對,誤差在可以忍受的范圍內(nèi)則認(rèn)為無故障。以將彩色圖像灰度化這一功能為例。選擇加權(quán)平均法所獲得的灰度圖效果較好,但是權(quán)值的設(shè)定對于圖像的灰度效果有很大的影響,所以軟件故障樣本的歸納方法主要采用此種方式[7]。
在這里,認(rèn)為硬件無故障。則設(shè)備的軟件故障征兆樣本與故障原因樣本如下表所示,樣本的量化標(biāo)準(zhǔn)值均為1,無故障標(biāo)準(zhǔn)值為0。
表1 軟件故障征兆樣本與故障原因樣本Table 1 The fault symptoms samples and failure samples of software
決策Agent 獲取本體知識庫中設(shè)備的故障樣本,針對軟件故障樣本設(shè)計(jì)訓(xùn)練能夠進(jìn)行進(jìn)一步診斷的神經(jīng)網(wǎng)絡(luò)。根據(jù)表1 軟件故障樣本集,神經(jīng)網(wǎng)絡(luò)選擇三層BP 神經(jīng)網(wǎng)絡(luò),輸入神經(jīng)元數(shù)為3 個,輸出神經(jīng)元數(shù)為4 個;隱含層神經(jīng)元由用戶進(jìn)行選擇控制;神經(jīng)網(wǎng)絡(luò)運(yùn)行參數(shù):連接權(quán)值、閾值由系統(tǒng)隨機(jī)設(shè)定,學(xué)習(xí)率、學(xué)習(xí)次數(shù)、自適應(yīng)變量學(xué)習(xí)率系數(shù)由本體知識經(jīng)驗(yàn)設(shè)定。神經(jīng)網(wǎng)絡(luò)設(shè)汁完成后訓(xùn)練故障樣本。在進(jìn)行樣本訓(xùn)練時,選擇用訓(xùn)練精度對BP 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練進(jìn)行控制,同時設(shè)置隱含層數(shù)為4 個。
結(jié)果可知訓(xùn)練次數(shù)為659 次,訓(xùn)練完成后將樣本集輸入診斷系統(tǒng)觀察輸出結(jié)果。樣本輸出結(jié)果如下。
可以看出對角線上數(shù)值接近1,其他數(shù)值接近0。與分析中的故障原因集類似,訓(xùn)練結(jié)果滿意。與表1 中軟件故障樣本集基本一致。
在對智能診斷技術(shù)研究基礎(chǔ)上,構(gòu)建了農(nóng)產(chǎn)品加工用高精度智能診斷系統(tǒng)的診斷模型,并對具體的診斷流程進(jìn)行了描述。最后給出了智能診斷系統(tǒng)的決策機(jī)制,并對故障樣本進(jìn)行了訓(xùn)練,基本上得到了預(yù)期的效果。
[1] 劉征.多Agent 故障診斷系統(tǒng)的研究[J].武漢理工大學(xué)學(xué)報(bào),2009年,31(11):126-128.
[2] 張復(fù)春,張鳳鳴,南建國.基于Agent 的遠(yuǎn)程故障診斷系統(tǒng)的實(shí)現(xiàn)[J].空軍工程大學(xué)學(xué)報(bào):自然科學(xué)版,2003,4(6):68-70.
[3] 蔣偉進(jìn),許宇勝,孫星明.基于MAS 的分布式智能故障診斷模型與關(guān)鍵技術(shù)研究[J].機(jī)械強(qiáng)度,2004,26(2):119-126.
[4] Daiping Hu,Weiguo Xu,Huiming Dou,et al.An Agent Based Fault Diagnosis Support System and its Application[A].Service Operations and Logistics and Informatics[C].Shanghai:IEEE Conference Publications,2006.
[5] 于志偉等.基于多智能體的監(jiān)控與故障診斷技術(shù)及其應(yīng)用[J].計(jì)算機(jī)工程,2006,32(13):222-224.
[6] 馬秀蓮,衣淑娟.基于嵌入式系統(tǒng)與機(jī)器視覺的上孵前無精蛋識別系統(tǒng)[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2011,42(5):187-192.
[7] 劉勇,朱景福,王雪.基于中間件和服務(wù)的協(xié)同協(xié)作模型設(shè)計(jì)與實(shí)現(xiàn)[J].黑龍江八一農(nóng)墾大學(xué)學(xué)報(bào),2012,24(2):87-89.