APP下载

一种卷积神经网络滚动轴承故障诊断模型

2019-10-14黄智宇1

福建质量管理 2019年18期
关键词:故障诊断轴承卷积

黄智宇1 李 燚 唐 倩 黄 涛

(1.重庆机电装备技术研究院有限公司 重庆 401120)(2.重庆大学机械工程学院 重庆 400000)

引言

滚动轴承作为旋转设备的关键零件,同时也是易损件,一旦发生故障,将会导致生产作业停产,设备损坏甚至造成人身安全事故。因此,针对滚动轴承的故障诊断方法成为重中之重[1][2][3]。针对滚动轴承主要选取振动信号进行分析,因为振动信号更能反映出微弱故障的特征[4]。近几年来,随着“工业大数据”和“人工智能”的到来,基于知识故障诊断技术[5][6]成为了学术界的热点,与传统故障诊断方法(如时域分析、频率分析和时频域分析等)相比,该技术不需要特定诊断对象的具体模型以及信号处理知识,而只需要大量的历史数据,因此也被称为“由数据驱动的故障诊断技术”,具体流程如图1所示。当滚动轴承发生故障时或者将要发生故障时,该诊断方法会将当前收集的数据与历史数据进行一致性检验,随后立即给出相应的故障诊断结果。

图1 基于知识的故障诊断流程图

目前基于知识的轴承故障诊断技术取得了一定的发展和成果。同济大学的张小龙等[7]将滚动轴承振动信号进行固有时间尺度分解,使用Lempel-Ziv复杂度值作为特征向量样本,通过支持向量机(SVM)进行故障识别。如湖南大学的高艺源[8]等将图像信号处理应用于机械故障诊断领域,提出一种基于图谱指标的滚动轴承特征提取方法,然后使用 K-均值聚类算法对轴承的故障类型进行识别。Muhammad A[9]等人将轴承的振动信号使用快速傅里叶变换转化为图像信息并进行特征增强,然后通过人工神经网络进行训练得到模型,完成轴承故障识别。同济大学的李恒等[10]采取短时傅里叶变换将振动信号转化为二维图像信息,然后通过二维卷积神经网络模型进行训练从而识别滚动轴承故障。上述方法虽然取得较好的结果,但存在以下不足:1、需要将振动信号进行预处理,而预处理步骤不但需要较高的专业信号知识,而且会损失原始振动信号的固有特征信息,降低故障识别率;2、轴承产生的故障相互之间耦合,并且故障特征之间相互交织,人为提取故障特征不但困难,而且还会耗费大量的人力和时间资源;3、将振动信号预处理和特征提取和模式识别三个步骤分隔开,不能实现滚动轴承端对端的故障诊断;4、滚动轴承在实际运行中具有多种工况(如转速、负荷扭矩、径向力等),目前已有方法在多种工况下准确识别故障的泛化能力有待验证;5、实时性有待验证。

针对上述问题,本文将基于数据驱动的一维卷积神经网络(1D CNN)应用于滚动轴承智能故障诊断。具体操作方法为:首先将采集的历史振动数据分割成固定长度的样本,并将其和对应的故障标签一起放入一维卷积神经网络模型,神经网络会根据输入的振动数据输出对应的预测故障标签并与真实的故障标签对比,并且不断的更新神经网络参数使预测标签与真实标签的差值最小,当输入的历史样本数据量足够大时,神经网络可以充分的学习并提取故障振动数据的内在特征。神经网络模型训练完成之后,将未知标签故障振动数据输入神经网络模型即可输出正确的故障标签。该方法可将传统的信号预处理,特征提取和分类三个步骤融合到一起,避免了原始振动信号繁琐的预处理步骤;针对多种工况下的多点真实故障混合的滚动轴承,依然可实现高准确率的智能端对端诊断,即输入原始信号,该方法直接给出故障诊断结果;其次,通过与BP神经网络,支持向量机的对比证明该方法具有更高的故障识别准确率;同时,该方法具有很高泛化能力;最后,该方法具有较强实时性,可直接用于工业在线实时性检测。

本文第一节介绍1D CNN的工作原理、以及基于1D CNN的故障诊断流程以及参数设置;第二节采用德国帕德博恩大学(UPB)已公开的滚动轴承数据集对所提出的1D CNN诊断方法进行实验验证,得到实验结果;第三节得出关于本文所提出方法相应的结论。

一、一维卷积神经网络

(一)一维卷积神经网络前向传播阶段

一维卷积神经网络属于前馈神经网络,包含线性与非线性运算多级训练架构,具体由三部分组成:输入层、隐藏层和输出层。其中隐藏层由卷积层、池化层和全连接层组成,如图2所示。卷积层采用多个卷积核过滤器来获取输入数据特征信息;池化层又称为下采样层,用于减少输入特征的维数;在有限次卷积层与池化层反正交替操作后,采用全连接层计算分类得分,输出结果。

整个神经网络前馈过程表达式为

f(X)=fL(Kf2(f1(X,θ(1)),θ(2)K),θ(L))

(1)

