基于深度学习网络的滚动轴承智能故障诊断

摘 要
由于磨损、疲劳和腐蚀等多种因素不断加剧,传统的人工经验型 bearing 故障诊断方法已无法充分满足现代工业领域对于 high-reliability 和 high-precision 的新要求.相比之下,基于 deep learning 的智能 bearing 故障诊断方法具有显著的优势:不仅能够有效提升检测效率,在性能上也更为卓越.鉴于此,在本文中我们采用多种 neural network 模型来分析滚动 bearing 状态;同时通过引入深度学习算法进一步优化了系统的性能.
针对问题一的研究内容, 本文对原始数据进行了去噪声等处理步骤, 并结合频域分析技术以及特征提取技术, 得到了高维度特征指标, 同时生成了数据分布图, 这种图表能够充分反映原始数据的关键特性及其分布规律, 并为后续分类任务提供了有效的输入依据
针对问题二,在本文中我们采用了基于注意力机制的TabNet架构,并结合特定特征工程方法构建了一个自组织特征映射网络模型。该模型通过自适应学习提取轴承振动信号的关键特征,并基于提取出的信息完成分类任务。实验结果表明该方法具有较好的性能,并且能够有效处理非线性关系数据。进一步研究表明,在不同的阈值设置下该模型表现出不同的分类效果;尽管如此但其总体准确率仍维持在95%以上水平
针对问题三,在本文中考虑到CNN****网络进行分类具有较好的平移不变性、普适性和泛化能力;鉴于问题三的数据中存在稀缺样本的问题,本文采用了迁移学习的方法,在Matlab中基于已经经过了预训练阶段的SqueezeNet构建了CNN,并利用CNN对问题三的数据进行了系统性的训练;最终实验结果显示模型表现出较高的准确度和召回率,在测试集上的准确率达到98.9%,召回率达到95%以上。
关键词: 深度学习 CNN网络 TabNet SOM 信号处理
一、问题重述
在机械设备系统中占据着关键地位的便是轴承这一部件,在正常情况下它的运转状态直接关联着整台设备的核心性能指标。如若发现或处理延迟未及时,则可能引发设备运行失准及噪音加剧的情况;这种状况若持续时间过长不仅会导致设备使用寿命受到影响还会带来严重的经济损失;与此同时如果不及时识别并修复轴承存在的潜在故障问题将会对生产作业的安全性造成严重威胁甚至危及工作人员的生命安全
另一方面,在复杂的工作环境中运行着各种极端条件下的运转状态。轴类零件承受着高速旋转、高温以及高压等多种极端工作条件的影响,在长期运行中表现出易损性和较高的故障率。为了实现对轴承运行状态的有效监督与故障定位目标的需求,在实际应用中通常会对轴类零件进行连续观测与动态分析。然而,在有限的数据样本情况下构建高精度的分类系统仍面临较大的技术挑战
由此可见,在研究轴承故障诊断的同时建立精确分类模型对于设备稳定运行、企业经济效益及生产安全具有重要意义。另外,在迁移学习作为一种有效机器学习方法的情况下(或说:当),它能够利用现有知识库进行精密诊断,并有望在未来推动轴承故障诊断技术的发展
问题一要求参赛者对庞大数量的滚动轴承数据进行预处理工作。首先需要剔除噪声与异常数据;其次运用特征提取技术以及归一化处理手段完成预处理任务;从而为后续模型构建提供可靠基础。
问题二要求参赛者需完成基于数据预处理阶段的任务,在这一基础上采用分类算法选择与特征工程等技术手段,并通过评估标准确保预测精度达到95%以上的目标来实现对轴承故障类型识别的任务。
为了解答问题三的需求,在已有数学模型基础上,请参赛者采用数据集划分策略进行模型训练与参数优化,并通过交叉验证等方法对模型性能进行评估。进一步通过优化算法提高分类精度,在不考虑复合故障的情况下,请确保该滚动轴承加速寿命试验数据集的分类准确率达到90%以上。
二、问题分析
2.1问题一的分析
圆柱型滚动轴承是旋转机械设备中的关键部件。当圆柱型滚动轴承运行正常时,则设备能够稳定运行。因此,在收集与分析滚动轴承数据方面投入必要的预处理工作至关重要。
通常情况下,在运转过程中,轴承会受到力学、热学等多方面的因素影响。这些因素会导致不同的故障类型。然而这些异常现象(如振动、噪音以及温度上升)将引发轴承故障问题。
针对轴承数据进行预处理的目的在于:
- 去噪处理:在分析轴承数据时会遇到多种干扰因素与噪声源。例如机器运行时产生的振动与电力系统中的谐波叠加在一起会对原始信号造成混肴影响从而影响后续的分析结果与诊断效果为此需要进行去噪处理而小波变换是一种有效的降噪技术能够有效去除信号中的噪音干扰。
- 特征提取环节:在预处理阶段通过对原始信号进行时域与频域的特征提取能够获取反映轴承运转状态的关键参数信息这些参数信息包括转速波动幅度以及频率成分等能够为后续的故障诊断提供可靠的依据并且为建模训练提供高质量的特征向量从而实现对轴承工作状态的有效分类与故障定位。
- 数据标准化处理:由于轴承运行状态会随着时间发生变化例如温度升高或运行速度变化都会导致传感器测量值出现偏差或者采样精度下降的问题进而使得不同时间点采集到的实际数值范围存在差异为此必须采用标准化方法将不同维度与不同范围的数据统一到同一基准尺度下以便于后续的数据建模与分析工作这包括使用Z-score标准化方法或者基于最大最小值的比例缩放方法来实现。
2.2问题二的分析
为了根据轴承的工作状态进行分类分析, 本文计划基于问题一中预处理的数据集采用TabNet算法及SOM自竞争网络构建分类模型.该算法在可解释性和稀疏性方面具有良好的性能, 同时具备表征学习能力以及端到端的训练机制.与传统的树模型不同之处在于其直接利用原始表格数据进行建模而无需额外的特征提取过程.
具体步骤如下:首先将输入数据通过嵌入层转换至低维空间,并采用逐级提取特征并进行特征选择的方法构建一个层次递进的TabNet架构来学习出轴承工作状态的分类模型。与此同时,在数据降维的过程中利用自竞争机制实现无监督学习的思想以达到聚类和可视化的目的。具体步骤包括:设定每个神经元的权重向量作为初始值,并通过迭代过程将样本投射到与其最近的神经元上。随后不断更新胜者神经元及其相邻区域内的神经元权重向量以优化聚类结果。最终确定一组聚类中心用于描述轴承的工作状态。

