管艷娜,李孝安
(西北工業大學 計算機學院,陜西 西安 710129)
近年來,隨著信息技術的飛速發展,人工智能技術得到了廣泛的應用。專家系統[1]作為人工智能的一個重要分支,自20世紀60年代初期產生以來,就在醫療診斷、圖像處理、地質勘探、航空航天等領域得到了迅速的發展。隨著各類專家系統的研制成功[2],例如斯坦福大學研制成功的DENRAL專家系統、麻省理工學院研制的MACSYMA專家系統、卡內基-梅隆大學開發的HEARSAY專家系統、肖特立夫等人的MYCIN系統、DEC公司與卡內基-梅隆大學合作開發的XCON-R1專家系統等,專家系統越來越受到學術界以及工程領域的廣泛關注。
但是,專家系統自身存在一定的缺陷,如知識獲取困難、推理效率低以及存在沖突消解等,這些問題極大限制了專家系統的進一步發展。近十年來,神經網絡[3]與專家系統相結合的混合型專家系統的提出,可以克服專家系統的局限性,同時也解決了神經網絡的“黑箱”缺陷,實現了專家系統在知識庫構建、知識推理技術上的發展,為特殊任務環境下的自主決策提供了新的發展方向。因此,神經專家系統成為當今人工智能技術中具有廣闊發展前景的研究領域。
本文在對基于神經網絡專家系統不同模塊關鍵技術進行研究的基礎上,將基于神經網絡的推理和與基于規則的推理結合,設計了一種基于神經網絡專家系統的混合推理機制,該推理機制能夠克服傳統專家系統的不足,大大提高推理的準確性和效率,為構建新型的專家系統提供了新的思路。
神經網絡專家系統的模型可采用多種形式,神經網絡的輸出是專家系統系統的輸入,專家系統用來為神經網絡收集數據或分析結果,神經網絡作為被調用的函數嵌入專家系統中等。根據實際應用情況的不同,可以采用不同的神經網絡專家系統結構,本文提出的一種基于神經網絡的混合推理機制是基于如圖1所示的神經網絡專家系統模型[4],該模型包括知識庫、推理機、知識處理機制、用戶界面4大部分[4]。
1)知識庫是解決問題相關的領域知識,包括神經知識庫和規則知識庫兩個部分。神經知識庫中存儲的知識是通過神經網絡算子自動獲取的,根據用戶所要解決的問題及提供的數據類型選擇合適的神經網絡結構,對網絡進行訓練,然后把網絡結構,權值矩陣等作為隱式知識存儲在神經知識庫;規則知識庫中的知識來自兩個不同的渠道,第一是通過知識工程師從領域專家直接獲取經驗知識,第二是從訓練得到的專家級神經網絡中抽取出知識,目前比較典型的基于神經網絡的規則抽取算法有Setiono提出的RX[6]、saito和Nakano提出的subset算法[7]、Towell和 Shavlik 提出的 MofN[8]等。

