APP下载

基于深度自编码网络的轴承故障诊断

2018-10-23袁文军王晓峰周文晶

噪声与振动控制 2018年5期
关键词:原始数据编码器故障诊断

袁文军,刘 飞,王晓峰,周文晶

(1.江南大学 自动化研究所,江苏 无锡 214122; 2.西门子中国研究院,北京 100102)

故障诊断在机械、电力、化工、航空航天等领域已成为研究热点。故障诊断技术的应用可以很大程度上减少因组件或者系统发生故障带来的损失,因此吸引了大量的专家和学者对故障诊断技术在不同领域的研究,寻找有效的诊断方法[1]。

滚动轴承作为旋转机械设备的重要组成部分,从简单的电风扇到复杂的机床等设备都能被广泛地应用。事实上,超过50%的机械缺陷与轴承故障相关。滚动轴承故障导致机器关闭,停止生产,甚至人员伤亡。然而,滚动轴承的工作环境一般是恶劣的,复杂的,以及异常可变的,这总是使故障诊断方法效果较差。因此,滚动轴承故障诊断是机械故障诊断的一个非常重要的方面,并且是近年来的热研究课题[2]。

滚动轴承故障诊断是分析历史故障数据以检测和预测当前或者未来故障的过程。它旨在为工作人员提供协助以防止或避免故障发生或者故障后做出合理决策。轴承故障通常受旋转机械的直接影响,为了全面判断轴承的健康状况,可以通过加速度计记录旋转机械的振动数据,并找出正常状态和各种故障状态之间的数据差异。因此迫切需要能够有效分析海量数据并自动提供准确诊断结果的诊断方法。

目前,智能故障诊断方法在旋转机械故障诊断领域中已得到了广泛的研究和应用。Samanta[4]等采用三优化的神经网络技术提取时域特征,来检测泵的故障。Widodo[5]等人计算被测信号的若干特征并结合RVM和支持向量机进行轴承故障诊断。Yang[6]等人将能量熵作为轴承故障特征,利用经验模态分解来分析该特征并且采用ANN进行故障诊断。而在轴承故障诊断方面,轴承的故障分类可以通过支持向量机(SVM)、人工神经网络(ANN)、K最近邻算法(KNN)等机器学习算法。上述文献中采用的智能故障诊断方法存在两个不足:

(1)根据已有的诊断知识采用特定的信号处理技术进行特征提取,很难保证数据特征的精准度。在故障诊断领域中,这些方法往往只能解决特定的诊断问题,无法完成其他类型的故障诊断。为了提高数据特征的准确性,我们需要一种新的能够自适应地提取特征的方法,来反映机械器件的健康状况。

(2)这些故障诊断的方法大多运用有监督的学习策略,即根据由先验知识判断得到的故障类型,选用合适的方法提取故障特征和分类。然而,故障类型的标签数据需要由大量的实验和专业知识[8]分析得到。为了解决故障诊断中存在的这一难题,无监督学习的特征提取方法逐渐被人们应用到故障诊断领域中。

自Hinton[9]在2006年提出一种通过训练深度“自动编码器”网络来学习高维数据的低维特征表达以来,无监督的深度学习方法已被应用到语音识别、图像识别等领域,并取得了显著的成果[9–12]。深度自编码器网络是一种典型的深度学习模型,利用含多个隐含层的神经网络模型对高维数据进行逐层贪婪学习,来获取数据的低维特征表达。深度自编码器网络因其强大的海量数据处理能力,在智能故障诊断领域已逐渐受到人们的关注。Sun[14–15]等提出了基于深度自编码神经网络的电动机故障诊断方法,取得显著的效果。Feng[3]等通过深度自编码器网络提取旋转机械的故障特征,来训练人工神经网络,得到更高的精度。Chen[16]等提出了使用深度置信网络的机械故障诊断方法,取得较好的效果。Wang[17]等利用深度神经网络对电力系统进行故障诊断,获得良好的表现。