图1:SOM网络拓扑图
自组织映射(SOM)能有效地构建分类系统。
这些类别保留了哪些类别与其他类别最相似的拓扑结构信息。
从而支持任何所需细节级别的自组织映射构建。
它们特别适合用于在具有复杂形状连通特征空间中的多维度数据聚类分析。
这些技术是最佳选择用于轴承工作状态分类。
2.3问题三的分析
CNN相较于其他网络而言,在对轴承故障工作状态进行分类时具有多方面的优势;这种效果主要得益于其能够有效提取局部区域特征以及捕捉空间关系的能力。
在轴承运行状态监测过程中,通过振动信号捕获的时间-频率域多维度特征序列具有显著的高维特性。传统机器学习模型通常需依赖人工特征提取过程,在此场景下往往难以达到理想的效果表现。相比之下,卷积神经网络架构具备天然的多模态信息融合能力,在直接接收原始信号的同时能够实现精准的模式识别与故障诊断任务。
对于数据而言具有位移不变特性:在基于轴承故障工作状态分类的任务中进行建模时发现,在滚动-element bearing运行过程中产生的振动信号通常呈现周期性特征。然而,在故障发生前后检测到的振动信号相位变化可能较为显著。相比之下,在卷积神经网络(CNN)中使用卷积操作能够有效地提取局部特征信息并降低对输入信号相位敏感度的能力相对更强
具备强大的建模能力:CNN展现出卓越的建模能力特征,在识别复杂信号间的非线性关联方面表现出色,并通过反向传播算法进行高效优化运算以提升网络性能参数指标,在提高模型预测结果准确性方面取得了显著成效
综合分析表明,在该领域的应用中,卷积神经网络(CNN)具备显著的优势与潜力。其主要优势体现在以下几个方面:首先,在高维数据处理方面表现出色;其次,在图像或信号平移不变性方面具有突出表现;此外,在模型构建方面也展现出强大的能力。这些特点对于精准诊断机械部件的故障至关重要。特别是在面对多种复杂故障情况时展现出了较高的识别精度;因此,在本文的研究中将采用这一算法对测试数据进行分析处理

