基于GA-LMBP算法的模拟电路故障诊断方法

时间:2022-05-11 09:21:03

基于GA-LMBP算法的模拟电路故障诊断方法

摘 要:主要分析遗传算法和BP神经网络的特点和存在的一些缺陷,研究遗传算法和改进型的BP算法相结合的相关技术,设计并实现一个基于遗传算法和LMBP算法相结合的GA-LMBP算法。通过诊断实例,比较三种算法的模拟电路故障诊断,结果证明在相同精确度的要求下,基于GA-LMBP的算法可以大大提高模拟电路故障诊断准确率。

关键词:遗传算法;神经网络;模拟电路;故障诊断

中图分类号:TP183文献标识码:A

文章编号:1004-373X(2010)04-177-03

Analog Circuit Fault Diagnosis Method Based on GA-LMBP

WU Xihua,XIE Lili,GE Maoyan

(College of Automation,Northwestern Polytechnical University,Xi′an,710129,China)

Abstract:The characteristics and defects of genetic algorithm and BP neural network are analysed,the related technology on the genetic algorithm and the improved BP algorithm are researched,GA-LMBP based on genetic algorithm and Levenberg-Marquardt BP is designed and implemented.It′s shown by an example analog circuit that the algorithm based on GA-LMBP can improve the accuracy of analog circuit fault diagnosis under the same precision request.

Keywords:genetic algorithm;neural network;analog circuit;fault diagnosis

将BP神经网络用于模拟电路故障诊断,目前已经取得了较好的效果,但是在许多方面,还存在许多不足之处,需要进行优化,以便对模拟电路的诊断取得更好的效果。传统的BP算法理论具有以下缺点:收敛速度慢;容易陷入局部极小值;难以确定隐含层数和隐含层节点个数。在实际应用中,传统的BP算法很难胜任。因此,可以将优秀的BP的改进型算法LMBP应用于模拟电路的故障诊断中。可以采用遗传算法对BP网络进行优化,从而避免了BP算法的学习结果对初始值向量异常敏感,即不同的初始值可能导致完全不同的结果,同时可能避开局部极小。

1 遗传算法而和LMBP网络[1]

1.1 遗传算法

遗传算法是一种用于全局优化搜索的迭代算法,它将生物进化过程抽象地描述为复制、交叉、变异三个算子。该算法在每一次迭代时都拥有一组解答,这组解答最初是随机生成的,在每次迭代后又有一组新的解答由模拟进化和继承的遗传操作生成,每个解答都由一个目标函数给予评价,而且这一过程不断重复,直至达到某种形式上的收敛。新的一组解答不但可以有选择地保留一些目标函数值高于旧的解答,而且可以包括一些经由其他解答结合而得到的新的解答。

因为遗传算法在每一次迭代进化过程中都是把有竞争力的基因保留,这就意味着遗传算法的结果总是在寻找该评价函数意义下的最优值而这种寻优在数学上是可以证明的,所以将遗传算法运用于寻优过程是可 靠的、鲁棒的算法的几个关键问题分别是编码方案的选取、参数的选择和适应度函数的确定。

1.2 LMBP神经网络

BP神经网络是应用最广泛的一种人工神经网络,现已广泛应用于模式识别、信号处理、自适应控制策略等方面其主要的学习过程是:将输入模式从输入层经隐含层单元逐层处理,并传向输出层,每层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出,则将误差信号沿原来的连接通路反向传播,通过修改各神经元的权值,使信号最小。

由于常规的BP算法存在以下缺点:收敛速度缓慢;容易陷入局部极小值;难以确定隐含层数和隐含层节点个数。LMBP算法是基于数值优化的改进算法,即从大量的数值优化技术中遴选出快速训练算法,在一定程度上提高了网络的训练速度。相对基本的BP算法,LMBP算法的改进思想是变化最大的。它将基本算法中对误差的平方求导变为对误差的求导,成功地提高了网络的收敛速度。LMBP是BP网络的Levenberg-Marquardt 优化算法, 其权重和阈值更新公式为:

X(k+1)=X(k)-(JTJ+μI-1)JTe

