APP下载

基于深度自编码网络的航空发动机故障诊断∗

2021-03-03崔建国李国庆蒋丽英于明月王景霖

振动、测试与诊断 2021年1期
关键词:编码器故障诊断标签

崔建国, 李国庆, 蒋丽英, 于明月, 王景霖

(1.沈阳航空航天大学自动化学院 沈阳,110136)(2.故障诊断与健康管理技术航空科技重点实验室 上海,201601)

引 言

航空发动机属于典型的故障易发系统,其健康状态会对飞行器飞行安全产生严重影响[1]。由于复杂的内部结构和多变的外部工作环境,航空发动机采集的监测数据具有非线性和高维特性等特征,很难被传统的故障诊断技术准确有效挖掘和识别。深度学习的不断发展为故障诊断技术提供了新的解决方案。深度学习网络是通过构建多层神经网络,逐层学习和提取数据特征,最终实现对数据复杂特征信息的挖掘。目前,深度学习理论已成功应用于图像识别和语音处理等领域[2-3]。基于此,笔者提出了采用深度自编码网络(deep autoencoder network,简称DAEN)对航空发动机进行故障诊断的方法。

1 深度自编码网络

深度自编码网络是由多层自编码器依次连接而成的深层神经网络,依据深度自编码网络的结构特点,将其训练过程分为2 个阶段:①采用无标签的数据样本集对深度自编码网络参数的初始值进行预先训练;②采用有标签的数据样本集对该网络进行再训练,以实现网络参数的微量调整。

1.1 深度自编码网络预训练

深度自编码网络的预训练实质上是初始化网络中连接权值和偏置向量等参数,通过自监督特征优化算法对各层自编码器进行训练,最终确定层与层之间连接权值的初始值和各层神经元的偏置初始值。作为深度自编码网络的基本组成部分,自动编码器是一种自监督神经网络,主要由输入层、隐藏层和输出层组成,其中输出层的标签设置为近似等于输入值。因此,只要确定输入层和网络隐藏层的结构参数,就可以确定自编码神经网络。自编码器基本结构如图1 所示。其中:“+1”为网络的偏置节点;W为由网络输入层与隐含层之间的权系数构成的矩阵;为由网络隐含层与输出层之间的权系数构成的矩阵。

根据自编码器的运算过程,一个自编码器可分为2 部分:编码和解码。编码是指由输入层的输入数据得到隐含层输出的计算过程。解码是指由隐含层输出得到输出层输出的计算过程。如图1 所示,给定数据样本集X=(x1,x2…,xN)(其中:N为样本数),设编码函数为f,则编码实现从输入层到隐含层的非线性变换,编码过程[4-5]可表示为

图1 自编码器基本结构Fig.1 Self-encoder basic structure

其中:h为网络隐含层的输出向量;x为网络输入层的输入向量;θ= {W,b},b为网络输入层与隐含层之间的偏置向量。

设g为解码函数,则解码为隐含层与输出层之间的映射关系,解码过程可表示为

编码函数和解码函数可以选用sigmoid 函数或hyperbolic tangent 函数等,本研究方法使用sigmoid函数。在自编码器训练过程中,应使得自动编码器的输出值近似等于网络的输入值x。自编码器的均方误差函数[6]为

其中:J(θ)为均方误差;N为样本数。

笔者在重构误差时采用交叉熵损失函数,重构误差函数公式[7]为

针对于数据集X,损失函数可表示为

其中:xi为网络的第i组输入向量为网络的第i组输出向量;θ为由网络的连接权系数和偏置向量等参数构成的数据集合。

采用不同的方法对自编码器的算法进行改进,得到不同的自编码器模型,例如:稀疏自编码器(sparse autoencoder,简称SAE)、去噪自编码器、收缩自编码器等[8-11]。由于航空发动机监测信息的数据特点,笔者采用稀疏自编码器作为深度自编码网络的主体结构。

