操建华
(顺德职业技术学院 电 子工程系, 广东 顺 德528300)
在电力电子电路的故障诊断中,传统的分类及诊断都需要大量的计算,特别是由于容差的影响,其计算相当复杂,实用性较差。神经网络具有对信息的高度并行处理能力、极强的自适应能力、非线性映射能力等,因此神经网络在故障诊断中得到了很好的应用并成为一种理想的故障诊断方法[1]。
目前,在各种类型的神经网络中,BP网络因其有极强的非线性映射能力而最适合于解决分类问题,但是BP神经网络有输入数目多、结构难以确定训练时间过长等缺点,RBF不仅具有上述优点,同时在学习速度上具有优势,故其在故障诊断中被广泛采用。
粒子群算法(PSO)采用速度-位移搜索模型,计算复杂度低,通过群体中粒子间的合作与竞争来搜寻全局最优解。用PSO算法来训练神经网络,可以充分发挥粒子群算法全局的寻优能力和局部的快速收敛优势,提高了神经网络的泛化能力和学习能力[2]。
图1为RBF神经网络结构。
图1 RBF神经网络结构图
该RBF神经网络是一个3层前馈神经网络,它的基本思想是用径向基函数作为隐单元的"基",构成隐含层空间,隐含层对输入矢量进行变换,将低维的模式输入数据变换到高维空间内,使得低维空间内的线性不可分问题在高维空间内可分。它包括输入层、隐含层和输出层,其中各层节点数分别为k,n,p。故障特征向量作为输入层节点,由X=[x1,x2,...,xq...,xk]T,故障类别作为输出层缺点,由Y=[y1,y2...,yj...,yp]T表示。网络的隐含层输出,即径向基函数的输出只依靠输入矢量与径基函数中心的距离,选用高斯(Gauss)函数作为径向基函数
距离用欧氏范数表示,当网络输入为XK时,则隐含层的输出为:
式中,Ci=[Ci1,Ci2,...,Cim]T为高斯基函数的中心;σi为高斯函数的方差。
输出层是对线性权值进行调整,采用线性优化策略,因而学习速度较快。令输出为YJ(X),则:
式中,ωij为连接隐含层和输出层的权值。
粒子群优化(PSO)算法是Kennedy和Eberhart于1995年提出来的,该算法是模拟鸟群寻找栖息地的行为,通过搜寻各个粒子的优解和利用这些优解使整个粒子群达到最优的过程。PSO是基于群体智能理论的优化算法。每个粒子代表解空间的一个候选解,解的优劣程度由适应函数决定。
在粒子群算法中,设搜索空间为D维,粒子数为N,第i个粒子经历过的最好位置记为Pi=(Pi1,Pi2,...,Pid),即Pbest,可以看作是粒子自己的飞行经验;在群体所有粒子经历过的最好位置用g表示,即Pg,也就是全局极值gbest,可以看作是粒子同伴的经验[3]。
在找到两个极值后,粒子根据式(4)和式(5)更新自己的速度和位置:
式中,V是粒子的速度;x是粒子的当前位置;Pbest和gbest如前面定义;r1和r2是介于(0,1)之间的随机数值;c1和c2是学习因子,通常一般等于并且在0和4之间;ω是惯性权重,它具有维护全局和局部搜索能力的平衡作用。
为了在前期有较高的探索能力以得到合适的粒子,在后期有较高的开发能力以加快收敛速度,可将ω设定为随着进化而线性减少。此外,粒子的速度被一个最大速度限制,如果粒子当前速度超过最大速度,则该粒子的速度被限制在最大速度。
RBF网络的性能决定于网络的参数:即基函数的中心和方差以及网络权值。当权值的中心是都需要调整的参数时,RBF就是一个无约束的非线性优化问题。分组优化策略基于如下定理:
定理1:分组优化可以在同一次对各分组参数矢量寻优的过程中对每一分组参数矢量取得优化解。
定理2:对无约束优化问题,分组优化取得的解是原问题优化解的充要条件,各分组参数矢量的解为该分组参数矢量对应的仅以该分组矢量为自变量的优化问题的优化解[4]。
PSO-RBF算法首先对初始权值进行优化,在解空间中定位出一个较好的搜索空间,然后用RBF算法在该小的解空间中搜索出最优解。步骤[5-8]如下:1)将基函数的中心和方差以及网络权值作为参变量,进行实数编码。2)在编码的解空间中,随机生成初始种群。3)对群体中的每个个体进行适应度评价,如果好于该粒子当前的最好位置的适应度,则更新该个体的最好位置。如果所有的粒子的最好位置的适应度好于当前全局最好位置的适应度,则更新全局的最好位置。4)用式(4)和式(5)对每个粒子的速度和位置进行更新,产生下一代的粒子群。5)如果当前的迭代次数达到预先设定的最大次数,则停止迭代,在最后一代找到全局最优解的近似值,否则,跳转到步骤3)和步骤4),并重复执行上述步骤。6)将PSO优化后的将基函数的中心和方差以及网络权值作为RBF网络的初始值,对神经网络进行初始化。7)利用RBF算法进行训练,直到误差收敛到设定的精度,训练结束。
本文以电阻电感性负载的三相全控桥整流电路为例进行故障诊断的仿真和实验研究。三相整流电路(图2)输出端的直流脉动电压Ud包含了晶闸管是否有故障的信息。晶闸管发生的故障可以分为以下4类:
第1类故障:只有1只晶闸管故障,它有6种故障情况,即Vi故障(i=1,2,..,6)。
第2类故障:同一相2只晶闸管故障,分3种情况,即Vi和Vj故障(i=1,2,3;j=i+3)。
第3类故障:同一半桥2只晶闸管故障,有6种情况,即Vi和Vj故障(i=1,2,...,6;j=(i+2)mod 6)。
第4类故障:交叉2只晶闸管故障,有6种故障情况,即Vi和Vj故障(i=1,2,...,6;j=(i+2)mod 6)。
图2 三相整流电路
对于上述电路,发生故障的可能性共有21种情况,每种故障情况分别采用触发角为0°、15°、30°、60°、90°时进行电路仿真,输入50 Hz、380 V的电源,采集输出电压Ud,共可以得到105组故障数据。将这些数据作为学习样本。神经网络的输出节点数等于晶闸管的个数,所以故障模式的表示需要用6位二进制数据表示。单个晶闸管故障状态的二进制表示方法如表1所示。
表1 故障状态的二进制表示
从触发角为0°、30°、60°时分别设置晶闸管V2开路、V2和V3开路、V1和V5开路、V3和V6开路几种故障情况,对仿真输出电压Ud波形采集各种故障数据并处理后,利用已经训练好的神经网络模型进行诊断和检验,为检验基于PSO优化的RBF神经网络的快速学习能力与故障诊断效果,在误差为0.02时,分别使用训练模式和测试模式对网络进行测试[9-10]。图3所示为误差指标设定为0.02时的误差变化曲线图,当误差指标为0.02时,训练次数为800,训练模式诊断正确率为97.6%,测试模式诊断正确率为94.2%。神经网络的用于模拟电路故障诊断的学习速度和诊断正确率。实验结果如表2所示。诊断结果与实际设置的故障情况吻合,获得了比较满意的结果。
图3 误差变化曲线
表2 故障数据输出结果
介绍一种基于粒子群优化的径向基神经网络的电力电子电路故障诊断方法,利用粒子群优化算法操作简单、容易实现、收敛速度快的特点,成功地将此方法应用于实际的电力电子电路中,实验结果表明,用粒子群优化算法对神经网络进行优化,能使网络具有较高的精度,较快的收敛速度得到最优解,该方法是可行的、有效的。但是电力电子电路模型具有很强的非线性,上述优点只是相对的,该方法也存在不足,网络结构的选择对诊断率有较大影响,而且选择网络结构隐层单元没有统一标准。此外,故障设置仅仅选择了单故障模式,多故障模式没有进行讨论。
[1]杨士元,胡梅,王红.模拟电路软故障的研究[J].微电子学与计算机,2008,25(1):1-3.
[2]刘洪波,王秀坤,孟军.神经网络基于粒子群优化的学习算法研究[J].微型计算机系统,2005,26(4):638-640.
[3]万里,危韧勇.基于改进曾PSO算法的BP神经网络的应用研究[J].计算机技术与发展,2008,18(4):49-51.
[4]李春明.模拟电路故障诊断的神经网络方法[J].内蒙古工业大学学报,2000,19(2):55-60.
[5]王承,谢永乐.基于径向基函数神经网络的模拟/混合电路故障诊断[J].电路与系统学报,2007,12(2):66-68.
[6]张娟,张选利.电力电子电路故障的遗传进化神经网络诊断[J].高电压技术,2004(9):3-5.
[7]杨士元.模拟电路的故障诊断与可靠性设计[M].北京:清华大学出版社,1993.
[8]姚文俊,游正红.基于神经网络的模拟电路的故障诊断[J].中南民族大学学报,2004,23(3):23-28.
[9]葛哲学,孙志强.神经网络理论与MATLAB实现[M].北京:电子工业出版社,2007.
[10]飞思科技产品研发中心.神经网络理论与MATLAB7实现[M].北京:电子工业出版社,2005.