故障诊断专家系统研究的现状与展望
摘要:该文介绍了专家系统在故障诊断领域的应用情况,阐述了国内外故障诊断专家系统的发展现状,针对目前研究比较成熟的故障诊断专家系统模型进行了分析,并指出了各自技术的特点和局限性。最后结合新技术的发展和应用对故障诊断专家系统的发展趋势进行了展望。
关键词:专家系统,故障诊断,机器学习,知识发现
Research and Prospect of Fault Diagnosis Expert System
Abstract: This paper introduces the application of expert system in the fault diagnosis area. It describes the current developing condition of fault diagnosis expert system, analyzes several well researched fault diagnosis expert system models and points out their features and limitations respectively. Finally by combining the developing and application of new methodologies, the prospect of fault diagnosis expert system is overlooked.
Key words: Expert system, Fault diagnosis,Machine learning, Knowledge discovering
1 引言
故障诊断专家系统是将人类在故障诊断方面的多位专家具有的知识、经验、推理、技能综合后编制成的大型计算机程序,它可以利用计算机系统帮助人们分析解决只能用语言描述、思维推理的复杂问题,扩展计算机系统原有的工作范围,使计算机系统有了思维能力,能够与决策者进行“对话”,并应用推理方式提供决策建议。
专家系统在故障诊断领域的应用非常广泛,长期以来,在航空、航天、电力、机械、化工、船舶等许多领域,故障检测与诊断技术与专家系统相结合,使工程的安全性与可靠性得到保证。故障诊断专家系统除了具备专家系统的一般结构外,还具有自己的特殊性。
它具有如下特点。
(1) 知识可以从类似机器和工作实际、诊断实例中获取,即知识来源比较规范。
(2) 诊断对象多为复杂的、大型的动态系统,这种系统的大部分故障是随机的,普通人很难判断,这时就需要通过讨论或请专家来进行诊断。但对于一些新型机器,可能无处获得诊断知识;或者对于非定型生产的机器,由于其工作特性和常用机器相比差异很大,知识获取也十分困难。
而专家系统恰恰适用于复杂的、知识来源规范的大型动态系统,它可以汇集众多专家的知识,进行分析、比较、推理,最终得出正确的结论。现场技术人员可以充分利用各种信息和症兆,在计算机系统的帮助下有效地解决工程实际问题,这也是故障诊断专家系统近年来成为热门研究课题的原因。
2 国内外的发展及应用
故障诊断专家系统的发展起始于20世纪70年代末,虽然时间不长,但在电路与数字电子设备、机电设备等各个领域已取得了令人瞩目的成就,已成为当今世界研究的热点之一。
在专家系统己有较深厚基础的国家中,机械、电子设备的故障诊断专家系统已基本完成了研究和试验的阶段,开始进入广泛应用。在电路和数字电子设备方面, MIT 研制用于模拟电路操作并演绎出故障可能原因的EL系统;美国海军人工智能中心开发了用于诊断电子设备故障的IN- ATE 系统;波音航空公司研制了诊断微波模拟接口MSI 的IMA 系统;意大利米兰工业大学研制用于汽车启动器电路故障诊断的系统。
国内在故障诊断专家系统方面起步稍晚,20世纪80年代开始,国内部分高校和科研机构首先在汽车故障诊断领域对专家系统进行了研究,发表了一系列的研究文献,部分文献已经达到国外同等水平,随后在其他电子设备领域和电力应用领域相继进行了故障诊断专家系统的研究,并取得了一定的研究成果,有一些系统已投入了实际运行。具有代表性的专家系统有华中科技大学研制的用于汽轮机组工况监测和故障诊断的智能系统DEST; 哈尔滨工业大学和上海发电设备成套设计研究所联合研制的汽轮发电机组故障诊断专家系统MMMD- 2 ; 清华大学研制的用于锅炉设备故障诊断的专家系统等等。都能够比较成功地进行复杂系统的故障诊断,这表明我国的故障诊断己经进入专家系统故障技术时代。
3故障诊断专家系统的研究现状
目前已研究的故障诊断专家系统模型有:基于规则的诊断专家系统、基于实例的诊断专家系统、基于行为的诊断专家系统、基于模糊逻辑的诊断专家系统和基于人工神经网络的诊断专家系统。这些诊断专家系统的优缺点及技术要点如下。
3.1基于规则的诊断专家系统
基于规则的诊断方法是根据以往专家诊断的经验,将其归纳成规则,通过启发式经验知识进行故障诊断,适合于具有丰富经验的专业领域故障诊断。基于规则的诊断具有知识表述直观、形式统一、易理解和解释方便等优点,诊断知识的获取依赖于领域专家。但复杂系统所观测到的症状与所对应诊断之间的联系是相当复杂的,通过归纳专家经验来获取规则,有相当难度,且一致性难以保证。
尽管基于规则的诊断专家系统获得了一定的成功,但由于该方法属于反演推理,因而不是一种确保唯一性的推理形式,存在着知识获取困难、知识台阶窄以及控制策略不灵活等缺点。对大型规则库来说,容易产生规则匹配冲突、组合爆炸等问题,而且系统缺乏自学习能力,不适用于复杂系统或经验不足系统的故障诊断。对于大型的诊断对象,其求解过程搜索空间大,速度慢,难以实现实时在线诊断要求。基于规则的方法对于诊断结论除了重复被采用的规则外,无法作出进一步解释,通常只能诊断单个故障,难以诊断多重故障。
3.2 基于实例的诊断专家系统
基于实例推理(Case-based reasoning,简称CBR)是近年来人工智能领域兴起的一种诊断推理技术,是类比推理的一个独立子类,符合人类的认知心理[1]。简单的说,基于实例推理的依据就是相似的问题有相似的解。基于实例的诊断专家系统具有诸多优点:无须显式领域知识;无须规则提取,降低知识获取难度;开放体系,增量式学习,实例库的覆盖度随系统的不断使用而组建增加。基于案例的诊断方法适用于领域定理难以表示成规则形式,而是容易表示成案例形式并且已积累丰富案例的领域(如医学诊断)。
基于实例推理的关键是建立一个有效的检索机制与实例组织方式。实例匹配不仅要考虑表面特征的相似性,而且结构相似性和深层特征有时也具有同样不容忽视的作用。深层信息不仅能减小搜索空间,还可以增加匹配成功率。基于实例推理面临的另一个问题是诊断实例能否覆盖所有解空间,因为覆盖度小会导致搜索时可能漏掉最优解,造成误诊或漏诊。
基于实例的诊断方法难点还在于实例特征的选择、权重分配以及处理实例修订时的一致性检验(特征便量减的约束关系)等问题。传统的基于实例的诊断方法难以表示实例间的联系;对于大型实例库实例检索十分费时,并且难以决定应选择哪些症状及它们的权重。同时基于实例的诊断方法难以处理实例修订时的一致性检验(特征变量间的约束关系),难以对诊断结果加以解释。
3.3 基于模糊理论的诊断专家系统
模糊诊断的实质是引入隶属函数概念,模糊逻辑以其较强的结构性知识表达能力,适合处理诊断中的不确定信息和不完整信息[4]。
模糊故障诊断有两种基本方法,一种是先建立征兆与故障类型之间的因果关系矩阵R,在建立故障与征兆模糊关系方程,即 ,这里F为模糊故障矢量;S为模糊征兆矢量;“ ”为模糊合成算子。另一种方法是先建立故障和征兆的模糊规则库,再进行模糊逻辑推理的诊断过程[9]。
模糊诊断知识获取困难,尤其是故障与征兆的模糊关系较难确定,且系统的诊断能力依赖模糊知识库,学习能力差,容易发生漏诊或误诊。由于模糊语言变量是用隶属函数表示的,实现语言变量与隶属函数之间的转换是一个难点。
3.4 基于行为的诊断专家系统
基于行为(Behavior-based)的诊断专家系统是一种动态、模块化的诊断系统[2]。系统的行为就是指系统从一个状态转移到另一个状态的过程,一个状态的出现是系统行为动作的结果,而状态则描述了系统的行为。通常基于行为的诊断专家系统采用神经网络(NN)模块化单元,以确保系统与诊断对象的实时交互。这种神经网络模块化单元不同于一般基于人工神经网络的诊断系统,它是一种相对独立而且能够动态构建故障诊断子神经网络模块单元的变结构单元。该方法可实现实时在线监控诊断。
基于行为的诊断专家系统的突出优点是在缺乏先验诊断知识的情况下,通过与诊断对象系统行为进行交互作用,逐步学习进化,最终构成一个完善的诊断系统。因此,不必事先给出所有故障类型,极大地减轻了故障诊断专家系统开发的规模和知识获取困难问题。
基于行为的故障诊断强调依据实际设备的运行行为建立诊断系统,但并不排斥已经经过实践检验的正确知识和经验,可以将其作为建立系统的重要辅助资源。可以根据已有的知识建立起一个具有初级智能的诊断系统,然后通过与实际设备行为的交互作用,逐步学习进化为具有高级智能的诊断系统。这样事先可以不必考虑设备整个寿命周期中可能遇到的所有故障,从而极大地减轻了故障诊断系统开发的规模和困难。
开发基于行为的诊断专家系统关键问题是:故障行为征兆(语义征兆、图形征兆)的自动获取难度较大;新故障自动识别和分类,尤其是如何解决多故障情况下的诊断,是该方法的根本突破点。
3.5 基于人工神经网络的诊断专家系统
人工神经网络(Artificial neural network,简称ANN)具有较好的容错性、响应快、强大的学习能力、自适应能力和非线性逼近能力等,被广泛应用于故障诊断领域。基于神经网络的故障诊断专家系统有两种形式:一种是使用神经网络来构造专家系统,变基于符号的推理为基于数字运算的推理,提高系统效率,解决自学习问题;另一种是把神经网络作为知识源的表示和处理模式,并与其它推理机制相融合,实现多模式推理[5]。
基于神经网络的诊断专家系统是一类新的知识表达体系,不同于传统诊断专家系统的高层逻辑模型,是一种低层数值模型。其分布式联结机制,实现知识表示、存储和推理三者融为一体,在知识获取、并行推理和自适应学习等方面显示出明显的优越性,一定程度上克服了传统诊断专家系统存在的知识获取困难、推理速度慢、知识存储容量与系统运行速度的矛盾及知识的窄台阶效应等问题。
然而,神经网络专家系统也存在固有的弱点。首先,系统性能受到所选择的训练样本集的限制,训练样本集选择不当,特别是在训练样本集很少的情形下,很难指望它具有较好的归纳推理能力;其次,神经网络没有能力解释自己的推理过程和推理依据及其存储知识的意义;再次,神经网络利用知识和表达知识的方式单一,通常的神经网络只能采用数值化的知识;最后,也是最根本的一点是神经网络只能模拟人类感觉层次上的智能活动,在模拟人类复杂层次的思维方面,如基于目标的管理、综合判断与因果分析等方面还远远不及传统的专家系统。因此,人们正试图研究符号推理与数值推理相结合的集成式智能诊断系统,以期能更好地模拟人类的思维过程。
目前,国内外对基于神经网络的故障诊断研究多集中于BP网络,尽管提出了一些改进算法,以避免BP算法存在的收敛慢、振荡和局部极小等问题,但仍然存在一些困难。首先,训练样本的致密性、遍历性和相容性问题,对网络的诊断影响很大;其次,基于神经网络的诊断知识单一,只能进行数值化计算,忽视了领域专家在长期实践中积累的经验知识;再次,神经推理过程难以解释。BP算法一个突出问题在于对异常类故障的处理能力低,其求解能力对样本的依赖性极大,不具备增量学习功能。目前,通过将模糊算法、神经网络和遗传算法三个领域综合在一起,利用模糊理论来处理诊断领域的模糊性问题,利用遗传算法来优化网络结构和隶属函数,有力的促进了不同研究领域之间的交叉渗透和共同发展。
4 故障诊断专家系统的研究热点及发展趋势
4.1机器学习方法的应用
诊断系统的核心问题是它的学习能力问题,知识的自动获取一直是故障诊断专家系统的难点,解决知识获取的途径是机器学习,即让机器能够在实际工作中不断地总结成功和失败的经验教训,对知识库中的诊断知识进行调整和修改,以丰富和完善系统知识。机器学习是提高诊断专家系统的主要途径,也是提高诊断系统智能性的重要标志。
随着神经网络隐节点和反向传播算法及连接机制学习蓬勃发展,传统的符号学习与连接机制已经逐步被取代。基于生物发育进化论的进化学习系统和遗传算法,因吸取了归纳学习与连接机制学习的长处而受到重视。基于行为主义的强化学习系统因发展新算法的应用连接机制,学习遗传算法的新成就发展也十分迅速。数据挖掘研究的蓬勃发展,为从计算机数据库和计算机网络提取有用信息和知识提供了新的方法,已经取得了许多有价值的研究和应用成果。
因此,发展和完善现有的机器学习方法,探索新的学习方法, 建立实用的机器学习系统,特别是多种学习方法协同工作的诊断系统,将是今后研究的一个重要方向。
4.2知识发现、数据挖掘技术的应用
诊断专家系统能够正确诊断错误的关键是知识获取技术和推理技术。知识获取技术运用的好坏直接决定了故障诊断专家系统是否具有知识获取的“瓶颈”问题;而在现有的成熟专家系统的推理技术中,绝大多数推理技术的应用还停留在针对某一特定运行状态异常诊断方面,离全方位运行状态异常诊断的应用还有差距。
知识发现(KDD)技术是随着数据库技术和人工智能技术的发展而出现并发展起来的,是近几年兴起的一个极有发展前途又有广泛应用前景的新领域,其研究的主要目标是采用有效的算法,从大量现有数据集合中发现并找出最初未知的、最终可理解的有用知识。综合各领域的具体应用,KDD的功能可概括为预测、特征提取、模式和规则发现、异常情况探测、建模等。数据挖掘和知识发现的方法主要建立在人工智能、计算智能、统计分析等理论和方法的基础上,具体技术有神经网络技术、粗糙集、决策树、关联规则、遗传算法等。将知识发现和数据挖掘技术运用于故障诊断专家系统中可以弥补诊断专家系统关键技术中存在的问题:
在知识获取技术方面,基于数据挖掘的知识获取并不需知识工程师从领域专家的经验中提取规则,它只是对领域专家提供的故障实例进行学习,自动从领域专家的故障实例中获得知识, 知识也是隐含地分布存储在数据挖掘器中,只有在应用时,这些知识才以统一格式的规则形式被提取出来。这种知识的获取方式是自动的,不需要知识工程师和领域专家之间的直接对话,避免了在对话过程中导致诊断规则出现不一致的一切因素,这在一定程度上缓解或克服了传统故障诊断专家系统中存在的知识获取“瓶颈”问题。
在推理技术方面,数据挖掘技术是以数据库系统、数据仓库统计学等为基础的。而数据仓库主要特点就是:它是面向主题的、库中的数据是多维的。也就是说,库中的每一维度可以对应设备运行时的一个状态参数,不同的运行状态参数就存放在不同的维度空间里。数据挖掘器在推理时可以根据不同需要而将不同维度里的运行状态参数综合起来一起分析计算,即:运用数据挖掘算法来进行全方位推理。这可以克服传统推理机制具有单一方面的精确度高而忽视了其它方面影响的缺点,可以增强其推理的合理性、提高其推断结果的可靠性。
数据挖掘是当今智能系统理论和技术的重要研究内容,它能从大量数据中挖掘和学习有价值和隐含的知识,因而近年来得到国内外的极大重视。结合了数据挖掘算法的基本思想,将其改进使之适合应用于专家系统的推理机制,从而很大程度地改善了推理机制的性能和效率。因此,知识发现和数据挖掘技术将是专家系统发展的又一趋势[6]。
4.3 Agent技术的应用
在当今信息化和网络化的时代,诊断专家系统的实时性仍然有很多不足之处,对很多复杂的问题和现象难以作出有效的判断。这主要表现在系统对不完全信息处理很差,对实时动态环境的适应性不强;在知识获取严格性,诊断推理严密性等方面,保证系统诊断有效性的同时,也带来了领域局限性的一系列问题。面向代理的技术,即Agent技术就是完成这一使命的全新技术。
Agent是指驻留在某一环境下能持续自主地发挥作用,满足反应性,社会性,主动性等特征的计算实体[3]。从某种意义上讲,Agent可以理解为一种物理或者软件式的机器人。因此利用Agent的自主性,构造虚拟专家,可以实现大型诊断系统的自主管理和知识备份。Agent技术的诊断系统可以实现实时技术和智能技术融合,并体现出优越的性能和特性。Agent的模型一般分为反应型,认知型或混合型三种。各种Agent组成一个“智能体社会”,可以实现复杂条件下的问题求解和故障诊断。而多Agent系统的组织结构形式以及各个Agent的协作与协调是其中的关键技术。
当特定领域的专家系统处于某一复杂问题的求解中,通常可以当作一个Agent来看待,但是实际上两者有较大的区别,在一个大型的诊断系统中,从系统功能分解理论出发,可以把系统诊断分解成几个子系统,如果只用单纯的专家系统或者Agent模块诊断都有很大的局限性。要实现各个模块的协商和协作,在专家系统之间很难实现,而由多个Agent 就可以传递各个模块的协作,但只采用Agent技术,又难以保证任务执行的速度。因此采用集成专家系统和多Agent技术是一种比较不错的方法[10]。
集成专家系统和多个Agent的系统主要由完成特定功能的专家系统和Agent模块组成,专家系统模块利用经验历史知识和诊断对象当前运行状态信息以严格高效的逻辑推理来实现特定领域的故障诊断。Agent模块则主要利用Agent间的合作来实现动态不完全信息等条件的故障诊断,从而提高系统对环境的适应能力。这样能够充分弥补两者各自的不足,增强诊断系统故障诊断的能力,整体上提高诊断的实时和准确性。这种技术正在研究并应用于载人飞行器故障诊断中。
4.4 新型故障诊断系统发展趋势
4.4.1 从单一模型的诊断系统到多模型诊断系统
这里指的模型包括知识表示的模型和推理模型,故障诊断与知识表示和推理方法有着密切的联系,其领域知识可用对象模型、经验规则、神经网模型、案例等来表示。基于对象模型、基于经验规则、基于神经网模型、基于案例的诊断方法各有其优势和特点,但它们各自也存在着局限性。对于实际对象的故障诊断,如用单一的知识表示方法,有时难以完整表示对象的故障诊断领域知识。因此,集成多种知识表示方法则能更好地表示对象的故障诊断领域知识。集成基于对象模型、基于经验规则、基于神经网模型、基于案例的集成型诊断方法能综合各诊断方法的特点,克服各诊断方法的局限性,从而提高了诊断系统的智能性和诊断效率。集成型的故障诊断系统还能有效地处理真值维护、结论解释、机器学习[8]。
4.4.2 从单机模型到分布式网络诊断系统
现有的设备诊断系统大部分都是面向单台、单机或单类设备的,可扩充性、灵活性、通用性较差,各诊断系统之间相互独立,即使是不同开发单位研制的针对同类设备的异构诊断系统之间也不能进行有效的信息交流和共享,造成了巨大的资源浪费。现在很多大型成套设备或机构由远程分布的不同类子系统组成,相应其诊断系统中的系统级诊断系统和各子诊断系统也要进行诊断信息的传输交流。同时,由于故障源的不确定性和时发性,导致异地诊断和远程诊断的需求不断增加。
随着网络的普及,通过局域网,因特网来传输诊断信息成为一种趋势,网络架构下的集成故障诊断系统成为新的研究热点,因此,建立远程分布式全系统智能诊断系统,可以实现异地多专家对同一设备的协同诊断以及多台设备共享同一诊断系统,提高诊断的准确率和效率,同时也有利于诊断案例的积累,以弥补单个诊断系统领域知识的不足,提高诊断的智能化水平,促进诊断学的综合发展[7]。
4.4.3 从单一专家系统到协同式专家系统
当前的绝大多数诊断专家系统,在规定的诊断领域内是一个“专家”,但是一旦越出该诊断范围,系统就可能无法工作,限制了系统的适用性。由于诊断的领域过窄,就很难获得满意的应用。
协同式专家系统是克服一般专家系统的局限性的一个重要途径。也被称作是“群专家系统”,由若干个相近领域或一个领域的多个方面的分专家系统组成, 这些分专家系统分别发挥其自身的特长, 解决某一方面的问题, 同时又相互协作。联合协作多专家系统的特点是: 每一个专家系统仅有一种问题求解方法, 但却充分了解自身的局限性以及协作专家的长处, 从而知道何时和怎样传递问题。其设计思想是:相应于问题状态空间, 生成一个协作求解的主专家集, 再根据每一位主专家在问题求解中的当前状况, 动态形成一个支持该主专家的辅助专家集。这种系统有时与分布式专家系统有些共性,因为他们都可能涉及多个子专家系统。但是这种系统更强调子系统之间的协同合作,而不着重于处理的分布和知识的分布。
评论
查看更多