潘琳鑫,巩永旺,晏生莲
(盐城工学院 信息工程学院,江苏 盐城 224051)
滚动轴承是旋转机械设备中最重要的零部件之一,在维持运动精度和提高机械效率上发挥重要作用,在复杂机械装备中有着广泛应用[1]。轴承故障诊断方法研究是维护机械设备正常运作的关键,传统的故障诊断方法包括噪声分析[2]、油样分析[3]和振动信号分析[4]等。然而,随着科技的进步,机械设备检测的精度大幅度提升,采集到的数据变得越来越复杂和抽象[5],传统故障诊断方法已不能满足人们对于故障诊断时效性和准确率的要求。因此,高效的故障诊断方法愈来愈受到研究人员的重视。
近些年,深度学习具有突出的特征提取能力,并被普遍应用于轴承故障诊断,如卷积神经网络(Convolutional Neural Network,CNN)、深度置信网络和堆栈自编码网络等深度学习方法在故障诊断方面取得一系列研究成果[6]。Gao 等[7]提出一种新的优化自适应深度置信网络,通过分析滚动轴承的振动信号,验证了所提方法在故障诊断方面具有较高的诊断精度和较好的收敛性。师诗[8]提出一种改进的深度堆栈自编码神经网络的故障诊断模型,在滚动轴承数据集上进行试验,验证了所提方法在故障分类方面具有较高的准确率,并且在损失值方面有较大提升。
卷积神经网络作为深度学习的重要方法之一,以其局部连接和全局共享等特点,同样在故障诊断方面有着广泛应用[9]。例如,赵小强等[10]提出一种改进卷积神经网络的滚动轴承故障诊断方法,通过引入注意力机制,使得模型在诊断准确率方面有所提升。陈仁祥等[11]将卷积神经网络模型和小波变换相结合,分别对故障的类别、缺陷大小和不同工况进行测试,验证了所提方案的可行性。高佳豪等[12]将去除噪声的方法和卷积神经网络相结合,并基于齿轮箱的数据集进行试验,提升了故障诊断准确率。张弛等[13]将支持向量机和卷积神经网络的优势联系起来,利用支持向量机分类,利用卷积神经网络提取特征,提高了网络模型识别准确率。徐卫鹏等[14]建立了一种由池化层和多级交替卷积层组成的轴承故障诊断模型,利用一维卷积神经网络模型直接读取振动信号进行故障识别试验。
以上基于卷积神经网络的轴承故障诊断模型和方法在一定程度上提高了诊断准确率,但存在模型训练准确率不高和过拟合问题。基于此,本文提出一种基于改进一维卷积神经网络的轴承故障诊断方法。该方法将批量归一化用于数据处理,采用Dropout 的方法抑制数据过拟合问题,通过调节模型参数提升卷积神经网络模型准确率和泛化能力,该方法不需要人工提取特征,模型直接对输入信号进行训练,可以发挥卷积神经网络的特征学习能力,提高模型通用性。
卷积神经网络是一种具有卷积结构的深度神经网络,是深度学习的代表算法之一,被普遍使用于计算机视觉和语言处理等多个领域[15]。在经典卷积神经网络中,其卷积核是二维的,主要是将特征图中的宽和高两个方向同时进行滑窗操作,常用于计算机视觉和图像处理领域。一维卷积神经网络与二维卷积神经网络类似,其输入的是一维数据,卷积和池化操作后的输出也是一维的,主要应用于序列模型和自然语言处理领域。一维卷积神经网络相比于二维卷积神经网络,具有更少的参数量,可以降低二维卷积神经网络对于大规模数据集的依赖。一维卷积神经网络主要由输入层、卷积层、池化层、全连接层和输出层组成[16],其结构如图1所示。
Fig.1 1D convolutional neural network architecture图1 一维卷积神经网络结构
卷积层是卷积神经网络的核心,主要作用是提取输入的特征信息,由卷积单元组成,通过感受野对有规律的移动输入信息,并提取对应区域的特征。低卷积层只能提取到低级特征,深卷积层能够提取深层的特征[17]。在卷积层中,卷积核对前一层的输出进行卷积运算,并输出卷积结果,其数学模型为[18]
批量归一化(Batch Normalization,BN)[20]类似于一种对数据标准化操作,其主要是利用小批量数据,取其均值和标准差,通过不断调整神经网络中的输出,从而使得整个网络输出的数值更加稳定。在卷积神经网络中添加BN层的目的是提升训练速度,以提高网络性能。因为将网络中某一层的输入进行归一化处理,会影响到本层网络所学习到的特征,因此引入可学习的参数γ和β,通过变换重构,可以恢复到本层学习的特征。BN 算法过程分为正向传播和反向传播,其正向传播的过程分为5 个步骤,如图2所示。
其中,对数据进行标准化的公式为:
Fig.2 BN forward propagation process图2 BN正向传播过程
在反向传播过程中,采用链式求导求γ、β及其他权值,γ为尺度系数,β为移动因子。
Dropout 方法是指在卷积神经网络中,按照一定的随机概率(比如~Bernoulli(p))临时丢弃神经元,由于是随机丢弃策略,因此每一次都是对不同的网络进行训练,可抑制模型过拟合问题。
图3 为使用Dropout 方法前后的神经网络对比示意图,黑圈代表被临时丢弃的神经单元。
Fig.3 Neural net(aw) ork comparison before (abn) d after using Dropout method图3 使用Dropout方法前后的神经网络对比
Dropout 方法工作流程为:首先以一定的概率随机临时删除神经网络中的神经单元,然后在没有被删除的神经元上依照随机梯度下降法更新参数,接着重复这一过程,恢复被删除掉的神经单元,再按照随机概率临时删除神经单元,利用梯度下降更新参数。
为增加经典一维卷积神经网模型的泛化能力和解决模型的过拟合问题,在模型中嵌入批量归一化法和神经网络Dropout 的方法,提出一个改进的一维卷积神经网络模型。模型采用Google 的Tensorflow 和Keras 工具箱搭建,其结构如图4 所示。该模型包括输入层、特征提取层、全连接层和输出层。其中,特征提取层包含卷积子层、批量归一化子层、Sigmoid 激活子层和最大值池化子层等。
Fig.4 Improved 1D convolutional neural network model图4 改进的一维卷积神经网络模型
改进的一维卷积神经网络模型的工作流程如图5 所示。首先直接输入原始的振动信号,在特征提取层中,卷积层共6 层,第一层卷积核采用大卷积核,可以获得更大的感受野,降低噪声影响;之后5 层采用小卷积核,减少参数量,降低计算时间;在卷积操作后,加入批量归一化层,增强模型泛化能力,再在全连接层中采用Dropout 方法,以抑制过拟合现象和增强模型泛化能力;最后采用Adam 优化器更新权重,增加模型的运算能力。
Fig.5 Improved 1D convolutional neural network process图5 改进的一维卷积神经网络流程
实验数据采用美国凯斯西储大学轴承数据中心的4组数据集(记为A-D)[21],分别对应在0、1、2 和3 马力电机负载工况条件下记录的轴承振动加速度信号,轴承的运行状态包括正常状态,内圈故障,外圈故障和滚动体故障,且每种故障类型又分为3 种损伤直径:0.007inch,0.014inch和0.021inch。因此,每组数据集共有9 种损伤状态和1 种正常状态等10 种状态,其标签分别为0~9,实验数据集的具体描述如表1 所示。实验时首先将每组实验数据集混合并打乱顺序,然后将数据集按照7:2:1 的比例划分为训练集、验证集和测试集;接着对数据进行批量归一化操作,最后进行卷积神经网络训练,并将训练和测试的结果进行对比分析,验证本文方法的有效性和优越性。
在训练卷积神经网络模型的过程中,由于输入的振动信号有噪声,并且训练数据不足,会出现过拟合情况。本文采用Dropout 的方法抑制过拟合,在选取Dropout 参数时,做了3 组实验,参数分别取0.2、0.3、0.5,迭代次数为50次,训练集准确率如图6所示。
Table 1 Experimental data set description表1 实验数据集描述
Fig.6 Diagnostic accuracy of the training set图6 训练集的诊断准确率
从图6 可以看出,在Dropout=0.2 和0.3 时,训练集准确率均在99%以上,而Dropout=0.5 时,训练集准确率只有94%左右。但相比于Dropout=0.2 时,Dropout=0.3 时的准确率数值波动较小,因此Dropout的参数选用0.3。
在训练时,增加网络层数,可以提升特征学习能力。本实验采用了6 层卷积层和池化层。利用Adam 算法更新参数,批次设置为512,迭代200 次,学习率为0.001。模型参数取值如表2所示。
Table 2 1D convolutional neural network model parameters表2 一维卷积神经网络模型参数
在训练卷积神经网络模型后,观测准确率与损失函数值大小,准确率能够度量模型效果,准确率越高,说明模型训练效果越好,损失函数主要描述模型训练误差,当准确率逐渐增长,损失函数值逐渐减小,说明该模型拟合越好。
实验训练结果和验证结果分别如图7 和图8 所示。当迭代次数达70 次,模型基本收敛,训练集平均准确率保持在99%以上,验证集平均准确率达99.5%,说明改进后的一维卷积神经网络模型具有很好的诊断效果。
Fig.7 Model training results图7 模型训练结果
Fig.8 Model validation results图8 模型验证结果
一维卷积神经网络模型改进前后在4 组不同数据上的轴承故障诊断准确率比较如表3 所示。测试集样本为1 000 个,样本长度为1 024。从表3 可以看出,在4 种不同的数据集上,本文方法模型测试的准确率均高于经典的一维卷积神经网络模型,且本文方法在不同数据集上测试集的准确率差别小于经典一维卷积神经网络方法。由此可见,改进后的模型在轴承故障诊断性能上优于经典的一维卷积神经网络,且模型的稳定性和泛化能力更好。
Table 3 Comparison of fault diagnosis accuracy under different data sets表3 不同数据集下故障诊断的准确率比较
为了进一步验证所提方法的故障诊断效果,将本文方法与其他基于卷积神经网络的故障诊断方法进行比较,故障诊断准确率如图9 所示。可以看出,本文方法准确率高于其他模型准确率,具有更好的诊断效果。
Fig.9 Fault identification accuracy of each method图9 各方法故障识别准确率
本文针对经典一维卷积神经网络故障诊断准确率不高和泛化能力较差的情况,提出了改进一维卷积神经网络的轴承故障诊断方法。该方法可以直接作用于原始的一维信号,不需要进行任何的人工特征提取,实现了端对端的检测,具有很好的实用性。第一个卷积层采用大卷积核,可以得到更大的感受野,之后采用小卷积核,减少模型参数量和计算量。利用批量归一化的方法处理数据,使得模型收敛速度变快,并减少运行时间。在前向传播过程中,利用Dropout 的方法,对模型中的神经元按照一定比例随机丢弃,可以有效抑制过拟合问题。实验结果表明,该方法相较于改进前的一维卷积神经网络模型和其他故障诊断模型,可以达到更高的准确率。
但是本文方法由于网络模型较大,需要较大运行内存和较高硬件需求,因此运行效率略有下降。下一步工作重点是优化模型流程与参数,在不影响故障准确率的情况下,提升模型效率。