1、11 绪论随着现代化大生产的发展,电子线路故障诊断技术的研究越来越重要。根据电子线路的特点可将电子线路故障诊断分为模拟电路的故障诊断和数字电路的故障诊断。在现代电子设备中,绝大部分电子设备故障是由于模拟电路故障导致的,可以说,模拟电路的可靠性几乎决定了电子设备的可靠性。1.1 模拟电路故障诊断的背景意义目前,模拟电路在航天、通信、自动控制、家用电器等许多方面得到广泛地应用。随着电子技术的发展,模拟电路的集成程度越来越高,规模越来越大。因此,对模拟电路的工作的有效性、可靠性、可维修性等提出了更高的要求。在模拟电路故障发生后,要求能及时将导致故障的原因诊断出来,以便检修和替换。对模拟电路的生产部门
2、来说,同样也要求能及时诊断出故障,以便改进工艺,提高产品的合格率。对于某些重要设备中的模拟电路,还要求进行故障的预测,即对正常工作中的模拟电路进行不断的检测,在元件发生故障前就进行替换,以避免故障的发生。根据电子技术的发展状况,由以下三点说明模拟电路故障诊断技术的紧迫性:第一,微电子学时代的到来,电子线路的复杂性和密集性明显增加, 成千上万个电路元器件集成在一个小芯片上,而对这些电路元器件的测试仅限于为数有限的引出端子之上,如此,通常的测量,微调的手段将不再实用甚至无济于事。第二,在无线电电子系统中, 数字电路不能完全取代模拟电路,数字电路的故障诊断方法也不能取代模拟电路的故障诊断方法。第三,
3、现代电子系统复杂度的增加,系统的可靠性显得更为重要,因此,必须提高电子系统的可靠性。综上所述,工业生产对模拟电路提出了新的要求,微电子技术的快速发展对模拟电路的测试和诊断也提出迫切的要求,这就使得科技人员不得不进一步探索模拟电路的测试和诊断上的新理论和新方法,研发新的测试和诊断设备以适应时代的需求。所以,开展模拟电路故障诊断的研究是一项非常有意义的课题。1.2 模拟电路故障诊断的发展与现状相对于数字电路故障诊断而言,模拟电路故障诊断的发展较为缓慢,其中主要原因有以下六点:1)故障状态的多样性。模拟电路的输入、输出信号和元件参数都是连续的,电路中任何一个模拟元件都有可能具有无穷多种故障状态,因此
4、,很难对模拟2电路故障进行模拟和仿真。2)诊断的信息量有限。由于实际条件的限制,模拟电路中的电流通常不容易测量,可测量的电压节点也往往是有限的,所以模拟电路供诊断的特征信息是有限的,这就容易造成故障定位的模糊性。3)存在容差。实际应用中的模拟电路元件都会有容差,即电路元件参数在其容差范围内有随机的偏移。电路中普遍存在的容差通常可等效为一个或者多个元件的“大故障” ,这就容易导致电路故障的可测性变差。4)非线性问题。模拟电路中通常含有非线性元件,因此模拟电路庞大的计算量是不可避免的。此外,模拟电路通常还包含大量的反馈回路,也增加了测试的复杂性。5)抗干扰能力差。模拟电路对环境变化非常敏感,易受热
5、效应和外界噪声等环境因素的影响。其输出响应也容易受到因为工艺偏差而引起的电路元件参数变化的影响。6)故障模型化困难。模拟电路的输入与输出之间的关系较为复杂并且模型化困难。可以成功应用在数字电路故障诊断中的模型并不能适用于模拟电路故障诊断,而模拟电路故障诊断至今仍然缺乏有效的通用的故障模型。以上六个方面的问题是模拟电路中普遍存在的问题,也是模拟电路故障诊断的难点。尽管存在这些困难,但仍然有许多研究者们致力于模拟电路故障诊断的研究。1960 年,R.S.Berkowitz 提出了关于模拟电路故障诊断的可解性分析1,研究出了无源线性集总电路元件可解性的必要条件,从此模拟电路故障诊断的理论研究开始了。
6、20 世纪 70 年代出现了一些新的故障诊断原理和方法,其中最突出的成果是参数辨识法与故障字典法,1979 年国际电气与电子工程师协会(IEEE)为这两项重要成果出版了模拟电路故障诊断的专辑 2,使得模拟电路故障诊断领域得到进一步的发展。但是这些方法不足之处在于要求电路具有较多的测试点,并且计算量大,难以在实际中得到应用。20 世纪 80 年代提出了一种新的故障诊断方法,即故障验证法,该方法的出现给故障诊断领域增添了新的活力,故障诊断的研究者们从故障诊断的实际出发,将研究的重点从求解全部元件值转变到求解一部分的元件值,以此来确定故障元件或者故障区域,并将之分成故障元件求值与故障定位两部分,大大
7、减小了计算量,削弱了诊断条件。1985 年,J.W.Bandler 与 A.E.Salama 对模拟电路故障诊断的理论做了系统的论述 3,模拟电路故障诊断理论从此形成了。20 世纪 90 年代初期,伴随人工智能技术的发展,尤其是人工神经网络在不同领域里的广泛运用,故障诊断技术也向着智能化的方向发展。利用神经网络来完成故障状态的分类和故障字典的查询,既提高了故障诊断效率,同时利用神经网络所具有的泛化能3力,使得实现对电路软故障的诊断成为可能。在国内,对模拟电路的测试与故障诊断的研究一直都是被关注的研究方向。自 80 年代末以来,国内相继出版了杨士元 4等人的专著。近年来发表了一系列关于应用神经网
8、络的模拟故障诊断的学术论文。提出了基于神经网络的五种模拟电路故障诊断的方法:一是提出了采用模糊神经网络对模拟电路进行故障诊断的方法,但隶属度函数的选取问题仍然是一个难点;二是采用遗传算法对BP(Back-Proparga-tion) 网络进行辅助设计和优化之后,再进行模拟电路故障诊断的方法;三是构造了一种新型神经网络电路故障诊断专家系统,但仅给出理论框架,离实验还有一定的距离;四是分别使用小波变换和小波包变换对输出电压响应的故障特征进行提取,提出了基于小波变换和神经网络的模拟电路故障诊断方法;五是构造模糊 BP 网络故障分类器融合被诊断元件的 2 个物理量(温度和电压),以确定故障元件。本文采
9、用两种方法进行模拟电路故障诊断研究:一种是基于 BP 神经网络的模拟电路故障诊断方法;另一种是先利用遗传算法优化 BP 神经网络,然后再利用优化后的网络进行模拟电路故障诊的方法。1.3 研究内容与论文组织本文主要是利用神经网络进行模拟电路故障诊断的研究,采用 BP 和 GA-BP 两种网络对模拟电路故障进行了诊断,仿真效果表明基于神经网络的模拟电路故障诊断系统不但诊断速度快而且准确度高,具有广阔的应用前景。本文的各章节组织安排如下:2 人工神经网络简介人工神经网络(Art1ficial Neural Network,简称 ANN)是模仿生物大脑的结构和功能,由大量类似于生物神经细胞的非线性处理
10、单元(人工神经元)相互联接而成的网络,简称神经网络。2.1 神经网络发展及其特点2.1.1 神经网络发展过程神经网络的研究至今已有七十多年的历史,下面分三点进行阐述。(1)发展初期心理学家 W.Mcculloch 和数学家 W.Pitts 在 1943 年合作提出了形式神经元的数学模型(MP 模型) 5,从此开创了神经网络的研究。心理学家 D.Hebb 在1949 年指出 6神经元之间突触联系强度可变的假设,即改变神经元连接强度的Hebb 规则,为神经网络的学习算法奠定了基础。计算机学家 Rosenblatt7 在41957 年提出感知器(Perceptron)模型,第一次把神经网络研究从纯理
11、论的探讨付诸于工程实践。Widrow 在 1960 年提出了自适应线性元件( Adaline) 8,它是连续取值的线性网络,主要应用在自适应系统中,这与当时占主导地位的以符号推理为特征的传统人工智能途径完全不同,因而形成了神经网络研究的高潮。(2)低潮时期Minsky 和 Papert 在 1969 年出版了一本关于感知器的书籍 9,发现了感知器存在一些不足,如对于求解异或问题,因而研究工作趋向低潮。不过仍有不少学者继续研究神经网络。Grossberg 10提出了自适应共振理论;Kohonen 提出了自组织映射网络模型 111213;Fukushima 提出了神经认知机网络理论等。这些都是在
12、20 世纪 70 年代和 20 世纪 80 年代初进行的工作。(3)第二次高潮时期进入世纪 80 年代,神经网络研究再次高潮。美国物理学家 Hopfield 在1982 年提出了 Hopfield 神经网络模型 14,有力地推动了神经网络的研究。他引入了“计算能量函数”的概念,给出了网络稳定性判据。在 1984 年他用此模型成功地解决了复杂度为 NP 的旅行商问题(TSP) 。Felemann 和 Balllard 的连接网络模型指出了传统的人工智能计算与生物计算的区别,给出了并行分布的计算规则。1986 年,Rumelhart 等人提出并行分布处理(PDP)的理论,同时提出了多层网络的误差反
13、向传播学习算法,简称 BP 算法 15。这种算法根据学习的误差大仙,把学习的结果反馈到中间层次的隐单元,改变他们的权系数矩阵,从而达到预期的检测目的,解决了多层网络的学习问题。BP 算法从实践上证明了神经网络的运算能力很强,可以完成许多学习任务,解决许多具体问题。BP网络时迄今为止最常用、最普通的网络。(4)新的发展阶段上世纪 90 年代,Narendra 和 Parthasarthy 提出了推广动态神经网络系统及其连接权的学习算法 16,其具有非线性特性,增强了神经网络的鲁棒性。另外,在 1995 年,Jenkins 提出了光学神经网络 17,可以发挥光学的互连能力和并行处理能力,加强了神经
14、网络的自适应能力与学习能力,光学神经网络的神经元之间的连接权不但数量大而且动态控制结合强度,可以实现高速运算,极大地促进神经网络的发展。在国内,对神经网络的研究开始于 20 世纪 80 年代末,中科院的汪云九先生起到了先导作用 18。1997 年,申金媛提出了多目标旋转不变分类识别的新方法,也就是基于联想存储级联 WTA 模型的旋转不变识别 19。在识别多模式时可以联想到一个模式,采用全单极的形式,对互连权值实行二值化截取,同时5把联想存储模型和 WTA 模型级联起来,如此,提升了存储容量和容错性。1994 年,廖晓昕对细胞神经网络提出了新的数学理论 20,推动了该领域的发展。吴佑寿提出了传递
15、函数可调的神经网络,这对神经网络理论的发展具有十分重要的意义。以上研究开拓了神经网络的应用领域。2.1.2 神经网络的特点神经网络模拟了生物神经系统的一些特征,从而具有一些与传统数字计算机不同的特点,具体有下面几点:(1)非线性映射从本质上而言,神经网络就是一个非线性系统,可以实现从输入空间到输出空间的非线性映射,具有较强的非线性信息处理能力。工程界普遍面临的问题就是寻求输入空间到输出空间之间的非线性关系模型,神经网络可以很好地模拟大部分无模型的非线性系统。(2)固有的并行结构神经网络在结构上是并行的,在信息处理顺序上也是并行的,神经网络同一层内的神经元都是同时工作的。因此,利用超大规模的集成
16、硬件实现的神经网络可以大大提高信息处理速度。(3)泛化能力神经网络的泛化是指对不在训练样本集中的数据,网络也可以产生合理的输出。神经网络信息分布存储的特征,使之对外界输入信息和输入模式具有联想记忆的能力。(4)容错性神经网络具有天生容错的能力(也称鲁棒性) ,即其性能在不利于运行的条件下是逐渐下降的,如果一个神经元或者神经元的连接被损坏了,则存储模式的记忆能力将会降低。由于神经网络信息分布式存储的特性,在网络的严重恶化之前这种破损是分散的。因此,神经网络的性能是一个缓慢变化的过程而不是灾难性的改变。为确保神经网络的容错性,在设计神经网络的算法时应进行正确的度量。(5)自适应性由于神经网络经过学
17、习可以调整自身的突触权值和阈值,从而具备适应外界变化的能力。神经网络的自适应性主要体现在学习性、可训练性、自组织能力以及推理能力这四个方面。62.2 神经网络原理2.2.1 神经网络基本结构单元神经元是神经网络的基本单元,它类似于生物体的神经系统基本单元,神经元是一个多输入单输出的结构,其功能是模拟生物神经元最基本的特征,图 1 为神经网络中的第 个神经元的结构示意图。i神经元是一个多输入、单输出的非线性元件,其输入输出关系可以描述为(1)1()nkiiifpwyb其中, 为的输入信号, 为神经元单元阈值, 为神经i12n=,.pPi ikw元的连接输入信号的权值, 为输入信号数目。 为神经元
18、输出, 为激活函iy()f数,也称为传递函数。激活函数不仅是一个神经元的核心也是神经网络的核心,其特性曲线光滑且可导,它是神经网络具有非线性分类能力的根源。通常,称一个神经网络是线性还是非线性是由神经网络神经元所具有的激活函数的线性或非线性来决定的。在实际应用中,最常用的输出函数是 Sigmoid 函数函数,常用的有线性型、阈值型和 S 型 (Sigmoid)等。常用激活函数的表达式为:(1)线性型神经元函数 连续取值,输入 有连接矩阵加权 产生输出,其激活函数表fxw达式为:(2)()fk线性激活函数可以获得较大值域范围。(2)阈值型这是一种非线性模型,改函数有两种不同取值情况:一种是当输入
19、为 ,输x出值为+1 或-1 时, 的表达式为()fx(3)1,0()xf第二种情况是当输入为 ,输出值为 1 和 0 时, 的表达式为:x()fx(4),()xf(3) S 型S 型函数是连续单调可微的函数,也有两种表达式:一种是对数 sigmoid 函数,即 logsig 函数,输出取值范围为(0,1) 。当输入为 , 的表达式为x()f7(5)1()xfe第二种是正切 sigmoid 函数,即 tansig 函数,输出取值范围为(-1,1) ,输入为 , 的表达式为:x()f(6)()xef2.2.2 神经网络的构成神经网络是由许多互相连接的神经元构成的网络。按神经元连接方式的特别痛可以
20、把神经网络的拓扑结构分为两大类,即层状结构与网状结构。层状结构的神经网络是由若干层构成的,其中第一层是网络的输入层,最后一层是网络的输出层,在输入层与输出层之间的是网络的隐含层。神经网络的每一层都包含了一定量的神经元。每一层神经元与前一层神经元的输出相连接,而同一层内的神经元互不连接。按照层与层之间是否存在反馈连接,又可以把层状结构的神经网络分成两种,即前馈网络和反馈网络。前馈网络(又称前向网络)的特点是相邻两层之间的神经元互相连接,各神经元之间无反馈。网络中的每个神经元可接收来自前一层的多个输入,并产生一个输出传给下一层的神经元,输入信息只能从输入层开始一层一层向前传递。反馈网络在网络的输出
21、层与隐含层之间或在隐含层与隐含层之间存在反馈连接,即网络中的神经元同时接收来自前一层神经元的前馈输入和来自后一层神经元的反馈输入。Hpofield 网络就是一种最典型的反馈神经网络。此外,递归神经网络(Recurrent Neural Network,简称 RNN)也是目前一种常用的反馈网络。网状结构的神经网络(又称互联网络)的特点是在任何两个神经元之间都具有双向的连接关系,即每个神经元既可以是输入节点,也可以是输出节点。因此,输入信号在各个神经元之间反复传递,从初始状态开始,直到趋于某一稳定状态或进入周期振荡状态为止。随着神经元个数的增加,互联网络的结构会快速复杂化,将会增加网络的计算量。2
22、.2.3 神经网络的学习机制神经网络的权值和阈值反映了神经网络的存储信息,在神经网络的结构和激励函数确定了以后,必须经过学习,使网络权值和阈值的分布达到某种输入输出关系的要求。学习就是应用一系列的输入矢量样本,通过预先确定的学习算法来调整网络的权值和阈值。神经网络的学习算法可分为有监督学习和无监督学习两大类。有监督学习中,需要为学习规则提供一系列正确的网络输入/输出的实例,即训练样本。如 ,其中, 分别表示网络12,.,.,iRpttptt,ipt8的输入和相应的期望输出。当网络输入时,将网络输出和相应的期望值进行比较,然后应用学习规则调整权值和阈值,使网络的输出接近于期望值。误差反向传播算法
23、,即 BP 算法是一种有监督学习算法。无监督学习中,权值和阈值的调整只与网络的输入有关系,没有有效的期望值。在学习过程中,根据某种规则反复调整网络权值和阀值,直到趋于某种稳定的状态。这类算法大多用聚类法,将输入模式归类于有限的类别,尤其应用于向量中。Hebb 学习规则是一种典型的无监督学习算法。神经网络经过学习后,权值和阈值中储存了学习样本中信息,就可以根据新输入矢量,给出相应的输出矢量。3 基于 BP 神经网络的模拟电路故障诊断3.1 BP 神经网络BP 网络是一种多层前馈型神经网络,它可以实现从输入到输出的任意非线性映射。由于权值的调整采用误差反向传播,因此称其为 BP 网络。目前,在人工
24、神经网络的应用中,绝大部分的神经网络模型都采用 BP 网络及其变化形式。它也是前向网络的核心部分,体现了人工神经网络的精华。BP 网络主要用于以下四方面:函数逼近:用输入矢量和相应的输出矢量训练一个网络以逼近一个函数。模式识别:用一个待定的输出将它与输入联系起来。分类:把输入矢量所定义的合适方式进行分类。数据压缩:减少输出矢量维数以便于传输或存储。3.1.1 BP 神经网络结构BP 神经网络通常是由输入层、隐含层和输出层组成, 根据具体问题的需要,网络可以含有多个隐层。BP 网络的层与层之间互相连接 ,每层神经元之间无连接。网络输入层的神经元个数取为输入向量的维数,网络输出层神经元的数目取为输
25、出向量的维数。网络隐层神经元个数的取值目前还没有一个确定的标准来确定,其值通常是通过反复地试验试凑之后,将最适合网络的隐层节点数目作为最终选择。本论文选择具有双隐层的 BP 神经网络进行说明 ,其拓扑结构如图 2所示。第一层为网络的输入层,有 R 个输入、s 个神经元,第二层有 s 个输入、h 个神经元,第三层有 h 个输入、k 个神经元,第四层为网络的输出层。3.1.2 BP 神经网络的训练(1)BP 算法基本思想9BP 神经网络主要由三大部分组成,即网络的拓扑结构、各层神经元的传递函数(也称激励函数)和学习规划。BP 神经网络的学习过程如图 3 所示,一般工作顺序为:首先接收一组训练样本集
26、的输入,再依次计算网络各层的输出,完成前向过程(Forward Pass) ;然后根据网络的实际输出值与期望输出值,计算网络的误差;最后根据误差反向传播的规则,依次调整输出层和隐层之间、各个隐层之间以及隐层与输出层之间的权值和阈值,以达到减少误差的目的,完成误差反向传播过程(Error Back Propagation) 。由于网络输出误差是由网络的输入、输出以及期望输出所决定的,而网络的权值和阈值又是按照误差来调整的,所以这三者的所有信息都存储在网络的权值和阈值中。随着网络学习过程的进行,各层之间的权值不断地调整,误差会不断地减小,最后网络的输出将以设定的精度接近于网络的期望输出。网络学习过
27、程结束以后,已被学习的样本的有效信息会被存储到网络的权值中,当有相似的输入时,BP 神经网络就会有相近的输出。训练过程 计算误差X 1X 2X 3输入权值修正期望输出y 1y 2计算过程输出输入层 隐层 输出层图 3 BP 神经网络学习过程(2) BP 算法BP 神经网络学习规则的基本思想是:对网络的权值和阈值的调整是向着函数下降最快的那个方向,即负梯度方向。(7)1kkxg其中, 表示为当前网络的权值和阈值矩阵, 表示为当前表现函数的梯kx k度, 表示为网络学习速度。下面详细介绍 BP 算法的推导过程。k本文以三层 BP 网络为例进行说明,设第 个输入节点为 ,第 个隐层节iixj点为 ,
28、第 输出节点为 。输入节点 到隐层节点 间的网络权值为 ,阈值jyllzijjiw为 ;隐层节点 到输出节点 间的网络权值为 ,阈值为 。当网络输出节点jj ljvl期望值为 ,输出节点总数为 个,模型的计算公式为:ltn(50)BP 网络学习算法的具体步骤如下:a) 网络初始化,主要包括确定网络各层的神经元个数,设定目标精度和迭代次数,进行权值和阈值初始化;10b) 输入训练样本集供 BP 网络学习;c) 计算网络各层的输出;d) 将网络实际输出值与期望值比较,求各层的输出误差;e) 如果实际误差小于设置的误差精度或者迭代次数达到了预设的次数,则停止,否则,则继续下一步;f) 将计算误差进行
29、反向反馈调整网络的权值和阈值;g) 重复进行步骤 b)e) 。BP 算法的程序流程如图 4 所示。(3)BP 算法特点从本质上来说,BP 算法就是将样本的输入输出问题转变成非线性优化的问题,其使用了优化技术中的梯度下降算法,利用迭代运算来求解权值,就相当于学习记忆。其主要特点是实现起来简单,学习时间长。BP 网络的学习过程就是求一个非线性函数的全局最优解的过程,倘若陷入局部最优值,则达不到学习目的。(4)改进的 BP 算法BP 算法本质上为梯度下降法,其所要求的目标函数又较为复杂,这必会导致 BP 算法的效率较低。为加快 BP 网络的学习速度,研究者们提出了许多改进算法。BP 算法的改进主要包
30、括两种途径:一种是使用启发式学习算法,即分析表现函数的梯度,其中含有弹性梯度下降法(trainrp) 、自适应学习速率梯度下降法(traingda)、有动量的梯度下降法( traingdm)等。另一种途径为基于数值最优化理论的学习算法,其中含有高斯-牛顿法、共轭梯度法和 Levenberg-Marquardt 方法。由于弹性梯度下降法具有简单易行、收敛速度快等优点,本文后面将用这种改进算法作为 BP 网络的训练函数,下面对该方法进行详细地介绍。将弹性梯度下降法作为 BP 网络的训练函数时,网络权值的调整仅由目标函数偏导数的符号决定,而不必考虑函数偏导数的幅值。其基本原理是:权值和阈值的变化大小由不同的修正值决定。当前两次训练时导数的正负号没有改变,权值和阈值的修正值随着参数 增加;当前两次训练时导数的正负号有_deltinc改变,权值和阈值的修正随着 减小;如果导数为零,则修正值不变。这样调整的结果是,权值的变化呈震荡的趋势,不过权值的变化量逐步减小了。如果权值变化连续几次都在同一个方向,则增加权值的变化量级。弹性梯度下降法的迭代公式为:(51)(1)()()wkwksignfkA其中, 表示前一次的修正值, 为目标函数的梯度。()kf