稀疏自编码器采用稀疏自编码算法,该算法通过增加稀疏正则化约束,消除隐含层中影响较小的部分,从而依靠限制隐含层神经元的激活状态,提取数据的潜在特征[12-13]。相较于一般的自编码器算法,稀疏自编码算法在式(5)的基础上增加了稀疏惩罚项。总的损失函数表达式[14]为

其中:β为稀疏惩罚因子权系数;ρ为稀疏性系数;ρ̂表示自编码网络的隐含层对输入层输入数据的平均活跃度;为网络的第i组输入向量对隐含层第j个神经元的激活度;KL为稀疏自编码算法中的稀疏性惩罚项,表示ρ̂和ρ的KL 距离,即相对熵。

对单层自编码器进行预先训练时,采用随机梯度下降的方法计算参数值,而对深度自编码网络进行预先训练时,采用逐层贪婪的训练方法。一个自编码器预先训练完成后,将其隐含层的输出数据作为网络连接的下一层自编码器的输入数据,再预先训练下一层自编码器。如此进行下去,直至最后一层的自编码器预先训练完成。至此,整个深度自编码网络的预先训练过程结束。

1.2 深度自编码网络微调

由网络的预训练过程可知,各层自编码器参数的训练依次进行,最终得到深度自编码网络的初始参数。为了用于诊断且得到更好的诊断结果,需要对深度自编码网络参数进行进一步调整,即网络微调。采用含有标签的训练数据样本集,赋给整个网络的输入层和输出层,根据反向传播神经网络(back propagation neural network,简称BP)的反向传播功能,可以实现对整个网络所有参数在细节上进行微调,从而得到全局最优解,达到深度学习的最佳效果。相较于直接在随机初始参数上使用BP算法进行训练,在网络预训练完成之后,对其进行微调会有更好的效果,因为前者容易陷入局部最优[15]。

2 深度自编码网络故障诊断模型创建

2.1 基于深度自编码网络的故障诊断方案

基于深度自编码的航空发动机故障诊断方案如图2 所示。

图2 基于深度自编码的航空发动机故障诊断方案Fig.2 Aero engine fault diagnosis scheme based on deep self-encoding

2.2 基于深度自编码网络的故障诊断模型

依据深度自编码网络的诊断思想,笔者创建了基于深度自编码网络的航空发动机故障诊断模型,如图3 所示。该模型包含一个输入数据的输入层、k个挖掘数据特征的隐含层和一个输出诊断结果的输出层。其中:输入层和k个隐含层共同组成k层稀疏自编码器;输出层和第k个隐含层组成分类层。分类层将数据提取后,信息转换为故障诊断的结果,常用的分类器有logistic 分类器、SVM 分类器和Softmax 分类器等。笔者选用Softmax 分类器。

诊断时,输入层的神经元个数为输入样本的参数个数,隐含层的层数和各隐含层的神经元个数通过不断试验调整得到,输出层的神经元个数可根据故障的类别进行设置。

图3 基于深度自编码网络的故障诊断模型Fig.3 Fault diagnosis model based on deep self-coding network

2.3 基于深度自编码网络的故障诊断步骤

基于深度自编码网络的故障诊断步骤如下:

1)根据航空发动机采集的监测数据(原始数据)构造数据样本集,对构造好的样本集进行标准化处理;

2)选取适当的隐含层层数及隐含层神经元个数,建立深度自编码神经网络的初始模型;

3)使用无标签的训练数据样本集对构造好的深度自编码神经网络进行自监督训练,从而确定各层自编码模块的参数初始值;

4)采用含有标签的训练数据样本集对输出层和整个网络进行训练,即微调,最终确定基于深度自编网络的航空发动机故障诊断模型;

5)利用测试数据样本集对基于深度自编码网络的航空发动机故障诊断模型进行测试,并对测试结果进行分析。

3 深度自编码网络故障诊断试验