图2:CNN网络结构图
三、模型假设
- 假设设备可以准确采集轴承的振动信号。
- 假设在正常运行状态下产生的振动信号具有一定的稳定性和规律性,在不同类型的故障下会导致振动异常变化。
- 假设样本集具有代表性,则能体现不同类型轴承故障的典型特征。
- 假设算法能有效识别出与故障相关的特征,则具备诊断和分类轴承故障的能力。
- 基于不同类型轴承故障特征可开发相应的分类模型,则能可靠处理新未知数据。
四、定义与符号说明
| 象征 | 符号描述 |
|---|---|

|输入层信息的数量|
|

|输出层信息的数量|
|

|隐藏层Cell状态的数量|
|

|Cell状态信息个数(长时间记忆状态)|
|

|总时间计数(总网络层)|
|

|自回归系数|
|

|随机误差干扰项|
|

|遗忘门|
|

|输入门|
|

|输出门|
|

|神经元中的某一C记忆细胞(细胞)|
|

|从一个细胞,到另一个细胞,再到


|
|

|


第一个单位在时间点的激活值|
|

|


第一个单元的功率输入|
五、模型的建立与求解
5.1数据的处理
文件“Normal Baseline Data”存储的是正常数据,共有三个。
| Motor Load (HP) | Approx. Motor Speed (rpm) | Normal Baseline Data |
|---|---|---|
| 0 | 1797 | Normal_0(97.mat) |
| 1 | 1772 | Normal_1(98.mat) |
| 2 | 1750 | Normal_2(99.mat) |
| 3 | 1730 | Normal_3(100.mat) |
Data file '12k Drive End Bearing Fault Data' contains normal data, comprising three records, where * represents missing data.
| Fault Diameter | Motor Load (HP) | Approx. Motor Speed (rpm) | Inner Race | Ball | Outer Race
Position Relative to Load Zone (Load Zone Centered at 6:00) |
|---|---|---|---|---|---|
| | | | | | Centered
@6:00 | Centered
@3:00 | Centered
@12:00 |
| 0.007" | 0 | 1797 | 105.mat | 118.mat | 130.mat | 144.mat | 156.mat |
|---|---|---|---|---|---|---|---|
| 2 | 1750 | 107.mat | 120.mat | 132.mat | 146.mat | 159.mat | |
| 3 | 1730 | 108.mat | 121.mat | 133.mat | 147.mat | 160.mat | |
| 0.014" | 0 | 1797 | 169.mat | 185.mat | 197.mat | * | * |
| 1 | 1772 | 170.mat | 186.mat | 198.mat | * | * | |
| 2 | 1750 | 171.mat | 187.mat | 199.mat | * | * | |
| 3 | 1730 | 172.mat | 188.mat | 200.mat | * | * | |
| 0.021" | 0 | 1797 | 209.mat | 222.mat | 234.mat | 246.mat | 258.mat |
| 1 | 1772 | 210.mat | 223.mat | 235.mat | 247.mat | 259.mat | |
| 2 | 1750 | 211.mat | 224.mat | 236.mat | 248.mat | 260.mat | |
| 3 | 1730 | 212.mat | 225.mat | 237.mat | 249.mat | 261.mat | |
| 0.028" | 0 | 1797 | 3001.mat | 3005.mat | * | * | * |
| 1 | 1772 | 3002.mat | 3006.mat | * | * | * | |
| 2 | 1750 | 3003.mat | 3007.mat | * | * | * | |
| 3 | 1730 | 3004.mat | 3008.mat | * | * | * |
文件「48k Drive End Bearing Fault Data」所存储的信息均为正常状态的数据项,并共计有三项记录,在此过程中标记为「Data not available」的项目将被排除在外
| Fault Diameter | Motor Load (HP) | Approx. Motor Speed (rpm) | Inner Race | Ball | Outer Race
Position Relative to Load Zone (Load Zone Centered at 6:00) |
|---|---|---|---|---|---|
| | | | | | Centered
@6:00 | Orthogonal
@3:00 | Opposite
@12:00 |
| 0.007" | 0 | 1797 | 109.mat | 122.mat | 135.mat | 148.mat | 161.mat |
|---|---|---|---|---|---|---|---|
| 2 | 1750 | 111.mat | 124.mat | 137.mat | 150.mat | 163.mat | |
| 3 | 1730 | 112.mat | 125.mat | 138.mat | 151.mat | 164.mat | |
| 0.014" | 0 | 1797 | 174.mat | 189.mat | 201.mat | * | * |
| 1 | 1772 | 175.mat | 190.mat | 202.mat | * | * | |
| 2 | 1750 | 176.mat | 191.mat | 203.mat | * | * | |
| 3 | 1730 | 177.mat | 192.mat | 204.mat | * | * | |
| 0.021" | 0 | 1797 | 213.mat | 226.mat | 238.mat | 250.mat | 262.mat |
| 1 | 1772 | 214.mat | 227.mat | 239.mat | 251.mat | 263.mat | |
| 2 | 1750 | 215.mat | 228.mat | 240.mat | 252.mat | 264.mat | |
| 3 | 1730 | 217.mat | 229.mat | 241.mat | 253.mat | 265.mat |
文件‘12k Fan End Bearing Fault Data’包含正常数据共三项记录,在此过程中缺失了一项数据
| Fault Diameter | Motor Load (HP) | Approx. Motor Speed (rpm) | Inner Race | Ball | Outer Race
Position Relative to Load Zone (Load Zone Centered at 6:00) |
|---|---|---|---|---|---|
| | | | | | Centered
@6:00 | Orthogonal
@3:00 | Opposite
@12:00 |
| 0.007" | 0 | 1797 | 278.mat | 282.mat | 294.mat | 298.mat | 302.mat |
|---|---|---|---|---|---|---|---|
| 2 | 1750 | 280.mat | 284.mat | 296.mat | 300.mat | 306.mat | |
| 3 | 1730 | 281.mat | 285.mat | 297.mat | 301.mat | 307.mat | |
| 0.014" | 0 | 1797 | 274.mat | 286.mat | 313.mat | 310.mat | * |
| 1 | 1772 | 275.mat | 287.mat | * | 309.mat | * | |
| 2 | 1750 | 276.mat | 288.mat | * | 311.mat | * | |
| 3 | 1730 | 277.mat | 289.mat | * | 312.mat | * | |
| 0.021" | 0 | 1797 | 270.mat | 290.mat | 315.mat | * | * |
| 1 | 1772 | 271.mat | 291.mat | * | 316.mat | * | |
| 2 | 1750 | 272.mat | 292.mat | * | 317.mat | * | |
| 3 | 1730 | 273.mat | 293.mat | * | 318.mat | * |
对于DE - 驱动端加速度计数据与FE - 风扇端加速度计数据而言,通常建议采用以下所述的信号处理方法。
该系统可应用于辨识信号中的局部峰值点并进行分析研究。该方法通常用于分析旋转机械的故障特征频率,并可通过多种算法实现包括基于峰值检测的方法以及基于小波变换的方法等