1 深度自编码网络结构

深度自编码网络包含多个隐含层。采用逐层训练的方式,每一个隐含层处理得到的数据均会通过非线性变换传送到下一层,整个网络的训练分为以下两个步骤:

(1)自编码器进行无监督学习的预训练。(2)分类器的微调[18]。

1.1 自动编码器

一个基本的自编码器[19](AE)可以视为一个3层神经网络结构,即输入层、隐含层和输出层,其中输入层和输出层具有相同的规模。自编码器的训练包括两个过程,即编码过程和解码过程。编码过程将输入高维数据转换成隐藏层的低维特征;解码过程将隐藏的特征重构为输出目标。通过最小化重建错误来确定权重矩阵,它的结构如图1所示。

图1 自编码器基本结构

隐含层的特征表达h通过映射函数gq映射成为一个重构的输出向量̂。该重构向量和输入向量

因此,每一个训练样本x都最终映射为一个隐含的压缩特征表达h和一个输出的重构特征表达̂。自编码器的训练需要通过最小化输入数据x与重构数据之间的平均重构误差,使参数{q′,q}达到最优。平均重构误差可以表达为

式中:M是训练样本的个数,L表示损失函数的值,选用交叉熵损失函数如下式

所以最终将特征学习问题转化为最优化问题。其实现可通过反向传播算法来完成,同时采用批量训练方法,利用梯度下降法在每一次迭代过程中更新一次权值。更新方程如下

式中:ε——学习率。

1.2 自编码器模型构建深度自编码网络

深度自编码网络由多层自编码堆栈组成,其中每一层的隐含层输出作为下一层的输入,又称为栈式自编码网络(stacked autoencoder,SAE),是深度学习的一种典型分支。

一般而言,深度网络结构比浅层网络对特征的学习更有效率,但由于模型复杂度高,训练难度大,我们采用Hinton提出的逐层贪婪训练[1,11]的方式来构建深度自编码网络。具体而言,将一个简单的自编码作为深度学习网络的一个模块来搭建该栈式自编码网络。模型如图2所示。

训练每一层自编码网络时,固定其它层参数不变,将第l层的特征表达作为l+1层的输入,完成该层的网络训练后,将该网络的输出特征传递到下一层作为输入逐层训练,获得每一层的参数θ和θ′。由于每一层都是采用自编码的形式,每一层的过程是无监督的。

除了无监督的网络训练,在网络的最后一层,选择支持向量机(SVM)作为分类器,利用带标签的原始数据来训练支持向量机的网络参数。也就是将原始数据通过多层自编码网络转化为低维特征向量,然后利用得到的低维特征及其对应的标签数据来训练SVM,得到其权值参数。最终这些逐层训练所得到的的权值参数作为整个网络的初始参数,这个过程就是逐层贪婪预训练。

在上述预训练过程完成之后,将整个网络所有层视为一个模型,通过反向传播算法延伸作用于整个深度网络模型的每一层,这样在每次迭代使所有参数都被优化。这个过程称为“微调”。微调是深度学习中的常用策略,可以大幅提升一个栈式自编码神经网络的性能表现。最终得到的多层自编码网络和SVM的权值参数即深度自编码网络的初始化参数。和随机初始化权值的做法相比,该训练过程能产生一个较合适的局部极值,在某些任务上能达到更好的泛化性能。

2 深度自编码网络的轴承诊断中应用

图2 逐层贪婪学习

