欢迎来到天天文库
浏览记录
ID:22458772
大小:54.00 KB
页数:6页
时间:2018-10-29
《基于神经网络的模拟电路故障诊断方法应用研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
基于神经网络的模拟电路故障诊断方法应用研究:随着微电子技术的迅猛发展,模拟电路的诊断研究领域面临挑战,本文研究旨在将神经X络和模拟电路故障诊断将结合,探求模拟电路故障诊断的方法,文中以某模拟电路为例采用MATLAB软件对样本进行训练,通过学习,调整X络阈值,向X络输入待识别的样本特征参数,计算出X络的输出值,仿真结果表明,利用神经X络的理论对模拟电路故障的诊断方法具有可行性和可靠性。 关键词:模拟电路神经X络故障诊断 :TN707:A:1007-9416(2011)11-0225-02 1、引言 20世纪60年代初,人们就开始着手对电路故障自动诊断进行研究,模拟电路中的元件具有容差和非线性等原因,使得模拟电路的故障诊断复杂,发展较缓。而以非线性数学理论为基础的神经X络科学,为模拟电路故障诊断提供了新的思路。 神经X络是一种非线性动态运算模型,模仿人脑工作,突出的分布式存储和并行协同处理信息的能力,使它在复杂环境、未知背景、不规则问题方面得到了较广的应用,将神经X络应用故障诊断就是最好的例子,神经X络高度的自学习和自组织能力,使得这一运算模型具有全局性,这一特性成为故障诊断的有效手段,基于神经X络的模拟电路诊断方法以测试得到的过程参量为依据,通过神经X络模型将测量空间和故障空间建立关联,从而做出电路故障诊断。 2、神经X络 1986年Rumelhant和Mcllelland科学家提出的BP(BackPropagation)神经X络,是一种按误差反传算法训练的多层前向X络,是当前使用最广泛的神经X模型,无需事前知道输入和输出之间的映射关系,能够进行自学习。 BP神经X络是由一个输入层、多个隐含层和一个输出层组成的多层前馈X络,如图1所示神经X络输入节点为是神经X络的第零层,不具备计算功能,各层节点表示具有计算功能的计算单元,图示X络由前至后依次为第1到第N层,构成m层前向X络,X络输出为,X络中的第一节点层和输出节点层为可见层,中间层称为隐含层,由上图看到,神经X络通常有一个或者多个隐含层。 BP神经X络在学习过程中分为正向和反向两个过程,信号样本值从输入层输入,经多层隐层处理后到达输出,这个过程是正向传输,当输出和期望值不一致时,信号转向反向传播,此时将输出误差通过多节隐层逐层向前传输,在这一过程中,输出误差会分摊到各层单元,这也作为修正各单元权值的依据,信号的正向传输和误差的反向传输共同构成了神经X络的学习过程,这个过程不断循环进行,权值逐步修正,最终使得误差达到一个可接受的值,正是由于这一学习过程,使得神经X络具备高度自我调整的能力。 通过上面的分析得出神经X络的误差是各层权值和输入样本的函数,如函数式1,误差函数E在多维空间中是一个复杂曲面,曲面平坦的区域表示误差下降缓慢,对权值的变化不敏感,这个曲面中也存在凹凸,低凹点即函数的极小点,此处误差梯度为0,当模型训练过程中常会陷入这些极小点,很难收敛于给定值,标准的BP算法一种简单的快速下降寻优算法,它没有考虑到以前积累的经验,表现为收敛速度慢、出现局部极值等现象。 通过上面的分析得出神经X络的误差是各层权值和输入样本的函数,如函数式1,误差函数E在多维空间中是一个复杂曲面,曲面平坦的区域表示误差下降缓慢,对权值的变化不敏感,迭代次数增多,调整时间长,这个曲面中也存在凹凸,低凹点即函数的极小点,此处误差梯度为0,当模型训练过程中常会陷入这些极小点,很难收敛于给定值,标准的BP算法一种简单的快速下降寻优算法,它没有考虑到以前积累的经验,表现为收敛速度慢、出现局部极值等现象。 将神经X络应用于电路故障诊断时,需要注意以下几个方面: 2.1调整步长 标准BP算法中,步长(也称学习速率)是固定值,在模拟电路故障诊断过程中,就很难找出一个合适的值去适应整个电路X络的误差调整,结合前面误差曲面的分析,对于平坦区域,步长太小使得训练次数增大,这时希望值大一些;在凹凸区域,步长太大会出现跨过较窄的凹处,出现震荡训练,增加了迭代次数,不同的区域对步长有不同的要求,学习速率最好能够具备自适应的能力,加速收敛。比如可以根据X络总误差来调整:在X络经过一次权值调整后,若增加,则本次调整无效。若总减小,则有效。 2.2增加动量项 标准BP算法在调整权值时,不考虑t时刻以前误差的梯度方向,只对t时刻的梯度下降方向做调整,这样的调整会使学习过程产生振荡,收敛变缓,为了改善这一情况,在权值项中增加动量项,如公式2,称为动量系数,定义动量项反映了以前积累的调整经验。当误差梯度出现局部极小时,虽然,但,使其跳出局部极小区域,加快迭代收敛速度。 2.3引入陡度因子 在误差函数曲面上的平坦区域,由于转移函数S的饱和特性使得调整权值过程较缓,所以引入陡度因子来防止饱和,具体方法是当训练到达平坦区,通过压缩净输入,使得输出结果远离转移函数S的饱和区,具体如下: 而仍较大时,进入平坦区,此时,令>1;当退出平坦区后再令=1,使转移函数恢复原状。 3、仿真研究 应用神经X络检测电路故障首先要依据经验,在给定激励下,求出各种状态(包含正常状态和故障状态)下的理论输出值作为样本值输入到神经X络进行训练,确定适合给定电路的神经X络,诊断时,在同样激励下,将测出的输出实际值输入已经训练好的神经X络,经过X络的学习,得出模拟电路对应的故障。本文选择图2所示电路来验证前向神经X络对模拟电路故障诊断的有效性。 给图2所示电路输入端Vin加3V的激励,测试频率分别为10kHz、22kHz、32kHz,取为输出点,当各元件出现故障时,输出点对应不同频率的激励产生的电压值作为故障信息,对应3个频率的故障信息形成一个3维故障特征向量,其中为第个测试频率下获得的输出值。电路故障诊断的设计与训练在MATLAB环境下进行,将样本集输入神经X络,均方误差设定为0.01,学习速度为1.2,动量因子0.3,误差变化曲线图如图3所示。 为了更好的比较学习速度对BP神经X络以及误差变化曲线的影响,特保持其他数值不变,而将学习速度分别调整为1.0和0.3,对BP神经X络进行训练,误差变化曲线分别如图4和图5所示。 由以上3个图对比可见,学习速度的改变对误差变化曲线影响很大。虽然在误差曲线的平坦区域内,我们希望学习速度增大,从而可以减少训练次数,减短训练时间,但在误差变化剧烈的区域,当学习速度太大时,误差变化曲线会一直振荡并难以收敛,这样就会影响神经X络对训练样本集序列的学习和训练。 4、结语 针对模拟电路的非线性特点,通过调整步长、增加动量项、引入陡度因子改善神经X络的适应性,将改进神经X络的方法引入模拟电路故障诊断中,使得X络能够快速收敛,本文在matlab环境下通过测试实验电路验证了神经X络诊断模拟电路的优良性能。
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处