频域分析法:该研究方法主要采用傅里叶变换等技术手段,将时域信号转换为频域信号进行深入研究与分析。通过这一过程可以有效识别信号中的主要频率及其幅值,并判断是否存在故障或异常情况。常用的方法包括Fast Fourier Transform(FFT)、Short-Time Fourier Transform(STFT)以及Wavelet变换等;其中Fast Fourier Transform(FFT)的应用最为广泛。其数学表达式为

其中,


代表原始信号,


其频域表现。
对于基准加速度计的数据与RPM测试期间的转速而言,在频域上可采用以下信号处理手段:
- 差分滤波 (Differentiation Filtering) :该方法可以用于求解一阶导数,并帮助本文识别高频噪声。其实现过程是将原始信号与其前后样本点进行差分,并取绝对值。其数学公 式为:

其中,


为原始信号,


为一阶导数,


代表采样时间间隔。
对不同类型的采集到的数据进行了预处理并呈现了相应的可视化结果(如图所示)。
其中包含了正常运行状态下的数据以及故障状态下的数据。
通过对比分析可知故障状态下的信号特征与正常运行状态下的信号特征存在显著差异。
为此项研究工作的后续分类工作奠定了可靠的基础。

图3:原始数据信号时域图

图4:正常轴承数据标尺图

图5:异常轴承数据标尺图

图6:外圈故障轴承数据对照图
5.2模型一的建立
- 基于TabNet的设备故障诊断模型
基于注意力机制的TabNet模型其建模流程主要分为四步第一阶段是基于稀疏实例级别的特征选择第二阶段是基于所选特征构建一个多步序列结构第三阶段是通过对所选特征进行非线性处理来提升学习能力第四阶段是借助高维特性和多步骤机制模仿集成处理这些特点使得该方法在现有监督学习中具有显著优势本文将这一复杂流程简化为两步以提高效率
步骤1特征转化:
从示意图可见,在Feature transformer模块中包含两个关键组成部分:第一部分为共享组件(在所有决策步骤中均采用相同的模型参数),其主要功能是从数据中提取一致性特性;这种架构使得模型参数更新更为高效,并且具有更强的稳定性;第二部分为独立学习组件(在每个决策步骤内均采用独特的模型权重),其主要任务是从特定决策步骤中捕获特定的信息特征;通过分步机制实现差异化的信息处理能力,并且能够实现更为精准的信息提取;整个模块均采用了统一的小部件构建方案:全连接层(FC)配合批归一化(BN)以及 gated linear unit (GLU) 的组合方式;其中全连接层(FC)负责信息融合功能;批归一化(BN)则用于加速训练过程并提高模型性能;而 gated linear unit (GLU) 则提供了一种高效的非线性变换机制;