笔者使用某型航空发动机采集的监测数据,通过该型号发动机的理论学习对众多监测参数进行分析,选取能够较好反应发动机状态的参数作为故障诊断模型输入项的输入。例如:滑油压差、滑油回油温度、高压转子转速、油门杆位置、低压转子转速以及涡轮落压比等30 个参数。根据选择的数据,将航空发动机划分为健康和故障2 种工作状态,用标签“[10]”表示健康状态,标签“[01]”表示故障状态。笔者在网络模型的预训练阶段采用无标签数据,其中包含正常数据和故障类或近似故障类数据;网络微调阶段采用少量的含有标签的数据。

在建立故障诊断模型时,网络预训练阶段分别选取无标签的数据样本200,400 和800 组,其中健康数据和故障数据比例均为4∶1。网络微调阶段采用含标签数据样本200 组,其中,健康数据样本150组,故障数据样本50 组。在模型测试时,选取含标签数据样本100 组,其中,健康数据样本和故障数据样本各50 组。

根据多次试验的结果,笔者设计了隐含层为2层的深度自编码网络。各隐含层中的神经元个数均设为100,最大迭代次数设定为400,学习速率设为0.01,稀疏性参数为0.1,权重衰减系数为0.002,稀疏惩罚项权重为3。本研究方法中,网络的输出层选择了Softmax 分类器,其输出结果为不同条件下的概率值[16],即输出层神经元的输出值范围为[0,1],且和等于1。通过输出层不同神经元输出值之间的比较,将输出值最大的神经元节点记为1,其余记为0。

为了讨论深度自编码网络预训练过程中,无标签训练数据样本集的大小对诊断准确率的影响,笔者选用不同组数的无标签训练数据样本集对网络进行预训练,每组数据样本集做10 次试验。不同试验次数下模型诊断准确率如图4 所示。

图4 不同试验次数下模型诊断准确率Fig.4 Diagnosis accuracy rate of fault diagnosis model with different test times

根据10 次试验结果求取航空发动机故障诊断的平均诊断准确率,表1 为不同预训练集的故障诊断结果。可见,网络预训练过程对航空发动机故障诊断的诊断准确率有一定的影响,且随着网络预训练过程中无标签数据样本集的增加,其发动机故障诊断的准确率也会不断增大。

表1 不同预训练集的故障诊断结果Tab.1 Fault diagnosis results of different pre-training sets

为了验证所设计的模型故障诊断效果,笔者在使用相同数据集的前提下,分别采用了BP、广义回归神经网络(general regression neural network,简称GRNN)、径向基神经网络(radial basis function,简称RBF)和最小二乘支持向量机(least squares support vector machine,简称LSSVM)故障诊断方法,对航空发动机进行了故障诊断技术研究。不同方法的故障诊断结果如表2 所示。

表2 不同方法的故障诊断结果Tab.2 Fault diagnosis results of different methods

由于笔者所提出的方法是在预训练的基础上对参数进行了进一步微调,可以更加有效地提取和学习数据样本的信息特征,进而克服局部收敛和梯度消失等问题,因此与传统的故障诊断方法相比,所提出的方法可以较好地提高发动机的故障诊断准确率。由表2 可知,相较于其他常用的故障诊断方法,所提出方法具有更好的诊断效果。

4 结束语

笔者将深度学习的优势应用于航空发动机的故障诊断领域,创建了基于深度自编码神经网络的航空发动机故障诊断模型。研究表明,预训练深度自编码神经网络对于网络模型的创建十分重要,采用增加预训练样本集的容量,可以得到精准的发动机故障诊断模型。笔者提出的基于深度自编码网络的航空发动机故障诊断方法较其他神经网络故障诊断方法具有较高的准确性,在航空发动机故障诊断领域具有较高的应用和推广价值。

猜你喜欢

编码器故障诊断标签
基于包络解调原理的低转速滚动轴承故障诊断
无惧标签 Alfa Romeo Giulia 200HP
基于FPGA的同步机轴角编码器
不害怕撕掉标签的人,都活出了真正的漂亮
基于双增量码道的绝对式编码器设计
标签化伤害了谁
JESD204B接口协议中的8B10B编码器设计
因果图定性分析法及其在故障诊断中的应用
科学家的标签
多总线式光电编码器的设计与应用