刘云龙, 谢寿生, 郑晓飞, 边 涛
(空军工程大学 航空航天工程学院,陕西 西安 710038)
基于深度学习的航空发动机传感器故障检测*
刘云龙, 谢寿生, 郑晓飞, 边 涛
(空军工程大学 航空航天工程学院,陕西 西安 710038)
针对传统反向传播(BP)神经网络和支持向量机(SVM)存在的过拟合、维数灾难、参数选择困难等问题,提出了一种基于深度学习算法的航空发动机传感器故障检测方法。对发动机参数记录仪采集的多维数据进行预处理,建立基于深度置信网络(DBN)的故障检测模型,利用预处理后的数据对检测模型进行训练,经过DBN故障检测模型逐层特征学习实现了传感器故障检测。仿真结果表明:在无人工特征提取和人工特征提取的情况下,基于DBN故障检测的准确率均高于BP神经网络和SVM模型。
航空发动机传感器; 故障检测; 深度学习; 深度置信网络; 飞参数据
航空发动机传感器通常于在高温、高压等恶劣、复杂的工作环境下,传感器故障频发,占发动机控制系统故障的很大比例[1]。因此,研究传感器故障检测技术,提高故障检测水平,对于保证飞行安全具有重要意义。
传感器故障诊断技术理论方法主要分为三大类:基于冗余技术的传感器故障诊断方法、基于信号处理的故障诊断方法和人工智能方法[2,3]。在人工智能方法中,反向传播(back propogation,BP)神经网络、支持向量机(support vector machine,SVM)及其改进方法被广泛用于航空发动机传感器故障检测中,并取得了一定的成果。在长期实践中,BP神经网络和SVM等具有单隐含层节点的浅层机器学习模型的问题显现。浅层模型假设靠人工经验抽取样本特征,因此,特征的好坏成为检测系统的瓶颈[4]。此外,神经网络和SVM存在过拟合、维数灾难、参数选择困难等问题[5]。深度学习通过模拟人脑对知识的抽象过程,从训练样本中学习并获得统计规律,从而解决分类(故障检测)问题。其实质是通过构建具有很多隐含层的机器学习模型和海量的训练数据,学习更有用的特征,最终提升分类或预测的准确性。其主要特点是模型结构深度往往包含多层隐节点,通过逐层特征变换,将样本在原空间的特征变换到新的特征空间,分类更加简单[6]。
本文以发动机传感器数据检测为例,提出了一种基于大数据—深度学习的故障检测方法。利用飞行参数记录仪记录的机载传感器数据之间的关联性,进行数据集训练深度置信网络(deep belief network,DBN),实现传感器故障检测。
文献[7~12]显示了DBN优异的特征提取能力。本文从某型国产飞机的参数据中随机挑选了7000组数据,建立了一个13维的数据集,数据参数如表1。
表1 13维数据
1)数据预处理:采取文献[13]中基于状态匹配与SVM的缺失飞行参数方法,对缺失飞行数据进行补充。由于DBN的输出层输出样本的联合概率分布,其输出值在[0,1]之间,因此,需要对输入数据在[0,1]区间上进行归一化处理
(1)
2)数据分组:将7 000组数据划分为2组,第一组为包含6 850组数据的训练数据:{(α1i,α2i,N1i,N2i,di,φi,pi,vi,TEGi,θi,hi,FFi,ti),Yi},第二组为包含150组数据的测试数据:{(α1j,α2j,N1j,N2j,dj,φj,pj,vj,TEGj,θj,hj,FFj,tj)Yj},其中,Yi,Yj分别为每组数据对应的标签,即正常或故障。
2.1DBN的构建
根据DBN的原理[6~16]对DBN建模。
图1为一个含3个隐含层的DBN,可以看出使最高2层保留无向图模型,其余各层均为有向置信网络,且方向由上至下。优点是使低层的输出为顶层提供一个可以参考的关联,使其与记忆的内容联系在一起,便于微调[15]。图中可视层v的输入为样本,h1,h2,,h3为第1,2,3隐含层;W为相邻2个神经元连接权值。给出含有l个隐含层的置信网络的输出为
(2)
图1 具有3个隐含层的DBN结构
式中 v=h0;P(hk|hk+1)为第k层受限制玻尔兹曼机(restrictedBoltzmannmachine,RBM)可视层与隐含层之间的条件分布,即针对该联合概率分布进行网络学习。由输入数据集可知,可视层v的神经元个数为13。通过大量实验,得到 nh1=100,nh2∈[15~35],nh3∈[5~25]。为了得到最优的隐含层节点数,利用RBM的重构误差进行寻优,并绘制等高线误差,如图2。重构误差[14]具体计算步骤如下:
1)初始化误差Error=0;
2)输入训练样本v(i)、RBM隐层单元数m、最大循环迭代次数T,对于v(i),i∈{1,2,…,K|;
3)对隐含层采样,计算P(h|v(i),θ),从条件概率分布中抽取h∈{0,1};
从图2可以看出:当nh2=20,nh3=10时,重构误差最小,由于本文针对正常、故障两类问题分类,因此,输出层节点数为2,最终网络结构为13—100—20—10—2。
图2 训练样本重构误差随nh2,nh3节点数目变化
2.2DBN训练
DBN训练分为2个主要步骤:用无监督贪婪算法对每一层RBM进行训练;对整个网络进行微调,使整个网络达到最优。步骤如下:
1)以v=h0作为输入,训练第1个RBM,使其达到稳定状态;
2)将第1个RBM学习到外界输入的联合概率分布作为第2个RBM的可视层输入,直至稳定状态;
3)重复执行步骤(2),直到最后一个RBM;
4)将最大似然函数作为目标函数,用BP算法微调各层参数,使整个网络达到最优。
步骤(1)~步骤(3),通过学习训练数据获得RBM的参数集θ=(wij,ai,bj)。其中,wij为可视层第i个节点与隐含层第j个节点的连接权值;ai为可视层第i个节点的偏置;bj为隐含层第j个节点的偏置。RBM参数调节算法如下
Δwij=ε(〈vihj〉data-〈vihj〉model)
(3)
Δai=ε(〈vi〉data-〈vi〉model)
(4)
Δbj=ε(〈hj〉data-〈hj〉model)
(5)
式中 〈〉model计算需要花费指数级时间,使用对比散度算法(CD)[15]可减少运算量,新的调节算法如下
Δwij=ε(〈vihj〉data-〈vihj〉1)
(6)
Δai=ε(〈vi〉data-〈vi〉1)
(7)
Δbj=ε(〈hj〉data-〈hj〉1)
(8)
式中 〈〉1为对样本进行一次吉布斯采样的得到的重构样本;ε为学习率,表示参数每次调节的大小,一般取0.005~0.200[16],本文令ε=0.15。
由于神经网络在学习过程中经常陷入局部极小值,需引入动量项,将导致参数更新方向与梯度方向不一致,调节方法如下
(9)
式中 m为动量项,本文令m=0.5;t为迭代次数。
设置RBM迭代的次数,即RBM进行1次权值更新即迭代1次,根据大量实验,当迭代次数超过250次时,重构误差变化非常小,因此,设置每层RBM迭代次数250次。
在步骤(4)中进行全局微调,将原始训练数据作为监督数据对整个网络进行有监督的学习,采用BP算法对整个深度网络进行优化,利用交叉熵[17]衡量输出与输入概率分布的逼近程度,公式为
(10)
式中 q,p分别为输入和重构样本的概率分布。表明:交叉熵越小,越能够完备地表征出样本的特征,经过大量实验,设置微调次数150次。
图3给出了输入数据经过DBN训练时各层特征提取曲线,图中纵坐标为重构特征。可知:1)传感器故障的第3隐含层较传感器正常的第3隐含层重构特征粗糙,因为传感器正常情况下,各维数据之间满足某种关系,特征更明显,而传感器故障时,各维数据不满足某类关系,显得杂乱无章;2)隐含层深度越深,提取的特征越抽象。
图3 DBN逐级特征提取曲线
由于DBN为基于概率的模型,因此,每次的识别效果可能会有差异。为了确保识别效果,本文计算结果由程序运行50次求取平均值,为更直观地了解分类准确率,绘制标签图4。
图4 测试集的分类结果
为检验故障检测的效果,将DBN模型与目前主流的诊断方法SVM和BP神经网络的分类准确率进行对比。同时为了体现深度学习在自动提取特征方面的强大能力,将对比实验分为2组。1)不做任何人工手动的特征提取,直接使用原始数据进行故障检测;2)对原始数据进行主元分析[18]、关联分析[19]、人工穷举提取主要特征,发现影响故障检测的主要特征有参数N1,N2,d,φ,TEG,并使用智能算法进行故障检测。
由表2可以看出:1)无论是否为人工提取特征,基于DBN的故障检测方法的分类准确率均远高于其他2种智能故障检测方法。2)基于DBN的故障检测方法训练集与测试集的正确率相差不大,而其他2种方法存在明显差距,说明基于DBN的故障检测方法不会因为训练次数的增加陷入过拟合的情况。3)人工提取特征后,基于BP神经网络和SVM的故障检测方法分类准确率均有大幅上升,而基于DBN的方法分类准确率有所下降,充分证明了DBN能够从高维度、大规模的数据中自动提取特征,数据维数越高、规模越大,DBN能够学习的特征就越丰富,越能够完备地刻画样本。4)人工提取特征后DBN模型的准确率有所下降,原因可能是提取特征后人为的剔除参数α1,α2,p,v,θ,h,FF,t8维数据,减少了某些隐含特征的提取源,使得分类效果变差。
表2 6种故障检测方法对比
注:RBF核为径向基函数;c为惩罚系数;g为核参数。
利用基于DBN的分类模型与飞行参数记录仪采集的大量数据,建立了一种大数据-深度学习的航空发动机排传感器故障检测模型,利用发参采集的13维数据作为输入,能够自动从高维数据中进行特征提取,无需人工干预。
实验证明:DBN提取的特征优于人工提取的特征,且在深层网络的学习中能充分挖掘数据信息而未出现过拟合现象,检测效果准确。由于使用该方法进行传感器故障检测,不需要对传感器建立精确的数学建模,在检测过程中也不需要进行繁琐的人工特征提取,因此,算法具有优秀的泛化效果,在大数据时代,可以推广到其他复杂元器件的故障检测中。但该模型也存在诊断时间较长的问题,未来将着重解决。
[1] 王修岩,李萃芳,高铭阳,等.基于SVM和SNN的航空发动机气路故障诊断[J].航空动力学报,2014,29(10):2493-2498.
[2] 李业波,李秋红,黄向华,等.航空发动机传感器故障与部件故障诊断技术[J].北京航空航天大学学报,2013,39(9):1174-1180.
[3] 孙晓倩,艾延延,张 振.航空发动机传感器故障诊断方法研究[J].沈阳航空工业学院学报,2010,27(2):15-19.
[4] 余 凯,贾 磊,陈雨强,等.深度学习的昨天、今天和明天[J].计算机研究与发展,2013,50(9):1799-1804.
[5] 孙毅刚,刘静雅,赵 珍,等.基于极限学习机的航空发动机传感器故障诊断[J].传感器与微系统,2014,33(8):23-26.
[6] 吴 同.基于深度学习的分类算法研究及应用[D].长春:吉林大学,2016:9-11.
[7] 赵光权,葛强强,彭喜元,等.基于DBN的故障特征提取及诊断方法研究[J].仪器仪表学报,2016,37(9):1946-1953.
[8] Hinton G E,Salakhutdinov R.Reducing the dimensionality of data with neural network[J].Science,2006,313:504-507.
[9] Bengio Y.Learning deep architectures for AI[J].Foundations and Trends in Machine Learning,2009,2(1):1-127.
[10] Arel I,Rose D C,Karnowski T P.Deep machine learning:A new frontier in artificial intelligence research[J].IEEE Computational Intelligence Magazine,2010,5(4):13-18.
[11] Hinton G E.Training products of experts by minimizing contrastive divergence[J].Neural Computation,2002,14(8):1771-1880.
[12] Graves A,Mohamed A R,Hinton G E.Speech recognition with deep recurrent neural networks[C]∥IEEE International Con-ference on Acoustics,Speech and Signal Processing(ICASSP), Santa Clara:[s.n.],2013:6645-6649.
[13] 谢 川,倪世宏,张宗麟.一种缺失飞行参数预处理的新方法[J].计算机仿真,2005,22(4):27-31.
[14] 刘建伟,刘 媛,罗雄麟.玻尔兹曼机研究进展[J].计算机研究与发展,2014,51(1):1-16.
[15] Hinton G,Osindero S,The Y.A fast learning algorithm for deep belief nets[J].Neural Computation,2006,18(7):1527-1554.
[16] Hinton G A.Practical guide to training restricted Boltzmann machines[R].Toronto:Machine Learning Group University of Toronto,2010:129-136.
[17] 黄海波,李人宪,杨 琪,等.基于DBNs的车辆悬架减振器异响鉴别方法[J].西南交通大学学报,2015,50(5):776-782.
[18] 崔建国,吴 灿,董世良,等.基于主元分析法和模糊积分的航空发动机气路状态检测[J].火力指挥与控制,2014,39(10):1808-1812.
[19] 芮少辉,张凤鸣,徐显亮.改进关联规则挖掘算法航空发动机故障检测[J].火力指挥与控制,2011,36(9):1815-1818.
Fault diagnosis of aero-engine sensor based on deep learning*
LIU Yun-long, XIE Shou-sheng, ZHENG Xiao-fei, BIAN Tao
(College of Aeronautics and Astronautics Engineering,Air Force Engineering University,Xi’an 710038,China)
Aiming at the problems of traditional back propogation(BP)neural network and support vector machine(SVM)learning algorithm,such as over fitting, dimension disaster and difficulty of parameter selection,put forward an aircraft engine sensor fault detection method learning algorithm based on deep learning algorithm.Preprocess the multi dimensional data acquired by aero-engine parameter recorder;fault detection model based on the deep belief network(DBN)is set up;fault detection model is trained using proprocessed data, after DBN fault detection model characteristics learning layer by layer,sensor fault detection is realized.It is shown from the simulation results,in the absence of artificial feature extraction and feature extraction,accuracy based on DBN fault detection is higher than that of BP neural network and SVM model.
aero-engine sensor; fault detection; deep learning; deep belief network(DBN); flight parameter
10.13873/J.1000—9787(2017)09—0147—04
2017—01—02
国家自然科学基金资助项目(51476187,51506221)
TP 212
A
1000—9787(2017)09—0147—04
刘云龙(1992-),男,硕士研究生,主要研究方向为航空发动机状态监控与故障诊断。