来源:互联网 发布时间:11-15
浏览量:
1 神经网络模型
D.Rumchart于1982年给出了反向传播(Back-propagation)算法(简称BP算法)。误差逆传播神经网络(BP)是一种具有三层或三层以上的阶层型神经网络。上、下层之间各神经元实现全连接,即下层的每一个单元与上层的每个单元都实现权连接,而每层各神经元之间无连接。网络按有教师示教的方式进行学习,当一对学习模式提供给网络后,神经元的激活值,从输入层经各中间层向输出层传播,在输出层的各神经元获得网络的输入响应。然后,按减小希望输出与实际输出误差的方向,从输出层经各中间层逐层修正各连接权,最后回到输入层,故得名“误差逆传播算法”。随着这种误差逆传播修正的不断进行,网络对输入模式响应的正确率也不断上升。
1.1 标准BP算法(SBPA)
设有一个标准的三层BP网络,Xi为输入样本,Θi为单元的阈值,Yj为输出样本,Tj为期望输出样本,η为学习率(0<η<1),sumi为每一层的输入,δ为逆传播的误差,f(X)是网络的作用函数。我们选用S形曲线,而Wij是第i个单元到第j个单元联接的权系数,f′(X)是f(X)的导数,正向传播时是从输入一层一层地输出,上一层的输出作为下一层的输入。于是有
对于很大的缺陷:收敛速度慢和存在所谓“局部最小值”问题。在学习过程中有时会发现,当学习反复进行到一定次数后,虽然网络的实际输出与希望输出还存在很大的误差,但无论再如何学习下去,网络全局误差的减小速度都变得十分缓慢,或者根本不再变化,这种现象就是因网络收敛于局部极小点所致。BP网络全局误差函数E是一个以S函数为自变量的非线性函数,这就意味着由E构成的连接权空间不是只有一个极小点的抛物面,而是存在多个局部极小点的超曲面。因此,BP网络的收敛过程,很可能在遇到局部极小极值便被“冻结”住,而无法最终收敛于全局最小点,也就无法对学习模式准确记忆。导致BP网络缺陷的原因,是由于BP学习规则采用了按误差函数梯度下降的方向进行收敛。
1.2 改进的BP算法(EBPA)
基于标准BP算法的缺陷,本文给出一种改进的BP网络。经仿真证明,此网络在提高学习速度和减小陷入局部最小点方面有着较好的改进。
将网络的作用函数改写成下式,式中Ui,Li分别表示神经元输出范围的上下限,Ti表示神经元的节点温度。Ui和Li可以加速其收敛速度,提高学习率,Ti可以减小陷入局部最小点的概率,相当于模拟退火算法[5]
偏导确定了,下一步就是使误差项最小。对于输出节点,误差是由输出层每一个神经元的输出与希望输出的差值得到的
输出层和中间层的误差项和增量项被计算出来,则输出层和中间层的神经元修正为
输出层和中间层之间的连接权以及中间层和输入
式中:η为学习率;α为惯性系数。学习率η的大小影响学习的速度,而惯性系数反映了前一次学习对本次学习的影响。
算法实现步骤:
(1)输入样本X和T;
(2)求每个神经元的sumi及Yj;
(3)求f′和δ;
(4)调整Θi,Wij,Ui,Li及Ti;
(5)重复(2)~(4)直到性能指标满足要求为止;
(6)返回(1)输入新的样本。
2 飞控系统传感器故障诊断系统
EBPA神经网络包括一个主网络(MNN)和n个分散网络(DNNs),n是飞控系统中传感器的数目。MNN的输出是k时刻n个传感器测得的相同参数的估计,使用了k-1时刻到k-m(m>1)时刻的测量值。在本文中,MNN的输出是在时刻t的参数p(滚动轴角速度),q(俯仰轴角速度),r(方向轴角速度)的估计。这些估计与t时刻实际测得的测量值相比较。对于n个DNN中的第i个,它的输出是第i个传感器的测量值的估计。就是说,k时刻的状态估计使用到了k-1到k-m的测量值,与k时刻的实际测量值进行比较。第i个DNN的输入是除了第i个传感器以外的n-1个传感器的测量值。例如,q-DNN可以使用除了q传感器值以外的任何输入参数来产生k时刻对q的估计。本文只考虑了滚动轴(roll)、俯仰轴(pitch)和方向轴(yaw)角速度陀螺仪传感器的故障。因此,我们采用了4个神经网络的结构来对角速度传感器的故障进行诊断一个MNN,一个q-DNN,一个p-DNN和一个r-DNN(见图1)。
在每一个步骤里,用MNN和DNN的估计和实际测量值之间的差值产生一个二次项的误差。故
当传感器没有故障发生的时候,MNN二次估计误差(MQEE)的函数值理论上应该近似为零;当传感器发生故障的时候,MQEE的值应该明显的偏离零值。理论上,SFDI正常工作的时候,网络学习过程对MNN和所有的DNN都起作用。但是当MQEE的值在瞬时超过预先定义的阈值时,SFDI就认为传感器故障正在或已经发生。陀螺的主要噪声来自于漂移,其随机漂移可由卡尔曼滤波和平滑来消除[6]。此处的阈值是将实验数据经过卡尔曼滤波和平滑后,在实际仿真中取0.2°/s,误识率为2%。由此可见,卡尔曼滤波和平滑对消除陀螺漂移噪声有较好的效果。此时,所有的DNN的学习过程停止,DNN的输出作为MNN和那些使用p,q,r作为输入参数的DNN的输入。
通过监控每个DNN估计误差的绝对值,可以实现故障识别(SFI)
当一个传感器故障发生,所有DNN的学习停止;同时,通过DNN的二次项估计误差(DQEE)设置的阈值来进行故障识别。定义一系列的阈值,当一个传感器故障发生,用来检测它,识别是哪一个传感器出现了故障。考虑到增加检测和识别的速度和减小误识率之间的矛盾,用于检测和识别的阈值必须适当选取,折衷考虑。
3 仿真实例
在本网络在线学习之前,需要进行预先的离线学习,就是利用已经获得的正常的飞行数据来进行训练[6]。在实际仿真中使用了200组飞行数据样本。由于飞控系统的三个轴的训练和学习过程类似,在此只以俯仰轴为例。当飞控系统正常运行50s后,人为地制造一个阶跃信号故障2°/s,使俯仰轴传感器失效。
从图2(a)中,对于MNN网络,我们可以检测到在50 s时,其MQEE值超过了阈值,并且增幅明显,可以判断此时传感器有故障发生。图2(b)中,对于q-DNN网络的DQEE值,在50 s时超过了阈值1和阈值2,也有一个明显的阶跃,可以判断俯仰轴传感器在50 s时出现故障。图2(c)是实时跟踪的俯仰轴传感器输出数据图,q-DNN的估计与传感器的实际测量值基本一致,在图中基本重合。在50s时,传感器发生故障,与正常值有较大的偏差。
4 结 论
本文采用EBPA算法对BP神经网络的各参数值进行修改,并且提出了一个MNN和三个DNN的诊断系统结构。由于训练神经网络所采用的数据都是飞机平稳飞行时的数据,并不代表飞机各种状态下的飞行过程,比如起飞、爬坡、转弯和降落等等,而且只对阶跃故障进行了仿真,所以本文的结果只适用于飞机平稳飞行时的阶跃故障检测。从仿真效果来看,上述方法完全可行。
参考文献:
上一篇 : 暂无 下一篇 : 烤地瓜机 烤地瓜机烤地瓜的原理
版权声明:
1.华商贸易网转载作品均注明出处,本网未注明出处和转载的,是出于传递更多信息之目的,并不意味 着赞同其观点或证实其内容的真实性。
2.如转载作品侵犯作者署名权,或有其他诸如版权、肖像权、知识产权等方面的伤害,并非本网故意为之,在接到相关权利人通知后将立即加以更正。联系邮箱:me@lm263.com