在能源、动力、化工等流体工业系统中安装有大量电动泵,及时发现并排除其故障隐患,使其保持良好的技术状态,对确保系统的安全运行有着重要意义。
电动泵各部件的振动、电流、温度等信号能够反映电动泵的技术状态[1],目前的研究热点是从这些信号中提取出能够反映电动泵故障模式并且对噪声不敏感的特征,从而对其故障进行诊断。Ming等[2]提出了一种基于频谱自相关分析(SACA)的故障特征频率提取方法,能够显著增强故障特征频率及谐波的幅值。Feng等[3]将排列熵(PE)算法运用于滚动轴承的故障诊断,实验结果表明,PE对振动信号中突变的敏感度优于均方根值,可用于滚动轴承的早期故障诊断。上述方法存在几点不足:第一,提取故障特征需要大量先验知识;第二,难以提取出对噪声不敏感的故障特征;第三,将故障特征提取与模式识别分成两个独立的步骤,容易造成信息的丢失。
卷积神经网络CNN(convolutional neural network)是一种重要的深度学习数据处理模型[4]。利用CNN分析电动泵振动信号的波形数据,能够自动从中提取故障特征,不需要大量的故障特征先验知识。吴春志等[5]提出了一种基于一维卷积神经网络的齿轮箱故障诊断方法,对单一和复合故障诊断的准确率均高于传统诊断方法。He等[6]利用深度学习和短时傅里叶变换实现轴承的精确故障诊断。虽然诊断准确性上有一定提高,但直接训练一个卷积神经网络模型需要大量标记样本数据,在实际应用中难以获得。
本文针对电动泵故障标记样本数据少、人工提取故障特征需要大量先验知识的问题,提出了一种基于卷积神经网络和迁移学习的电动泵故障诊断方法。介绍了CNN模型的结构,设计了基于迁移学习的CNN模型训练方法,给出了利用其进行故障诊断的方法步骤,最后利用美国Connecticut大学发布的齿轮实验数据[7]和实验室采集的电机实验数据对该方法对不同故障进行诊断的有效性进行了测试验证。
卷积神经网络是深度学习技术中最具代表性的神经网络之一,是一种前馈型神经网络。本文基于该算法,通过对电动泵振动信号进行特征参数提取和分类,实现故障诊断。
如图1所示,典型的卷积神经网络一般由输入层、卷积层、池化层、全连接层和输出层组成,在卷积神经网络的各层中通常还需要添加激活函数。
图1 典型卷积神经网络结构示意图
Fig.1 Typical structure of CNN
1) 输入层
卷积神经网络的第一层是输入层,被诊断对象的原始振动信号波形数据作为CNN的输入,是二维数据。例如,对于振动加速度时域波形,输入为时间和对应的幅值,而对于频谱数据,则输入为频率和对应的幅值。
2) 卷积层
卷积层由多个卷积核叠加形成。卷积核又称为滤波器,通常是一个二维矩阵,用于提取数据的特征。卷积实际上是对输入的另一种表示,输入数据经过卷积层得到特征图。卷积神经网络通常采用多卷积层结构,第一层卷积层只能提取一些比较低级的特征,经过多层卷积层处理,就能提取出更加复杂的特征。
卷积运算的过程如式(1)所示。
(1)
其中: y代表卷积的输出; x代表输入的数据; w和b代表卷积核的权值和偏置; k和l代表图像的2个维度。所有的y按规则排列成组合成特征图。
3) 池化层
池化层又称为下采样层,通常在卷积层之后。池化先将卷积得到的特征图分成若干个区域,然后分别求区域内的平均值或最大值,从而组合成新的维度更低的特征图。
经过多个卷积层和池化层后,振动信号波形数据被转化为一维特征向量。
4) 全连接层
全连接层是卷积神经网络中训练参数最多的一层。全连接层的作用是综合提取到的一维特征向量,对波形数据进行分类。全连接层的输出神经元个数等于波形数据的类别数,即对应于被诊断对象可能具有的故障类别,每个神经元的输出值代表波形数据属于对应类别的得分。
5) 输出层
卷积神经网络的最后一层是输出层,通常为softmax函数,其作用是将波形数据属于对应类别的得分映射为概率,即输出层每个神经元的输出值代表波形数据属于对应类别的概率,并且概率总和为1。模型预测的结果为概率最大所对应的类别。softmax函数的定义如式(2)所示。
(2)
其中: si代表波形数据属于第i个类别的得分; pi代表波形数据属于第i个类别的概率,且
6) 激活函数
激活函数是非线性函数,通过在卷积神经网络的各层中添加激活函数能够引入非线性因素,以增强卷积神经网络处理复杂问题的能力。常用的激活函数有sigmoid、tanh和relu等[8]。
1) 参数初始化
在卷积神经网络开始训练之前,需要将各节点的参数初始化。采用的方法是将每个参数初始化为接近0的随机值。
2) 参数更新
卷积神经网络采用反向传播梯度下降的方式使各节点的参数逐步逼近最优解。各节点参数初始化后,通过前向计算得到模型预测的结果,根据预测值计算网络最后一层各节点的残差,然后从最后一层开始反向计算每层各节点的残差,从而得出损失函数对参数的偏导数,然后进行参数更新。
用于训练卷积神经网络的标记样本数据集实际上是若干个输入输出对的集合,损失函数用于衡量训练过程中卷积神经网络的预测输出值与实际输出值的偏离程度。损失函数越小,模型性能越好。常用的损失函数有0~1损失函数、绝对值损失函数和均方误差损失函数等。
残差的定义是损失函数对第层第个节点的偏导数,用于计算损失函数对参数的偏导数。残差的公式如式(3)所示。
(3)
其中: L代表损失函数;代表第l层第i个节点; 代表该节点的残差。
最后一层各节点残差的计算公式如式(4)所示。
(4)
其中: yi代表实际值;代表最后一层第i个节点的激活值; f′代表激活函数的导数。
其他层节点残差的计算公式如式(5)所示。
(5)
其中:代表第l-1层第i个节点到第l层第j个节点的权值。
利用每个节点的残差,可以计算出损失函数对参数的偏导数,如式(6)和式(7)所示。
(6)
(7)
其中代表第l层第i个节点的偏置。
最后根据式(8)和式(9)进行参数更新。
(8)
(9)
其中α代表学习率。
经典的卷积神经网络模型有AlexNet、VGG和GooLeNet等[9],这些模型具有很强的泛化能力,因此可以采用这些模型作为预训练模型对其重新训练,从而得到适用于电动泵故障诊断的CNN模型。本文选用的预训练卷积神经网络模型是InceptionV3模型,它是GooLeNet系列模型的第三代,在控制参数量的同时具备出色的图像数据分类能力。InceptionV3的网络结构如图2所示,InceptionV3共有46层,分为11个Inception模块。Inception模块本身是一个小网络,若干个Inception模块可堆叠组成一个大网络,采用模块化的结构具有方便增添和修改优势。
图2 InceptionV3网络结构示意图
Fig.2 Structure of InceptionV3
InceptionV3采用relu激活函数代替传统的sigmoid和tanh,降低了计算的复杂性,加快了网络训练速度。InceptionV3在网络结构上进行了创新:第一,不同卷积层之间的连接方式从串联改为并联;第二,将一个较大的二维卷积核拆分成两个一维卷积核;第三,采用全局平均池化层代替全连接层。这些结构上的改进极大减少了训练参数的数量,减轻了过拟合现象。并采用BN(batch normalization)方法,将神经网络内部的输出标准化为服从N(0,1)的正态分布,在极大加快训练收敛速度的同时,显著提升了模型分类的准确率。
迁移学习是一种机器学习方法,指的是将一个领域学习到的知识运用于另一个领域。迁移学习有两个基本的概念,分别是域和任务。域D由特征空间χ和边缘概率分布P(X)构成,可表示为D={χ,P(X)},其中X={x1,…,xn}∈χ,特征空间χ是所有特征向量的特征空间。源域Ds是包含丰富知识和大量标记样本数据的域,目标域Dt是需要赋予知识和数据标记的域。任务T由标签空间Y和目标预测函数f(·)构成,可表示为T={Y, f(·)},其中目标预测函数f(·)又称为条件概率分布P(y|x),可以通过标记样本数据和特征向量训练得到。迁移学习的定义是给定源域Ds、源任务Ts、目标域Dt和目标任务Tt,利用在源域解决源任务获得的知识,提高在目标域解决目标任务的能力。
迁移学习可分为基于样本的迁移学习、基于特征表示的迁移学习、基于参数的迁移学习和基于关系知识的迁移学习。本文采用的是基于参数的迁移学习方式,其应用的前提是源任务和目标任务的模型间会共享部分参数或先验分布。该算法通过寻找这些共享的参数或先验分布,并加以处理,从而实现知识的迁移。
卷积神经网络利用大量的样本数据对模型的参数进行训练,已训练好的模型可用于测试集的分类,但是必须满足两个要求:第一,训练集必须是有标记的样本数据;第二,训练集与测试集必须具有相同或相似的分布。因此,需要耗费大量的人力资源对样本数据进行标记。此外,卷积神经网络需要训练的参数数量是百万级的,训练的过程需要消耗大量的时间资源与计算资源,而且要训练这些参数需要大量的样本数据,在实际应用中难以获得。若样本数量不足,容易导致过拟合问题,训练出的模型泛化性较差。
针对上述问题,本文采用基于参数的迁移学习策略,改进卷积神经网络的训练方法,从而降低CNN对样本数据量的要求。结合迁移学习的卷积神经网络训练方法是指用当前任务的样本数据对一个已训练好的网络模型再次进行训练,而不是从头开始训练,从而得到适用于当前任务的卷积神经网络模型。由于卷积神经网络的特征提取部分在不同任务中是相通的,因此在利用迁移学习时,可以保留卷积层和池化层的结构和参数,只需将最后的全连接层和输出层初始化并设置为可训练状态,然后利用当前任务的样本数据重新训练全连接层和输出层的参数。通过利用迁移学习,只需要少量的样本数据就可以训练出适用于当前任务的卷积神经网络模型,有效解决了缺乏大量标记样本数据以及训练一个新网络需要大量计算资源的问题。
采用卷积神经网络和迁移学习相结合的电动泵故障诊断步骤与方法如下:
1) 构建电动泵振动信号样本数据集。将每次采集到的电动泵振动数据进行规整处理,生成固定点数的CNN输入数据,并根据电动泵在对应时刻的正常或故障状态对输入数据标记其对应状态,所有输入数据及其对应状态组成了样本数据集。
2) 预训练模型修改和初始化。根据电动泵样本数据集的状态类别数量,调整InceptionV3最后的全连接层和输出层的输出节点个数。迁移InceptionV3的参数,即保持模型特征提取部分的参数不变,将全连接层和输出层的参数重新初始化为接近0的随机值。
3) 对模型进行训练。采用2.2节所述方法,利用电动泵已标记的样本数据集对预训练模型重新训练,得到适用于检测电动泵技术状态的模型。在对InceptionV3重新训练时,只需要训练最后的全连接层和输出层的参数,其他层的参数固定不变。
4) 利用训练好的模型进行故障诊断。模型训练完成后,采集某时刻电动泵振动数据,按照要求生成输入数据并输入CNN模型,得到故障诊断结果。
齿轮和电机是电动泵的重要组成部分,也是容易发生故障的部件。为验证方法的有效性,本文分别采用齿轮实验数据集和电机实验数据集对方法进行测试。
齿轮实验数据集是美国Connecticut大学发布的齿轮实验数据。该数据集为齿轮的振动加速度信号,采样频率为20 kHz,包括正常、缺齿、裂纹、剥落以及5种不同程度的磨损状态。每种状态包含100个样本,每个样本长度为3 600个采样点。
电机实验数据集是在实验室的故障诊断综合实验台上采集的电机振动数据。如图3所示,故障诊断综合实验台由电机、轴承座、齿轮箱和负载组成。该数据集为电机的振动加速度信号,采样频率为6 270 Hz,包括电机正常、定子故障、缺相和转子断条共4种状态。每种状态包含100个样本,每个样本长度为1 024个采样点。
图3 故障诊断综合实验台
Fig.3 Fault diagnosis comprehensive test bench
振动信号的时域波形、频谱和包络谱均包含丰富的对象特征信息。为对比分析这3种数据输入对模型诊断效果的影响,本文分别选取时域波形、频谱和包络谱规整后的数据作为CNN模型的输入,对方法进行测试。以齿轮剥落故障状态和电机定子故障状态振动信号的时域波形、频谱和包络谱为例展示如图4和图5。
图4 齿轮剥落故障状态振动信号的时域波形、频谱和包络谱
Fig.4 Time,frequency and envelope domain waveform curves of gear spall fault state
图5 电机定子故障状态振动信号的时域波形、频谱和包络谱
Fig.5 Time,frequency and envelope domain waveform curves of motor stator fault state
本文选取交叉熵作为损失函数,用于评价CNN输出值与实际值的不一致程度,交叉熵越小,训练越收敛,模型性能越好。交叉熵损失函数定义如式(10)所示。
(10)
其中zi代表模型预测输出值。
将实验数据集按照6∶2∶2的比例划分为训练集、验证集和测试集,训练集用于重新训练CNN模型的全连接层和输出层,验证集用于每次训练后验证模型的准确性并得出交叉熵,测试集用于后续进行故障诊断效果测试。分别将齿轮实验数据集和电机实验数据集的时域波形、频谱和包络谱规整后的数据输入CNN模型,可分别得到对应的故障诊断模型。不同模型输入时训练过程的准确率和交叉熵变化曲线如图6和图7。
图6 齿轮实验数据集的准确率和交叉熵变化曲线
Fig.6 Variation of accuracy and cross-entropy for gear experiment data set
图7 电机实验数据集的准确率和交叉熵变化曲线
Fig.7 Variation of accuracy and cross-entropy for motor experiment data set
可以看出,随着训练次数的增加,训练集和验证集的准确率先增加后趋于稳定,交叉熵先减小后趋于稳定,说明模型训练慢慢收敛。以齿轮振动信号的时域波形数据作为模型的输入为例,训练2 000次后,训练集准确率在98%上下波动,验证集准确率在95%上下波动,交叉熵在0.17上下波动,模型训练已收敛。说明随着训练次数的增加,模型的性能不断增强后趋于稳定。无论采用时域波形、频谱还是包络谱数据作为输入,模型的训练效果相似。
CNN模型训练完成后,将测试集的时域波形、频谱和包络谱数据规整后,分别输入对应的CNN模型,对故障诊断的准确性进行测试,测试结果如表1和表2所示。
表1 齿轮实验数据集的故障诊断准确率(%)
Table 1 Fault diagnosis accuracy for gear experiment data set(%)
齿轮状态输入为时域波形数据输入为频谱数据输入为包络谱数据正常8010090缺齿9590100裂纹9510095剥落100100100磨损五10095100磨损四909085磨损三9095100磨损二957095磨损一9510095
表2 电机实验数据集的故障诊断准确率(%)
Table 2 Fault diagnosis accuracy for motor experiment data set(%)
电机状态输入为时域波形数据输入为频谱数据输入为包络谱数据电机正常100100100定子故障100100100缺相100100100转子断条95100100
可见,方法对齿轮和电机的各种故障模式都能取得良好的诊断效果。分别采用齿轮振动信号的时域波形、频谱和包络谱数据作为模型的输入时,方法总体诊断准确率分别达到93.3%、93.3%和95.6%;分别采用电机振动信号的时域波形、频谱和包络谱数据作为模型的输入时,方法总体诊断准确率分别达到98.8%、100%和100%。说明无论采用振动信号的时域波形、频谱或包络谱数据作为输入,方法均能实现精确的故障诊断。方法对齿轮实验数据集和电机实验数据集均能取得良好的诊断效果,说明方法对不同设备的故障诊断均具有良好的适用性。
为检验迁移学习的效果,本文通过运用与不运用迁移学习时CNN模型的训练时间和故障诊断准确率,分析迁移学习的作用。在进行测试时,所采用的训练集、验证集、测试集和模型训练次数以及计算机算力均与4.2节保持一致。模型测试结果如表3~6所示。
表3 齿轮实验数据集的训练时间(s)
Table 3 Training time for gear experiment data set(s)
模型输入运用迁移学习时模型不运用迁移学习时模型时域波形数据63330 970频谱数据61031 023包络谱数据59130 361
表4 电机实验数据集的训练时间(s)
Table 4 Training time for motor experiment data set(s)
模型输入运用迁移学习时模型不运用迁移学习时模型时域波形数据965 628频谱数据955 924包络谱数据885 564
从模型训练时间可以看出,设置同样的训练次数,运用迁移学习时CNN模型的训练时间相较于不运用迁移学习时得到了大大缩短,说明迁移学习能够加快模型的训练速度,这是因为运用迁移学习大大减少了所需要训练参数的数量。
表5 齿轮实验数据集的诊断准确率(%)
Table 5 Fault diagnosis accuracy for gear experiment data set(%)
模型输入运用迁移学习时模型不运用迁移学习时模型时域波形数据93.311.5频谱数据93.329.5包络谱数据95.633.0
表6 电机实验数据集的诊断准确率(%)
Table 6 Fault diagnosis accuracy for motor experiment data set(%)
模型输入运用迁移学习时模型不运用迁移学习时模型时域波形数据98.822.0频谱数据10026.5包络谱数据10026.0
从模型诊断准确率结果可以看出,设置同样的训练次数,运用迁移学习时CNN模型的诊断准确率远远高于不运用迁移学习时模型诊断准确率,这是因为不运用迁移学习时要对整个CNN模型的参数进行训练,需要大量样本数据的支持,而本文所采用齿轮数据集属于小样本数据集,数据量远远不够,容易产生过拟合现象,说明迁移学习能够有效降低方法对样本数据量的要求。
本文提出了一种基于卷积神经网络和迁移学习的电动泵故障智能诊断方法。该方法能够从不同故障状态的原始振动信号中自动提取故障特征并进行分类,无需人工进行故障特征提取,不需要大量先验知识,实现了故障特征提取与模式识别一体化的故障诊断。采用结合迁移学习的CNN模型训练方法,只需要利用较少的样本数据就能完成模型的训练。在CNN模型训练完成后,利用其进行故障诊断时,计算量小,能够满足实时性的要求,并且具有较高的准确率,实用性好。
[1] Mina A,Ahmed K A,Ola E H.Induction motor broken rotor bar fault location detection through envelope analysis of start-up current using Hilbert transform[J].Mechanical Systems and Signal Processing,2017,93(1):332-350.
[2] Ming A B,Qin Z Y,Zhang W,Chu F L.Spectrum auto-correlation analysis and its application to fault diagnosis of rolling element bearings[J].Mechanical Systems and Signal Processing,2013,41(1/2):141-154.
[3] Feng F Z,Rao G Q,Jiang P C,et al.Research on early fault diagnosis for rolling bearing based on permutation entropy algorithm[P].Prognostics and System Health Management(PHM),2012 IEEE Conference on,2012.
[4] 周飞燕,金林鹏,董军.卷积神经网络研究综述[J].计算机学报,2017,40(6):1229-1251.
Zhou F Y,Jin L P,Dong J.Review of convolutional neural network[J].Chinese Journal of Computers,2017,40(6):1229-1251.
[5] 吴春志,江鹏程,冯辅周,等.基于一维卷积神经网络的齿轮箱故障诊断[J].振动与冲击,2018,37(22):51-56.
Wu C Z,Jiang P C,Feng F Z,et al.Faults diagnosis method for gearboxes based on a 1-D convolutional neural network[J].Journal of Vibration and Shock,2018,37(22):51-56.
[6] He M,He D.Deep Learning Based Approach for Bearing Fault Diagnosis[J].IEEE Transactions on Industry Applications,2017,53(3):3057-3065.
[7] figshare.com/articles/Gear_Fault_Data/6127874/1.
[8] 田娟,李英祥,李彤岩.激活函数在卷积神经网络中的对比研究[J].计算机系统应用,2018,27(7):43-49.
Tian J,Li Y X,Li T Y.Contrastive study of activation function in convolutional neural network[J].Computer Systems & Applications,2018,27(7):43-49.
[9] 佘鹏,甘健侯,文斌,等.经典深度卷积神经网络模型在手绘草图识别中的应用研究[J].云南师范大学学报(自然科学版),2018,38(01):29-34.
She P,Gan J H,Wen B,et al.Sketch recognition using classic deep convolutional neural network model[J].Journal of Yunnan Normal University,2018,38(01):29-34.
Citation format:XIE Xuyang, YU Ren, WANG Tianshu, et al.Fault Diagnosis Method for Electric Pump Based on Convolutional Neural Network and Transfer Learning[J].Journal of Ordnance Equipment Engineering,2021,42(07):239-245.