霍天龙 梁耀方 张博 覃帅兴
(桂林航天工业学院 电子信息与自动化学院,广西 桂林 541004)
旋转机械设备已遍布于工业生产及日常生活,如航空发动机、高档数控机床、风力发电机、轨道交通等。这些装备的安全运行对工业稳定生产起着举足轻重的作用[1]。运行中如发生故障,轻者停机停产,重者则会造成巨大的经济损失和恶劣的社会影响。因此,必须依靠有效的故障诊断方法为其保驾护航[1-3]。实际应用中,机械装备的结构复杂,用于状态监测和故障诊断的传感器数量较多,仅使用单一传感器采集的信号进行故障判别易导致误判。故充分利用多传感器采集的多信息数据集实施智能故障诊断已获得“大数据”背景下学术界和工业界的共识[1,4-5]。传统的用于故障诊断的数据融合算法大多是浅层网络模型,如BP 神经网络(back propagation neural work,简称 BPNN)、支持向量机(support vector machine,简称 SVM)等,但这些模型都需要复杂的信号处理和较为全面的数据特征提取作为模型的样本输入,同时因其浅层的网络结构难以提取到深层的特征信息而降低了故障诊断的准确率[6]。
近年来,人工智能技术的迅猛发展带动着相关技术的长足进步。传统的需依赖专家经验的基于信号处理、特征提取、数据降维和故障分类技术的诊断方法逐步向以数据挖掘和机器学习技术为核心的智能故障诊断技术发展[7]。卷积神经网络(Convolutional Neural Networks,CNN )作为深度学习的一种重要模型已广泛应用于图像处理、语音识别、目标检测等领域。在故障诊断领域,CNN以其强大的非线性特征提取和模式识别能力已取得丰硕的科研成果[3]。文献[8]利用集合经验模态分解(EEMD)对信号进行降噪等处理,将处理后的信号转化为二维信号,应用CNN进行故障诊断,提高了诊断准确率。文献[9]对转子振动信号进行特征提取,构建了一种利用深度卷积神经网络(deep convolutional neural network,简称 DCNN)融合多传感器信号特征的机械故障诊断方法,模型具有较好的鲁棒性和泛化性。文献[10]提出了一种基于深度时频特征的机车轴承故障诊断新方法,具有一定的工程价值。文献[11] 对齿轮箱故障振动信号采用连续小波变换构造其时频图,以其为输入构建卷积神经网络模型,通过多层卷积池化形成深层分布式故障特征表达,获得了较高的故障识别准确率。虽然上述研究在故障辨识方面取得了优异成绩,但均使用了信号特征提取或单一传感器的数据作为网络的数据输入。一方面,特征提取需要根据信号特点依赖专家经验开展,增加了故障诊断数学模型的复杂度。另一方面,单一或少数几种特征提取方法不能全面反映数据的特征,造成故障诊断模型的泛化性能变差。
针对以上不足,本文提出了一种融合多源传感器数据与1D-CNN集成的转子故障诊断方法,把转子实验台上各种状态下采集的多通道传感器振动信号直接送入1D-CNN进行模型训练,应用模型辨识转子实验台的实际运行状态。
卷积神经网络(Convolutional Neural Networks,CNN )是一类包含卷积运算且具有深度结构的前馈神经网络,是深度学习的代表算法之一[12]。研究表明,通过卷积神经网络学习得到的特征相对于人工设计的特征具有更强的判别能力和泛化能力[13]。卷积神经网络一般由输入层、卷积层、池化层、全连接层和输出层组成,其内部通过梯度下降算法最小化损失函数对网络的权重进行反向调节,同时不断迭代训练来提高网络的精度。一维卷积神经网络有类似的结构且原理相同,更适合用于处理时间序列。
卷积层由多个卷积核组成,卷积核的数量是根据数据特点及模型结构人为设定的。卷积核运算是将核函数与局部的时间序列进行运算,从而实现数据的特征提取与降维处理,数学公式如下:
(1)
在卷积层后一般都需设置池化层,它由多个特征面组成,且一一对应于上一卷积层输出的特征面。通过人为设定的“窗口”大小对局部接受域进行下采样,池化层不改变特征面的数量,但会根据“窗口”大小缩小特征面的大小。常用的池化方法有最大池化、均值池化等,最大池化运算的数学描述为:
(2)
全连接层一般位于“卷积+池化”模块后,用于特征的再次提取与汇总,该层的每一个神经元均与上一层的所有神经元连接并对提取的特征进行组合,然后映射到样本标记空间,最后使用softmax分类器输出最终分类结果。Softmax分类过程的数学模型为:
(3)
式中:yj是样本的分类值,zj是第j个神经元的节点值,M是类别总数。
使用激活函数可以对上一层的输出结果进行非线性变换,将网络的线性模型转化为非线性模型,使得网络能够解决数据线性不可分问题,提升网络的学习和分类能力。常用的激活函数有sigmoid、tanh、ReLU和Maxout等。ReLU函数的计算公式为:
ReLU=max(0,x)
(4)
式中:x是时间序列。
本文要处理的是从转子实验台上采集的多通道一维时间振动信号,如图1所示,采用1D-CNN设计了多源传感器信号故障诊断模型。该模型大致可分为3个部分,依据采集的振动信号构造一维数据集,利用数据集对卷积神经网络模型的训练与验证,使用训练好的模型对未知标签的振动信号进行故障诊断。
图1 多源传感器信号故障诊断模型
在多种工作状态下采集转子实验台的多通道振动信号并进行归一化数据处理,在n个传感器通道上分别按照长度l截取随机截取数据,获得k个样本,得到形状为k×(n×l)的数据集,再对数据中的每个样本进行标签。打乱数据和标签一一对应的k样本,按6∶2∶2的比例划分出训练集、验证集和测试集。把训练集数据送入1D-CNN模型进行训练。
一维卷积神经网络的超参数主要包括学习率设置、批次数量、循环次数等。网络参数主要包括卷积层的卷积核大小、数量和移动步长,池化层的核大小及步长,网络的深度等。欲使得网络具有更强的鲁棒性和泛化性,核心思想是获得更大的感受野[14]。
转子的运动是周期性转动,运行过程中难免会受到周围环境和设备自身的噪声干扰,故传感器采集到的“真实”信号中混合了大量噪声,有些噪声是线性叠加的平稳随机噪声,有些则以强脉冲干扰形式出现。因此,计算出传感器在一个转动周期内采集的数据长度对1D-CNN的模型设计是至关重要的。设转子的转速为v/r·min-1,采样频率为f/Hz,则单周期的数据长度N的计算公式如下:
(5)
一维卷积神经网络的卷积层从本质上说是信号消噪滤波和数据特征提取的过程,故希望第一卷积层的卷积核大小应大于N。且为了获取更多的故障信息,最后的池化层的单位神经元至少可以获得N个点的数据。
考虑上述讨论,设计1D-CNN模型时,第n层池化层的感受野Fn与上一层池化层的感受野Fn-1的计算关系如下式:
(6)
式中:kn是第n层卷积层中卷积核的大小,sn是第n层的卷积层移动的步长,pn是第n层池化层核的大小。由上式可知,对最后池化层感受野的影响因素主要是上一层卷积层的步长核池化层核的大小。
确定最后池化层参数后还应考虑网络深度的设计,网络过深易导致学习时间过程,在样本数量较少时还会出现过拟合问题,网络过浅会出现模型分类精度低。经多次探索和实验确定该模型由4层卷积层、4层池化层、2层全连接层和1层分类层组成。参数优化方面使用了结合SGDM和RMSProp鲁棒性能更好的 Adam的优化器,能够为不同参数产生自适应的学习速率。网络参数如表1所示。
表1 1D-CNN网络参数
通过布置在转子实验台上的传感器获得的多通道振动信号,根据图1的模型结构设计融合多源传感器数据与1D-CNN集成的转子故障诊断方法流程如图2所示,详细诊断流程如下:
1)使用多通道传感器采集转子实验台多种工作状态的振动信号;
2)对信号进行归一化处理;
3)构造多通道一维数据集;
4)按上文比例划分出训练集、验证集和测试集样本;
5)初始化1D-CNN网络模型参数;
6)把训练集数据输入至模型,通过前向传播,计算误差,使误差最小;
7)通过反向传播,更新网络参数;
8)使用验证集数据判断误差是否最小,如最小,则输出训练完成的网络模型;如不是,则返回步骤6);
9)使用得到的网络模型对测试集数据进行故障分类。
图2 多源传感器数据与1D-CNN集成的转子故障诊断方法流程
本研究所使用的故障模拟实验装置如图3所示,图(a)是转子实验台的外观全貌,图(b)是结构示意图,显示了采集转子系统振动响应的13个通道电涡流传感器的布置情况。其中的ch1-ch12通道用于拾取转子振动信号,ch0通道用于采集转速信号。实验过程中,分别模拟了转子正常、动静碰磨、转子不平衡、支座松动和轴系不对中5中状态。在转速为2 800 r/min,采样频率为5 000 Hz的情况下分别采集5种工作状态的数据。
图3 转子试验台及其结构示意图
根据式(5)计算出当前参数下转子转动一个周期的数据长度为107,考虑输入网络的数据应至少大于一个周期数据长度,并结合网络模型大小、深度等因素,确定时间序列数据长度应大于4个周期。最终按数据长度512采样点在转子实验台各工作状态下随机采集12个通道的振动信号,共获得包含了各种状态下的5 000组数据,与转子运行状态一一对应对每组数据进行标签,随机打乱数据后按2.1节提到的比例划分数据,得到3 000×12×512数据形状的训练集、1 000×12×512数据形状的验证集和1 000×12×512数据形状的测试集。
把训练集数据输入到表1参数下的1D-CNN模型中,实验过程中发现学习率设置太大,模型验证集的损失值下降迅速,下降过程中损失值震荡严重,最终训练出的模型不稳定,泛化性能不好;设置太小,经过数轮次的训练后损失值不下降或下降很小,网络收敛速度慢,验证集识别准确率不高。批次设置太大,影响模型训练速度的同时,验证集的识别准确率不能达到最优值,批次设置太小,训练集和验证集的识别准确率很高,但测试集识别准确率很低,模型容易陷入局部最优。
经反复实验选取最优超参数,最终设置学习率为0.000 1,批次为16,迭代次数为40,循环迭代训练网络模型。为防止网络训练过程发生过拟合现象,在Adam优化器中设置权重衰减为0.000 01,在每个卷积层后使用了Batch Normalization进行批标准化,在2个全连接层后使用Dropout随机丢弃20%的神经元连接,同时采用Early-stop-ping机制,在验证集损失值经过5个循环后不再下降时停止网络的训练。训练集和验证集的损失值和识别准确率曲线如图4所示。图4(a)中训练集和验证集的损失值随着迭代次数的增加下降相对较为平稳,最终验证集损失值为0.000 996;同时图4(b)中训练集和验证集的识别准确率也在不断上升,最终验证集识别准确率为99.57%,整个迭代学习训练过程表明卷积神经网络模型收敛速度快,识别准确率高,模型参数设计合理。
图4 训练集和验证集的损失值与精度曲线
把测试集数据随机抽选500个样本输入至训练好的模型中进行测试,最终的识别准确率为99.4%,仅有3个标记为支座松动的样本被误识别为正常,其余497个样本均被正确识别。测试结果表明模型对从未见过的数据也具有较高的识别准确率,证明了模型具有较强的泛化能力。为清楚的展示识别效果,使用混淆矩阵可视化测试集的识别结果,如图5所示。
图5 测试集数据识别混淆矩阵
为了更清晰的展示多源传感器数据与1D-CNN模型集成的转子故障诊断识别过程和结果,采用非线性降维算法t-SNE(t-distributed stochastic neighbor embedding)把模型中各层数据降为2维并对数据进行可视化。模型中各层数据可视化结果如图6所示,图6(a)为原始信号降维后可视化结果,由于未对信号进行处理,转子各工作状态下信号类别很难区分。图6(b)数据经过1D-CNN模型的第1卷积+池化层后,支座松动类别基本能够和其余类别区分,表明这种故障状态信号特征较其他类别明显,但其余类别仍然混叠在一起无法区分。图6(c)为数据通过第2卷积+池化层后,轴系不对中样本聚类效果明显,支座松动类别聚集范围也进一步缩小,其余类别虽难以区分,但数据逐渐在聚集。图6(d)为经过第3卷积+池化层后,5种类别样本数据基本被区分开,但数据聚集面积较大,分界面也不够明显。图6(e)为数据经过最后的卷积+池化层后,每种类别数据聚集面积缩小,类与类之间的间距增大,但仍有部分标记为正常和动静碰磨的样本数据被错误聚类。图6(f)为数据进入最终分类层后,5种类别样本已完全分开,聚集面积进一步缩小,类别间的间距进一步增大,可视化结果与图5的混淆矩阵吻合。实验结果表明所设计的模型能够高精准地对测试集数据进行辨识。
图6 模型中各层数据可视化结果
为了验证所设计的1D-CNN模型具有良好的抗噪性,对多源传感器采集到的信号进行了降噪处理,对比了信号消噪前后模型的训练过程和对测试集的分类准确率。如图7所示,图7(a)为布置在转子实验台上的3#传感器采集的振动信号原始波形图,信号中包含了大量的强脉冲干扰和平稳随机噪声,采用文献[15 ]中的滤波消噪算法得到图7(b)的信号波形图。把降噪后的12个通道数据按3.2节的实验方法输入到本文设计的1D-CNN模型中进行训练,模拟拟合后,用测试集数据测得模型的分类准确率为99.36%。
图7 振动信号时域波形图
模型参数学习过程的损失曲线和精度曲线如图8所示,对比上文图4可知,经过消噪滤波后的数据送入模型后,除训练迭代次数由14次减少至10次外,损失值衰减曲线和识别准确率曲线随迭代次数的变化趋势基本相同。实验结果证明了卷积神经网络对模型输入信号是否需消噪预处理不敏感,同时也验证了其强大的非线性数据处理能力。
图8 信号消噪后训练集和验证集的损失值与精度曲线
为验证融合多源传感器数据能够全方位的反应设备实际运行状态,为诊断模型设计提供完整的数据,保证模型具有更高精度的识别率。使用单通道传感器数据作为对比进行实验,把采集到的数据按3.1节进行预处理,构建出12个数据集。不同点在于所构建的数据集通道数是1,即由5 000×12×512变为5 000×1×512。把12个数据集分别输入至模型中进行训练,并使用测试集数据对模型分类准确率性能进行测试,每个实验重复30次,实验结果如图9所示。
图中横坐标代表单独使用布置在转子实验台上的传感器1~12的数据输入至模型进行训练集测试,记为方法1~12。纵坐标代表每种实验方法下测试集数据的分类准确率。从图中可以看出,单独使用1个传感器在本文模型中进行测试,平均识别准确率最高为方法7,达到了96.52%。准确率最低的是单独使用传感器9,仅为78.03%。本文所提的方法识别准确率为99.48%,均高于其他方法。因此,证明了融合多传感器数据能够为模型的训练和诊断提供更全面的信息。
图9 多源传感器数据与单传感器数据诊断结果对比
使用数据增强技术扩充数据集样本,使得总样本数分别为500,1 000,2 000,5 000,10 000和20 000组,打乱数据后统一按照2.1节比例划分样本。分别把样本数不同的训练集数据输入至本文设计的1D-CNN模型中进行训练,并使用测试集数据对模型的分类能力进行测试。鉴于样本制作过程是通过计算机程序随机在时间序列上进行的,且网络模型参数的初始化也是随机的,为保证验证样本数量对模型测试结果的稳定性,每个实验重复30次,实验结果如表2所示。
表2 样本数量对模型识别准确的对比
通过表2可以看出,随着数据样本数量的增加,模型对验证集和测试集数据的识别准确率逐渐上升,当总数据超过5 000组后,模型的总体识别准确率趋于平稳,且对验证集和测试集的识别准确率几乎相同,说明模型的泛化性能优良。但当总数据样本数为500组时,模型对验证集的识别准确率可达90%以上,但在测试集上的准确率仅为82.45%,说明验证集数据在模型验证时有一部分也参与了模型的学习,但对从未见过的测试集数据准确率却很低,实验结果表明卷积神经网络模型的辨识性能和泛化能力受数据样本数量大小的影响较大。
本文提出了一种融合多源传感器数据与1D-CNN集成的转子故障诊断方法。实验结果表明,该方法所设计的模型易于网络训练、识别准确率高,为转子故障诊断研究提供了有价值的参考。通过多方面的对比实验,得到以下结论:
1)通过模型输入层采用大于4个周期长度的数据,第一层使用至少可以覆盖1个周期数据长度的较大卷积核,可以获取更多的数据信息并传递给网络的输出层,保证最后池化层的单位神经元至少可以获得1个周期的数据长度。同时使用了BN、Dropuot、Early-stop-ping及在Adam优化器中增加权重等策略防止过拟合现象的发生,提升了模型的鲁棒性和分类准确率。
2)所设计的模型可直接作用于多传感器采集的一维时间序列,无须专家经验的信号消噪和人工特征提取过程。
3)使用多传感器数据同时输入至网络与单传感器数据相比,其更能完整、全面的表征机械设备实际工作状态,提高了模型的故障诊断精度。