现代工业的不断发展使得机械设备趋向于大型化和复杂化,增加了设备发生故障的概率[1]。旋转机械在工业设备中占有极大的比重,且滚动轴承因其机械效率高、承载力强、结构紧凑而被广泛使用,但约40%的旋转机械故障是轴承损坏引起的,因此对轴承的健康检测与故障诊断具有重要意义[2-3]。
目前解析轴承的振动信号仍是获得轴承状态信息的主要方法。随着传感器技术的发展,采样频率和采样点数都有所提高,设备运行数据呈现“大数据”态势,且振动信号受本身振动特性和设备负载的影响,呈现出非线性和非平稳性的特点,增加了故障模式识别的难度[4]。
深度学习算法因其具有强大的学习能力和深度特征提取能力而被广泛应用在故障诊断领域。Hu等[5]提出在传统卷积神经网络(convolutional neural networks,CNN)模型的基础上,添加了多种卷积跨步模式来提取不同尺度的信号特征,并扩展了特征维度,在行星齿轮箱的多种工况下故障分类准确率达到98%。向玲等[6]提出基于残差网络和长短时记忆神经网络的并行神经网络结构,融合残差网络提取的空间特征和长短时记忆神经网络提取的时间特征,结果表明,该方法可以准确识别故障种类。Zhang等 [7]先通过经验模态分解对轴承振动信号进行降噪处理后,将一维重构信号通过格拉姆矩阵转化为二维图像,再通过CNN的分类,实验证明,经过格拉姆角场(Gramian angle field,GAF)重构后的振动数据能有效提升故障诊断的准确率。
上述深度学习算法中包含了大量的超参数,超参数的选取对故障诊断的准确率有很大的影响。2个人工选择的网络结构仅在全连接层的激活函数上选择不同,但在MNIST数据集上第1个epoch下的训练表现却有将近9倍之差[8]。文献[9]采用粒子群优化算法(particle swarm optimization algorithm,PSO)优化CNN的卷积核数量、尺寸、步长,池化核尺寸、步长以及Dropout层的舍弃概率,结果表明,对超参数寻优后的CNN有较好的鲁棒性和准确性。文献[10]对CNN进行优化,提出了一种针对网络结构的编码方式,使用PSO对CNN结构寻优,降低了选择网络结构的主观性,但是该算法没有考虑粒子当前速度更新方向,是没有惯性权重的PSO,因此全局搜索能力欠佳。
受上述文献启发,先将一维轴承振动信号通过格拉姆矩阵转化为二维的格拉姆图像,采用文献[10]的网络结构编码方式,结合线性权重的PSO更新网络结构,选取最优的网络结构以提升轴承故障诊断的分类精度。
一维振动信号x,通过式(1)将振动幅值归一化。通过式(2)将笛卡尔坐标系下的振动信号转化到极坐标系下,得到每个时间点下的极角φi和极径ri,其中i为时间戳,n为正则化常数。
(1)
(2)
格拉姆矩阵的定义为并对2个向量的内积做了式(3)的新定义。根据角度差与和分为格拉姆差场、格拉姆和场。格拉姆差场相较于格拉姆和场有更强的表征能力[11],所以本文中采用格拉姆差场的编码方式。
<xi,xj>=sin(φi-φj)
(3)
具体信号转化为格拉姆图如图1所示。信号y=2*sin(2πt)*sin(20πt)在1 s内,采样频率为200 Hz,转化为20*20的格拉姆矩阵。对原始信号进行下采样,每10个数据点求平均值,再对信号幅值归一化,根据式(4)计算得到格拉姆矩阵。格拉姆编码完整的保留了时间序列信息,此外还显示了数据的时间相关性[12]。
图1 信号到格拉姆图的转化过程
Fig.1 The conversion process of signal to GADF
PSO是一种元启发式优化算法,模拟鸟类觅食的过程,由Kennedy和Eberhart于1995年提出[12]。每一个可能的解为1个粒子,粒子只有速度属性且具备个体学习和社会学习的能力,粒子在优化问题中对应的值为适应度,多个粒子组成的集合为粒子群。
图2为该算法的流程图。在迭代的过程中,粒子按照式(6)根据个体当前位置xi(t)、个体当前速度方向vi(t)个体最优位置pbesti和全局最优位置gbesti决定下一次迭代的速度大小和方向vi(t+1),并以此速度更新粒子位置xi(t+1),以适应度值f(xi(t+1))判定粒子的新位置是否是最佳位置。其中ω为惯性权重,决定了当前粒子速度对下一步速度影响的大小,ω较大时全局搜索能力强,局部搜索能力弱,反之则局部搜索能力强,全局搜索能力弱。cp、cg分别代表个体学习和群体学习,cp相对越大,全局搜索能力强,但是收敛速度慢;而cg相对越大,粒子越快地趋向gbesti过早地收敛陷入局部最优解。
图2 粒子群算法流程
Fig.2 Particle swarm algorithm flowchart
(5)
vi(t+1)=ω*vi(t)+cp*rp*(pbesti-xi(t))+cg*rg*(gbesti-xi(t))
(7)
xi, j(t+1)=xi, j(t)+vi, j(t+1)
(8)
CNN主要有卷积层(convolution)、池化层(pooling)和全连接层(fully connected)堆叠而成。CNN受生物视觉感受野的启发,所以CNN多用于图像识别等领域。CNN本质是通过多个卷积核对原始数据进行卷积操作提取特征,通过池化操作降低网络参数,最后通过全连接层实现数据分类。
无偏置项的卷积操作如图3所示,其数学原理可以用式(9)解释,其中分别表示第l层的输入和输出,表示卷积核的权重矩阵, f(·)为非线性激活函数。引入激活函数的目的是为了增加网络的非线性,使得网络有更复杂的表达能力。
图3 无偏置项的卷积示意图
Fig.3 Convolution diagram without bias terms
激活函数常用的有Sigmoid函数和ReLU函数。Sigmoid函数可用式(10)表示,可以将卷积运算后的值压缩到[0,1],但是Sigmoid函数在0附近会导致梯度爆炸,而在真实值太大或太小的情况下又会出现梯度消失。ReLU函数将真值小于0的部分全部输出为0,真值大于0的部分直接输出,提高了网络的稀疏性,解决了Sigmoid函数在真值大于0部分的梯度爆炸与梯度消失现象,且导数简单易求,节约运算成本。本文中采取的激活函数为ReLU函数,可用式(11)表示。
(10)
(11)
卷积层在对同一张输入特征图进行卷积操作时用同一个卷积核,实现权值共享,降低了网络参数,此外可以对上一层输入通过多个卷积核卷积,增加网络的表达能力,实现特征的自动提取。
池化层主要是对上一层的输出进行下采样,对输入的数据进行压缩,达到减少运算的目的。常用的池化方式主要有最大池化和平均池化,分别是选取特征图中池化感受野的部分的最大值、平均值输出,组合成新的特征图的同时降低的图像尺寸。
卷积层中的参数有卷积核大小、通道数、步长和补零;池化层参数有池化方式(最大池化(max pooling),平均池化(average pooling))、池化核大小、步长和补零;全连接层主要参数有神经元个数。
为了使得算法可行,初始粒子群之前做以下合理设定:
1) CNN最大层数为20,最小层数为10;
2) 网络第1层为卷积层且输入通道为3,最后一层为全连接层且神经元个数等于类别总数,另外全连接层的数量为1~2层;
3) 卷积核尺寸分为3*3、5*5、7*7三种,步长为1,补零为(ks-1)/2,ks为卷积核尺寸;池化核尺寸为4,步长为2,补零为1。
① 假设控制网络的深度,兼顾网络的表达能力与运算复杂度;② 假设控制全连接层数,全连接层数占比过多无法提取深层特征,且网络参数呈爆炸式增长,加大运算复杂度;③ 假设控制池化层的个数,池化层的个数过多会使得输出特征尺寸小于卷积核尺寸,保证卷积操作不改变输出尺寸、池化操作将输出尺寸变为原尺寸的1/2,易于控制池化层数量。除此之外,为了网络训练更优,在每一个卷积层的后面加上批归一化层和非线性层。
CNN结构无法直接参与粒子群优化,因此必须对网络结构进行编码以便更新结构。如图4所示,初始化的粒子群中每一个CNN可用一串编码表示,其中C代表卷积层,C中包含的参数有卷积核尺寸和输出特征通道数;P代表池化层,包含的参数有池化核类型;FC代表全连接层包含的参数有神经元个数。
图4 网络结构初始化示意图
Fig.4 Network structure initialization diagram
本文中的目标是找到分类精度最高的网络结构,为了兼顾损失函数和准确率,粒子的适应度函数设置为训练一轮后在测试集上损失函数与准确率的比值(训练与测试过程中的batch_size均为32),损失函数采用交叉熵损失函数。在计算2个结构相减时采用方法如图5所示,对网络结构进行更新时,需要将结构拆分成卷积、池化部分和全连接部分。以CNN1为基准,计算结构之间的差异。卷积、池化部分从第1层开始做差,如果层的类型相同则以0表示,不同则以CNN1的层类型表示;全连接部分从最后一层开始,CNN2中多出CNN1的部分以-1表示,意为删除该层。
图5 网络结构差异性示例图
Fig.5 Example of the difference between two network structure
初始化粒子的速度则是通过再次初始化一组粒子群,计算2组粒子群中每个粒子的差异性,作为每个粒子的初始化速度。确定下一次粒子的速度可用图6表示。其中R是粒子下一步速度受上一步速度的影响概率,粒子的每一层速度更新方向是通过一个(0,1)随机数r决定,当r在相应的更新方向规定区间内,则速度向该方向更新。r采用线性递减策略,在[0.1,1/3]之间取值。
图6 速度更新示例图
Fig.6 Example of the update velocity
(12)
最终粒子的更新由图7表示,更新后有的粒子中的池化层数量可能超出上限,需要从最后1个池化层依次删除直到输出尺寸大于卷积核尺寸的最大值。
图7 网络结构更新示例图
Fig.7 Example diagram of network structure update
为了验证改进的编码方式的可行性和有效性,在RTXA4000、32 G内存、6核E5-2680 v4环境下,采用Pytorch深度学习框架实现该算法。
实验中的数据采用的是美国凯斯西储大学(CWRU)公开的轴承数据,其实验平台如图8所示。
图8 CWRU滚动轴承故障实验平台
Fig.8 CWRU rolling bearing failure test platform
该实验平台主要由最左侧的1台2马力的马达,中间的扭矩传感器和编码器、最右侧的测功机和电子控制设备组成[12]。对电机轴上的滚动轴承采用电火花加工的方式对滚动轴承上的滚珠、内圈、外圈引入单点故障。故障程度按照单点故障的直径分为3种,分别是直径0.177 8、0.355 6、0.533 4 mm。工作状态通过添加负载的方式分为负载0、1、2、3马力。采样频率有12 kHz和48 kHz 2种,采样点分为驱动端和风扇端。文中选取的数据为采样频率为12 kHz,驱动端振动数据,详细故障种类、故障程度和负载见表1。
表1 选取的CWRU轴承数据
Table 1 Selected CWRU bearing data
故障位置故障直径/mm转速/(r·min-1)负载/hp标签无01 79700000000001内圈0.177 81 79700000000010滚珠0.177 81 79700000000100外圈0.177 81 79700000001000内圈0.355 61 79700000010000滚珠0.355 61 79700000100000外圈0.355 61 79700001000000内圈0.533 41 79700010000000滚珠0.533 41 79700100000000外圈0.533 41 79701000000000
根据轴承转动周期和采样频率决定将样本长度设置为512,采用重叠采样的方法,每次采样的窗口向右滑动256个数据点,单一故障模式得到400个样本,打乱样本顺序,按照8∶2的比例,分为训练集和测试集。分割后的数据通过格拉姆角场将一维振动数据转为格拉姆图,并以种类标签作为文件夹的名字。部分振动数据及对应的格拉姆图如图9所示。
图9 部分振动数据及对应的格拉姆图
Fig.9 Part of the vibration data and the corresponding Gramian diagram
3) 模型精度对比及诊断结果
图10是粒子群算法寻优过程中的最佳粒子适应值更新图。
图10 适应值迭代曲线
Fig.10 Adaptation value iteration curve
从图10中可以看出,文献[10]因为采用的无惯性权重的PSO,不考虑粒子当前速度对下一次迭代的影响,所以粒子收敛速度快,但陷入局部极值;本文中采用的线性递减惯性权重的PSO兼顾搜索空间与收敛速度,更容易突破局部极值,找到更优解。
本文中和文献[10]生成的CNN结构如表2所示。训练集输入网络模型进行训练,并在测试集上测试分类准确率。网络训练参数如下:批训练样本数为128,迭代总次数为100,使用Adam网络优化器,交叉熵函数计算误差,初始学习率设置为10-4,学习率动态可调,每迭代20次,学习率缩小一半。为了能更直观地比较,在VGG16上进行同样操作。训练过程中的准确率曲线如图11所示。VGG16网络参数最多但是诊断准确率却不及其他2种网络结构,由此说明网络深度及网络参数量与网络表现并无直接关系,网络结构对分类精度有较大影响。
表2 网络结构与参数
Table 2 Network structure and parameters
本文方法层类型输出尺寸超参数 文献[10]层类型输出尺寸超参数 Conv1224×224[7×7,95]Conv1224×224[5×5,7]AvgPool112×112AvgPool112×112Conv2112×112[5×5,76]Conv2112×112[3×3,90]Conv3112×112[7×7,79]AvgPool56×56Conv4112×112[5×5,36]Conv356×56[3×3,105]MaxPool56×56MaxPool28×28Conv556×56[3×3,49]Conv428×28[5×5,24]MaxPool28×28MaxPool14×14Conv628×28[5×5,46]AvgPool7×7AvgPool14×14Conv47×7[3×3,35]MaxPool7×7Conv57×7[5×5,128]Conv77×7[3×3,26]Conv67×7[3×3,35]FlattenLinear1[1 274,10]Linear1[1 715,10]参数量656 722332 557
图11 各网络在测试集上的准确率
Fig.11 The classification accuracy of each network on the test set
针对训练与测试样本的选取存在随机性的问题,对该网络结构训练7次,7次训练的准确率如表3所示。
表3 7次训练的准确率
Table 3 Accuracy of seven training sessions
批次准确率/%批次准确率/%199.125599.250298.625698.750399.000799.250499.000
综合7次训练结果,该网络结构的平均诊断准确率为99%,为了更好的展现模型的诊断情况,通过混淆矩阵分析各个类别的故障具体诊断结果。图12—图14分别是本文中、VGG16和文献[10]网络测试的混淆矩阵。
图12 生成网络结构的混淆矩阵
Fig.12 Confusion matrix for the generated network structure
图13 VGG16的混淆矩阵
Fig.13 Confusion matrix for the VGG16
图14 文献[10]的混淆矩阵
Fig.14 Confusion matrix for the reference[10]
从图中可以看出,本文中、VGG16和文献[10]的网络结构整体准确率分别为99.125%、92%和96.125%,证明了PSO优化CNN结构的有效性。滚珠中度故障诊断的准确率分别为 93.75%、80%和86.25%,其中因为故障程度诊断错误的占比分别为5%、12.5%和10%。在训练集与测试集均不存在样本不均衡的情况下,3种网络结构对滚珠的中度故障诊断准确率均低于整体。这是因为GAF做数据预处理时,虽然可以很好表述故障位置特征,但对滚珠故障程度的特征过滤不彻底,导致3种网络结构均无法高准确率的识别滚珠故障程度。
4) 网络鲁棒性测试
现实中,轴端负载呈现非平稳性,因此对3种网络结构进行鲁棒性性能实验。采用上述训练好的网络结构与参数,测试数据分别为负载1 hp、2 hp和3 hp下对应故障的格拉姆图。通过计算,获得3种网络结构在各负载下的诊断准确率,结果如图15所示。从图中可以看出,本文中网络在3种负载下的诊断精度可分别达到88.62%、89.12%和89.12%,均高于其他2种网络结构,表明本文中网络结构的鲁棒性能最好。
图15 不同负载下的诊断准确率
Fig.15 Diagnostic accuracy under different loads
使用格拉姆角场将一维振动信号转化为二维图像作为CNN的输入,结合线性递减惯性权重的PSO根据数据集自适应优化CNN结构,最终得到一个可适用于滚动轴承故障诊断的分类器。得到如下主要结论:
1) 线性递减惯性权重的PSO相比于无惯性权重的PSO拥有更大的搜索空间,有更好的全局搜索性能,改善了过早收敛的问题,更易跳出局部极值,找到全局最优解。
2) CNN分类器的性能与参数数量和网络深度无直接关联,CNN结构对分类性能有较大影响。
3) 针对滚动轴承多种故障模式及故障程度的诊断问题,不同于在网络超参数上优化,使用PSO对网络结构优化,平均诊断精度达到99%,且本文中网络结构相比于其他网络结构有更好的泛化性能,仅在负载为0 hp下训练,测试负载为1 hp、2 hp和3 hp下的故障数据,也可以有较好的分类精度,可以实现对滚动轴承的故障诊断。
[1] 林慧斌,习慈羊,丁康.用于滚动轴承局部故障诊断的深度降采样方法[J].重庆理工大学学报(自然科学),2023,37(7):110-119.LIN Huibin,XI Ciyang,DING Kang. Deep down-sampling methods for local fault diagnosis of rolling bearings[J].Journal of Chongqing University of Technology(Natural Science),2023,37(7):110-119.
[2] 尹文哲,夏虹,彭彬森,等.基于CNN-SVM的核电厂轴承故障诊断方法[J].哈尔滨工程大学学报,2023,44(3):410-417.YIN Wenzhe,XIA Hong,PENG Binsen,et al.Bearing fault diagnosis method for nuclear power plant based on CNN-SVM[J].Journal of Harbing Engineering University,2023,44(3):410-417.
[3] 王刚,张加斯,张晓光,等.基于机械故障模拟实验台的多通道故障诊断实验设计[J].实验技术与管理,2022,39(12):62-68.WANG Gang,ZHANG Jiasi,ZHANG Xiaoguang,et al.Multi-channel fault diagnosis experimental design based on mechanical fault simulation bench[J].Experimental technology and management,2022,39(12):62-68.
[4] 王春雷,路小娟.一种基于深度学习的电机轴承故障诊断方法[J].兰州交通大学学报,2020,39(2):43-50.WANG Chunlei,LU Xiaojuan.A fault diagnosis method for motor bearings based on deep learning[J].Journal of Lanzhou Jiaotong University,2020,39(2):43-50.
[5] HAO H,FENG F Z,ZHU J Z.ZHOU X,et al.Research on fault diagnosis method based on improved CNN[J].Shock and Vibration,2022,2022.
[6] 向玲,张兴宇,胡爱军,等.ResNet-LSTM并行网络转子故障迁移诊断方法[J].动力工程学报,2023,43(1):41-47.XIANG Ling,ZHANG Xingyu,HU Aijun,et al.ResNet-LSTM parallel network rotor fault migration diagnosis method[J].Journal of Chinese Journal of Power Engineering,2023,43(1):41-47.
[7] ZHANG H,ZHANG S Y,WANG Z L,et al.Signals hierarchical feature enhancement method for CNN-based fault diagnosis[J].Advances in Mechanical Engineering,2022,14(9):1-16.
[8] 白燕燕,曹军,张福元,等.基于粒子群算法优化卷积神经网络结构[J].内蒙古大学学报(自然科学版),2019,50(1):84-88.BAI Yanyan,CAO Jun,ZHANG Fuyuan,et al.Optimize the structure of convolutional neural networkbased on particle swarm algorithm[J].Journal of Inner Mongolia University (Natural Science Edition),2019,50(1):84-88.
[9] 赵安军,赵啸,荆竞,等.优化卷积神经网络超参数的非侵入式电力负荷识别算法[J].激光与光电子学进展,2023,60(2):63-70.ZHAO Anjun,ZHAO Xiao,JING Jing,et al,Non-in-trusive power load recognition algorithm for hyper-parameters of convolutional neural networks[J].Advances in Lasers and Optoelectronics,2023,60(2):63-70.
[10] FERNANDES F E,YEN G G.Particle swarm optimization of deep neural networks architectures forimage classification[J].Swarm and Evolutionary Computation,2019,49:62-74.
[11] 古莹奎,吴宽,李成.基于格拉姆角场和迁移深度残差神经网络的滚动轴承故障诊断[J].振动与冲击,2022,41(21):228-237.GU Yingkui,WU Kuan,LI Cheng.Rolling bearing fault diagnosis based on gramian angle field andmigration depth residual neural network[J].Vibration and shock,2022,41(21):228-237.
[12] 骆家杭,张旭,汪靖翔.基于格拉姆角场和多尺度CNN的轴承故障诊断[J].轴承,2022(6):73-78.LUO Jiahang,ZHANG Xu,WANG Jingxiang.Bearing fault diagnosis based on gram angle field and multi-scale CNN[J].Bearing,2022(6):73-78.
[13] KENNEDY J,EBERHART R.Particle swarm optimization[R].ICNN95-international Conference on Neural Networks.IEEE,1995.
[14] Case school of engineering.Bearing data center[EB/OL].[2023-03-13].https://engineering.case.edu/bearingdatacenter/download-data-file.