APP下载

一种基于稀疏自编码器的电机故障诊断方法

2019-10-22王黎阳翟旭平

噪声与振动控制 2019年5期
关键词:编码器分类器故障诊断

王黎阳,杜 翀,汪 欣,翟旭平

(1.上海大学 特种光纤与光接入网重点实验室,上海200072;2.中国科学院上海高等研究院 城市公共安全研究中心,上海201210)

在当前的电机领域中,航空发动机、永磁直流电动机、军用特种电机组等装备正朝着自动化、智能化、高效化方向发展。建立可靠的故障智能诊断系统,保障装备安全运行,避免事故发生显得愈发必要[1]。对电机进行实时的状态监测与故障诊断,不仅可以保证电机的正常运转,而且能够及时发现问题并进行维修,减少不必要的损失[2]。

在故障诊断研究中,普遍采用信号处理与模式识别相结合的诊断方法[3],其中特征提取和分类识别是故障诊断的核心技术。南京理工大学邢宗义团队提出了基于经验模态分解和支持向量机(Support vector machine,SVM)的故障诊断方法[4]。北京交通大学赵志宏团队提出一种基于经验模式分解与样本熵的故障诊断方法,通过选取包含故障信息的内蕴模式分量,提高故障诊断准确率[5]。西安交通大学雷亚国团队利用稀疏滤波和soft max 回归分类处理大数据,获得了较高的诊断准确率[6]。这些研究取得了一定的成果,但这种传统的模式识别方法对信号采集和处理要求较高,模型的泛化能力有限[7]。

稀疏自编码器(Sparse autoencoder,SAE)通过对数据的学习训练,可自适应从大量数据中提取用于分类的特征信息,目前已被广泛应用于图像识别、语音识别等领域,并取得了显著的成果[2]。

针对传统的模型识别方法对信号采集和处理的要求较高、模型的泛化能力有限的问题[8],本文提出了一种基于稀疏自编码器的故障诊断方法。该方法可以将海量信息通过稀疏自编码器从输入映射到编码,自动学习输入数据的特征表达。相比于传统的模式识别方法,不仅能给出更好的特征描述,降低分类任务的复杂度,而且能得到更高的分类精度[9]。

1 算法原理

基于稀疏自编码器的故障诊断方法包括稀疏自编码器和soft max分类器两部分,稀疏自编码器可视为一个神经网络,通过训练海量数据,来提取有效特征,与传统基于经验诊断特征选择的方法相比,能够更好地刻画数据的内在特征。soft max 分类器将稀疏自编码器提取的特征经过非线性变换,输出分类结果。

1.1 稀疏自编码器

稀疏自编码器由OLSHAUSEN 等[10]提出,它克服了传统自编码器直接复制输入层到隐含层,不能有效提取特征的缺点,通过多层非线性变换,提取输入数据中隐含的分布式特征,通过稀疏惩罚项,提取稀疏的数据特征,提高了特征提取的效率,改善了自编码器的性能,具有更广阔的实用前景。

将稀疏自编码器看成一个神经网络,令输入与输出的个数相等,如图1所示。

图1 自编码器结构图

图中,一个圆圈代表一个神经元,在隐含层对输入层传递的数据进行编码、重构,将高维的输入数据转换为低维的编码特征矢量表示值。

对于一个给定的无标签电机振动信号样本集{x1,x2,x3,···,xk},先将其中的样本x1,x2,x3,···,xk按顺序拼接成长度为1×(n·m)的一维数组K,再将K以n为单位剪切,重构为n×m矩阵形式的数据集{x(1),x(2),x(3),···,x(m)},x(m)∈Rn,作为输入矩阵X。

选取sigmoid 函数作为神经元激活函数。取一组n×1的样本x作为输入数据,定义a(i2)为隐含层第i个神经元的单元激活量,则

其中:xj为输入层第j个神经元的值,W(1)ij代表输入层第j个神经元与隐含层第i个神经元的连接权值,n为输入层的神经元个数,b(1)i表示隐含层第i个神经元的偏置,其初始值为b(1)1=0,b2(1)=0,f(·)表示,表达式为

隐含层的作用是提取输入数据的特征,其输出即为特征。隐含层的特征表达能最大程度上降低重构误差。对于输入数据x,隐含层的特征表达式为

