BP神经网络在滚动轴承故障诊断中的应用研究

2024-04-28 06:37王尉旭洪朝银
无线互联科技 2024年5期
关键词:故障诊断准确率轴承

王尉旭,周 豪,洪朝银

(重庆交通大学,重庆 400074)

0 引言

随着科技的飞速发展,人工智能技术逐渐渗透到各个领域,为人类社会带来了前所未有的变革。作为人工智能领域的重要分支,神经网络的研究和应用备受关注。当前数据处理领域存在诸多复杂的非线性问题,在工业领域中,滚动轴承的故障诊断就是一个典型的例子。这些非线性问题往往很难通过传统的数据处理方法去解决,因为传统的数据处理方法无法很好地捕捉数据之间复杂的非线性关系,而神经网络技术就在其中发挥了重要的作用。例如BP神经网络,以其强大的映射能力和自学习能力,为解决许多复杂的非线性问题提供了有效途径。本文旨在探讨BP神经网络的技术原理和应用,通过深入剖析其基本原理和算法,揭示其内在的规律和特点,并介绍了BP神经网络的应用。以滚动轴承故障诊断为例,本文对BP神经网络在工业领域的应用效果和优势进行了研究,为相关领域的研究和实践提供支持。

1 BP神经网络原理

BP神经网络的基于反向传播算法,是一种自动调整神经网络权重的方法,通过每个神经元的输出误差调整神经网络中的权重,以达到最佳的输出结果。与其他前馈神经网络不同,BP神经网络能够自动提取输入和输出数据之间的“合理规则”,并自适应地将学习内容记忆于网络的权值中[1]。此外,由于采用了反向传播算法,BP神经网络还具有很强的非线性映射能力、自学习和自适应能力、泛化能力以及容错能力[2]。

2 神经网络在轴承故障诊断中的应用

2.1 凯斯西储振动数据预处理

本文选取凯斯西储大学的轴承振动数据作为数据集进行BP神经网络训练,以用于预测不同轴承的故障类型。本文首先将每种类别的振动数据进行归一化处理得到时域幅度图像,使用Blackman窗口对数据进行处理以减少频谱泄露,根据数据总长度以及12000个/s的采样率,将每种类别数据拆分为2048个/份,以保证充分包含数据特征且保留足够样本数。然后再经过离散傅里叶变换得到对应的幅频图,最后将幅频图进行特征提取。由于轴承故障会出现高幅度的特征频率,所以本文将拆分后的每份数据提取幅度峰值最大的20个数据的对应频率作为一份样本,排序后再进行归一化处理,以契合后续多分类BP神经网络的输入。

2.2 离散傅里叶变换处理

离散傅立叶变换是傅立叶变换的一种离散形式,更适合处理离散的、有限长度的信号,适合处理现有的离散时间时域幅度图像。对于一个有限长度的离散信号x[n],其离散傅立叶变换可以用以下公式表示:

这个公式表示离散傅立叶变换将每个样本x[n]乘以e^{-i2πkn/N},然后将所有的乘积进行求和。变换的结果是一个频域表示,其中X[k]为第k个频率分量的振幅;x[n]为输入信号;N为信号长度;k为频率索引;e为自然对数的底数;i为虚数单位。

2.3 BP神经网络的构建

2.3.1 决定输入层和输出层节点个数

本文将振动数据进行预处理并特征提取后,每份样本具有20个数据,故在输入层选取20个节点。根据轴承故障诊断的故障类型分类,本文将问题归于多分类问题,因此,输出层设置为故障类型个数,即32个输出节点同转速的正常样本(本文选取了4不同转速的正常样本数据、4个不同转速的驱动端内圈和外圈06:00方向的断层直径为0.007″和0.021″的16种样本数据以及4个不同转速的驱动端滚动体断层直径为0.007″、0.014″、0.021″的12种数据样本,共计32种类型)。

2.3.2 选取传递函数

由于轴承故障诊断属于多分类问题,本文首先选取Tansig作为隐藏层的传递函数。在BP神经网络中Tansig函数是一种常用的激活函数,非线性映射能力强、计算效率高,可以避免输出值过大或过小,从而避免梯度消失或爆炸。然后选取Purelin函数作为输出层的传递函数。Purelin函数常用于输出层的传递函数,易于计算,可用于分类问题。用于分类问题时,需要将输出值映射到离散的类别中,能将输入值直接映射到输出值,适用于本次多分类问题。

