改进PSO优化WNN的液体火箭发动机故障检测*
2021-11-19李宁宁
许 亮 马 硕 薛 薇 李宁宁
1.天津理工大学电气电子工程学院,天津市复杂系统控制理论及应用重点实验室,天津 300384
2.北京航天动力研究所,北京100076
0 引言
液体火箭发动机的故障检测对于提高发动机运行的准确度具有十分重要的意义。随着现代航天技术的飞速发展,液体火箭被越来越多的国家发射使用[1]。液体火箭的动力装置系统主要由推进剂输送和增压系统及液体火箭发动机两大部分组成。液体火箭发动机的故障检测显得尤为重要[2-5]。
经常采用神经网络算法预测发动机故障检测的问题。众所周知,神经网络具有较高的非线性映射能力以及高效的自主学习性和容错能力[6-8],因此神经网络成为液体火箭发动机故障检测的重要手段[9]。通常,人们都使用BP神经网络进行运算,但BP神经网络结构设计上具有盲目性的缺点。最近,越来越多的人通过使用小波神经网络进行预测[10-11],相比于前向的神经网络,小波神经网络具有更强的学习能力,精度也更高,它的基元和整个结构是依据小波分析理论确定的,所以结构更加简单,收敛速度更快。
智能算法在实际应用中会根据具体问题进行改进[12]。刘利军、雷宇等提出了一种双向长短时记忆神经网络的航空发动机气路部件故障诊断模型,实验结果充分表明双向LSTM模型的优越性[9]。胡昌华、张军波等提出一种基于小波和人工神经网络的方法实现对系统故障检测与诊断的研究[13]。何浩、胡小平等采用支持向量机SVM检测和诊断液体火箭发动机故障诊断的数据,结果证实了该方法的正确性和可行性[14]。董周杰、郭迎清提出一种基于数据驱动的综合模糊聚类算法用于液体火箭发动机的故障诊断[15],模型仿真结果表明该故障诊断算法能够准确及时地检测并隔离出故障。刘明、杨明等提出基于粒子群算法求解单颗卫星轨道参数、解析法求解星座轨道参数的方法。仿真表明,该方法具有较好的工程应用价值[16]。王娟、吴宪祥和郭宝龙提出一种结合Ferguson样条路径描述和改进粒子群优化算法的路径规划方法[17],将其用于移动机器人的路径规划,证实有一定的实用价值。
曾勇、张金奋等人在船舶避碰决策案例上为了避免陷入局部最优,提高全局搜索能力,让粒子群算法与遗传算法相结合,提高收敛精度,加速全局寻优[18]。戴航、王春波等人针对优化电池损耗及储能系统收益情况提出一种双适应度混沌粒子群算法,引入混沌扰动,解决了粒子群算法全局寻优能力不足,罚函数难以选取等问题[19]。基于此,为了解决传统粒子群算法初期容易陷入局部最优的问题,并且为了提高运算效率[20-21],本文采用逐渐递减的选取方式,将粒子群优化算法的惯性权重和学习因子进行改进,并与小波神经网络相结合,提出一种改进的粒子群算法(PSO)与小波神经网络(WNN)相结合的方法,将其用于液体火箭发动机的故障检测中。
1 PSO-WNN优化模型
1.1 小波神经网络算法
为了能根据液体火箭发动机的性能参数判断出发动机是否发生故障,本文利用小波神经网络参与建立对其进行预测的神经网络模型。张清华等人于1992年首次提出了小波神经网络(wavelet neural network,WNN),并在函数学习上取得了成功[6]。小波神经网络是小波变换和人工神经网络的结合。小波神经网络是基于BP神经网络拓扑结构的神经网络,其中小波基函数用作隐含层节点的传递函数,信号向前传播而误差向后传播。小波神经网络集人工神经网络和小波分析优点于一身,不仅网络收敛速度快,又能避免陷入局部最优,同时又有时频局部分析的特点[13,22-23]。小波神经网络的拓扑结构如图1所示。
图1 小波神经网络拓扑结构
在图1中,X1,X2,…,Xp是小波神经网络的输入参数,Y1,Y2…,Yq是小波神经网络的预测输出,ωij和ωjk为小波神经网络权值。
在输入信号序列为xi(i=1,2,…,p)时,隐含层输出计算公式为:
(1)
式中,h(j)为隐含层第j个节点的输出值;bj为小波基函数hj的平移因子;aj为小波基函数hj的伸缩因子;ωij是输入层和隐含层的连接权值;hj为小波基函数。
本次液体火箭发动机故障检测仿真实验将Morlet母小波基函数作为小波基函数,其数学公式为:
(2)
小波神经网络输出层计算公式为:
(3)
式中,l隐含层节点数;ωjk为隐含层到输出层权值;h(i)为第i个隐含层节点的输出;m为输出层节点数。
小波神经网络权值参数校正算法与BP神经网络权值校正的算法基本类似,网络的权值和小波基函数参数采用梯度修正法进行修正,通过大量数据的训练,使小波神经网络的真实输出与期望输出之间误差最小。
小波基函数的系数和小波神经网络的权值通过预测误差e校正,公式如下:
(4)
(5)
(6)
(7)
(8)
(9)
式中,η为学习速率。
由于本案例中的小波神经网络的权值和小波基函数的参数采用的修正方法为梯度学习算法,此算法也有一定缺点,比如在靠近极小值时容易造成进化缓慢并且容易陷入最小,所以为了提高神经网络学习速率,本文采用增加动量项的方法,增加动量项的权值和小波基函数参数修正公式为:
(10)
(11)
(12)
式中,k为动量项学习速率。
1.2 粒子群算法
粒子群优化算法(PSO)最初起源于对鸟群捕食行为的观察和研究[16,24],此算法中每一个由拟合函数确定的每个拟合值都有一个对应的粒子对应关系。粒子的速度不仅决定了粒子的行进方向,还指示了粒子在空间中行进的距离。每个粒子可以通过自身以及其他粒子的运动经验动态调整其自身速度,实现个体在可解空间中的寻优[25]。
个体极值由Pbest表示,指的是个体粒子由所遍历位置中各个粒子计算得出的拟合值的最佳位置;群体极值由Gbest表示,是指种群中所有粒子搜索到的适应度的最优位置。粒子每次移动搜索后,适应度值都会随着位置的变化而重新计算,并通过比较新粒子的适应度值与个体极值和群体极值的适应度值来更新Pbest和Gbest的位置。
每个粒子更新速度和位置的数学公式如下所示:
(13)
(14)
式中,ω为惯性权重;d=1,2,…,n;k为当前迭代次数;Vid为粒子的速度;C1和C2为非负的常数,称为加速度因子;r1和r2为分布于[0,1]之间的随机数。一般建议将其位置和速度限制在一定的区间[26][-Xmax,Xmax][-Vmax,Vmax],以防止粒子的盲目搜索。此方法称之为BPSO。
2 基于IPSO-WNN模型建立
2.1 粒子群算法的改进
建立模型初期的时候,由于空间很大,导致粒子群的搜索范围很大,为了避免粒子过早陷入局部最优,同时提高迭代后期的局部搜索能力,并随着迭代次数的增加加快系统的收敛速度,所以将惯性权重和学习因子的选取采用逐渐递减的方式,其动态调整过程如下:
(15)
(16)
式中,ω是惯性权重,ωmax是惯性权重最大值,ωmin是惯性权重最小值,k是当前迭代次数,是变量,kmax是总共迭代次数,是常量。由上述公式可以看出,惯性权重和迭代次数成负相关,并且惯性权重是迭代次数的二次函数。
改进之后的粒子群算法,迭代初期的时候,ω变化缓慢,有利于在初始迭代时寻找满足条件的局部最优值,在接近最大迭代次数时,ω变化较快,在寻找到局部最优值之后能够快速地收敛逼近于全局最优值,提高运算效率。此改进的粒子群算法称之为IPSO。
2.2 IPSO-WNN的参数寻优流程如下
1)确定小波神经网络的拓扑结构,确定WNN的输入层、隐含层、输出层的节点数目,确定迭代次数maxgen、种群规模sizepop、个体和速度最大最小值、参数学习率;
2)进行WNN的权值初始化和节点初始化;
3)产生初始粒子和速度,计算各个粒子适应度函数值,比较所有粒子的适应度值,从中选取最好的粒子作为Pid,选取粒子历史最优状态为个体最优[27]Pgd;
4)根据公式(13)和(14)更新粒子的速度和位置;
5)根据适应度函数重新计算每个粒子的适应度,并更新粒子最优值[27]Pid和Pgd;
6)进行条件判断:若迭代次数小于设定的最大值或误差参数小于设定的误差值,则得到最优粒子即WNN参数;否则,跳转到步骤3)[27];
7)确定WNN的最优网络参数,输入训练参数并进行WNN模型的预测[27]。
IPSO-WNN流程图如图2所示。
图2 IPSO-WNN流程图
3 IPSO-WNN在液体火箭发动机故障检测中的仿真校验
3.1 训练样本的选取
本次实验选取某一型号的液体火箭发动机试车数据进行实验和仿真,采用MATLAB_R2016a软件进行仿真,随机选取232组数据进行实验,取正常数据和非正常数据各10组作为测试数据样本,其余数据作为训练样本进行训练。
粒子群算法参数设置如下:种群规模是20;隐形节点个数n=10;ωmax=0.9;ωmin=0.4;cmax=2.1;cmin=0.8;Vmax=1;Vmin=-1;学习概率lr1=0.01,lr2=0.001。
3.2 仿真结果对比
对改进粒子群优化小波神经网络算法(IPSO-WNN)与未改进粒子群优化小波神经网络算法(BPSO-WNN)以及单独使用小波神经网络算法(WNN)进行仿真计算比较,为了能直观地看出比较结果,采用误差图对比和所用时间来评判故障预测模型的优劣。
本文在使用相同的训练数据和测试数据的基础上,将改进的粒子群优化小波神经网络的故障检测预测模型与传统的粒子群优化小波神经网络的故障检测预测模型的实验结果进行比较。预测值与实际输出值的对比结果分别如图3和图4所示,其中横坐标为数据样本编号,纵坐标为输出结果值。三者的误差对比如图5所示,其中横坐标为粒子的迭代次数,纵坐标为误差数值。
图3 IPSO-WNN结果对比图
图4 BPSO-WNN结果对比图
图5 误差图
图3为IPSO-WNN算法预测模型的输出对比图,图4为BPSO-WNN算法预测模型的输出对比图。从图的比较中可以看出,IPSO-WNN算法预测模型的预测值和实际值更加吻合,IPSO-WNN预测模型与液体火箭发动机实际情况更加切合,对应预测曲线的拟合效果明显优于另一个模型,具有较强的预测能力。图5中用“+”号标记的线为WNN算法预测模型的误差图,虚线为BPSO-WNN算法预测模型的误差图,实线为IPSO-WNN算法预测模型的误差图。从这3种直线的对比可以看出IPSO-WNN算法的迭代次数少于BPSO-WNN算法和WNN算法的迭代次数,IPSO-WNN算法比BPSO-WNN算法和WNN算法的误差下降得更快,更快地达到最小值,并趋于稳定。从中可以得出虽然IPSO-WNN模型比BPSO-WNN模型和WNN算法所需要的迭代次数减少,但新算法能够在迭代次数更少的前提下误差降到最低并趋于稳定。
从表1可以看出3种模型结构所用时间的对比,分析可得,IPSO-WNN模型在3种结构中所用时间最少,说明优化后的此模型比其他2种拥有更好的精确度,实验效果更加理想。
表1 三种模型运行时间对比
综上3种故障检测模型对比结果表明:基于WNN的故障检测模型需要训练的时间较长,准确率较低;基于BPSO-WNN的故障检测模型虽然能够通过PSO优化算法优化选择基于WNN的故障检测模型中的参数,但冗余数据增加了训练的时间,相对于WNN提高了结果的准确性;基于IPSO-WNN的故障检测模型,通过对传统PSO的惯性权重和学习因子的选取,采用逐渐递减方式加快收敛速度,避免过早陷入局部最优,在迭代后期加大局部搜索能力。从实验结果中可以看出此方法相比于以上2种方法预测更加准确,速度更快,实验结果更加理想。
4 结论
使用改进后的粒子群算法优化小波神经网络(IPSO-WNN),对液体火箭发动机进行故障检测,结果表明:
1) 改进后的粒子群算法可以避免其过早陷入局部最优,提高迭代后期的局部搜索能力,并随着迭代次数的增加加快收敛速度;
2) 粒子群优化算法可以与小波神经网络算法相结合,结合后的新算法可以对液体火箭发动机进行有效的故障检测;
3) 在本次液体火箭发动机的故障检测预测实验中,修正后的IPSO-WNN算法模型与WNN算法和BPSO-WNN算法相比,IPSO-WNN算法模型提高了故障检测预测的精度。