。每个单元之间乘以

进行残差连接,是为了确保网络的稳定性。
步骤2注意力转化: 论文中作者给出的公式如下:

其中 i 代表当前的 STEP ,

是上一 STEP 决策中通过 split 操作得到的,也就是信息特征

,

代表全连接层和BN层,而

,

为稀疏正则项权重。更具 Sparsemax 的性质可得

因此,在第i步决策阶段,
M[i] 可以被理解为模型针对每个样本,
在其D维特征空间内所进行的关注度分配机制。
值得注意的是,
由于不同样本具有不同的特性,
基于注意力机制的Transformer模块
会输出与具体样本相关的D维特征关注权重向量。
进一步地,
为了确保所选择的关键特征具有足够的稀疏性,
研究者在论文中提出了一种基于熵函数的形式化手段,
其数学表达式如公式(1)所示:
\text{KL}(q||p) = \sum_{i=1}^{n} q_i \log\left(\frac{q_i}{p_i}\right)

步骤3特征可解释性计算:
对于维度为

的输入样本,当样本 b 在第

个STEP决策时,经过特征转换得到维度

,然后分割得到

与

其中

记为

,

,然后将

经过ReLU后求和得到,定义如下公式来表示样本 b 在第

个STEP决策内的贡献:

其中

为

中的一个维度,从公式可以看出,当

时对最终的输出无贡献。样本 b 在第

个STEP决策内的贡献值

与样本 b 在第

个STEP决策内的特征重要性矩阵

相乘,然后将样本 b 在各个STEP决策的结果求和。直观上,当

越大,对模型输出的影响更明显,因此

可以作为在第

个STEP决策内对特征重要性矩阵

的加权,论文中利用如下公式来定义样本 b 的各个特征

的重要性值:

然后将

按行进行归一化,即除了样本b在所有特征的重要性之和,公式为:

步骤4自监督学习: 一种典型的无监督方法,在本研究中我们假设同一样本的不同特征之间存在关联性。因此自监督学习的过程就是先人为地遮盖一些特征,并通过Encoder-Decoder模型来预测这些被遮盖的特征。具体而言,在Encoder部分我们未经过全连接层(FC)处理的加和向量即为Encoded Representation,并将其作为Decoder输入使用;此外,在这一过程中Feature transformer层也被利用起来以将Representation向量重构为原始特征;通过一系列决策步骤进行加和运算后即可得到最终重构后的Feature表示。为了实现对某些特征进行遮盖的目的,在此过程中所使用的覆盖矩阵保持不变

,特征数据为

,那么Encoder的输入是

,Decoder的输出记作

。因此采用正则化后的MSE作为loss函数,其公式如下:

下图是TabNet的网络结构示意图:

图7:TabNet模型示意图
5.3模型一的求解

图8 :AUC
选择验证集上Area Under the Curve(AUC)最大的训练结果作为模型最终参数的依据,在预先预留的独立测试集上执行评估任务;当阈值设为0.5时的评估结果显示于图中。

图9:默认阈值混淆矩阵
从图表中可以看出,该模型表现出较高的召回率(达97.91\%),然而在对正常运行状态的轴承数据进行分类时,其召回率仅为79.89\%,与预期存在较大差距。
设定一个可调参数用于设定分类器的决策边界,在区间[0.1, 0.9]上逐步增减该参数,并根据结果判断是否超过或低于预设门限来决定输出类别。当结果等于该门限时采用随机策略确定最终标记。通过这种方法可获得不同门限条件下的分类效果评估指标如图所示

图10:混淆矩阵对比图
从图表中可以看出,在设置阈值为0.8的情况下(将),F1分数达到了最高点(并因此)我们确定了这一数值作为最佳选择()。通过计算得到,在测试集中获得的结果对应的混淆矩阵如上所示。