式中X为初始输入数据,θ(1),θ(2),K,θ(L)为学习变量参数比如每一级的偏置与权重,f1,f2KfL为每一级相应的函数,每一级的输出结构均为一维特征映射矩阵。

卷积层表达式为

(2)

yijk=max(0,xijk)

(3)

式中,xijk为第k个特征映射矩阵的(i,j)元素。

池化层表达式为

yijk=max(yi′j′k:i≤i′

(4)

式中,p为一维池化窗口的长度,yi′j′k为池化之前区域值,yijk为池化处理之后的值。

全连接层正向传播的表达式为

(5)

在全连接层中,本文选取的激活函数为归一化指数函数(Softmax)函数[12],因为该函数具有指数计算过程,在分类过程中增加了区分对比,且在整个过程中连续可导,消除拐点的优点。表达式为

(6)

(二)一维卷积神经网络误差反向传播阶段

误差反向传播是神经网络模型进行参数优化的重要步骤。通过神经网络模型正向传播之后,首先对模型输出的预测结果与真实结果比较并选取恰当的目标损失函数计算两者之间的误差,然后通过链式求导法则,从后往前逐层计算出目标损失函数关于所有参数的偏导数,然后使用恰当的优化算法优化所有参数,通过不断地迭代并优化参数使得预测结果与真实结果的误差变得最小,最终完成分类任务。因此损失函数和优化损失函数算法将直接影响神经网络模型最终的分类任务准确率。本文选取交叉熵作为损失函数,相比于均方差损失函数更容易找到最优解,表达式为

(7)

式中,n为该类标签的样本数量;xk表示该标签的预测值,为独热(one-hot)数组形式;yk表示该标签真实值,也为独热(one-hot)数组形式。

本文选择优化损失函数的算法为Adam(Adaptive Moment Estimation),由OpenAI 的Kingma和多伦多大学的Jimmy联合提出[13],表达式为

gt=▽θft(θt-1)

(8)

mt=β1mt-1+(1-β1)gt

(9)

(10)

(11)

(12)

(13)

(三)基于数据驱动的1D CNN的滚动轴承故障诊断流程

基于数据驱动的1D CNN的滚动轴承故障诊断方法可将振动信号的预处理,特征提取和故障识别三个步骤融合为一体,从而实现滚动轴承故障特征的自适应提取和实时的智能诊断,具体流程如图3所示,首先将采集到的历史滚动轴承故障振动数据分割成一定长度的样本,并添加对应的故障标签;然后将故障样本以及对应的故障标签放入1D CNN模型中进行训练,不断的更新神经网络参数,使得损失函数值最小化,并保存模型。然后将滚动轴承运行过程中采集的振动数据放入以训练好的模型,可实时的得出对应的故障诊断结果。训练神经网络模型的历史振动数据量越大,得到的最终故障诊断结果越准确。

图3 基于一维卷积神经滚动轴承故障诊断流程图

(四)一维卷积神经网络参数设置

考虑到所使用模型的实时性需求问题,本文采用浅层的神经网络结构,并进行合适的参数设置,具体结构如图4所示。

图4 一维卷积神经网络结构图

如图4所示,该1D CNN神经网络模型结构依次为输入层、卷积层1、池化层1、卷积层2、池化层2、全连接层、输出层。每一层具体的参数设置如表1所示。

表1 一维卷积神经网络结构以及参数

二、实验验证

(一)滚动轴承数据集描述

本文使用德国帕德博恩大学已公开的轴承数据集[14]作为试验对象。试验平台如图5所示,该试验台一共包含5个模块,图中(1)为电机,(2)为扭矩测量模块,(3)为滚动轴承实验模块,(4)为飞轮,(5)为负载电机,关于实验平台的详细描述在文献[14]给出。整个试验过程中多个型号为6203的深沟球轴承在四种不同的工况下工作(如下表2所示),并完成相应的数据采集,其中振动信号的采样频率为64 KHz。

图5 德国帕德博恩大学试验平台[15]

工况编号主轴转速(rpm)负荷扭矩(Nm)径向力(N)09000.71000115000.11000215000.7100039000.7400

而在此之前,为了制造具有真实故障的轴承,将型号为6203的深沟球轴承在加速试验台上通过施加径向载荷、创造不合适的润滑条件等方式进行加速寿命试验从而产生真实故障。本文所选取的轴承编号如下表3所示,其中具有真实故障的轴承的具体描述如表4所示

表3 选取的深沟球轴承轴承编号

表4 深沟球轴承的故障描述

由表4可以看出,本文所选取的具有真实故障轴承损伤类别既有疲劳破坏导致的点蚀,也有塑性变形造成的压痕;既有单点、多点损伤、也有多种损伤并存的症状。所以收集的轴承振动数据更符合工程实际中轴承的真实故障。

将滚动轴承正常、内圈故障和外圈故障三个类别中所有编号的轴承振动数据以1024点为一个样本分割形成数据集,其中随机抽取80%作为训练子集,剩下的20%作为测试子集。然后按照相应的类别以及相应的工况组合在一起,形成的样本数目如表5所示

表5 深沟球轴承数据集

所有工况的轴承正常、内圈故障和外圈故障时域波形图样本举例如图6所示。

(a)编号为0工况下的样本时域波形图

(b)编号为1工况下的样本时域波形图

(c)编号为2工况下的样本时域波形图

(d)编号为3工况下的样本时域波形图

(二)实验设置

在整个神经网络模型训练过程中,学习率Learning Rate设置为0.001,训练次数Epoch设置为40,批训练样本量Batch Size 设置为20。整个实验平台配置为Windows10操作系统,CPU为E3-1240V5,显卡为Nvidia Quadro K1200 和Python3.7开源软件以及Facbook推出的Pytorch开源深度学习框架。同时,本文还采用了BP神经网络、支持向量机(线性、非线性)等模型作为对比实验。

(三)实验结果

首先将四种工况下的每个轴承振动数据按照正常、内圈故障和外圈故障三个类别分别随机抽取80%的样本然后混合在一起形成训练集,然后将剩余的20%的样本混合在一起形成测试集,如表6所示;然后将每种工况下的训练集分别放入本文所采用的一维卷积神经网络模型中训练,在整个训练过程中,测试集首先被随机打乱,分批次训练神经网络模型。最终得到四个分别由四种工况所训练的神经网络模型。将四种工况下的测试集依次放入训练好的四个神经网络模型中进行验证,得到的结果如表7所示。

表6 测试集与训练集样本

表7 不同工况交叉测试结果

由表7可知,对于四种类型的工况,当使用相同工况的测试集测试对应工况所训练的神经网络模型时,均取得了非常良好的结果,准确率分别为99.69%,99.37%,99.65%,99.55%,说明本文所采用的神经网络模型可以很好的提取轴承故障的内在特征,并且能够较为准确的识别轴承发生故障的位置。但是当使用四种工况测试集交叉验证时,故障识别率准确率却参差不齐,尤其是工况编号为0的振动数据所训练的模型和其他工况的测试集进行交叉验证时准确率最高仅为62.04%。这说明在不同的工况下滚动轴承在振动数据中所表现的特征有所差异,甚至差异较大。虽然可以针对滚动轴承运行的不同工况训练生成不同的神经网络模型,以此保证较高的故障识别率。但在机械设备实际运行中,轴承工况复杂多变,而且关注的焦点在于轴承发生的故障而不是工况。因此,为了解决上述问题,将所有工况所有类别的数据组合在一起形成相应的训练集和测试集,并进行卷积神经网络模型训练和测试。训练过程中的最小损失函数值如图7所示:

图7 采用不同损失函数优化算法损失率图

测试准确率如图8所示。

图8 使用不同损失函数优化算法准确率图

由图7可知,在神经网络模型训练过程中使用Adam优化算法优化损失函数,训练损失在前五次就可以实现快速收敛,由图8可知,该神经网络模型在训练10次之后可以保持很高的故障诊断准确率,且准确率比较稳定,训练30次之后的最低故障识别准确率也高达98.43%,最高的故障识别准确率为99.14%,表明该神经网络模型能够明显的提取故障样本的特征,并将它们区分开。

测试集检验本文所采用模型对于轴承故障识别准确率所得到的具体分类结果表8所示。

表8 测试集的结果百分比矩阵图

表8中,横坐标的数字表示该测试集中样本的真实标签,纵坐标表示使用模型所得到的预测标签。由图明显可知,该模型对于每一类的标签预测都有较高的准确率,最低也高达98.15%。在整个测试过程中,从加载一个测试样本数据到给出诊断结果所耗费的时间仅为0.015s,具有很强的工业实时性,同时实现的轴承故障的端对端智能诊断。

最终本文所采用的一维卷积神经网络模型和对比模型的测试准确率如表9所示。对比可知,本文所使用的神经网络模型的准确率达到了99.14%,远高于传统的BP神经网络和支持向量机模型,说明本文所提出的方法可以很好提取并融合不同工况下且具有复杂故障的滚动轴承振动数据内在特征,并给出准确的故障识别结果。

表9 对比模型的测试准确率

三、结论

本文将一种基于数据驱动一维卷积神经网络应用于工况多变、故障复杂的滚动轴承智能故障诊断。所采用的方法可将传统的信号预处理、特征提取以及分类三个步骤融合到一起,避免了人为的进行数据预处理步骤,实现了滚动轴承变工况下端对端的智能故障诊断,即输入原始信号,该方法即可给出故障诊断结果;该方法不但有更高的故障识别率,而且还具有良好的泛化能力和实时性。

猜你喜欢

故障诊断轴承卷积
轴承知识
轴承知识
基于包络解调原理的低转速滚动轴承故障诊断
基于3D-Winograd的快速卷积算法设计及FPGA实现
轴承知识
轴承知识
从滤波器理解卷积
数控机床电气系统的故障诊断与维修
基于傅里叶域卷积表示的目标跟踪算法
因果图定性分析法及其在故障诊断中的应用