本文利用深度自编码网络特征提取的能力,将其应用于轴承故障诊断。轴承原始数据通过深度自编码网络,在无监督训练时,会将高维原始数据转换成低维数据的特征表达。在自编码器无监督训练完成后,利用得到的低维数据和原始数据标签对分类器进行训练,最后通过测试集判断整个深度自编码网络的性能。相比传统的有监督的故障诊断方法,无监督的训练过程会使故障特征的提取和分类更加智能化,更有助于判别轴承等机械器件的故障类型。深度自编码网络首先通过非监督特征学习方法,使用无标签数据逐层训练自编码器,得到每一层最优的权值参数W和偏置向量b,即可获取原始数据简明有效的特征。然后通过多层自编码器和有标签的数据训练SVM分类器。整个过程均采用反向传播算法进行微调,以提高栈式自编码网络的性能。最后利用测试集进行网络性能的测试验证。其中第一阶段训练为非监督学习,其表现形式为输入数据没有类别信息,也没有目标值,需要根据数据自身结构特性来进行训练,其输入数据便是无标签数据。而第二阶段训练为监督学习,其表现形式目标是学习从输入到输出的映射关系,其中输出的正确值已经由指导者提供。其输入数据为有标签数据。深度自编码网络的训练流程如图3所示,主要分为下面3个步骤:

(1)用无标签轴承振动数据X1训练自动编码器。

1)设置训练学习率、去噪参数和隐藏层数量等参数,随机初始化权值矩阵W和偏置向量b。

2)设置前向算法中批量训练数和迭代次数等,执行前向算法。

3)对输出层的每一个神经单元,计算代价函数。

4)执行反向传播算法,采用梯度下降法更新连接权值。

(2)用有标签轴承振动数据(X2,Y2)训练深度神经网络进行特征分类。

1)用步骤(1)中得到的自编码器的权值W和偏置向量b等参数初始化深度神经网络模型。

2)设置该深度神经网络模型的学习率、批量训练数和迭代次数等参数,对传输数据执行前向传播算法,提取特征并进行分类。

3)按式(3)计算深度神经网络的代价函数和均方误差。

4)执行与之前相同的反向传播算法,每迭代一次更新一次权值,完成整个网络进行微调。

(3)用测试数据集(X3,Y3)测试网络性能。

1)执行前向传播算法,通过深度神经网络学习模型的训练,得到测试数据的特征表达,然后将该特征表达输入到分类层进行分类。

2)将分类层输出的数据与标签数据对比,统计每类特征的分类错误率。

3 实验及对比分析

3.1 数据描述

图3 深度自编码网络训练与测试流程图

在我们的实验中,三类轴承故障数据和正常数据均选自凯斯西储大学轴承数据集。如图4所示,测试平台由一台2马力的电机(左),一个转矩传感器(中间),一个功率计(右侧)和电子控制设备(没有显示)组成。其中产生的故障数据集包括外圈、内圈及滚珠的单点故障。故障详细如表1所示。本次实验数据在每一种故障位置的故障直径均包含0.007英寸和0.014英寸,并且分别在电机在0负载以及1马力负载的情况下采集数据,采样频率为12 kHz。

表1 详细数据

图4 轴承故障数据采集平台

实验开始之前,对实验数据进行预处理。每0.1秒采集一次数据,即每1 200个数据点组成一个样本,并且分别用不同负载下的实验数据构建两个数据集A、B以及综合两个数据集得到数据集C作为本次实验的原始样本数据。其中75%的数据作为训练数据,剩余部分作为测试数据。然后对所有数据进行快速傅里叶变换(FFT)得到振动信号的频域数据。

3.2 实验结果与分析

本次实验中,首先将数据进行归一化处理,通过实验经验,采用两层的自编码网络进行训练,节点数为1 024~800~400,ε学习率为0.01。既可以降低深度神经网络模型的复杂度,也能够提升特征学习的效率。为了验证该深度神经网络学习模型性能的优越性,我们利用主成分分析法(PCA),对原始数据和提取的特征数据从高维空间映射到三维空间,由于A,B数据集原始数据特性相似,均为单一负载下采集的数据。因此只给出数据集A通过SAE进行故障特征提取的可视化结果如图5-图7所示。该三维空间横纵坐标及高度分别表示为特征通过PCA算法的第一主元,第二主元和第三主元。

图5 数据集A原始数据可视化

