杨 青,刘天运,周 旺,张金格
(沈阳理工大学 自动化与电气工程学院,沈阳 110159)
IPSO算法优化神经网络的模拟电路故障诊断研究
杨 青,刘天运,周 旺,张金格
(沈阳理工大学 自动化与电气工程学院,沈阳 110159)
模拟电路故障诊断方法研究至今,许多传统的模拟电路故障诊断方法已经难以达到人们所期望的效果。在原始的神经网络诊断的基础上,加入粒子群优化算法,并且对粒子群优化算法进行了改进。在故障特征提取方面,使用小波包方法提取故障特征。仿真的结果表明这种方法在提高准确率的基础上同时减少了迭代次数,提高了收敛速度。为模拟电路的故障诊断提供了一种更加高效的方法。
故障诊断;改进粒子群算法;神经网络;小波包;故障特征提取
随着科学技术的发展,装备复杂度日益提高,故障诊断的难度也在加大。故障诊断可分为模拟电路故障诊断和数字电路故障诊断。尽管模拟电路的故障诊断已经提出了很多方法,如故障验证法、故障字典法等,但由于故障现象多样、元件参数具有较大的离散性与广泛的非线性等原因,致使模拟电路故障诊断无论在理论上还是方法上均未完全成熟,距实用还有相当的距离。神经网络的发展在模拟电路故障的诊断方面有一定的指导意义[1]。反向前馈神经网络(BP神经网络)使用的最为广泛。BP神经网络具有较强的非线性映射能力,较强的自组织自适应能力,较强的泛化能力和容错能力。但是BP神经网络也有相应的缺点,即容易陷入局部极小以及收敛速度较慢等缺点。针对这一缺点,许多学者也提出了很多相应改进以及优化的算法。
优化算法中遗传算法的应用比较普遍,但是遗传算法同样有自己的缺点。例如遗传算法实现编程较为复杂,第一就是要对问题进行编码,在找到最优解之后仍需对问题进行解码处理。遗传算法的搜索速度也比较慢,需要更多的训练时间。而且遗传算法也容易陷入局部最小[2]。
PSO(粒子群)算法是近年来兴起的一种较为广泛的优化算法。粒子群算法由于其算法比较简单,易于实现,无需梯度信息,参数少等特点在连续优化以及离散优化问题上都表现出了十分良好的效果。本文针对PSO方法的不足提出了对PSO算法的改进,并应用于BP神经网络的优化当中。即IPSO优化BP神经网络的课题。
1.1 小波包分解
在模拟电路故障诊断过程中,特征提取是尤为关键的一个环节。提取数据的好坏影响到后续神经网络训练效果。而利用小波包对故障信号的分解和重构来进行特征提取被认为是应用广泛并且效果良好的一种方法。小波包变换(wavelet packet transform,WPT)是小波变换的一种延伸。它在考察局部时域过程的频域特征的同时又能考察局部频域过程的时域特征。但是由于小波变换只对信号的低频部分作分解,对于信号的高频部分不再继续进行分解。小波包变换同时可对高频部分进行精确分解,而这种分解不存在疏漏可以更好提高时频分辨率[3]。
1.2 小波包的重构及特征提取
小波包分解将信号分解在全频带上,便得到信号在不同频带上的能量,从而作为故障特征的重要信息。对输出信号进行小波包分解,提取低频到高频的频率信号特征,对小波包分解系数进行重构,得到各频带信号的能量。
在故障时,各个频带的能量会产生变化,以能量为指标构造信号的特征向量为
T=[Ek0,Ek1,Ek2,…,Eki]
(1)
式中,k为小波包的分解层数,i为分解的频带数。
当T中数值较大,则需要对特征向量进行归一化处理。则归一化后的向量为
(2)
恰当选择小波包分解层数对故障特征提取至关重要。分解层数过少,得到的能量不能够有效地反映故障特征;分解层数过多,则会导致冗余特征的增加,从而影响诊断精度和诊断效率。适合起见,本文小波包分解的层数设置为3。部分小波包故障特征能量提取信号如表1所示。
表1 部分小波包故障特征提取能量信号
IPSO(改进粒子群)-BP神经网络的模拟电路故障诊断的基本思路是:对电路施加激励后得到故障输出信号和数据,然后提取故障特征。如果特征提取的数值较大,那么对数据进行归一化处理。对处理后的数据输入到神经网络当中进行训练。利用神经网络的输出进行故障定位。加入PSO优化算法对神经网络的权值和阈值进行优化,通过改进PSO算法中的惯性权重的求取方法来改进PSO算法,使得优化速率有一定提升。
2.1 BP神经网络
BP神经网络算法的优点在于通过反向传播过程根据实际输出和期望输出之间的误差不断修改权值和阈值,使得网络训练效果不断改善。当误差达到期望要求时,网络学习训练过程便结束[4]。
2.2 粒子群优化算法及改进
基本的PSO算法是模拟生物学中鸟群觅食的过程。优化过程的实质就是在迭代过程中每个粒子的自身的位置和速度以及群体的位置和速度通过不断调整从而达到自身的最优位置和速度。在这个过程中每一个粒子都有一个适应度值作为自己目标函数[5]。
若在一个D维的搜索目标空间中,有一个群体由m个粒子组成,用向量xi=(xi1,xi2,…,xiD),i=1,2,…,m表示第i个粒子的位置,用D维向量vi=(vi1,vi2,…,viD表示这个粒子速度,向量pid=(pi1,pi2,…,piD)表示该粒子到目前为止所搜索到的最优位置,而向量pgd=(pg1,pg2,…,pgD)则表示整个粒子群所搜索到的最优位置,粒子的更新迭代公式如下[4]:
vid(t+1)=ωvid(t)+c1r1(pid-xid(t))+
c2r2(pgd-xid(t))
(3)
xid(t+1)=xid(t)+vid(t+1)
(4)
当vid>vmax时,取vid=vmax
当vid 式中:i=1,2,…,m;d=1,2,…,D;惯性权重的系数用ω表示;学习因子c1和c2用非负的常数表示;r1和r2为服从[0,1]上的均匀分布随机数。xid(t)是第i个粒子的当前位置;pid是第i个粒子到目前为止搜索到的最优位置;pgd是整个粒子群能够搜索到的最优位置;vid是第i个粒子的当前速度,vid∈[vmax,-vmax];vmax为最大限制速度,是非负数[1]。 2.2.1 对于惯性权重的改进 由于初期的惯性权重值能取到有利于全局搜索的较大值,但是算法有可能会陷入到收敛速度慢的境地。而后期能得到加速算法收敛的最小值,却容易陷入到局部最优解的情况。故选取采用随机数的方法来调整惯性权值,惯性权值可以在后期也取得较好的值并且能够跳出局部极值,有利于提高收敛速度。随机惯性权值的修改公式为 ω=0.5+rand/2 (5) 式中rand函数是产生在[0,1]之间均匀分布的随机数。 2.2.2 对于学习因子的改进 文献[6]认为,c1和c2之和小于3时其优化算法性能最好。采用异步变化策略因子,使得粒子更多地向社会最优解学习而较少向自身学习,有利于保持多样性和收敛速度。具体修改如下 c1=c1i-(c1i-c1f)(k/Tmax) (6) c2=c2i-(c2f+c2i)(k/Tmax) (7) 式中:c1和c2的初始值分别为c1i和c2i;迭代终值分别为c1f和c2f;k表示当前迭代次数;其中c1i=c2f=2.5;c2i=c1f=0.5;Tmax表示最大迭代次数,Tmax=100。 2.3 IPSO优化BP神经网络流程 IPSO优化BP神经网络模型的算法如下(步骤中的c1、c2以及惯性权重ω均指改进后的变量): (1)随机初始化粒子群,随机生成粒子速度向量和位置向量分别表示神经网络的权值和阈值。 (2)对个体粒子以及初始种群粒子进行编码,计算每一个个体粒子的适应值函数;选取适应值函数: (8) (3)比较当前粒子的适应值函数值与先前的最佳适应值,将二者较大值设为当前粒子的最佳适应值[1]。 (4)选择全部粒子适应值中最佳的一个,作为全局的最优解。 (5)针对每一个粒子,根据式(3)计算它的前进速度。 vid(t+1)=ωvid+c1r1(pid+xid(t))+ c2r2(pgd-xid(t)) (9) (6)根据式(4)算出粒子前进后的位置,即 xid(t+1)=xid(t)+vid(t+1) (10) (7)求取动态惯性权重,即 ω=ωmax-(ωmax-ωmin)/itermaxiter (11) (8)改变加速系数c1、c2,即 c1=c1max(c1max-c1min)/itermaxiter (12) c2=c2max(c2max-c2min)/itermaxiter (13) (9)如果算法满足收敛原则或者达到最大迭代次数,则退出IPSO算法,输出结果,否则返回步骤(2); (10)把进化到最后一代的pgd新群体进行解码,输出最后解决方案,获得适合的神经网络连接权值和阈值。其中c1、c2为学习因子的最大值与最小值,属于(0,1)上的随机数。ω为惯性权重系数[1]。iter、itermax为IPSO的迭代次数和最大迭代次数。本次实验分别为35和100。 为验证所提方法的可行性,以中心频率为25 kHz的带通滤波器作为诊断电路对象,电路如图1所示。图中,电路中元器件容差设置为5% 图1 25kHz Sallerl-Key带通滤波器 根据图1电路图设置故障点,根据模拟电路出现的软故障和硬故障的区分,OC代表开路,SC代表短路。RED代表超出容差范围减小,INC代表超出容差范围增大。表2给出部分代表性的故障类型。 表2 故障类型表 对电路施加幅度为5V、持续时间10μs的脉冲电压,故障波形蒙特卡罗分析如图2所示。将输出电压信号采样用三层小波包分解频率信号特征,然后对小波包分解系数进行重构。使用Multisim对电路的不同故障情况进行Monte Carlo分析,得到84组数据作为样本,取其中42组作为训练样本,另42组作为测试样本。 为使神经网络将所有的故障区分开来,用4位二进制编码N4N3N2N1来对表2中的故障进行编码,其中Ni=0、1,用来作为神经网络的输出,如表3所示。 图2 故障状态的蒙特卡洛罗分析波形图 故障类型故障编码C1OC0001C2SC0010R1RED0011 通过实验验证IPSO优化神经网络的模拟电路故障诊断结果同传统PSO优化神经网络的模拟电路故障诊断结果进行比较。设计BP神经网络训练次数为1000次,目标的均方误差为0.01。 PSO优化BP与IPSO优化BP的训练误差曲线比较训练测试如图3a、3b 所示。 图3 PSO与IPSO优化BP神经网络训练误差 通过比较可以发现,IPSO优化的BP神经网络与PSO优化的BP神经网络相比能够更快达到期望的均方误差结果。 PSO优化BP与IPSO优化BP的故障分类如图4a、4b所示。 图4 PSO与IPSO优化BP神经网络故障分类比较 通过比较可以发现,IPSO优化的BP神经网络与PSO优化的BP神经网络相比故障分类正确率更高。 部分实际输出如表4所示。 表4 部分实际输出 通过实验比较发现,传统PSO优化BP神经网络的故障诊断正确率为84.35%。而使用IPSO优化BP神经网络的故障诊断正确率为92.33%。同时通过训练误差曲线可以看出,改进PSO算法的迭代次数减少,训练速度得到了提升。 最终得到网络的部分输入到隐层权值为 W1=[2.8668 2.3841 1.1947 -4.3184 7.3350 2.1457 6.8466 2.5302 -4.0664 -23.6356 -13.2967 -3.3667 -2.0949 -1.8132 1.5263 5.2061 3.1883 1.5685 5.5288 3.7161] 部分隐含层阈值为 B1=[5.9029 7.3392 -18.3623 -2.2627] 部分隐层到输出层权值为 W2=[-4.4099 -4.9888 16.1331 -4.5681 -0.9298 1.0070 -16.5315 -4.5681 4.3967 7.3358 14.3628 4.1064 5.9210 7.6015 -17.0472 1.7243] 部分输出层阈值为 B2=[0.6593 -2.8134 -2.2162 2.8383] 基于粒子群优化算法和BP神经网络并结合小波包故障特征提取,提出了一种改进PSO优化BP神经网络与小波包故障特征提取的模拟电路故障诊断新方法。通过改变原始PSO算法中的惯性权重的取得方法以及采用异步变化策略因子来改进PSO算法。最终使得神经网络的训练速度以及正确率得到了切实的提高。仿真结果表明,本文所提的采用改进粒子群算法优化BP神经网络的模拟电路故障诊断方法是有效的,提高了故障诊断的正确率以及故障定位的准确性。 [1]朱元元.基于LabVIWE模拟电路故障诊断方法研究[D].沈阳:沈阳理工大学,2013. [2]郭阳明,冉从宝,姬昕禹,等.基于组合优化BP神经网络的模拟电路故障诊断[J].西北工业大学学报,2013,31(1):44-47. [3]王首勇,朱光喜,唐远炎.应用最优小波包变换的特征提取方法[J].电子学报,2003,31(1):1035-1038.[4]李祚泳,汪嘉杨,郭淳.PSO 算法优化BP 网络的新方法及仿真实验[J].电子学报,2008,36(11):2224-2228. [5]宋丽伟,彭敏放,田成来,等.基于PSO-RBF神经网络的模拟电路诊断[J].计算机应用研究,2012,29(1):72-74. [6]蒋林利,曾文华.改进的PSO算法优化神经网络模型及其应用研究[D].厦门:厦门大学2014. (责任编辑:马金发) Fault Diagnosis of Analog Circuit Optimization IPSO Algorithm Based on Neural Network Optimization and Simulation Test YANG Qing,LIU Tianyun,ZHOU Wang,ZHANG Jinge (Shenyang Ligong University,Shenyang 110159,China) With the development of analog circuit fault diagnosis technology research,some traditional analog circuit fault diagnosis methods are difficult to achieve the desired effect.On the basis of original neural network diagnosis,the particle swarm optimization algorithm is joined,which improves the particle swam optimization algorithm.After the fault feature extracted, extraction of fault feature is more effective directly by using the wavelet packet method.Simulation results show that this diagnosis method improves diagnosis accuracy and reduces iterations number to improve convergence speed,which provides effective support for analog circuit fault diagnosis. fault diagnosis;improved particle swarm optimization;network;wavelet packet;fault feature extraction 2015-10-22 辽宁省教育厅科学研究项目(L2014083);辽宁省教育厅科学研究项目(L2015467) 杨青(1963—),男,教授, 研究方向:故障检测、诊断与预测技术。 1003-1251(2016)05-0006-05 TP277 A3 实例分析
4 结束语