圖1 神經網絡專家系統模型Fig.1 Model of ANN expert systems
2)推理機制是神經專家系統的核心部分,根據當前給定的條件以及知識庫中存儲的知識,經過若干次步驟的推導,通過神經推理引擎的近似推理找到問題解決方案。推理機是模仿人類專家的思維方式,按照推理方向可以分為正向推理、反向推理和正反向混合推理,按照專家系統知識庫中知識類型可以分為基于規則的推理、基于模型的推理、基于案例的推理等。
3)知識處理機制包含兩方面的作用:第一,將用戶提供的數據編碼為神經專家系統可以理解和處理的數據,并將神經專家系統推理得出的結論解碼為用戶可以理解的形式;第二提供再學習功能,如果領域專家認為得到的結論不正確,則領域專家提供相應的反饋信息,專家系統進行再學習,以提高其推理水平。
4)用戶界面是實現用戶和專家系統之間交流的途徑,用來給專家系統提供訓練使用的數據、推理的事實以及接收專家系統推理得出的結論。
在基于規則的專家系統中,將領域知識表示成IF…THEN…形式的規則,多條規則儲存起來形成知識庫。系統使用這些規則和動態數據庫中信息來求解問題。推理引擎把每條規則的條件部分和數據庫中給定的數據進行比較。如果規則的IF部分和數據庫中的數據相匹配,則激發規則并執行其THEN部分,在基于規則的專家系統中,需要精確的匹配,因此,推理機制不能夠處理噪聲數據和不完整的數據。
神經專家系統用訓練過的的神經網絡取代知識庫,基于神經網絡的推理過程實際上就是一個數學運算的過程,具體步驟為:首先,通過用戶和知識處理機制獲取神經網絡輸入信息;從神經知識庫中得到具體的神經網絡結構以及權值矩陣進行數學運算,直到網絡輸出一個穩定的結果。神經網絡能夠歸納,新的輸入數據不一定要和網絡訓練中使用的數據精確匹配,因此,神經專家系統能夠處理噪聲數據和不完整數據。
神經網絡專家系統模型的推理機制包括正向推理和反向驗證解釋兩個部分。其中正向推理是基于神經網絡的推理和基于規則的混合推理,兩種推理并行進行,提高推理的效率和準確性;反向驗證則是基于規則的反向驗證過程,用于對神經網絡做出的推理結果進行解釋。具體推理流程如下:
1)初始時,神經網絡專家系統應該具有一定的領域知識和代表該問題的專家級的神經網絡結構。用戶通過人機交互界面將問題信息輸入神經網絡專家系統,知識處理機制將原始信息轉化為推理機可以處理的形式;
2)推理機接受用戶的數據,開始使用規則推理機和神經網絡推理機進行并行推理,直到推理結束得到結論,將結論反饋給用戶進行判斷;
3)如果能夠推出正確的結論,且結論可由領域知識庫直接推出,則直接把結論以及解釋機制提供的解釋返回給用戶;如果結論是由神經網絡推出,說明領域知識庫不完備,則可以通過規則抽取技術完善規則庫;
4)如果推理結論不正確或者無法推出結論,領域專家可以提供反饋信息,指導專家系統進行再學習,以充實知識庫中的知識,然后在進行推理。
這種基于神經網絡的混合推理機制存在一定的優勢:兩類推理機并行工作,優先以推理速度較快的推理機的結果進行判斷,推理效率提高;當領域專家對輸出的結果不滿意時,可以給出教師信息對神經網絡進行重新訓練,替換神經知識庫中已不再適用的知識,使得知識庫可以動態的改變。
為了驗證神經專家系統的推理機制的可行性和有效性,本文對基于神經網絡專家系統的推理與基于規則的推理進行了仿真實驗。鑒于不同學科問題的規模和復雜度不同,本文選取UCI機器學習倉庫Breast-Cancer和Car Evaluation兩組不同的數據集,在weka平臺下進了多次實驗對比。其中基于規則推理選用算法JRIP和PART。
Breast-Cancer數據集包含286組數據。實驗從原始樣例中隨機抽取第 21-30,第 71-80,第 121-130,第 171-180四段共40個樣例作為最終的測試樣例,剩余的246個樣例則作為訓練樣例。實驗中在Weka環境下我們選擇functions中BP神經網絡、rules中的JRIP算法、PART算法以及基于JRIP與神經網絡的混合推理算法進行驗證,參數都選用Weka下的默認參數。
表1為4種不同算法對Breast-Cancer數據集在推理時間及正確率方面的比較。

表1 Breast-Cancer數據集不同算法推理結果比較Tab.1 Comparison of different algorithm reasoning results of Breast-Cancer data set
Car Evaluation數據集表示的是一個分類問題,數據集包含1 728組數據。實驗從原始樣例中隨機抽取第301-400,第801-900,第1 301-1 500,三段共300個樣例作為最終的測試樣例,剩余的1 428個樣例則作為訓練樣例。和4.1中實驗算法的選擇一樣,表2為4種不同算法對car Evaluation數據集在推理時間及正確率方面的比較。
從實驗結果可以看出,基于神經網絡模型的推理與基于規則的推理算法相比,無論是對訓練集還是測試集都有較高的正確率,尤其是對于測試樣例,基于神經網絡的推理在正確率方面有明顯的優勢。由于訓練樣例及測試樣例中一般存在噪音數據,而神經網絡具有較好的泛化能力和容噪性。在推理時間方面,神經網絡的推理比基于規則的推理算法的明顯要慢,盡管神經網絡可以并行計算,但是從輸入到輸出每個節點需要大量的計算開銷,需要的推理時間較長。而基于JRIP與神經網絡的混合推理算法充分利用了神經網絡推理準確率高和規則推理響應時間快的優點,實驗數據顯示,該混合推理算法的推理準確率比基于規則的算法和基于神經網絡的算法都高,而推理時間明顯比基于神經網絡的推理低很多。因此,在那種對準確性以及推理時間要求都比較嚴格的系統中,構建基于神經網絡與專家系統的混合推理機制就顯得尤為重要。

表2 Car Evaluation數據集不同算法推理結果比較Tab.2 Comparison of different algorithm reasoning results of Car Evaluation data set
針對神經網絡與傳統專家系統存在的問題,本文在介紹神經網絡專家系統模型的基礎上提出了一種基于神經網絡的混合推理機制,該機制結合神經網絡和規則推理的優點,充分利用規則的快速匹配和可解釋性,以及神經網絡的學習和近似推理能力,使得神經網絡專家系統具備良好的學習能力、泛化能力和信息處理能力。通過對基于神經網絡推理算法、規則推理算法以及神經網絡與規則的混合推理算法的實驗結果的比較,表明混合推理機制能有效提升專家系統的效率,提高推理的準確性和泛化能力。因此,神經網絡與專家系統的結合在人工智能領域具有廣闊的發展前景,需要我們進一步的深入研究。
[1]蔡自興,約翰.德爾金,龔濤.高級專家系統:原理、設計及應用[M].北京:科學出版社,2005.
[2]鄭偉,安佰強,王小雨.專家系統研究現狀及其發展趨勢[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.神經網絡原理[M].北京:機械工業出版社,2004.
[4]Michael Negnevitsky.人工智能 (智能系統指南)[M].北京:機械工業出版社,2010.
[5]梅杰.基于人工神經網絡的旋轉機械故障診斷專家系統[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.