其中:hW,b(x)为对于输入数据x的隐含层特征矩阵,S2为隐含层的神经元数。对应的代价函数J(W,b;x)为

将稀疏惩罚项引入自编码器的代价函数中,控制隐含层神经元的激活数量。隐含层第j个神经元的平均激活量ρj可以表示为

其中:m为样本数,a(2)j(x(i))表示在给定输入为第i组样本的情况下,隐含层第j个神经元的单元激活量。通常,在激活函数为sigmoid 时,若神经元单元激活量接近1,可认为神经元被激活;若单元激活量接近0,则认为不被激活。稀疏编码的目的就是减少被激活神经元数量,降低无效的特征数据量。

设ρ为近似为零的常稀疏参数,平均激活量ρi趋近于ρ时,稀疏效果最好。引入KL(Kullback-Leibler)散度来限制ρi和ρ之间的差值,该稀疏惩罚项PN为

式中:KL(ρ‖ρi)为KL 散度。 当ρ=ρi时,KL(ρ‖ρi)=0,PN=0。当ρi逐渐偏离ρ时,KL散度的值会随之增大。

为最小化重构误差,引入稀疏惩罚项,此时稀疏代价函数Jsparse(W,b)可表示为

其中:Sl为第l层神经元个数;λ为权值惩罚参数,通过减少权重的大小来防止过拟合;β为稀疏惩罚项的权重。最小稀疏代价函数通过梯度下降法来优化权值W和偏置b,形成特征抽取层W(1)和b(1)

其中:W(l)ij为输入层第j个神经元与隐含层第i个神经元的连接权值,b(l)i为隐含层第i个神经元的偏置,α为学习率。通过计算平均激活量得到代价函数中的稀疏惩罚项,优化稀疏代价函数从而实现重构误差的最小化[2]。

1.2 soft max分类器

将稀疏自编码器训练出的特征权值矩阵,作为输入训练soft max 分类器,得到分类结果。soft max分类器是在log istic 回归模型在多分类问题上的推广,它将多个神经元的输出,映射到(0,1)区间内,可看成概率来理解。

设训练样本集合{x(1),x(2),x(3),···,x(n) },x(n)Rm为输入数据,{y(1),y(2),y(3),···,y(n) },y(n)N为输入标签,标签可取k个不同值。对于给定的测试输入x(i),经过soft max函数的假设输出值为

基于假设函数估算出每一类标签的概率值p(y(i)=k|x(i)),设hθ(x(i))所有的概率之和为1,假设函数表达如下

其中:θ表示全部的模型参数。图2为soft max 类器的结构。

图2 soft max分类器结构图

对于输出的一组概率值,选取数值最大的结点,作为分类结果。为了解决soft max 回归模型中代价函数J(θ)最小化的解不唯一问题,在代价函数中加入权重衰减

其中:1{ · }是示性函数,表达式为真时取1,否则取0,λ为权重衰减参数。

当λ>0 时,J(θ)为严格的凸函数,可通过计算得到唯一解。为了获得J(θ)的最小化值,使用迭代优化算法——梯度下降法来求解,此时的Hessian矩阵为可逆矩阵,且J(θ)为凸函数,因此J(θ)可以收敛到全局最优解。对J(θ)求导,可得梯度公式

将梯度公式代入到迭代优化的算法中,每一次迭代都需要更新θj

通过最小化代价函数J(θ),可以实现一个可用的soft max分类器。通过上述原理分析可以看出,分类结果与输入特征之间存在明显相关性。当输入中包含属于某一分类的的特征越多,输出为该分类的概率就越大。

对于不同类别之间满足互斥关系的分类问题,即每个训练样本只会被打上一个标签,例如识别不同的单个数字和图像等,soft max分类器有很好的效果,因此可以应用于轴承故障的识别分类中,同时也适用于车牌识别、目标检测等领域。

2 故障诊断方法

针对传统故障诊断方法对于大数据处理的局限性,以及其依赖于信号处理与诊断经验从海量数据中提取特征而导致的泛化性不强的缺点,本文提出了构建以稀疏自编码器和soft max 分类器为基础的故障诊断方法,通过对采集的振动信号经过预处理和非线性变换,实现故障特征的自动提取与健康状况的智能诊断。