式中:J为误差对权值微分的雅可比矩阵;e为误差向量;μ为一个标量。依赖于μ的幅值,该方法光滑地在两种极端情况之间变化:即牛顿法(当μ0)和著名的最陡下降法(μ∞),因此它是牛顿法和最陡下降法的有效折中,既具有牛顿法的速度优势,又具有最陡下降算法保证收敛的特性,而且特别适合对性能指数是均方误差的网络进行训练。随着μ的增大,JTJ项可以忽略,因此在学习过程中主要根据梯度下降,即μ-1Je项。只要迭代使误差增加,μ也会增加,直到误差不再增加为止。当已经找到最小误差时,μ也会很大,使μ-1Je接近于零,则学习过程停止。采用Levenberg-Marquardt 优化方法,可以使学习时间更短,在实际应用中,效果较好。

2 遗传算法和LMBP算法相结合的混合算法

2.1 GA-LMBP算法的设计

这里采用遗传算法对神经网络的连接进行优化,以提高模拟电路故障诊断的效率。本文采用遗传算法和LMBP算法的混合算法,即首先通过遗传算法优化确定BP神经网络的初始值,确定一个较好的搜索空间,代替一般初始权值的随机选取,然后应用LMBP算法在这个局部解空间里对网络进行精调,搜索出最优解或者近似最有解。这样实现了两者的优势互补,发挥了神经网路的广泛映射能力和遗传算法的全局搜索能力,加快了网络的学习速度,综合提高了整个学习过程中的逼近能力和泛化能力。其具体设计实现如下[2]:

2.1.1 染色串与权系值的编码映射

考虑到一个输入节点为n,隐层节点为q,输出节点为m神经网络,BP神经网络训练结果将生成4个矩阵:

(1) 输入层到隐层的权值矩阵:

v=v11v12…v1q

v21v22…v2q

螃螃螃

vn1vn1…vnq(1)

(2) 隐层的阈值矩阵:

h=h1

h2

hq(2)

(3) 隐层到输出层的权值矩阵:

ω=ω11ω12…ω1m

ω21ω22…ω2m

螃螃螃

ωq1ωq2…ωqm(3)

(4) 输出层阈值矩阵:

o=o1

o2

om(4)

为了利用遗传算法进行LMBP网络的权值和阈值优化,即上述四个矩阵v,ω,h,o的优化,必须考虑将以上四个矩阵转换成方便遗传算法操作的染色体码链。编码的映射关系如如图1所示。

图1 染色体与权值及阈值映射关系

2.1.2 适应度函数的设计

遗传算法的搜索目标是所有进化中使网络的误差平方和最小的网络权重,而遗传算法只能朝着使适应度函数值增大的方向进化。所以根据产生的权值以及阈值所对应的神经网络,计算出LMBP网络的误差平方和,适应度函数采用误差函数的倒数,表述如下:

E(Xi)=12∑pp=1∑mj=1(tpj-ypj)

f(Xi)=E(Xi)-1(5)

式中:tpj为p训练样本时第j个输出节点的输出值;ypj为标准输出值;p为训练样本个数;m为输出层神经元数; i=1,2,…,L,L为种群规模。

2.2 GA-LMBP算法

(1) 初始化样本数据,具体工作是:将样本数据录入到输入矩阵inputs(s=1,2,…,i)和输出矩阵outputs(s=1,2,…,j)(这里假定输入层节点为i个,输出层节点为j个,样本个数为p),设定学习速率为α和β;同时随机生成的染色体数据为λs(s=1,2,…,L),并设定交换概率为pc和变异概率pm;

(2) until满足性能要求,do;

(3) begin;

(4) for I step=1to L do;

(5) 将本次操作的染色体通过编码映射生成矩阵v,ω,h,计算每一样本的输出并计算出每一样本的输出误差及误差总和。其中,每一样本的输出误差是:Δdi=∑jm=1(yxm-ym)2。式中:yx是计算的输出;y是样本输出。所有样本的输出误差总和是z=∑pi=1Δdi;

(9) 根据z,结合式(5)算得本染色体的适应度函数f;

(10) end;

(11) 此时,根据各个染色体的适应度函数值,利用法进行复制操作;

(12) if(需要交换);

(13) begin;

(14) 对这些染色体进行交换操作;

(15) end;

(16) if (需要变异);

(17) begin;

(18) 对这些染色体进行变异操作;

(19) end;

(20) end。

3 诊断实例

两级PC耦合放大器电路如图2所示。样本数据归一化处理如表1所示。

图2 两级PC耦合放大器电路图

表1 样本数据的归一化处理

状态序号故障状态V1V2V3V4V5V6

0正常0.235 2180.496 9470.198 8290.305 4390.748 1250.273 162