2.3.3 决定隐藏层及各层节点个数

隐藏层节点数应该小于训练样本数减一,即n-1,否则网络模型的系统误差与训练样本的特性无关而趋于0,即建立的网络模型没有泛化能力,也没有任何使用价值[3]。而训练样本数必须多于网络模型的连接权数,一般为2~10倍,否则样本必须分成几部分且必须采用“轮流训练”的方法才能得到可靠的神经网络[3]。故本文样本总量为2717,输入层节点数为20,输出层节点数为32,得到节点数范围应在6~25,因此本研究选取中间数15作为隐藏层节点个数。

2.3.4 分析和设置BP神经网络的各个基本数据

首先,选择TrainLM作为训练函数。神经网络中,TrainLM训练函数是一种使用Levenberg-Marquardt算法的优化方法,主要用于解决非线性最小二乘问题,如神经网络的训练。其次,设置最大学习次数为1000次。由于样本总量较大,可以设置较大的最大学习次数,以便模型能够充分学习。如果模型收敛速度较慢,则需要设置较大的最大学习次数,避免模型收敛过慢,无法达到最优。再次,选择均方误差(Mean-Square Error, MSE)作为性能指标,因为MSE易于计算和理解,值越小,模型的性能越好。而且MSE适用于各种不同类型的模型和数据集,回归和分类问题都能将其作为评估性能的有效指标。最后,设置目标误差0.00001。

3 BP神经网络的训练及验证

3.1 BP神经网络训练

本文对样本集随机打乱后划分为训练集、验证集和测试集,用于评估验证该多分类BP神经网络。运用MATLAB神经网络工具箱进行代码实现,本文使用训练集样本对神经网络进行训练,训练结果如图1所示。

图1 训练结果

图1展示了模型预测输出和目标输出之间的误差分布情况,将训练数据集的每个样本的误差进行统计,并进行分组,可以直观地看出模型在不同误差范围内的表现以及是否存在异常点。

训练过程变化如图2所示。图2(a)曲线表示梯度下降函数,横坐标代表迭代次数,纵坐标代表梯度,显示了每一次训练梯度随迭代次数的变化;图2(b)是阻尼因子改变的曲线,横坐标代表迭代次数,纵坐标代表阻尼分子,阻尼因子mu的值通常为0~1,随迭代次数变换而变换,用于控制学习率衰减;图2(c)曲线表示在设置验证步数为6后,误差是否不下降,横坐标代表迭代次数,纵坐标代表检验次数,表示系统判断误差在连续6次检验后不下降,说明误差不再减小,效果达到最好。

图2 训练过程变化

3.2 用测试集对模型验证评估

(1)准确率验证。

对于分类问题,准确率能直观地体现神经网络的性能,表明模型的泛化能力,能够在新数据上进行有效推断。

(2)准确率计算过程。

本文将测试集预测输出矩阵进行二值化处理,即每列(一份样本输出)中最大概率化为1,其余概率化为0,与测试集的预期输出矩阵进行比较,得到该测试集经过本神经网络预测的准确率。

本模型经过多次重新训练,得到准确率范围在0.965~0.980,准确率良好,说明模型对于轴承故障类型诊断问题的解决能力强。

4 结语

本文通过对凯斯西储大学的正常及各故障类型的振动数据进行归一化处理得到时域幅度图像。再进行加窗离散傅里叶变换得到幅频谱,根据不同轴承故障类型具有独有的高幅度高频特征频率,对幅频谱进行峰值提取,以最高20个幅值对应的频率归一化处理后作为BP神经网络训练样本。然后选择神经网络的训练函数并调整各参数,经验证后,得到准确率较高的BP神经网络模型。本文方法高效准确,是一种比较良好的轴承故障诊断的方法。

总之,BP神经网络的研究和应用已经取得了显著成果,未来随着技术的不断发展,其应用前景将更加广阔。相信在未来的研究中,BP神经网络将继续发挥重要作用,为人工智能领域的发展作出更大的贡献。

猜你喜欢
故障诊断准确率轴承
轴承知识
轴承知识
轴承知识
轴承知识
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
高速公路车牌识别标识站准确率验证法
因果图定性分析法及其在故障诊断中的应用
基于LCD和排列熵的滚动轴承故障诊断