管艷娜,李孝安
(西北工業(yè)大學(xué) 計算機(jī)學(xué)院,陜西 西安 710129)
近年來,隨著信息技術(shù)的飛速發(fā)展,人工智能技術(shù)得到了廣泛的應(yīng)用。專家系統(tǒng)[1]作為人工智能的一個重要分支,自20世紀(jì)60年代初期產(chǎn)生以來,就在醫(yī)療診斷、圖像處理、地質(zhì)勘探、航空航天等領(lǐng)域得到了迅速的發(fā)展。隨著各類專家系統(tǒng)的研制成功[2],例如斯坦福大學(xué)研制成功的DENRAL專家系統(tǒng)、麻省理工學(xué)院研制的MACSYMA專家系統(tǒng)、卡內(nèi)基-梅隆大學(xué)開發(fā)的HEARSAY專家系統(tǒng)、肖特立夫等人的MYCIN系統(tǒng)、DEC公司與卡內(nèi)基-梅隆大學(xué)合作開發(fā)的XCON-R1專家系統(tǒng)等,專家系統(tǒng)越來越受到學(xué)術(shù)界以及工程領(lǐng)域的廣泛關(guān)注。
但是,專家系統(tǒng)自身存在一定的缺陷,如知識獲取困難、推理效率低以及存在沖突消解等,這些問題極大限制了專家系統(tǒng)的進(jìn)一步發(fā)展。近十年來,神經(jīng)網(wǎng)絡(luò)[3]與專家系統(tǒng)相結(jié)合的混合型專家系統(tǒng)的提出,可以克服專家系統(tǒng)的局限性,同時也解決了神經(jīng)網(wǎng)絡(luò)的“黑箱”缺陷,實現(xiàn)了專家系統(tǒng)在知識庫構(gòu)建、知識推理技術(shù)上的發(fā)展,為特殊任務(wù)環(huán)境下的自主決策提供了新的發(fā)展方向。因此,神經(jīng)專家系統(tǒng)成為當(dāng)今人工智能技術(shù)中具有廣闊發(fā)展前景的研究領(lǐng)域。
本文在對基于神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)不同模塊關(guān)鍵技術(shù)進(jìn)行研究的基礎(chǔ)上,將基于神經(jīng)網(wǎng)絡(luò)的推理和與基于規(guī)則的推理結(jié)合,設(shè)計了一種基于神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)的混合推理機(jī)制,該推理機(jī)制能夠克服傳統(tǒng)專家系統(tǒng)的不足,大大提高推理的準(zhǔn)確性和效率,為構(gòu)建新型的專家系統(tǒng)提供了新的思路。
神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)的模型可采用多種形式,神經(jīng)網(wǎng)絡(luò)的輸出是專家系統(tǒng)系統(tǒng)的輸入,專家系統(tǒng)用來為神經(jīng)網(wǎng)絡(luò)收集數(shù)據(jù)或分析結(jié)果,神經(jīng)網(wǎng)絡(luò)作為被調(diào)用的函數(shù)嵌入專家系統(tǒng)中等。根據(jù)實際應(yīng)用情況的不同,可以采用不同的神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)結(jié)構(gòu),本文提出的一種基于神經(jīng)網(wǎng)絡(luò)的混合推理機(jī)制是基于如圖1所示的神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)模型[4],該模型包括知識庫、推理機(jī)、知識處理機(jī)制、用戶界面4大部分[4]。
1)知識庫是解決問題相關(guān)的領(lǐng)域知識,包括神經(jīng)知識庫和規(guī)則知識庫兩個部分。神經(jīng)知識庫中存儲的知識是通過神經(jīng)網(wǎng)絡(luò)算子自動獲取的,根據(jù)用戶所要解決的問題及提供的數(shù)據(jù)類型選擇合適的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,然后把網(wǎng)絡(luò)結(jié)構(gòu),權(quán)值矩陣等作為隱式知識存儲在神經(jīng)知識庫;規(guī)則知識庫中的知識來自兩個不同的渠道,第一是通過知識工程師從領(lǐng)域?qū)<抑苯荧@取經(jīng)驗知識,第二是從訓(xùn)練得到的專家級神經(jīng)網(wǎng)絡(luò)中抽取出知識,目前比較典型的基于神經(jīng)網(wǎng)絡(luò)的規(guī)則抽取算法有Setiono提出的RX[6]、saito和Nakano提出的subset算法[7]、Towell和 Shavlik 提出的 MofN[8]等。
圖1 神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)模型Fig.1 Model of ANN expert systems
2)推理機(jī)制是神經(jīng)專家系統(tǒng)的核心部分,根據(jù)當(dāng)前給定的條件以及知識庫中存儲的知識,經(jīng)過若干次步驟的推導(dǎo),通過神經(jīng)推理引擎的近似推理找到問題解決方案。推理機(jī)是模仿人類專家的思維方式,按照推理方向可以分為正向推理、反向推理和正反向混合推理,按照專家系統(tǒng)知識庫中知識類型可以分為基于規(guī)則的推理、基于模型的推理、基于案例的推理等。
3)知識處理機(jī)制包含兩方面的作用:第一,將用戶提供的數(shù)據(jù)編碼為神經(jīng)專家系統(tǒng)可以理解和處理的數(shù)據(jù),并將神經(jīng)專家系統(tǒng)推理得出的結(jié)論解碼為用戶可以理解的形式;第二提供再學(xué)習(xí)功能,如果領(lǐng)域?qū)<艺J(rèn)為得到的結(jié)論不正確,則領(lǐng)域?qū)<姨峁┫鄳?yīng)的反饋信息,專家系統(tǒng)進(jìn)行再學(xué)習(xí),以提高其推理水平。
4)用戶界面是實現(xiàn)用戶和專家系統(tǒng)之間交流的途徑,用來給專家系統(tǒng)提供訓(xùn)練使用的數(shù)據(jù)、推理的事實以及接收專家系統(tǒng)推理得出的結(jié)論。
在基于規(guī)則的專家系統(tǒng)中,將領(lǐng)域知識表示成IF…THEN…形式的規(guī)則,多條規(guī)則儲存起來形成知識庫。系統(tǒng)使用這些規(guī)則和動態(tài)數(shù)據(jù)庫中信息來求解問題。推理引擎把每條規(guī)則的條件部分和數(shù)據(jù)庫中給定的數(shù)據(jù)進(jìn)行比較。如果規(guī)則的IF部分和數(shù)據(jù)庫中的數(shù)據(jù)相匹配,則激發(fā)規(guī)則并執(zhí)行其THEN部分,在基于規(guī)則的專家系統(tǒng)中,需要精確的匹配,因此,推理機(jī)制不能夠處理噪聲數(shù)據(jù)和不完整的數(shù)據(jù)。
神經(jīng)專家系統(tǒng)用訓(xùn)練過的的神經(jīng)網(wǎng)絡(luò)取代知識庫,基于神經(jīng)網(wǎng)絡(luò)的推理過程實際上就是一個數(shù)學(xué)運算的過程,具體步驟為:首先,通過用戶和知識處理機(jī)制獲取神經(jīng)網(wǎng)絡(luò)輸入信息;從神經(jīng)知識庫中得到具體的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)以及權(quán)值矩陣進(jìn)行數(shù)學(xué)運算,直到網(wǎng)絡(luò)輸出一個穩(wěn)定的結(jié)果。神經(jīng)網(wǎng)絡(luò)能夠歸納,新的輸入數(shù)據(jù)不一定要和網(wǎng)絡(luò)訓(xùn)練中使用的數(shù)據(jù)精確匹配,因此,神經(jīng)專家系統(tǒng)能夠處理噪聲數(shù)據(jù)和不完整數(shù)據(jù)。
神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)模型的推理機(jī)制包括正向推理和反向驗證解釋兩個部分。其中正向推理是基于神經(jīng)網(wǎng)絡(luò)的推理和基于規(guī)則的混合推理,兩種推理并行進(jìn)行,提高推理的效率和準(zhǔn)確性;反向驗證則是基于規(guī)則的反向驗證過程,用于對神經(jīng)網(wǎng)絡(luò)做出的推理結(jié)果進(jìn)行解釋。具體推理流程如下:
1)初始時,神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)應(yīng)該具有一定的領(lǐng)域知識和代表該問題的專家級的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。用戶通過人機(jī)交互界面將問題信息輸入神經(jīng)網(wǎng)絡(luò)專家系統(tǒng),知識處理機(jī)制將原始信息轉(zhuǎn)化為推理機(jī)可以處理的形式;
2)推理機(jī)接受用戶的數(shù)據(jù),開始使用規(guī)則推理機(jī)和神經(jīng)網(wǎng)絡(luò)推理機(jī)進(jìn)行并行推理,直到推理結(jié)束得到結(jié)論,將結(jié)論反饋給用戶進(jìn)行判斷;
3)如果能夠推出正確的結(jié)論,且結(jié)論可由領(lǐng)域知識庫直接推出,則直接把結(jié)論以及解釋機(jī)制提供的解釋返回給用戶;如果結(jié)論是由神經(jīng)網(wǎng)絡(luò)推出,說明領(lǐng)域知識庫不完備,則可以通過規(guī)則抽取技術(shù)完善規(guī)則庫;
4)如果推理結(jié)論不正確或者無法推出結(jié)論,領(lǐng)域?qū)<铱梢蕴峁┓答佇畔?,指?dǎo)專家系統(tǒng)進(jìn)行再學(xué)習(xí),以充實知識庫中的知識,然后在進(jìn)行推理。
這種基于神經(jīng)網(wǎng)絡(luò)的混合推理機(jī)制存在一定的優(yōu)勢:兩類推理機(jī)并行工作,優(yōu)先以推理速度較快的推理機(jī)的結(jié)果進(jìn)行判斷,推理效率提高;當(dāng)領(lǐng)域?qū)<覍敵龅慕Y(jié)果不滿意時,可以給出教師信息對神經(jīng)網(wǎng)絡(luò)進(jìn)行重新訓(xùn)練,替換神經(jīng)知識庫中已不再適用的知識,使得知識庫可以動態(tài)的改變。
為了驗證神經(jīng)專家系統(tǒng)的推理機(jī)制的可行性和有效性,本文對基于神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)的推理與基于規(guī)則的推理進(jìn)行了仿真實驗。鑒于不同學(xué)科問題的規(guī)模和復(fù)雜度不同,本文選取UCI機(jī)器學(xué)習(xí)倉庫Breast-Cancer和Car Evaluation兩組不同的數(shù)據(jù)集,在weka平臺下進(jìn)了多次實驗對比。其中基于規(guī)則推理選用算法JRIP和PART。
Breast-Cancer數(shù)據(jù)集包含286組數(shù)據(jù)。實驗從原始樣例中隨機(jī)抽取第 21-30,第 71-80,第 121-130,第 171-180四段共40個樣例作為最終的測試樣例,剩余的246個樣例則作為訓(xùn)練樣例。實驗中在Weka環(huán)境下我們選擇functions中BP神經(jīng)網(wǎng)絡(luò)、rules中的JRIP算法、PART算法以及基于JRIP與神經(jīng)網(wǎng)絡(luò)的混合推理算法進(jìn)行驗證,參數(shù)都選用Weka下的默認(rèn)參數(shù)。
表1為4種不同算法對Breast-Cancer數(shù)據(jù)集在推理時間及正確率方面的比較。
表1 Breast-Cancer數(shù)據(jù)集不同算法推理結(jié)果比較Tab.1 Comparison of different algorithm reasoning results of Breast-Cancer data set
Car Evaluation數(shù)據(jù)集表示的是一個分類問題,數(shù)據(jù)集包含1 728組數(shù)據(jù)。實驗從原始樣例中隨機(jī)抽取第301-400,第801-900,第1 301-1 500,三段共300個樣例作為最終的測試樣例,剩余的1 428個樣例則作為訓(xùn)練樣例。和4.1中實驗算法的選擇一樣,表2為4種不同算法對car Evaluation數(shù)據(jù)集在推理時間及正確率方面的比較。
從實驗結(jié)果可以看出,基于神經(jīng)網(wǎng)絡(luò)模型的推理與基于規(guī)則的推理算法相比,無論是對訓(xùn)練集還是測試集都有較高的正確率,尤其是對于測試樣例,基于神經(jīng)網(wǎng)絡(luò)的推理在正確率方面有明顯的優(yōu)勢。由于訓(xùn)練樣例及測試樣例中一般存在噪音數(shù)據(jù),而神經(jīng)網(wǎng)絡(luò)具有較好的泛化能力和容噪性。在推理時間方面,神經(jīng)網(wǎng)絡(luò)的推理比基于規(guī)則的推理算法的明顯要慢,盡管神經(jīng)網(wǎng)絡(luò)可以并行計算,但是從輸入到輸出每個節(jié)點需要大量的計算開銷,需要的推理時間較長。而基于JRIP與神經(jīng)網(wǎng)絡(luò)的混合推理算法充分利用了神經(jīng)網(wǎng)絡(luò)推理準(zhǔn)確率高和規(guī)則推理響應(yīng)時間快的優(yōu)點,實驗數(shù)據(jù)顯示,該混合推理算法的推理準(zhǔn)確率比基于規(guī)則的算法和基于神經(jīng)網(wǎng)絡(luò)的算法都高,而推理時間明顯比基于神經(jīng)網(wǎng)絡(luò)的推理低很多。因此,在那種對準(zhǔn)確性以及推理時間要求都比較嚴(yán)格的系統(tǒng)中,構(gòu)建基于神經(jīng)網(wǎng)絡(luò)與專家系統(tǒng)的混合推理機(jī)制就顯得尤為重要。
表2 Car Evaluation數(shù)據(jù)集不同算法推理結(jié)果比較Tab.2 Comparison of different algorithm reasoning results of Car Evaluation data set
針對神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)專家系統(tǒng)存在的問題,本文在介紹神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)模型的基礎(chǔ)上提出了一種基于神經(jīng)網(wǎng)絡(luò)的混合推理機(jī)制,該機(jī)制結(jié)合神經(jīng)網(wǎng)絡(luò)和規(guī)則推理的優(yōu)點,充分利用規(guī)則的快速匹配和可解釋性,以及神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)和近似推理能力,使得神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)具備良好的學(xué)習(xí)能力、泛化能力和信息處理能力。通過對基于神經(jīng)網(wǎng)絡(luò)推理算法、規(guī)則推理算法以及神經(jīng)網(wǎng)絡(luò)與規(guī)則的混合推理算法的實驗結(jié)果的比較,表明混合推理機(jī)制能有效提升專家系統(tǒng)的效率,提高推理的準(zhǔn)確性和泛化能力。因此,神經(jīng)網(wǎng)絡(luò)與專家系統(tǒng)的結(jié)合在人工智能領(lǐng)域具有廣闊的發(fā)展前景,需要我們進(jìn)一步的深入研究。
[1]蔡自興,約翰.德爾金,龔濤.高級專家系統(tǒng):原理、設(shè)計及應(yīng)用[M].北京:科學(xué)出版社,2005.
[2]鄭偉,安佰強(qiáng),王小雨.專家系統(tǒng)研究現(xiàn)狀及其發(fā)展趨勢[J].電子世界,2013(4):87-88.ZHENG wei,AN bai-qiang,WANG xiao-yu.Expert systems research status and development trend[J].Electronic World,2013(4):87-88.
[3]Simon Haykin.神經(jīng)網(wǎng)絡(luò)原理[M].北京:機(jī)械工業(yè)出版社,2004.
[4]Michael Negnevitsky.人工智能 (智能系統(tǒng)指南)[M].北京:機(jī)械工業(yè)出版社,2010.
[5]梅杰.基于人工神經(jīng)網(wǎng)絡(luò)的旋轉(zhuǎn)機(jī)械故障診斷專家系統(tǒng)[D].武漢:武漢理工大學(xué),2011.
[6]Setiono R.Extracting Rules from Neural Networks by pruning and Hidden-Unit Splitting[J].Neural Computation,1997,9(1):205-225.
[7]Saito K,Nakanno R.”Medical diagnostic expert system based on PDP model[C]//IEEE Proceedings of IEEE International Conference on Neural Network,1988,1:55-262.
[8]Towell G G,Shablik J W.Extracting refined rules from knowledge-based neural network[J].Machine Learning 1993,13(1):71-101.