改良GoogLeNet的电机滚动轴承故障诊断

2022-09-30 00:59田振川林光辉商继财
吉林大学学报(信息科学版) 2022年3期
关键词:准确率故障诊断卷积

任 爽,田振川,林光辉,杨 凯,商继财

(东北石油大学 电气信息工程学院,黑龙江 大庆 163318)

0 引 言

随着科学技术迅速发展,一些精密设备也变得更加复杂,因此在大力发展这些精密复杂设备的同时,也要对其进行定期或实时的健康监测[1],而为避免故障进一步扩大,对电机滚动轴承初期微小故障的及时诊断识别尤为重要,目前有许多研究人员对其进行了大量研究[2-3]。

随着计算机技术和硬件设备的不断完善和发展,反映设备运行状态的数据之间相互关联耦合,整个系统具有强烈的不确定性和非线性特征,也呈现出海量化、冗余化等大数据特点。时域特征[4]、频域特征[5]和时频特征[6]等传统故障诊断方法,都需要用大量的人力提取海量特征数据,无法适应大数据时代下故障诊断的需求。

Hopfield神经网络[7]是一种结合存储系统和二元系统的循环神经网络,但具有容易陷入局部最小值的缺陷。一种适用于多层感知器的反向传播算法----BP(Back Propagation)算法解决了非线性分类问题,从而使人工神经网络引起人们的注意。但由于当时计算机硬件水平有限,运算能力不足,不能解决当神经网络规模增大时出现的“梯度消失”问题。并且由于当时提出的一些浅层机器学习算法(如SVM(Support Vector Machine)等)在分类和回归等问题上表现很好,导致了人工神经网络再次陷入瓶颈期。

深度学习能更加完整地描述原始数据的特征,其使用无监督学习的逐层训练算法,再使用有监督的反向传播算法进行调优以解决“梯度消失”问题,引起了学术界巨大反响。许多学者开始进行理论研究和应用,证明了深度学习在复杂多变的识别诊断领域中具有巨大的潜力[8],深度学习也形成了几种经典的模型,包括深度置信网络(DBN:Deep Belief Network)[9]、自编码网络(AE:Auto-Encoder)[10]、卷积神经网络(CNN:Convolutional Neural Networks)[11]、循环神经网络(RNN:Recurrent Neural Network)[12]、长短时记忆网络(LSTM:Long Short-Term Memory)[13]等。

CNN作为一种高效的深度学习模型得到了许多学者的广泛研究,并提出了一系列的CNN结构模型,如通过不断加深网络结构提升性能的VGGNet、从“横向”加深表达的GoogLeNet、引入残差提升性能的ResNet、更加充分利用各层数据的DenseNet等。这些模型应用于图像识别,获得了非常好的效果[14-15]。近年来,有许多学者开始运用CNN网络进行故障诊断分类,其效果也越来越好。汪颖等[16]将卷积神经网络应用于电缆故障分类领域中,通过仿真证明所提方法能对电流信号进行有效分类,准确识别电缆早期故障,具有较高的工程应用价值;Lee等[17]将卷积神经网络应用于车辆仪表结构缺陷位置分类领域中,也有很高的分类准确率。笔者利用传统的GoogLeNet模型单元与稠密连接思想结合,提出一种改良的GoogLeNet卷积神经网络结构,并将其应用于电机滚动轴承的故障诊断。其诊断过程不需人工特征提取,避免了人工提取故障特征时的困难和带来的误差,大大简化了故障识别过程。

1 卷积神经网络

CNN是一种有监督的深度学习模型,其训练方法类似于人工神经网络,通常采用反向传播算法逐层对误差进行反向传递,并且使用梯度下降法调整神经网络中各层的参数[10]。作为一种经典的深度学习模型,其可提取局部特征,减少参数数量,降低训练难度,在空间或时间上做降维采样,用低层次局部特征组合成高层次特征,具有局部感知、权值共享、多层次结构的特点[18]。基本的卷积神经网络结构由卷积层、激活层、池化层、全连接层和Softmax分类器组成(见图1)。原始数据经处理后进入卷积层,第1层卷积层可能只提取一些低级的特征如边缘、线条等,而其余层的卷积能从低级特征中迭代提取更复杂的特征。通常在卷积层之后会得到维度很大的数据特征,池化层将数据特征切成几个区域,取其最大值或平均值,得到新的、维度较小的特征。然后通过全连接层将数据特征展开,连接分类器计算,最后得到故障分类。

图1 卷积神经网络的基本模型Fig.1 Basic model of convolutional neural network

2 改良GoogLeNet卷积神经网络

2.1 GoogLeNet卷积神经网络