1Q1BES0.000 0001.000 000.222 4300.305 4390.748 1250.273 162

2Q1CES0.245 9310.297 9310.283 0270.305 4390.748 1250.273 162

3Q1BCS0.302 4540.302 4650.264 7310.305 4390.748 1250.273 162

4Q2BES0.235 2180.496 9470.198 8290.000 0001.000 0000.030 148

5Q2CES0.235 2180.496 9470.198 8290.325 3260.516 6320.520 978

6Q2BCS0.235 2180.496 9470.198 8290.522 3690.543 4780.483 195

7C2SC0.024 563 10.000 0000.000 0000.305 4390.748 1260.273 162

8C3SC0.325 4110.466 8340.198 7450.452 4340.617 1650.273 162

9C4SC0.235 6410.496 9470.198 8290.028 5210.000 0000.000 000

10R1SC1.000 000.934 9580.939 2710.305 4390.748 1250.273 162

11R3SC0.235 4841.000 0000.199 8330.305 4390.748 1250.273 162

12R30C0.049 6850.014 3870.017 8090.305 4390.748 1250.273 162

13R40C0.023 9531.000 0001.000 0000.305 4390.748 1250.273 162

14R5SC0.235 2180.496 9470.198 8291.000 0000.936 3220.896 346

15R7SC0.235 2180.496 9470.198 8290.305 4391.000 0000.273 162

16R80C0.235 2180.496 9470.198 8290.325 3261.000 0001.000 000

这里选取具有广泛代表作用的两级RC耦合放大器在众多的模拟电路作为诊断实例。通过PSpice对电路进行仿真,对BP算法和LMBP算法及GA-LMBP算法的对比,验证了该算法的有效性。

表2 诊断方法性能分析

诊断方法 BP算法LMBP算法GA-LMBP算法

误差0.0010.0010.001

迭代次数1038352 487

故障诊断正确率77%75%83%

从表2中可以看到,在误差同为0.001的情况下,采用BP算法经历了1 038次迭代,诊断正确率为77%;LMBP方法仅用了279次迭代即收敛,且诊断的正确率为75%,该方法的收敛速度有了明显的提高;而采用GA-LMBP诊断方法,收敛过程的迭代次数为585次,其收敛速度不如LMBP算法快,但比BP诊断方法具有了较大提高,并且从故障诊断正确率来看,是三种诊断方法中最高的,GA-LMBP算法明显优于LMBP算法。

4 结 语

遗传算法和改进型的BP神经网络都是基于生物基础上的科研成果,由于各自都具有一些缺点和不足,将二者结合在一起,发挥了各自的优点,通过对模拟电路的故障诊断分析,提高了故障诊断的正确率,对模拟电路的故障诊断诊断有一定的指导意义。

参 考 文 献

[1]周世官,张云.基于进化神经网络的模拟电路故障诊断[J].计算机测量与控制,2007,15(8):991-993.

[2]王晓明,亓学广,王霞.改进的LMBP算法收敛速度方法研究及仿真[J].电测与仪表,2008(9):21-24.

[3]姬昕禹.基于神经网络方法模拟电路的故障诊断应用研究[D].西安:西北工业大学,2007.

[4]厉芸.基于神经网络和模拟电路故障诊断方法研究[D].长沙:湖南大学,2005.

[5]王承,谢永乐.基于小波神经网络的模拟电路IDDT故障诊断[J].仪器仪表学报,2005,26(11):1 106-1 108.

[6]彭卫超,李力争,胡燕瑜.模拟电路故障信号的小波预处理[J].中南大学学报,2008,39(9):584-589.

[7]王承,谢永乐.小波神经网络在模拟电路故障诊断中的应用研究[J].系统仿真学报,2005,17(8):1 936-1 939.

[8]何怡刚,梁戈超.模拟电路故障诊断的BP神经网络方法[J].湖南大学学报,2003,30(5):35-39.

[9]Gomm J B.On line Learning for Fault Classification using an Adaptive Neural Fuzzy Networks[A].Pro.of IFAC World Congress[C] USA:SanFrancisco,1996:175-180.

[10]Zhang J,Morris A J,Martin E B.Process Fault Detection and Diagnosis using Neural Fuzzy Networks[A].Proc.of IFAC World Congress[C].USA:SanFrancisco,1996:169-174.

上一篇:电流激励蔡氏电路混沌的解析预测 下一篇:人体运动目标检测与跟踪方法的研究与实现