在预处理阶段,对原始振动信号的处理方法有频谱特征法和包络解调法[11]。

频谱特征法将振动信号的时域波形通过快速傅里叶变换(FFT)转换到频域,得到的频谱作为一个样本数据集输入到稀疏自编码器中。包络解调法通过Hilbert 变换将时域实信号变为时域解析信号,对其幅值做FFT,得到Hilbert 包络谱。相比而言,由Hilbert包络分析得到的结果往往比较清晰直观。

电机故障振动信号表现为非平稳信号,若人为将这类信号假定为平稳信号进行处理,将产生严重的“频率模糊”现象[12]。包络解调法通过包络检波和低通滤波,把与故障有关的部分从高频调制信号中解调出来,对于低频振动有着良好的抗干扰性,具有很高的诊断可靠性和灵敏度。

该方法的的整个流程如图3所示。

主要描述可分为五个步骤:

(1)将原始振动信号进行预处理,提取振动信号的Hilbert包络谱作为输入数据。

(2)构建稀疏自编码器,设置训练学习率、稀疏参数ρ、权值惩罚参数λ、惩罚权重参数β等参数,确定稀疏自编码器输入层、隐含层的节点数,随后初始化权值矩阵W和偏置b。

(3)设置前向算法中批量训练数、迭代次数等,将预处理后的训练集数据作为输入训练稀疏自编码器。执行前向算法,计算平均激活量ρi和稀疏代价函数;执行反向传播算法,更新参数W(l)ij和b(l)i,获得权值矩阵和稀疏代价函数。

图3 故障诊断方法流程图

(4)用稀疏自编码器训练出的特征权值矩阵作为输入训练soft max 分类器,通过梯度下降法,在迭代运算中求出代价函数J(θ)的最小值,并更新参数θj的值。

(5) 将测试集数据输入soft max 分类器,根据代价函数J(θ)最小值和参数θj,得到soft max分类器的预测分类结果,验证训练后的稀疏自编码器诊断精度,统计分类准确率,完成电机故障的智能诊断。

3 实验结果与分析

3.1 凯斯西储数据集实验

实验一直接采用凯斯西储大学的轴承数据[13]来进行训练,测试本文所提出方法的有效性和可行性。

采样数据为驱动端加速度计采集的振动信号,轴承转速为1 797 r/min,采样频率为48 kHz,采样时长为10 s,电机负载为0 马力,共有4 种不同健康状况的样本集,分别为正常情况下信号(Normal)、外圈故障(Outer Raceway)、内圈故障(Inner Raceway)和滚动体故障(Ball)。其中故障规格又分0.178 毫米、0.356毫米和0.533毫米3种。

将3种不同故障尺寸的滚动体、内圈和外圈在3处不同故障位置下测得的9 类故障数据,加上正常信号共10类数据,按照4 096点为一个样本分组,并添加标签,共得2 121个样本。将每类标签的样本通过循环往复的形式补充到7 000组,可得70 000个样本,如表1所示,构成实验一样本数据集。

在每类标签的样本中随机选择6 000 个,共60 000 组样本用于训练,剩下10 000 个样本用于测试。为了降低随机因素对实验结果的影响,实验重复进行15次,取平均诊断准确率。

稀疏自编码器输入层、隐含层的节点数分别为784 和200,训练学习率为0.6、稀疏参数ρ为0.1、权值惩罚参数λ为0.000 1、惩罚权重参数β为3。

将经过预处理的数据输入构建的稀疏自编码器,通过soft max分类器得到相应的代价函数。

如图4所示。可以看到FFT 频谱信号和Hilbert包络谱信号的代价函数在迭代过程中逐渐收敛。FFT频谱信号和Hilbert包络谱信号的分类准确率在迭代过程中的变化趋势如图5所示。

图4 两种不同信号的代价函数曲线

从中可以看到FFT频谱信号和Hilbert包络谱信号的分类准确率在迭代过程中提高并逐渐收敛,和图4相比,可以说明代价函数的减小和分类准确率的提高呈正相关。