在2014年的ImageNet比赛中,GoogLeNet模型首次出现并且获得图像分类分区冠军。本次的GoogLeNet模型版本通常称其为Inception V1[19],其性能和同时期VGGNet的性能相近,但参数量远小于后者。Inception V1的基本组成模块结构有4个,即1×1卷积、3×3卷积、5×5卷积和3×3最大池化,最后将4通道上的运算结果在通道上进行组合。但Inception V1中也存在如下问题:当要再加深网络层数时,因为5×5卷积的计算开销和存储占用已经很大,计算时间将会呈指数增长,占用内存也会急剧上升,引起计算爆炸。

随后出现的Inception V2版本,解决了上述问题,加快了计算速度。Inception V2使用两个3×3的卷积代替了5×5的卷积,并且在每次卷积前先进行一次1×1的卷积。另外,为提高网络收敛速度,加快计算速度,还加入了批量归一化(BN:Batch Normalization)层[20]。Inception V2的基本单元模块如图2所示。

图2 Inception V2的基本单元模块Fig.2 Basic unit module of Inception V2

2.2 改良GoogLeNet卷积神经网络

DenseNet卷积神经网络是在普通多层的CNN网络结构基础上,将前面每次卷积池化层与后面全部的卷积层相连接。因此,每次卷积都使用了前面几次卷积后的数据特征,加强了特征的传递并更加有效地利用特征。DenseNet的简单结构如图3所示。

图3 DenseNet一般结构Fig.3 The general structure of DenseNet

笔者提出的改良GoogLeNet模型就是将DenseNet模型中的稠密连接和GoogLeNet模型的增加“宽度”的思想相结合。在原先的GoogLeNet神经网络中,将后一层的网络与前面所有的卷积层相连接,这既能保留GoogLeNet网络“横向”提取特征表达较强的能力,又能使DenseNet网络在“纵向”上深度利用原有数据特征的优势。考虑到试验数据集的大小、数据特征的多少和计算速度,选取对两层GoogLeNet网络的改良比较合适。在两层GoogLeNet网络的输入层与堆叠层2之间和堆叠层1与堆叠层2之间分别加入一条支路,从而构成了改良GoogLeNet网络模型。数据特征的复杂程度是层数选择的关键。经试验对比,3层结构比两层结构在准确度上并没有提高,并且训练时间长,同时还出现了明显的过拟合问题,所以选择两层结构为试验模型。图4为改良GoogLeNet两层网络模型图。

图4 改良GoogLeNet两层网络模型图Fig.4 Diagram of improved GoogLeNet two-layer network model

3 实验验证

3.1 基于改良GoogLeNet模型的电机轴承故障诊断方法

实验采用美国凯斯西储大学(CWRU:Case Western Reserve University)的电机滚动轴承数据验证笔者方法的有效性。流程如图5所示。

图5 改良GoogLeNet模型的验证流程图Fig.5 Validation flowchart of improved GoogLeNet model

具体步骤如下。

1) 获取电机滚动轴承数据信号,用于网络模型训练。

2) 将原始数据进行分类,分为训练集、验证集和测试集,并且将不同故障下的数据贴上标签。

3) 设计改良GoogLeNet网络模型的结构,并且初始化参数。

4)用训练集对改良GoogLeNet模型进行训练,重复进行反向传播和前向传播迭代的计算调整各层权重等各种超参数。每进行一次迭代,用验证集对其迭代一次后的模型进行验证,判断其准确率是否符合要求。i为当前迭代次数,初始值为0,当i到达设置的最大迭代次数N时,保存最后一次迭代的模型。

5) 最后将测试集的数据输入到已经训练好的改良GoogLeNet模型中,得到最终的电机滚动轴承故障诊断结果,输出的结果为测试集的正确率。

3.1.1 数据集构建

CWRU电机轴承故障数据集是世界公认的标准电机滚动轴承故障数据集。笔者选取试验平台驱动端轴承在空载(负载为0)时的数据作为数据集,采样频率为12 kHz,即每秒采集12 000个样本点。轴承的故障损伤类型分别为滚动体、内圈、外圈,损伤直径分别包含0.177 8 mm、0.355 6 mm、0.533 4 mm,其中外圈损伤分别包含3点钟、6点钟、12点钟3个不同位置,这里只取6点钟位置。包含正常无损伤的情况,共10种故障类型。在不同故障位置下,每种损伤尺寸中取120 000个样本点,每400个样本点构成20×20的2维数组,作为一个样本数据,则每种故障类型有300个样本,将其贴上故障类型标签。再将每种类型的300个样本随机分为200个训练样本和100个测试样本,因此训练集有2 000个样本,测试集有1 000个样本。每轮训练后都随机选取训练集中200个样本作为验证集进行验证。试验样本故障类型和详细信息如表1所示。

表1 试验样本故障种类和详细信息Tab.1 Types of failures and detailed information of the test samples

3.1.2 改良GoogLeNet模型的具体搭建