图11:阈值0.8混淆矩阵
5.4模型二的建立
基于SOM的设备故障诊断模型
自组织过程主要包含以下四个方面的内容:(1) 初始化阶段,各连接权值均被设定为较小的随机数值。(2) 竞争机制中,针对每一种输入样本,网络中的各个神经单元分别计算对应的判别函数值作为相互竞争的基础。(3) 合作环节中,胜出的主单元确定了周围兴奋型神经单元在其拓扑结构中的邻近区域位置信息作为相互协作的基础。(4) 在适应阶段中,(4) 适应性方面,当某些特定刺激作用于主单元时,它可以通过适当调整相关联连接权值来降低其对应于该输入样本的判别函数数值大小;这种自我调节能力有助于提升主单元在后续呈现类似类型刺激样本时的记忆识别效率。
步骤1创建网络**:**
通过随机数值设定输入层与映射层之间的权重初始值,并将这些权重赋以极小的数值以确保系统的稳定性。当输入空间为一维(即仅有一个输入单元)时,则可以通过特定的方式将所有可能的输入模式表示出来。这些连接权值之和则代表了神经网络中所有神经元的数量。


步骤2学习权重**:**
然后,在本文中可以将其判别函数定义为输入向量与每个神经元的权向量之间的Euclidean distance的平方项



换一种说法是说,在权向量中与输入向量最为接近的那个神经元(即与之最为相似的位置)被指定为胜出者单位。通过这种方式构建起来的简单竞争机制,则使得连续型输入空间得以被映射至离散型输出空间之中。在神经生物学领域中我发现了一组具有横向相互作用关系的兴奋性神经元群体。当其中某个特定单元被激活时其邻近节点通常表现出更高的兴奋程度,并且这种程度会随着距离增加而减弱


该研究旨在为SOM网络中的神经单元建立一个与其结构相仿的拓扑邻域模型。在考虑情况下(即当分析对象为同一维度或相关联的单元群时),我们需关注这些单元两两之间的横向间距问题。



下面是获胜神经元的指数。该函数具有若干关键特性:在所有参与比较的激活函数中表现最为突出,在神经网络中的对称特性方面处于主导地位,在两点之间的距离趋近于无限远时会按指数规律稳步趋向零值,并且具有平移无关特性(与激活中心位置选择无关)。

SOM的一个特征是需要随着时间的推移而减小。


常见的时间依赖性是指数衰减:
研究表明,在本文的研究框架下SOM算法必然包含某种自适应或学习机制。该机制确保了输出单元自动组织并建立了输入与输出间的特征映射关系。值得注意的是,在地形邻域中存在这样一个现象:不仅获胜神经元会进行权值更新,并且其邻近神经元也会相应地进行权值更新。然而与获胜神经元相比而言这些相邻神经元的更新强度相对较低。在实际操作中选择合适的权重 update procedure至关重要



当假设本文采用的时间依赖学习率时,在多个迭代周期中更新各类训练模式是适用的。


每次学习权重更新的结果是转移获胜神经元及其邻近神经元的权重向量至输入向量。这个过程通过迭代实现了网络拓扑结构的有序性。
Step 3: Network Testing: Evaluate whether the network satisfies the predefined requirements. If the algorithm terminates, repeat step 2 for further learning.
5.5模型二的求解

图12:SOM输入权重图

图13:权重位置图
此图展示了输入空间中各特征的重要性,在经过特征工程优化后所提取出的新特征难以清晰解释其实际意义。在SOM模型中观察到权重值的位置分布情况发现该指标值主要集中在区间[-20, 0]内

图14:权重距离图
如图所示,在竞争层中包含36个神经单元,在这种情况下蓝色标记了各个单元的位置,并且红线表示各单元之间的直接连接关系。此外,在每个菱形内部的颜色分布反映了各组间连接强度的变化情况,在此过程中由浅到深地呈现了不同层次的关联性特征

图15:权重命中图
该图表展示了各个神经元的分类结果。从本文可以看出,在大多数情况下被分类为几个神经元时的具体数值为1386、1137、905。我们实现了对轴承运行状态的有效划分,并采用了相似的方法对设备运行状况进行了分析,并且具有较高的准确度。
5.6模型三的建立
- 基于2DCNN的设备故障诊断模型
Step1 数据预处理工作:完成数据预处理工作时,请将输入的数据转化为神经网络能够处理的形式。如对图像输入端的数据进行归一化处理,并对尺寸进行相应的尺寸调整等操作。
Step2****卷积层: 通过与卷积核进行卷积运算,从输入数据中提取特征信息,并生成输出特征图.这一过程的具体数学表达式见下文:

其中


表示输入数据,


表示卷积核,


表示偏置项,


