吕 欢, 许 涛,2, 麻爱松, 李建平, 陈玉立
(1.西安工程大学 机电工程学院, 陕西 西安 710600;2.西安市现代智能纺织装备重点实验室, 陕西 西安 710049)
滚动轴承作为旋转机械的重要组成部分之一,对其进行故障诊断是众多学者研究的重点[1]。由于传统故障诊断技术需要大量的人力和物力,而且诊断精度不高,深度学习技术的出现改变了现状,其中算法包括卷积神经网络、自编码器、深度置信网络和长短期记忆网络[2]。吴晨芳等[3]55提出了一种基于改进的LeNet-5模型的卷积神经网络故障诊断方法,该方法有较好的鲁棒性和泛化能力。王太勇等[4]提出了基于DenseNet的卷积核dropout (KD)智能故障诊断模型KD-DenseNet,提高了有效特征的提取效率,解决了传统特征提取方法中无法有效挖掘特征、无法自适应于任务进行调整等问题。Che等[5]提出一种门循环单元和混合自编码器的智能故障预测模型,用凯斯西储大学数据集验证了该方法的有效性且具有较高的精度。Gao等[6]提出一种新的优化自适应深度置信网络,实验证明该方法在滚动轴承故障诊断上具有较高的诊断精度。曹正志等[7]提出了一种基于改进的一维卷积神经网络 (1D-CNN) 和长短期记忆网络 (LSTM) 集成的滚动轴承故障诊断方法,此方法在不同工况下有较好的适应性和高效性,其中模型有较强的泛化能力。
但深度学习需要大量的标签样本进行训练,而在实际工况中滚动轴承有标签的故障样本较少,大部分学者都是通过模拟故障实验来获得数据集的。迁移学习解决了故障样本不足的问题,不仅缩短了训练时间,而且提高了训练精度[8]。院老虎等[9]提出了一种基于 AlexNet 和迁移学习的滚动轴承故障诊断方法,在标记故障数据稀缺的情况下仍可实现对滚动轴承常见故障类型的诊断,且诊断精度与对比模型相比有所提升。赵宇凯等[10]提出一种基于 VGG16 卷积神经网络与迁移学习的故障诊断方法,能够取得接近100% 的轴承故障诊断准确率。Qian等[11]提出了基于改进的DenseNet和联合分布适应(FT-IDJ)的特征迁移学习模型,具有比DAN和其他8种方法更高的分类精度,证明了此模型具有从辅助数据中有效学习的特征。
但以上方法没有考虑到工厂实际采集的数据中存在的噪声。针对环境噪声以及负载变化的影响,滚动轴承故障样本分布存在差异性以及样本不足和跨域诊断泛化性差的问题,课题组提出一种基于改进DenseNet与迁移学习结合的变负载滚动轴承故障诊断方法。在原DenseNet中,使用LeakyReLU替代ReLU激活函数,并在全连接层后添加Softmax层使提取故障特征更为丰富。
DenseNet如图1所示,主要是由稠密连接块和过渡层组成的[12]。其中稠密连接块使用了密集连接的思想,即将每一层的特征输出通过叠加后作为下一层的输入,其公式如下:
ti=Hi[t0,t1,…,ti-1]。
(1)
式中:i表示此网络的第i层;Hi(·)表示每一层的非线性变化处理,包括归一化、非线性变化、卷积和池化操作;ti表示第i层的输出特征。
图 1 DenseNet结构图Figure 1 DenseNet structure diagram
而过渡层中包括归一化操作、非线性变化以及卷积池化层,可以压缩模型,起到降维的作用。
不同于ReLU函数将所有负值都设为0,LeakyReLU[13]激活函数是在负值部分的斜率赋予了一个非零的斜率,公式为:
(2)
式中:x为输入,a取默认值0.01。
课题组采用LeakyReLU替代ReLU函数,加强非线性变化能力。
故障诊断流程如图2所示。主要分为3个步骤:
1) 确定源域和目标域,将2域数据转化为灰度图像;
2) 对源域数据进行预训练,得到损失最小和准确率最高的预训练模型权重;
3) 将目标域数据按1∶4划分为训练集和测试集,使用步骤2)得到的预训练权重对目标域数据进行再训练得到权重文件,在测试集进行测试输出故障分类。
图 2 迁移学习流程图Figure 2 Flow chart of transfer learning
课题组提出的故障诊断方法是基于改进DenseNet模型进行诊断的,其主要参数如表1所示。首先对64×64图像样本进行卷积层和池化层处理,再通过4个稠密连接块和3个过渡层堆叠的结构来防止过拟合,同时提取特征;其中稠密连接块包括不同个数的1×1和3×3卷积,而过渡层中包含1×1卷积和2×2的平均池化,然后经过全局平均池化和全连接层拉伸为一维向量,最后使用Softmax层进行分类后输出。
表1 改进DenseNet模型参数
实验采用凯斯西储大学(CWRU)滚动轴承故障数据集。在CWRU滚动轴承实验台采集的振动信号中,有0.18,0.36和0.54 mm共3种不同尺寸的单点缺陷,分别在滚动轴承的内圈、 外圈和滚动体上; 这9种故障类型由电火花造成的,故障标签序号为0~8,无故障轴承标签序号为9,如表2所示。还分别记录了电机负载为746,1 492和2 238 W时各种故障类型的时域振动信号。在12 kHz采样频率下,由16通道采集仪采集到不少于10 s的时域振动原始信号。
表2 故障数据标签
在工厂实际情况下,传感器采集的振动信号会受到环境噪声的影响,为了模拟这一现状,对746,1 492和2 238 W的3种不同电机负载下的数据集进行加噪处理,信噪比(RSN)定义为信号功率与噪声功率的比值,通常用分贝(dB)为单位,定义如下:
(3)
式中,Psignal和Pnosie分别表示信号的功率和噪声的功率。
如图3所示,分别为原始数据和添加RSN=-2 dB的高斯白噪声。
图 3 不同负载下的噪声数据对比Figure 3 Comparison of noise data under different loads
假设样本x=(x1,x2,x3, …,xm, …),μ为原始样本数据的均值,σ为原始样本数据的标准差,则Z-Score归一化公式为:
(4)
将加噪信号经过Z-Score归一化处理,将数据量级统一到规定的范围内。在每个负载下,将振动原始信号中每取4 096个点分别以重叠间隔128,256和512个采样点的方式循环生成3 600个64×64的灰度图像,实验数据集如表3所示。
表3 实验数据集
实验在 PyTorch 的框架下开发,使用Intel(R)Core(TM)i9-10900X CPU(主频3.70 GHz),NVIDIA RTX2080ti显卡,主机上安装了CUDA10.2,Cudnn8.1.1对显卡运算进行加速。使用交叉熵函数和Adam优化器更新参数,学习率初始化为0.001,batchsize为16。如图4采用100%的源域数据集A进行预训练,随机选取20%目标域数据集B和C进行再训练,对剩下的目标域数据进行测试。从图中可以看出,经过预训练权重进行再训练后,模型很快达到了收敛。
图 4 迁移学习下的诊断曲线Figure 4 Diagnostic curve under transfer learning
如图5所示为数据集A在数据集B和C进行迁移诊断的混淆矩阵。从图5中可以看出,对角线的方块显示了诊断正确样本数量的准确率,其他方块显示了诊断错误样本数量的准确率。可以看出在数据集B上,除了标签序号4,其余标签诊断准确率都达到了90%以上;而在数据集C上,除了标签序号2和3,其余标签诊断准确率都达到了90%以上,证明了该方法的有效性。
图 5 数据集A在数据集B和C上进行迁移的混淆矩阵Figure 5 Confusion matrix for migration of dataset A on datasets B and C
为了证明课题组提出方法的泛化性,对任一负载下100%的源域数据集进行预训练,随机选取其他负载下的20%目标域数据集进行再训练,对剩下的目标域数据进行测试。通过对比模型LeNet-5[3]56、模型ResNet18以及原DenseNet模型来进行迁移学习实验,实验结果为每组实验5次的平均值,如图6所示。从图中可以看出,课题组提出方法在小样本和变负载下的跨域诊断准确率都达到了90%以上,相比其他模型精度都高,证明了课题组提出方法具有更高的泛化性。
图 6 变负载下迁移学习的模型准确率Figure 6 Model accuracy of transfer learning under load changes
课题组针对工厂中滚动轴承故障样本不足以及变负载轴承故障分布差异大而导致跨域诊断泛化性差的问题,提出了一种基于改进DenseNet和迁移学习的变负载滚动轴承故障诊断方法。课题组对原DenseNet模型进行了改进,使用LeakyReLU替换了ReLU激活函数增强非线性变化,添加了Softmax层进行分类。在工厂采集的振动信号往往存在环境干扰的噪声,因此通过在凯斯西储大学轴承数据集中746,1 492和2 238 W不同负载数据集上添加高斯白噪声来模拟现实场景采集的信号。通过实验表明:对比LeNet-5模型[3]57、ResNet18模型、原DenseNet模型,课题组所提方法在小样本的故障数据训练下,变负载跨域诊断准确率都达到了90%以上,证明了改进DenseNet模型具有较好的泛化性。该方法可以适用添加较低噪声的故障数据,考虑到现实场景的环境噪声更为复杂,下一步将针对于该方法的鲁棒性作研究重点。