应用Ancaconda中的Jupyter Notebook编辑python程序,利用TensorFlow 2.0 CPU版中的keras包可以方便地进行模型搭建。模型如图4所示,输入层为20×20的数据输入,1×1卷积均为16个1×1的卷积核,进行2维卷积操作。3×3卷积均为32个3×3的卷积核,进行2维卷积操作。池化层均为2×2最大池化,为保持卷积后的特征大小一致,在第2个GoogLeNet单位模块中的两次3×3卷积中,第1次卷积后的池化中设置padding=SAME,其余池化中均不设置padding。在全连接层之前将数据展开,并且为防止过拟合,再经过一个0.5概率的Dropout连接Softmax分类器,进行10种故障的分类。为加快学习速度,采用mini-batch训练,若bach size取值过大,则收敛性会降低;取值过小,则计算时间将增加,这里将bach size设置为8。为使训练集中有10%(200个)验证样本,将validation split设置为0.1。激活函数的选择对模型训练影响很大,各种激活函数的选择没有固定方法,通常根据经验设置,这里选择预期效果更好的Relu函数。模型采用Adam自适应优化器和交叉熵损失函数,总共进行50轮迭代,最后输入测试集对模型进行测试,得出准确率。为进行控制变量对比实验,对比的GoogLeNet模型与图4大致相同,仅去除输入层到堆叠层2和堆叠层1到堆叠层2的支路结构,其他设置与实验模型相同。实验模型与对比模型均运行10次,分别记录每次的测试集故障分类准确率。

3.2 实验结果分析

每次实验的准确率如表2所示。对比模型的平均准确率在90.63%,而改良模型的准确率在93.46%,可以看出改良模型的方差更小,准确率比较稳定,稳定性更好,证明了改良模型在电机滚动轴承故障诊断中的可行性。

表2 对比试验准确率Tab.2 Comparison test accuracy (%)

选取各模型比较接近平均准确率的一次运行参数,在此次训练过程中,每步迭代会进行反向误差传播计算,运用TensorFlow中的TensorBoard程序自动记录其迭代过程中每步的准确率和交叉熵损失,最后得出训练过程中的准确率曲线和交叉熵损失曲线。图6为改良模型和对比模型的准确率曲线图。从图6可以看出,在迭代次数相同的情况下,改良模型的准确率更高,表现更为优异。图7为改良模型和对比模型的交叉熵损失曲线图。从图7可以看出,在迭代次数相同的情况下,改良模型和对比模型的交叉熵损失降低得更快,数值更小,收敛性更好。

图6 准确率曲线图 图7 交叉熵损失曲线图Fig.6 The accuracy curve Fig.7 The cross entropy loss curve

为客观评价改良模型的优越性,将其与其他文献中的模型进行了对比,所有文献均使用美国西储大学轴承故障数据集。表3给出了不同算法模型的故障诊断分类准确率。实验结果表明,在经典的FFT-SVM(Fast Fourier Transform-Support Vector Machine)算法模型中的分类效果较差,准确率只有84.20%。在Wavelet-ANN(Wavelet-Artificial Neural Networks)算法模型中的诊断效果有所改善,但准确率仅有88.54%。文献[21]中CNN模型的主要参数是通过粒子群优化算法确定的,这种方法的分类准确率提升到了92.84%。而改良GoogLeNet模型将准确率提升到了93.46%,再对比原GoogLeNet模型,证明了改良模型在诊断精度上具有优势。

表3 不同模型分类准确率Tab.3 Classification accuracy of different models

4 结 论

笔者基于GoogLeNet模型,结合稠密连接思想,构建了一种改良GoogLeNet卷积神经网络电机滚动轴承故障诊断模型。通过将改良模型和原模型及其他经典模型对比,验证了改良GoogLeNet模型在诊断精度和收敛速度上的优势,结论如下。

1) 所提出的改良GoogLeNet卷积神经网络电机滚动轴承故障诊断模型具有较强的特征提取能力,直接将原振动数据输入到网络中,输出端就能快速得到较精准的故障诊断结果。整个过程不需要进行人工特征提取,避免了人工提取特征带来的计算难度和误差,大大简化了轴承故障诊断过程。

2) 对比其他典型模型,所提出的模型具有诊断精度高,收敛速度快,表现稳定的特点。

综上所述,笔者提出的改良GoogLeNet卷积神经网络电机轴承故障诊断模型具有很强的特征提取能力,较高的识别精度和较快的收敛速度,同时也证明了其应用的可行性。但对每层卷积核的个数如何选择,需要进一步的研究。

猜你喜欢
准确率故障诊断卷积
比亚迪秦EV充电系统故障诊断与排除
基于包络解调原理的低转速滚动轴承故障诊断
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
卷积神经网络的分析与设计
从滤波器理解卷积
数控机床电气系统的故障诊断与维修