图6 数据集A的第一隐含层特征可视化

图7 数据集A的第二隐含层特征可视化

由图5可以看出,不同类型的原始数据在空间内相互交叠,这种情况完全无法分析数据的类别。图6-图7显示了原始数据采用深度自编码网络训练得到的内在特征信息,相比于原始特征,具有明显的可识别性,能够精确地区分出不同类别的数据。考虑到在实际情况下,同一种故障可以是由不同负载下产生的,因此图8表示数据集C的原始数据可视化结果,图9表示利用SAE模型对数据集C进行故障特征提取的可视化结果。

从图8可以看出,原始数据的分布依旧集中在一起。从图9可以看出,通过自编码网络模型逐层的特征提取之后,不同类型的数据已经逐渐分离出来,虽然有重合的部分,但这是一种相对发散的状态而不是集中的形态。通过对比,即使是更加复杂的多工况多负载的情况依然能有很好的特征提取能力。显然地,原始数据通过深度自编码网络训练得到其内部特征后,更加容易进行分类。这种良好的表现源于深度自编码网络优秀的特征提取能力。

图8 数据集C原始数据可视化

图9 数据集C第二隐含层特征可视化

为了进一步验证深度自编码网络算法性能,我们将轴承数据按如下四种方式进行处理,然后传输到SVM模型进行分类识别。

(1)原始数据直接输入;

(2)选取常用的振动峭度作为单变量特征输入;

(3)提取数据的多变量特征,包括最大值,最小值和峰值等12组特征作为输入;

(4)深度自编码网络的训练得到的特征表达作为输入。原始数据通过以上四种数据处理方式后,传输到分类器进行分类。比较不同方法下故障识别的准确率。每种处理方式均进行10次随机试验,实验结果如下图所示。

表2 多种测试方法测试结果

由表2可知,方式(1)的故障识别的准确率低于50%,效果最差,表明SVM模型对原始数据的分类识别效果不佳。当选择峭度作为输入时,效果依旧不够好,SVM模型对单特征变量数据的故障识别能力有限。采用方式(3)多变量特征输入时,故障识别能力高于方式(2)的单一特征。这表明多变量特征的数量和种类直接影响分类器的故障识别效果但识别效果在80%到90%之间,仍然有待提高。这说明了如果我们需要更高的识别能力的话我们就要去提取更多类型的特征,这有违智能故障诊断的意图且效率低下。而方式(4)采用深度自编码网络提取的数据特征进行分类,故障识别的准确率一直保持在95%以上,分类识别的效果明显优于前面三种方法。

4 结语

本文采用深度自编码网络的故障诊断方法,将深度学习强大的特征提取能力应用于轴承设备的故障诊断,通过实验比对证明了该方法的有效性,结果表明:

(1)所提出采用的算法能实现故障数据特征的自动提取和维数约减,避免了过于依靠对专家经验诊断和复杂信号处理技术的依赖。

(2)所提出方法使用逐层贪婪训练加微调的方式,成功挖掘出高维样本特征,有效克服梯度消失和局部极值问题,提高了故障时别效果和泛化能力。

(3)通过对滚动轴承故障诊断实验,与传统机器学习方法的比对,证明该方法在该故障诊断上有效性。

猜你喜欢

原始数据编码器故障诊断
GOLDEN OPPORTUNITY FOR CHINA-INDONESIA COOPERATION
融合CNN和Transformer编码器的变声语音鉴别与还原
基于包络解调原理的低转速滚动轴承故障诊断
受特定变化趋势限制的传感器数据处理方法研究
数控机床电气系统的故障诊断与维修
基于双增量码道的绝对式编码器设计
全新Mentor DRS360 平台借助集中式原始数据融合及直接实时传感技术实现5 级自动驾驶
基于数字信号处理的脉冲编码器
光电编码器故障诊断技术研究现状与展望
基于LCD和排列熵的滚动轴承故障诊断