表示卷积核的大小。
Step3****激活函数: 该步骤涉及激活功能的选择与配置过程。其主要作用在于实现神经网络模型的非线性特性表现能力。通常情况下, 常用作选择标准的有Sigmoid型和ReLU型等多种类型可供参考应用. 其中, ReLU型激活功能可具体定义为:

Step4 池化层:** 池化层通常采用极大池化或平均池化等方法, 将输入空间划分为多个局部区域, 并从每个局部区域提取其最大值或平均值作为特征表示. 例如, 在实际应用中常用的最大池化操作通常表示为:
其中


表示池化的步长。
Step5****全连接层: 该层负责将上一层的输出进行整合并用于分类任务。在这一过程中,则需将输入数据展平成一个向量,并将其作为全连接层进行计算。其输出即为分类器对结果的可能性评估值。例如, 输出层可以表示为:

其中


表示权重矩阵,


表示偏置向量,


表示激活函数。
Step6: 损失函数与优化器:损失函数用于评估模型的训练效果。常用的损失函数涉及交叉熵、均方误差等。优化器则采用梯度下降法及其变种算法来更新模型参数,使得能够更好地适应任务。例如,在实际应用中通常会使用随机梯度下降法来更新参数:\theta_{t+1} = \theta_t - \eta \nabla_\theta L(\theta_t)其中\eta表示学习率

其中


表示模型参数,


表示学匀率。
5.7模型三的求解

图16:CNN训练图

图17:CNN训练图(加入残差模块)

