郭永伦,吴国新,刘秀丽,徐小力
(北京信息科技大学 现代测控技术教育部重点实验室,北京 100192)
目前,轴承、行星齿轮被广泛应用于风电机组、航空设备等各种机电设备中,但由于其所处的环境恶劣,容易出现磨损、裂纹、断齿等故障。传统的故障诊断方法经常难以满足现代机电设备中轴承和行星齿轮故障识别的要求。因此,对其进行故障诊断方法的深入研究,对于提高机电设备运行可靠性具有重要的作用。
传统故障诊断方法一般包括两个步骤,首先对信号进行预处理和特征提取操作,其次将人工提取的特征输入到采用传统浅层机器学习算法的分类器中,以完成对故障种类的识别,诸如支持向量机(support vector machines,SVM)[1-3]、BP神经网络[4,5]等。上述的研究方法虽然诊断精度较高,但特征提取需要人工操作,因而其泛化性比较差;且上述方法又将故障特征提取和识别割裂为了两部分。
与传统算法相区别,深度学习依靠复合结构以及不同权重比例连接,能够识别并提取故障的本质特征,学习能力更是强大。作为常见的深度学习算法,卷积神经网络(CNN)[6,7]依靠其权值共享、稀疏链接等特点使其特征学习能力强,泛化能力高,因而越来越多的专家学者将其应用到了故障检测和识别领域。文献[8-10]将滚动轴承的振动信号转换为二维特征图谱,输入到CNN中进行故障分类识别,实现了良好的故障分类效果。
以上研究证明了CNN在解决故障诊断问题方面是有实际效果的,但当面临不同的问题时,仍需要重新进行反复实验来设计CNN网络,和设置相关的参数;并且由于振动信号不同,故障特征所处位置和所占比重不一样,再加上外加噪声等外界因素的影响,因此,单一尺度的卷积层很难被提取,并识别其有效特征。
与人工手动调试模型相比,基于BPSO-M1DCNN网络能自主选取最优参数,有着更好的鲁棒性和更高的故障识别准确率。文献[11]基于PSO算法对1DCNN的卷积核个数和学习率进行了优化,输入发射车滚动轴承故障数据进行了验证。文献[12]利用PSO算法对深度置信网络(deep belief network,DBN)每层神经元数目,学习率进行了优化,实验表明该方法能够减少模型调参时间,故障识别准确率得到了有效提升。
但是上述方法仅优化单一尺度的神经网络模型的少量参数,如学习率、神经元个数和大小,不能涵盖大部分参数和多尺度的神经网络,这会导致PSO算法的泛化程度不高,同时也会在一定程度限制PSO算法和深度学习模型的结合。
本文针对CNN不能对故障特征实现多尺度提取和需要手动调试结构参数的缺陷,提出基于BPSO-M1DCNN网络的优化方法,并将其应用到自行采集的行星齿轮箱振动数据集,以提高基于BPSO-M1DCNN方法的自适应性、故障特征多尺度识别能力以及分类正确率,进一步减少人工调试的时间和对人工经验的依赖。
CNN模仿生物的视知觉机制构建,其一般结构包括输入层、卷积层、池化层、全连接层、输出层。
卷积神经网络架构如图1所示。
图1 卷积神经网络架构
卷积层主要用于提取特征信息,其凭借稀疏链接和权值共享的优势,通过卷积核与输入数据进行卷积操作,其数学模型为:
(1)
池化层主要用于提取局部特征,使得收敛速度加快,数学公式见下式:
(2)
PSO的产生源自对鸟群觅食行为的观察和分析,现已经被应用到神经网络训练、路径优化等诸多领域。但是该算法只能在连续解空间中搜索,对于离散的搜索空间,如优化神经网络的结构以及超参数,则不能很好地适用。
因此,笔者提出将标准PSO算法的改进版本BPSO[13]应用于M1DCNN的优化过程。
具体优化过程如下:
(1)初始化粒子群的规模大小i,位置向量xi,速度向量vi,待优化参数的取值范围。其中,除了粒子群个数,其他参数均需要二进制编码;
(2)解码每个粒子的位置向量xi,计算其对应的适应度值,即测试集平均分类正确率;
(3)对比每个粒子的适应度值,自身最优适应度值和全局最佳适应度值;如果较好,则通过更新获得个体最佳位置pbesti,全局最佳位置gbesti;
(4)每一次迭代回合结束后,根据公式(3~5)调整粒子群的速度向量和位置向量;
(5)未达到结束条件,则继续步骤2,直到达到终止迭代条件,即最大迭代次数或最小适应度值。
其中的vi,s(vi),xi分别为:
vi=ωvi+c1*r1*(pbesti-xi)+c2*r2*(gbesti-xi)
(3)
(4)
(5)
式中:i—粒子群中粒子的个数;vi—第i个粒子的速度向量;xi—各个粒子二进制编码的位置向量,其中速度向量和位置向量里各个元素与该网络待优化的参数对应;w—惯性因子;c1,c2—学习因子;r1,r2—[0,1]范围内均匀分布的随机数;s(vi)—将速度向量中速度的分量映射到[0,1]区间的sigmoid函数;rand()—[0,1]范围内的随机数,当取值小于s(vi)时,粒子位置向量中相应的位置分量变成1,否则变成0。
输入的信号为一维振动数据,因故障样本有限,需要增加数据集。扩充数据集的方法是滑窗采样法,滑窗采样法的截取方式如图2所示。
图2 滑窗采样法
之后是将其分为训练集和测试集。采用该方法的目的既可以保留元素之间的相关性,不遗失特征,又可以增加样本数量,使模型提取有效的特征。
文献[14]提出采用PSO优化算法优化单一通道的CNN,虽然实验表明该优化方法取得了较好的优化效果,但是不同故障特征在振动信号中所占比重不一样,外加噪声等外界因素影响,单一尺度的卷积层很难被提取,并识别其有效特征。
受文献[15]的启发,笔者构建M1DCNN网络,该结构包含2个通道,每个通道含有4个网络层;1个通道是卷积层C1_1,平均池化层A1_2,卷积层C1_3,平均池化层A1_4;另1个是卷积层C2_1,最大池化层M2_2,卷积层C2_3,最大池化层M2_4,二者合并接两层全连接层F5,F6实现故障识别。
M1DCNN网络如图3所示。
图3 M1DCNN网络
由图3可知:第1通道的平均池化层作用是去除多余信息,减少参数个数;第2通道的最大池化层作用是减少输入信号尺寸,让特征更加明显,最后进行合并,使得网络特征学习的能力更加高效。
笔者选取粒子群数目N为6,迭代回合M为8;每个粒子为一个二进制编码的多维向量,包括2个通道各层卷积核的个数、尺寸、池化层的尺寸,及全连接层神经元的数量、学习率、迭代次数、批次大小。
BPSO参数设置如表1所示。
表1 BPSO参数设置
BPSO-M1DCNN网络的故障分类流程图如图4所示。
图4 BPSO-M1DCNN网络的故障分类流程图
其主要步骤如下:
(1)采集不同故障类型的振动信号数据,预处理数据并划分训练集和测试集;
(2)构建M1DCNN网络并初始化;
(3)采用BPSO算法优化选取的13个参数,构建最优的M1DCNN网络;
(4)采用测试集检验BPSO-M1DCNN网络的性能,输出测试结果。
基于行星齿轮箱开展故障诊断研究的相关试验平台包括:电机、扭矩仪、行星齿轮箱、磁粉制动器;其中,扭矩仪对行星齿轮箱的输入轴与输出轴施加径向载荷,磁粉制动器施加轴向载荷。
行星齿轮箱试验台如图5所示。
图5 行星齿轮箱试验台
行星齿轮箱的基本参数如表2所示。
表2 行星齿轮箱的基本参数
笔者通过在行星齿轮箱放置一个三向加速度传感器来采集设备的信号数据,依次替换事先加工好的缺陷零件模仿行星齿轮箱故障的不同种类(分别为滚动体缺失、齿面磨损的单一故障,以及行星轮断齿与齿面磨损,行星轮断齿与滚动体缺失的复合故障);采样频率为20.48 kHz,电机转速为1 980 r/min,每组采集327 675个振动数据点。
振动信号时域图如图6所示。
图6 振动信号时域图
此处采用重叠采样法增强原始振动数据集。为了不丢失数据特征,且能有效增加样本数量,笔者设置滑动分割窗尺寸为512个数据点,移动步长为256个数据点,共得到6 390个样本;其中,训练集为4 473个样本,测试集为1 917个样本。
行星齿轮箱振动数据参数如表3所示。
表3 行星齿轮箱振动数据参数
此处计算机的配置参数为64位Intel i7-9750H、2.60 GHz的主频、16 GB的内存。
I
M1DCNN网络优化参数如表4所示。
表4 M1DCNN网络优化参数
BPSO的迭代过程如图7所示。
图7 BPSO的迭代过程
为了进行对比说明,笔者分别将BPSO-BP神经网络、文献[16]中1DCNN网络、文献[17]中M1DCNN网络,分别应用于相同的振动数据进行分析诊断,相关参数如下:
(1)BPSO-BP神经网络:含有4个神经网络层,每层神经元个数分别为411、222、48、6,学习率为0.01,迭代次数为90;
(2)1DCNN网络:C1层有32个卷积核,最大池化层M2尺寸为5,C3层均含有64个卷积核,M4层尺寸为2,之后接分别含有128和64的全连接层F5,F6,学习率为0.009,迭代次数为75次;
(3)M1DCNN网络:第1个通路C1_1层含20个卷积核,M1_2尺寸为2,C1_3层,C1_5层含5个卷积核,M1_4尺寸为2,平均池化层A1_6尺寸为2;第2条通路的C2_1层有20个卷积核,M2_2层尺寸为2,C2_3,C2_5层含有3个卷积核,M2_4尺寸为2,A2_6尺寸为2;第3条通路的C3_1层同样含有20个卷积核,M3_2尺寸为2,C3_3和C3_5层含有1个卷积核,M3_4尺寸为2,A3_6层尺度为2,学习率为0.003,迭代次数为80。
笔者采集了上述4种算法最后5次迭代的训练数据和测试数据正确率的平均值。
行星齿轮箱数据集的诊断结果对比结果如表5所示。
表5 行星齿轮箱数据集诊断结果对比
由表5中可见:BPSO-M1DCNN网络的训练正确率和测试正确率远高于其他算法,并且没有过拟合或欠拟合现象,说明该网络能自适应调整网络参数,且构建最优结构、泛化性好、鲁棒性高;
BPSO-BP神经网络与另外两种未经优化的CNN相比,故障诊断准确率明显不如后者,说明深度学习算法借助其自身的深层次网络结构,能有效识别并提取故障的深层次特征,避免了对人工提取特征的依赖和其他因素的干扰,从而可以实现较高精度的故障识别。
M1DCNN、BPSO-M1DCNN的正确率和损失率的关系曲线如图8所示。
(a)M1DCNN的正确率和损失率
(b)BPSO-M1DCNN的正确率和损失率
由图8可得:BPSO-M1DCNN网络相较于单一M1DCNN网络迭代次数更少,故障诊断准确率更高,鲁棒性更好。
混淆矩阵能够可视化各类故障的诊断效果,其纵坐标表示故障的实际类别,横坐标表示预测故障的类别,每行表示预测正确该类故障以及错误预测的百分比。
测试集混淆矩阵如图9所示。
图9 测试集混淆矩阵
由图9可以得出:BPSO-M1DCNN网络的各类故障识别准确率达到了98%以上,说明其能准确识别各个故障类型。
综上所述,深度学习算法的故障分类效果比传统BP神经网络更好;BPSO-M1DCNN网络在准确率、拟合效果、鲁棒性上优于其他深度学习算法。
本文基于T-SNE方法进行特征可视化。T-SNE方法是近几年来比较流行的数据降维与可视化算法,其凭借可视化效果好、低维数据的分布与原始数据特征空间分布重合度高的特点,目前被广泛应用于各个场景。
实现行星齿轮箱故障特征学习的可视化流程如图10所示。
(a)原始数据图像
II(b)池化层A1_4(I)和M1_4(II)
(c)全连接层F5
由图10(a)可以看出:原始数据各个故障类型混合在一块,无法区分;
由图10(b)可以看出:将原始振动数据输入到BPSO-M1DCNN网络,经过双通道的卷积池化层的特征识别和学习,输出的一部分故障已经分离出来,具有显著的边界;其余混合重叠的故障正渐渐分开,形成各自的边界,二者合并后连接一个全连接层F5;
由图10(c)可以看出:全连接层F5输出的各个故障类型数据的特征边界非常明显,无不同的故障数据重叠或者混合现象;
可视化结果表明:基于BPSO-M1DCNN网络通过自适应调整网络结构和超参数,自动学习输入数据的原始特征,逐层挖掘其内在本质特征,大大提升了模型的适用性和鲁棒性。
本文针对CNN网络中单一尺度卷积核提取多尺度特征不全面,且需要手动调试结构和参数的问题,提出了基于BPSO-M1DCNN网络的优化方法,并将该方法应用到行星齿轮箱振动数据集,通过对比实验,混淆矩阵显示各类故障分类效果,以及T-SNE可视化算法验证了该方法的有效性。
研究结果表明:
(1)M1DCNN网络通过多尺度学习振动数据的故障特征,获得了更全面的故障特征信息,有效减小了诊断误差;
(2)BPSO-M1DCNN网络的自适应性和鲁棒性较高,能很好地减小网络设计和调试的难度,具有一定的实际工程意义;
(3)在行星齿轮箱数据集中,其故障识别正确率比上述3种算法分别提高了11.7%,7.56%,6.16%,这验证了该方法的准确性和稳定性。
但是本文BPSO算法基本参数的选取还是依靠人工经验确定,且诊断的故障类型集中在单一故障和两类复合故障上。所以,自动确定BPSO算法相关参数以及诊断轻微故障和多种复合故障类型的实验是今后的研究方向。