如果不考虑迭代步数,用优化前的代价函数进行分类,不更新参数,在本文提出的基于稀疏自编码器和soft max 分类器的方法下,FFT 频谱信号和Hilbert 包络谱信号的分类准确率分别为78.81%和80.74%。

图5 两种不同信号的分类准确率曲线

对不同故障诊断系统分别输入FFT频谱信号和Hilbert包络谱信号,BP[14]分类算法、SVM[15-16]分类算法和本文提出的基于稀疏自编码器和soft max 分类器的故障诊断方法的实验结果如表2所示。其中BP神经网络构建的输入层、隐含层的节点数分别为784和200,通过梯度下降法来优化权值矩阵W和偏置b,迭代次数设为500。SVM分类算法的核函数使用二次核函数。本文提出的基于稀疏自编码器和soft max 分类器输入层、隐含层的节点数分别为784和200,迭代次数设为20。

表2 实验一故障诊断结果 单位:%

从表2中可以看出,对同一分类方法,Hilbert包络谱预处理数据的分类效果优于FFT频谱预处理数据。而对不同分类方法,本文提出的方法与BP 和SVM 故障诊断方法相比较,诊断准确率更高,分类效果更好。和不考虑迭代步数相比,迭代后的分类器分类效果提升明显,因此最小化代价函数的迭代优化算法能更好地提取隐含层特征表达,提高分类的准确性。

3.2 电机故障数据集实验

为进一步验证基于稀疏自编码器的诊断方法对电机故障智能诊断的效果,利用电机故障实验平台采集各种故障下的电机振动信号进行分析。实验平台如图6所示,包括一组故障电机,一个加速度传感器,一台驱动电源,还有一台数据采集系统。

一组故障电机包括4种状态的电机,分别为:正常、滚动体故障、松动故障和摩擦故障。在电机实验平台上采集电机的3种故障振动信号和正常振动信号进行分析。信号采样频率为48 kHz,采样时间为100 s,其振动信号时域波形图如图7所示。

图6 电机故障实验平台

图7 电机4种状态时域波形图

采集的4 类振动信号按照4 096 点为一个样本分组,通过循环往复的形式补充到每类17 500组,并添加标签构成如表3所示的实验二样本数据集。

表3 实验二样本数据集故障种类说明

采用实验一中的实验方案,将经过预处理的实验数据输入BP 分类算法、SVM 分类算法和本文提出的基于稀疏自编码器和soft max 分类器的方法等故障诊断系统,实验结果如表4所示。

从表4中的结果可以看出,同等条件下,文中所提的分类器平均诊断准确率最好,可证明该方法的优越性。此外,在同一种分类方法中,基于Hilbert包络谱的输入其平均诊断准确率均高于基于FFT频谱数据,因此经过优选的预处理方法对分类器提升效果明显。

表4 实验二故障诊断结果 单位:%

4 结语

本文简述了稀疏自编码器在电机故障诊断领域的研究前景,分析了稀疏自编码器的结构和原理,提出了一种基于稀疏自编码器和soft max分类器,利用振动信号Hilbert包络谱作为预处理数据的故障智能诊断方法,得到了如下结论:

(1)稀疏自编码器的稀疏性能更有效地提取数据深层次特征,最小化代价函数的迭代优化算法能更好地提取隐含层特征表达,提高分类的准确性。

(2)实验结果表明,相同情况下,基于时域信号Hilbert包络谱的预处理数据分类准确率高于FFT频谱的预处理数据,可获得更好的诊断效果。

(3)与神经网络和传统BP神经网络以及支持向量机相比,基于稀疏自编码器和soft max分类器的故障诊断方法,具有更准确的故障诊断率。

猜你喜欢

编码器分类器故障诊断
融合CNN和Transformer编码器的变声语音鉴别与还原
基于包络解调原理的低转速滚动轴承故障诊断
基于朴素Bayes组合的简易集成分类器①
舞台机械技术与设备系列谈(二)
——编码器
基于特征选择的SVM选择性集成学习方法
数控机床电气系统的故障诊断与维修
基于双增量码道的绝对式编码器设计
基于差异性测度的遥感自适应分类器选择
基于量子万有引力搜索的SVM自驾故障诊断
基于数字信号处理的脉冲编码器