从上图可以看出, 通过观察图表可以看出, CNN在分类性能方面表现出色, 对不同运行状态进行分类分析, 其准确率与召回率均在95%及以上, 从而得出结论: 基于CNN的方法能够有效地实现轴承不同运行状态的分类划分.
六、模型评价与推广
在轴承故障工作状态分类领域,
CNN网络能够作为一个高效的分拣器,
对各类故障类型实现精准辨别。
相较于传统依赖征询法构建的方法,
CNN网络能自动学习自始至终数据征询并完成判别,
从而降低了因人工选择征询而产生的主观偏差及信息流失的风险。
采用CNN网络进行分类的好处主要体现在其具备良好的通用性和概括能力上。这种技术不仅能够应用于不同类型的轴承故障诊断问题,并且在信号处理与分类领域也有广泛的应用潜力。此外,在需要快速处理与分析的场合下(如工业监控系统中),该技术表现出较高的效率与实用性。
SOM网络能够通过将高维数据投影至低维空间,在完成数据特征提取后使其适应SOM网络的学习需求来实现降维与聚类功能。相较于传统的聚类方法,SOM网络更能体现数据分布特性的同时也能较好地保持原始数据的局部特性特性在机械故障分类问题中,SOM网络能够通过聚类分析得到不同故障类型划分结果并能有效识别新样本所属类别需要注意的是,SOM网络的应用依赖于训练样本的质量与数量因此必须确保所选取的数据集能够充分反映各类故障特征
TabNet是一种依赖于自注意力机制的深度学习模型,在复杂非线性数据关系处理方面表现出色。它特别适用于用于轴承运转状态分类问题中,在特征提取和分类任务上展现出显著优势。相较于传统深度学习方法如卷积神经网络等,在提升分类精度方面具有明显优势。然而需要注意的是,在实际应用中可能面临较高的训练时间和复杂的网络架构需求。为了满足不同应用场景的需求,在设计时应综合考虑具体数据规模和分类精度要求来选择相应的方案。
6.1模型优势
本文采用了学术界及产业界的先进技术方案,在结合树模型思想的基础上构建了神经网络架构TabNet与2DNCC模型,并采用高分辨率的方法对轴承的工作状态进行分类识别。面对样本分布不均衡的问题,在数据量有限的情况下,通过增强稀有类别注意力机制的学习能力,在一定程度上平衡了各类别预测结果。
为了确保选定的模型具有正确性,在完成模型应用后实施相应的测试方法以验证结果,并体现出数学建模思想应用过程中的严谨性
6.2模型弊端
该文关于轴承运转的知识储备较为有限,并主要依赖于相关分类方法以及预测结果,在专业指导与建议方面也未获得充分的指导
2. 本文所提出的聚类算法缺乏可解释性,在计算复杂度上亦存在较高水平的问题,在深度学习领域中属于这一类型问题的一个典型特征。在此基础上,本研究计划深入探讨TabNet模型中激活函数选择的相关机制,并提出一种更具可解释性的聚类方法。
6.3模型改进
基于CNN的不同卷积核尺寸与步距设置差异可能导致必须人工设计卷积神经网络的架构问题出现"过参数化"现象的发生风险然而相比之下在Transformer中利用注意力机制能够有效地捕捉全局关联性特别适合处理序列数据但对图像分类等需求较高、空间信息处理能力更强的任务则不如CNN综合考虑两者的优点将两者有机结合从而使得模型在同时兼顾局部与全局特征提取的同时实现更为精确的任务分类效果,并如Vision Transformer(ViT)等模型所示
七、参考文献
[1]阮慧,黄细霞,李登峰,王乐.滚动轴承细粒度故障诊断研究[J/OL].计算机工程与应用:1-13[2023-04-01].http://kns.cnki.net/kcms/detail/11.2127.TP.20230321.1141.010.html
[2]宁少慧,任永磊,武煜坤,王延松,杜康宁.以图神经网络模型为基础的滚动轴承智能故障诊断系统[J].组合机床及自动化加工技术,2023(03):113-117.DOI:10.13462/j.cnki.mmtamt.2023.03.028
[3] 杨彩红, 张清华, 郭文正, 陈长捷. 基于全映射复合多尺度散布熵的滚动轴承故障诊断[J/OL].
[4]汤伟,王杰.基于卷积神经网络的纸机轴承故障诊断方法研究[J].中国造纸学报,2023,38(01):74-81.
[5]王新颖等六位学者.通过采用VMD计算得到的排列熵特征与FASSA-SVM算法结合的方法**对滚动轴承运行状态进行分析研究.该研究发表于《工业安全与环保》期刊上.具体时间为2023年第三期(第49卷),文章页码为63至68页.
金岩磊、何茂慧、郭涛与邓凯等的研究团队发表于《热能动力工程》期刊上的一篇文章中提出了一种优化VMD与深度学习相结合的方法用于滚动轴承故障诊断
**[7]**陈秋菊,彭天昊,张成龙,何国锋.以小波包分解技术和深度学习算法为基础的轴承故障检测研究[J].信息与电脑(理论版),2023,35(01):182-186.
[8]余震,何留杰,王峰.以LE与DBN算法为基础的滚动轴承故障信号特征提取与诊断[J].制造技术与机床,2023(01):16-20.DOI:10.19287/j.mtmt.1005-2402.2023.01.002.]
八、附录
使用tensorflow库中的keras模块。
从tensorflow.keras导入层和模型。
class CNN_ResNet_model:
def init(self, label_num , num_b , data_shape=(1000, 2)): # 默认输入张量为(1000,2)
res块数量
self.num_blocks = num_b
过滤器数量
self.filters = 64
步长
self.conv_size = 3
分类类别数
self.label_num = label_num
数据输入的shape
self.data_shape = data_shape
self.loss = 'sparse_categorical_crossentropy'
self.metrics = ['acc']
def ResNetBlock(self, input_data): # 将函数名改为ResNetBlock_unit等变体
# 卷积层
x = layers.Conv1D(self.filters, self.conv_size,
activation=activations.relu,
padding=PaddingType.same)(input_data)
x = layers.BatchNormalization()(x)
x = layers.Conv1D(self.filters, self.conv_size,
activation=None,
padding=PaddingType.same)(x)
# 第二卷积层无激活函数
x = layers.BatchNormalization()(x)
# 对输入数据进行残差连接处理
x = layers.Add()([input_data, x])
# 对残差连接后的输出应用ReLU激活
x = layers.Activation(activations.relu)(x)
return x # 修改为"输出数据"
def model_create(self, learning_rate):
inputs = keras.Input(shape=(self.data_shape[0], self.data_shape[1]))
x = layers.Conv1D(32, 3, activation='relu')(inputs)
x = layers.Conv1D(64, 3, activation='relu')(x)
x = layers.MaxPooling1D(16)(x)
定义res层
for i in range(self.num_blocks):
x = self.res_net_block(x)
添加一个CNN层
x = layers.Conv1D(64, 3, activation='relu')(x)
全局平均池化GAP层
x = layers.GlobalAveragePooling1D()(x)
几个密集分类层
x = layers.Dense(256, activation='relu')(x)
退出层
x = layers.Dropout(0.5)(x)
outputs = layers.Dense(self.label_num, activation='softmax')(x)
model = keras.Model(inputs, outputs)
model.compile(optimizer=keras.optimizers.Adam(learning_rate),
loss=self.loss,
metrics=self.metrics)
print(model.summary())
return model_
