基于专家系统的故障诊断方法的研究与改进
2013-08-10卞玉涛李志华
卞玉涛,李志华
(河海大学 能源与电气学院,江苏 南京 211100)
近三十年来人工智能获得了迅速的发展,在很多学科领域都获得了广泛应用,并取得了丰硕成果。专家系统是人工智能领域最活跃和最广泛的领域之一。自从1965年第一个专家系统Dendral在美国斯坦福大学问世以来,经过40年的开发,各种专家系统已遍布各个专业领域。目前,专家系统得到了更广泛的应用,并在应用开发中得到进一步发展。专家系统在故障诊断领域的应用也非常广泛,由于大部分故障是随机的,普通人很难判断,这时就需要通过讨论或请专家来进行诊断。但对于一些新型机器,可能无处获得诊断知识;或者对于非定型生产的机器,由于其工作特性和常用机器相比差异很大,知识获取也十分困难。而专家系统恰恰适用于复杂的、知识来源规范的大型动态系统,它可以汇集众多专家的知识,进行分析、比较、推理,最终得出正确的结论。现场技术人员可以充分利用各种信息和症兆,在计算机系统的帮助下有效地解决工程实际问题,这也是故障诊断专家系统近年来成为热门研究课题的原因。
1 故障诊断专家系统简介
故障诊断是指在一定工作环境下查明导致系统某种功能失调的原因或性质,判断劣化状态发生的部位或部件,以及预测状态劣化的发展趋势等[1]。由于机器设备日趋复杂化、智能化及光机电一体化,传统的诊断技术已经不能适应了,随着人工智能技术的迅速发展,特别是知识工程、专家系统、人工神经网络在诊断领域中的进一步应用,诊断技术也日趋智能化。
智能故障诊断是在对故障信号进行检测和处理的基础上,结合领域专家知识和人工智能技术进行诊断推理,具有对给定环境下的诊断对象进行状态识别和状态预测的能力。它适用于模拟人的思维过程,解决需要进行逻辑推理的复杂诊断问题,可以根据诊断过程的需要搜索和利用领域专家的知识及经验来达到诊断目的。智能故障诊断技术包括模糊技术、灰色理论、模式识别、故障树分析、专家系统等。
专家系统(Expert System,ES)[2]是一种基于知识的计算机程序系统,其内部含有大量的某个领域专家水平的知识和经验,它应用人工智能(Artificial Intelligence,AI)技术,根据专家提供的知识及其推理能力,模拟人类专家做出决策的思维过程,来解决原来只有专家才能解决的复杂问题。
基于专家系统的故障诊断方法是将专家系统应用到故障诊断中去,从而利用领域知识和专家经验提高故障诊断的效率[3]。基于专家系统的方法在故障诊断领域的应用非常广泛,长期以来,航空、航天、电力、电子、机械、化工、船舶等许多领域,故障检测与诊断技术与专家系统相结合,使工程的安全性与可靠性得到保证。如美国海军人工智能中心开发了用于诊断电子设备故障的IN-ATE系统;美国空军研制的用于飞机喷气发动机故障诊断专家系统XMAN[4];MIT研制用于模拟电路操作并演绎出故障可能原因的EL系统;波音航空公司研制了诊断微波模拟接口MSI的IMA系统等等。
按照知识组织方式与推理机制的不同,目前已研究的故障诊断专家系统模型大致可分为:基于规则的诊断专家系统、基于模型的诊断专家系统、基于事例推理的诊断专家系统、基于模糊理论的诊断专家系统和基于人工神经网络的诊断专家系统。
2 传统的故障诊断专家系统
传统的基于专家系统的故障诊断方法能够利用专家丰富的领域知识、经验,无需对系统进行数学建模并且诊断结果易于理解,因此在很多领域得到了广泛应用且取得了不少成果,并且显示出了相当出色的工作能力,在某些方面达到甚至超过了人类专家的工作水平,然而这种模拟人类抽象思维的符号处理系统在其开发研制过程中也碰到了不少问题:
1)知识获取和表达比较困难,这成为专家系统的“瓶颈”问题。
2)知识的“窄台阶效应”。目前一般的专家系统只能在比较窄的专业知识领域内求解专门的问题。对于相近领域的边缘性问题,求解能力较差,对于其他领域,则是一无所知。
3)推理能力弱。专家系统的本质特性是基于规则的推理思维,然而迄今的逻辑理论仍然很不完善,推理速度慢、效率低、容易出现“匹配冲突”、“组合爆炸”及“无穷递归”等问题。
4)智能水平低。专家系统的知识存储是一一对应的,且限定于最低速度,没有冗余性,因而也就失去了灵活性。现有的专家系统一般还不具备自学习能力和联想记忆的能力,一个专家系统往往要包含上万甚至数万条规则,使得维护和管理工作十分困难。这是与知识的表示方法有关的困难。
5)实用性差。由于上面的这些严重缺陷,使得一些专家系统很难进入实用阶段。同时由于推理速度慢,导致一般的专家系统难以适应在线工作要求,只能在离线、非实时条件下工作。
基于规则的诊断专家系统就是传统的专家诊断系统,将领域专家的经验、知识抽象为if-then形式的规则,利用这些规则进行推理判断。基于规则的推理是先根据推理策略从规则库中选择相应的规则,再匹配规则的前提部分,最后根据匹配结果得出诊断结论。其知识表述直观、形式统一、易理解和解释方便,适合于具有丰富经验的专业领域故障诊断。尽管基于规则的诊断专家系统获得了一定的成功,但对于复杂系统,所观测到的症状与所对应诊断之间的联系是相当复杂的,通过归纳专家经验来获取规则,有相当的难度,且一致性难以保证,而且只能对事先预想到的并能与规则前提相匹配的时间进行推理,存在着知识获取困难、知识台阶“窄”以及控制策略不灵活等缺点。
3 一些改进的故障诊断专家系统
传统的诊断专家系统存在着一些自身难以解决的问题,如:知识获取的“瓶颈”问题、逻辑推理的“组合爆炸”;在自适应、学习能力及实时性方面也有局限性。为克服这些不足,有人提出一些新的专家系统故障诊断方法。基于Petri网建立对象行为模型,结合专家系统的优点,对电力系统输电网络故障进行诊断[5]。该方法不仅有效、准确、通用,还提高了故障诊断速度。文献[6]把遗传算法与专家系统相结合进行故障诊断,提高了系统抑制噪声的能力,同时较好地解决了推理速度和知识获取困难的问题。同样,在专家系统中引入故障树[7],可以避免建立繁琐而庞大的规则库。下面就着重介绍一些改进的诊断专家系统:
1)基于事例推理的诊断专家系统
基于事例推理(Case-Based Reasoning,简称CBR)是近年来人工智能领域兴起的一种诊断推理技术,是采用以前的事例求解当前问题的技术。它是通过访问事例库中过去相似事例的处理经验而获得当前问题解决方案的一种新的推理模式。首先获取当前问题信息,接着寻找最相似的以往事例。如果找到了合理的匹配,就建议使用和过去所用相同的解;如果搜索相似事例失败,则将这个事例作为新事例。因此,基于事例的专家系统能够不断学习新的经验,以增加系统求解问题的能力。基于事例推理的专家诊断系统具有诸多优点:无须显示领域知识;开放体系、增量式学习,事例库的覆盖度随系统的不断使用而组建增加;此外,在CBR系统中,知识是以事例的形式存储的,不存在知识获取困难的问题,所以在故障诊断、设计、规划和法律等经验知识丰富,而知识又难以形式化描述的领域得到了广泛的应用。
图1 基于事例的专家系统流程图Fig.1 Procedure of CBR-expert system
基于事例推理的专家系统的难点是,如何从事例库中寻找与当前问题条件最匹配的一个事例。然而,过大的事例库会导致系统搜索时间过长,因此,往往需要进行预处理,删去过分相似的事例。基于事例推理面临的另一个问题是事例库能否覆盖所有解空间,因为覆盖度小会导致搜索时可能漏掉最优解,造成误诊或漏诊。
2)基于模糊理论的诊断专家系统
模糊性是指客观事物在状态及其属性方面的不分明性,其根源是在类似事物间存在一系列过渡状态,它们互相渗透、互相贯通,使得彼此之间没有明显的分界线。在一定条件下,利用模糊数学的理论来分析、处理不确定性问题往往能够得到事物的真相和本质。在基于模糊理论的诊断专家系统中,其知识表示采用模糊产生式规则,引入模糊的概念是为了更好地模拟人类的思维与决策过程,采用模糊理论与专家系统相融合的方法,弥补了传统的专家系统解决知识不确定性问题的不足。
模糊诊断的实质是引入隶属函数概念,模糊逻辑以其较强的结构性知识表达能力,适合处理诊断中的不确定信息和不完整信息[8]。模糊专家系统的推理机的功能是基于模糊逻辑的,可以更充分地利用过程信息。在模糊推理中建立模糊隶属度是一个重要工作,确定隶属度的方法有对比排序法、专家评判法、模糊统计法、概念扩张法等。模糊推理机将根据用户提供的故障症状,从模糊知识库中选择与当前模糊信息具有一定匹配程度的模糊规则,通过处理,得到带有隶属度的故障原因。最后根据系统给定的阈值,得到故障现象的可能原因,对知识库中的信息进行推理。
基于模糊理论的诊断专家系统的优点:①具有专家水平的专门知识,能表现专家技能和高度的技巧以及有足够的鲁棒性;②能进行有效的推理,具有启发性,能够运用人类专家的经验和知识进行启发性的搜索、试探性的推理;③具有灵活性和透明性。然而基于模糊理论的诊断专家系统知识获取困难,尤其是故障与征兆的模糊关系较难确定,且系统的诊断能力依赖模糊知识库,学习能力差,容易发生漏诊或误诊。由于模糊语言变量是用隶属函数表示的,实现语言变量与隶属函数之间的转换是一个难点。
3)基于人工神经网络的诊断专家系统
人工神经网络(Artificial Neural Network,ANN)是大量神经元广泛互连而成的复杂网络系统,ANN是人类大脑神经细胞结构和功能的模仿,具有与人脑类似的记忆、学习、联想等能力。在ANN中,信息处理是通过神经元之间的相互作用来实现的,知识与信息的存储表现为分布式网络元件之间的关联,网络的学习和识别取决于各神经元连接权值的动态演化过程。ANN是大规模并行结构,信息可以分布式存储,并且具有良好的自适应性、自组织性和容错性,因此ANN在故障诊断领域已经得到了广泛的应用。同时,实际应用中的大多数被诊断对象往往是复杂的非线性系统,无法得到其精确模型,甚至无法建模,由于神经网络的构建与训练不需要了解被诊断对象的精确模型,因而对于非线性被诊断对象,神经网络也具有明显优势[9]。
基于神经网络的故障诊断专家系统与传统的诊断专家系统存在着本质区别,首先知识表示从显式变为隐式;其次,知识不是通过人的加工,而是通过算子自动获取;最后,推理机制不是传统的归纳推理,而是变为在竞争层对权值的竞争。与传统的专家系统相比,基于人工神经网络的诊断专家系统有以下优势:①固有并行性;②分布式联想存储;③较好容错性④自适应能力;⑤通过实例学习能力;⑥便于硬件实现。
然而,基于人工神经网络的专家系统也存在固有的弱点:①系统性能受样本集的限制,训练样本集选择不当,特别是在训练样本集很少的情形下,很难指望它具有较好的归纳推理能力;②神经网络没有解释能力;③对知识、输入证据、输出结果等要求数字化;④对解决小规模问题有优势,在模拟人类复杂层次的思维方面,如基于目标的管理、综合判断与因果分析等方面还远远不及传统的专家系统。因此,人们正试图研究符号推理与数值推理结合的相结合的集成式智能诊断系统,以期能更好地模拟人类的思维过程。
图2 神经网络专家诊断系统的集成图Fig.2 Structure of ANN-expert system
目前较为常用的神经网络有误差反传网络(BP)、小脑网络(CMAC)、自组织特征映射网络(SOM)、自适应共振理论(ART)和径向基网络(REF)等。国内外对基于神经网络的故障诊断研究多集中于BP网络,尽管提出了一些改进算法,以避免BP算法存在的收敛慢、振荡和局部极小等问题,但仍然存在一些困难。BP算法一个突出问题在于对异常类故障的处理能力低,其求解能力对样本的依赖性极大,不具备增量学习功能。目前,通过将模糊算法、神经网络和遗传算法3个领域综合在一起,利用模糊理论来处理诊断领域的模糊性问题,利用遗传算法来优化网络结构和隶属函数,有力的促进了不同研究领域之间的交叉渗透和共同发展。
4)基于多种模型结合的诊断专家系统
接下来介绍一种将遗传算法、神经网络和基于规则的专家系统相融合的一种新型的诊断专家系统。
遗传算法(Genetic Algorithms,GA)是一种基于自然选择和自然遗传的全局优化算法,采用从自然选择机理中抽象出来的选择,交叉和变异三种遗传算子对参数编码字符串进行操作。由于操作是针对多个可行解构成的群体进行,故在其世代更替中可以并行地对参数空间的不同区域进行搜索,并使搜索朝更有可能找到最优的全局解方向进行。由于GA在寻优过程中只使用评价函数,不要求目标函数的可微性,因此,GA算法具有全局性、并行性、快速性。较好的适应性和鲁棒性的特点是训练神经网络的一种理想算法。
在传统的故障诊断专家系统中,知识获取、维护困难,推理能力弱,实时性差,这些成为制约其发展的“瓶颈”。为解决上述问题,我们将传统的故障诊断专家系统同人工神经网络和遗传算法结合起来,形成基于神经网络和遗传算法的故障诊断专家系统,提高了故障诊断专家系统的透明性和灵活性,增强其实时性和在线操作能力。
一般神经网络BP学习方法是一种建立和调整模糊推理控制系统的良好方法,但这种方法本质上是一种只考虑局部区域的梯度法,缺乏全局性,有可能仅优化到局部极值部分,其调整的收敛性依赖于初始状态的选择。而遗传算法通过交叉和变异大大减少了初始状态的影响,使搜索得到最优化结果而不停留在局部最小处[10]。遗传算法不仅可优化神经推理系统的参数,而且可以优化神经推理系统的结构。 使用遗传算法可以修正冗余的隶属函数和网络的节点数,以优化模糊推理规则。为了发挥GA算法和BP算法的长处,用GA算法优化具有全局性的参数和网络结构,用BP算法调节和优化具有局部性的参数.这样GA算法作为一种离线训练模糊神经推理控制器,用BP算法作为一种在线调节神经网络的局部性参数。这样采用GA算法训练神经网络,可以大大提高神经推理控制系统的自学习性能和鲁棒性[11]。
图3 基于遗传算法和神经网络的专家诊断系统结构图Fig.3 Structure of expert system based on GA&ANN
该系统在运行时,模糊神经推理控制器进行动态学习,优化神经网络的权值。系统中的自学习控制模块用来调度模糊神经推理控制器的离线学习。系统对被处理对象进行全局的分析,从系统角度识别对象的总体状态,使得神经网络和遗传算法的数据处理与模式判别能力能够进行总体协调,同时使基于规则的专家系统的启发式推理能力得到充分的发挥,并在用户的积极参与下实现知识和样本的创造,并且使得专家经验融人到系统中,极大地提高了系统的可塑性和扩充性。在系统中,调度及推理模块对被处理对象进行全方位的描述,进行多重分析任务的调度,实现系统水平上的总控。系统也保持了传统专家系统良好的解释机制,使得系统的解释清晰明了,易于理解。
4 故障诊断专家系统的发展趋势
随着高性能计算机与计算机网络技术的发展,为分布式网络诊断系统[11]和协同式专家的研究与实现提供了开发平台。
分布式专家系统是具有分布处理特征的专家系统,一般来说,规模越大的专家系统对问题进行推理的时间需求就越多,所以可以把一个专家系统的功能分解为若干个任务程序分配到多个处理机上并行工作,以缩短求解时间。随着网络的普及,通过局域网,因特网来传输诊断信息成为一种趋势,网络架构下的集成故障诊断系统成为新的研究热点,因此,建立远程分布式全系统智能诊断系统,可以实现异地多专家对同一设备的协同诊断以及多台设备共享同一诊断系统,提高诊断的准确率和效率,同时也有利于诊断案例的积累,以弥补单个诊断系统领域知识的不足,提高诊断的智能化水平,促进诊断学的综合发展。
协同式专家系统是能综合若干个相邻领域或一个领域的多个方面的分专家系统,互相协作共同解决一个更广领域中的问题的专家系统,也称为群专家系统[12]。这种系统有时与分布式专家系统有些共性,因为他们都可能涉及多个子专家系统。但是这种系统更强调子系统之间的协同合作,而不着重于处理的分布和知识的分布。
目前将分布式专家系统与协同式专家系统相结合,提出了一种分布协同式专家系统。分布协同式专家系统是逻辑上或物理上分布在不同处理节点上的若干专家系统协同求解问题的系统。现实中,有很多复杂的任务需要一个群体来协同解决问题,当单个专家系统难以有效地求解问题时,使用分布协同式专家系统求解是一个有效的途径。
5 结 论
专家系统是从20世纪末开始的重大技术之一,是高技术的标志。基于专家系统的故障诊断方法,对于解决一些复杂系统的故障有着不可替代的优势。本文重点分析研究了基于规则、基于事例、基于模糊理论和基于人工神经网络的诊断专家系统的工作原理。这些诊断方法各有其优势和特点,但他们各自也存在着局限性。对于实际对象的故障诊断,如用单一的知识表示方法,有时难以完整表示对象的故障诊断领域知识。因此,集成多种知识表示方法则能更好地表示对象的故障诊断领域知识。集成基于经验规则、基于遗传算法、基于神经网模型的集成型诊断方法能综合各诊断方法的特点,克服各诊断方法的局限性,从而提高了诊断系统的智能性和诊断效率。最后,随着高性能计算机与计算机网络技术的发展,分布式网络诊断系统和协同式专家系统将取得重大的发展,必将进一步推动科技的发展和社会的进步。
[1]karthik B,Vasant H.Intelligent Diagnosis Systems[J].Intelligent Systems,1998,8(34):239-290.
[2]FEIGENBAUM E A.Panel: History of AI research,1956-1961:proe.Of the 6th IJCAI[C].Tokio,1979:1103-1105.
[3]吴明强,李霁红.故障诊断专家系统综合智能推理技术研究[J].计算机测量与控制,2004,12(10):932-934.WU Ming-qiang,LI Ji-hong.Study on combined intelligent inference technology for fault diagnosis expert system[J].Computer Measurement&Control,2004,12(10):932-934.
[4]Miller L,Lewis D,Ronald De Hoff.XMAN II-a real time main-tenance training aid [C]//Aerospace and Electronics Conference,1990:1360-1364.
[5]方培培,李永丽,杨晓军.Petri网与专家系统结合的输电网络故障诊断方法[J].电力系统及其自动化学报,2005,17(2):26-30.FANG Pei-pei,LI Yong-li,YANG Xiao-jun.Transmission power system fault diagnosis based on petri nets and expert system[J].Proceedings of the Chinese Society of Universities for Electric Power System and Automation,2005,17(2):26-30.
[6]戴忠健,苏利敏.基于遗传算法的网络故障诊断专家系统的设计与实现[J].北京理工大学学报,2005,25(1):38-40.DAI Zhong-jian,SU Li-min.Design and realization of a network fault diagnosing expert system based on genetic algorithm[J].Transactions of Beijing Institute of Technology,2005,25(1):38-40.
[7]余浩章,陈新华.基于故障树的故障诊断推理新方法[J].上海海运学院学报,2001,22(3):65-67.YU Hao-zhang,CHEN Xin-hua.A new reasoning method for fault diagnosis based on fault tree[J].Journal of Shanghai Maritime University,2001,22(3):65-67.
[8]Liao S H,Expert system methodologies and applications-a decade review from 1995 to 2004[J].Expert Systems with Applications,2005,28(1):93-103.
[9]EI-Fergany A A.A hybrid fault diagnosis system using ANNs-ES techniques[C]//Proceeding of the Universities Power Engineering Conference,2001,36:1487-1493.
[10]李路,袁震东.用于神经网络权系数训练的遗传算法[J].上海技术工程大学学报,2004,18(3):1241-1244.LI Lu,YUAN Zhen-dong.Using GA to train coefficients of neuralnetwork [J].JournalofShanghaiUniversity of Engineering Science,2004,18(3):1241-1244.
[11]毛庆华,刘哲,许文彤.航天测控设备远程诊断系统的研究[J].计算机测量与控制,2004,12 (6):501-503.MAO Qing-hua,LIU Zhe,XU Wen-tong.Research on remote diagnosing systemin the aeronautics instrumentation equipment[J].Computer Measurement&Control,2004,12(6):501-503.
[12]尹朝庆,尹皓.人工智能与专家系统[M].北京:中国水利水电出版社,2001.