改进型衰变参数遗传神经网络在故障诊断中的应用
2020-04-29蒋一,张帆
蒋 一,张 帆
人工神经网络是20世纪80年代以来从仿生学发展起来的具有极强非线性映射能力的模型,BP(Back Propagation,简称BP)神经网络作为其中应用最为广泛的网络之一,一直以来都是研究的热点[1].它所采用的基于误差逆传播的学习算法具有很好的非线性映射能力、泛化能力和容错能力,但同时也存在着学习过程收敛速度慢、误差和函数可能存在局部最小值等问题.
遗传算法(Genetic Algorithm,简称GA)也称进化算法,其思想基于达尔文的进化论和遗传学说,具有极强的全局搜索能力和较快的收敛速度.将遗传算法与BP神经网络相结合,可以实现快速全局搜索,同时还能够解决局部存在最小值问题[2-4].但是,标准遗传算法采用固定的交叉概率和变异概率,使得系统难以平衡全局搜索和局部搜索之间的矛盾.由此,提出改进型衰变参数遗传算法的BP 神经网络模型,建立故障类型和数据化故障征兆之间的非线性映射关系,从而提高系统故障诊断的精度和速度.
1 标准算法遗传神经网络
标准遗传算法将待解问题以某种形式编码,产生相应的解集,再根据适应度函数的指导对编码串进行遗传操作实现优胜劣汰,然后通过再选择、交叉、变异产生新的群体,直至出现最优解[5].图1为遗传算法优化BP神经网络的原理图.从图1中可以看出,遗传算法对神经网络权值阈值矩阵的优化是通过误差反馈来实现的.图2 为算法具体流程.
图1 遗传算法优化BP神经网络原理图
图2 标准遗传算法流程图
步骤1:产生初始种群.初始种群可以随机产生,若初始种群为n,则n条染色体构成初始种群.
步骤2:计算适应度.适应度用来评价个体优劣,是执行遗传算法的依据.计算每一个个体的适应度值,该值越大表示适应度越高,越适应生存环境,个体评价越好,为下一步选择、交叉和变异操作提供依据.
步骤3:编码.常见的编码技术有计算机唯一识别的二进制编码、格雷码、整数或字母排列编码等.本文采用二进制编码,即将权值和阈值采用相同位数的二进制编码形式表示,从而组成一条染色体.
步骤4:遗传操作.在该步骤中又包含选择、交叉和变异操作.
选择.从父代种群中选取优良个体遗传(或复制)到下一代种群,实现优胜劣汰,达到搜索结果的最优值.
交叉.将两个互相配对的染色体按照常用的随机配对原则相互交换其部分基因,形成两个新的个体的操作,就被称为交叉.
变异.将个体编码中的某些基因采用其他基因替换,是形成新个体的辅助方法.但是新个体变异的效果或好或坏,难以预料.
步骤5:解码操作.解码操作用是产生权值、阈值矩阵.
用遗传得到的新个体构成新一代群体,返回步骤2,并重复执行步骤2~4,直至达到预定的误差范围或已定的迭代次数.
2 改进型衰变参数遗传神经网络
在遗传算法中,交叉是产生新个体的主要手段,变异是产生新个体的方法之一,若交叉、变异概率过低,遗传算法搜索可能会陷入迟钝状态,达不到全局搜索的要求;若交叉、变异概率过高,遗传算法将会退化为随机搜索.由于标准遗传算法采用固定的交叉概率和变异概率,因此难以平衡全局搜索和局部搜索之间的矛盾[6-7],因此本文提出了改进型衰变参数遗传算法.其流程是在标准遗传算法的基础上引入衰减因子作用于交叉概率和变异概率,使两者在迭代的过程中逐渐变小,从而兼顾了全局搜索能力和局部搜索能力,局部流程如图3所示.
图3 衰变参数遗传算法局部流程图
衰减因子:
式中,k为0~1之间的常数,k为0时对应为标准遗传算法.g为遗传代数,gmax为遗传最大截止代数,随着迭代次数的增加,β从1 线性递减到1-k.
在标准遗传算法的基础上,引入衰减因子β,构成衰变交叉概率为βρc,衰变变异概率为βρm,ρc、ρm分别为标准遗传算法中的固定交叉概率和变异概率.随着迭代次数的增加,衰减因子β相应从1线性递减到1-k,从而交叉概率和变异概念分别从ρc、ρm递减到(1-k)ρc和(1-k)ρm.由此,通过调节常数k就可以实现系统的全局搜索和局部搜索的动态平衡.
3 算法对比验证
3.1 样本参数
采用文献[8]中的实验数据来对比验证遗传算法改进前后算法性能的改善.样本输入向量包括各缸平均燃烧最大爆发压力、排气总管温度、扫气箱温度、增压器转速、扫气箱压力、扫排气道压损系数、压气机出口温度,一个负荷参数,共8个变量作为BP 神经网络输入变量.输出变量由实验数据中发动机常见的故障变量构成,包括:#1无故障;#2增压器效率下降;#3冷空气传热恶化;#4透平保护格栅阻塞;#5透平通流部分阻塞.共5个变量作为BP神经网络的输出变量.
3.2 衰变参数遗传算法优化步骤
遗传算法需设置的参数有:种群规模、最大遗传代数、代沟、交叉概率、变异概率,以及衰减因子[9].由确定的输入、输出向量选择BP 神经网络的结构为8-17-5,神经网络隐含层权值个数为156(17×8)个,阈值17(17×1)个,输出层权值个数85(5×17)个,阈值5(5×1)个,用改进型衰变参数遗传算法对这243个权值阈值进行优化,其步骤如下,优化流程图见图4.
图4 衰变参数遗传算法优化BP神经网络流程图
①确定种群规模.一般来说,选择较大数目的种群规模可以同时处理更多的个体,容易找到全局最优解,但缺点是增加了每次迭代的时间,实验表明种群规模的增加将导致计算量呈指数增长.但是种群过小时,种群多样性下降,遗传算法陷入局部极小值从而导致早熟现象出现的可能性将大大增加.因此,本算法种群规模设定为40.
②通过反馈算法计算误差E.对权值、阈值解码产生权值、阈值矩阵,并赋给BP 神经网络,计算目标误差函数E.
③计算适应度并排序.将目标误差函数求导数定义为适应度函数,计算个体适应度函数数值,并将其排序[10].
④编码.编码方式采用10位二进制编码.
⑤遗传操作.代沟设定为0.95,则从40 个个体中选取38 个(40×0.95)最优个体;交叉概率设定为0.7,变异概率设定为0.01,即以0.7β的概率进行交叉,以0.01β的概率进行变异,其中,衰减因子β中的k取0~1之间的常数.
⑥经过多次Matlab 仿真实验并观察误差进化曲线,可以发现,当迭代次数在30~70 之后误差不再变化,因此遗传代数gen取40.如未达到遗传代数,则进入步骤②,开始下一循环,同时记录每一代最小误差.
⑦将最优个体解码,输出最优权值和阈值.
将最优权值和阈值赋予BP 神经网络,输入训练样本和测试样本,得到相应的输出样本.
3.3 遗传算法改进前后结果比较
对k分别取[0,1]之间的11 个数进行遗传操作,得到11组权值阈值矩阵,用于评价衰减因子的效果,评价结果如表1所示.
由表1 可以看出,当k=0.5 时,误差最小.因此将表达式(1)中k取0.5,衰减因子如(2)式:
当k=0为标准遗传算法,k=0.5时为衰变参数遗传算法.表2、表3分别是标准遗传算法和衰变参数遗传算法优化后的权值阈值赋予BP神经网络的输出结果.
表1 衰减因子评价结果
表2 标准遗传算法输出结果
表3 衰变参数遗传算法的输出结果
由表2 和表3 可以看出,衰变参数遗传算法较之标准遗传算法,其输出与理论输出更为相似,训练样本误差和测试样本误差更小.
误差训练曲线如图5、图6所示.
图5 标准算法遗传神经网络误差训练曲线
图6 衰变参数遗传神经网络误差训练曲线
由图5 和图6 对比可以看出,衰变参数遗传算法的训练步数更短,由14 步减少到4 步,因此收敛速度更快.
误差进化曲线如图7、图8所示.
图7 标准算法遗传神经网络误差进化曲线
图8 衰变参数遗传神经网络误差进化曲线
由图7 和图8 对比可以看出,衰变参数遗传算法在迭代前期具有较强的全局搜索能力,在后期又具有较好的局部搜索能力,较好地平衡了全局搜索和局部搜索之间的矛盾,克服了标准遗传算法的不足,大大提高了故障诊断的准确率和鲁棒性.
4 总结
在标准遗传算法的基础上,引入衰减因子的概念,提出了改进型衰变参数遗传算法,用于优化BP 神经网络建立故障诊断模型.对改进前后的算法进行了仿真验证,结果表明,改进型衰变参数遗传神经网络可以很好地克服标准遗传算法难以同时兼顾全局搜索能力和局部搜索能力的不足,具有更好的准确性和鲁棒性,完全可以应用于系统故障诊断.