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