DL algorithms for rotating machinery intelligent diagnosis: An open source benchmark study


前言

在智能诊断领域,许多研究者已经应用了基于深度学习的技术,如多层感知机(MLP)、自动编码(AE)、卷积神经网络(CNN)、DBN和递归神经网络(RNN)来提高性能。然而,不同的研究者往往建议使用不同的输入(如时域输入、频域输入、时频域输入等),并设置不同的超参数(例如学习速率、批量大小、网络架构等)。不幸的是,少数作者将他们的代码用于比较,导致不公平的比较和无效的提升。为了解决这个问题,为评估和比较不同的基于DL的智能诊断算法提供基准研究和开源代码是至关重要的,从而帮助进一步的研究,提出更有说服力和适当的算法。
为了进行全面的性能比较,需要在一个库中收集不同的数据集,并在统一的平台上评估不同数据集的算法性能。此外,智能诊断中的一个常见问题是数据分割,研究人员经常使用随机分割策略。这种策略是危险的,因为如果准备过程中存在任何重叠,分类算法的评估将存在测试泄漏。至于工业数据,它们很少是随机的,并且总是连续的(它们可能包含时间域中的趋势),因此根据时间序列对数据进行拆分(我们简单地称之为顺序拆分)更合适。相反,如果我们随机拆分数据,诊断算法可能会记录未来的模式,这可能会导致另一个测试泄漏的陷阱。为了解决这些问题,在本文中,我们收集了9个公开可用的数据集,并讨论了它是否适合智能诊断。 之后,我们从不同的角度评估了基于深度学习的智能诊断算法,包括所有数据集的数据准备以及不同输入格式、规范化方法、数据分割方式、增强方法和基于深度学习的模型的整个评估框架。
在基准研究的基础上,重点介绍了一些评价结果,这些结果对比较或测试新模型非常重要。首先,并不是所有的数据集都适合比较所提出方法的分类效果,因为基本模型在这些数据集上可以达到非常高的准确率,如CWRU和XJTU-SY。其次,频域输入在所有数据集中准确率最高,因此研究人员应首先尝试使用频域作为输入。第三,CNN模型并不需要在所有情况下都得到最好的结果,我们还需要考虑过拟合问题。 第四,当数据集的精度不是很高时,数据增强方法提高了模型的性能,特别是对于时域输入。因此,需要研究更有效的数据增强方法。 最后,在某些情况下,它可能更适合根据时间序列拆分数据集(顺序拆分),因为随机拆分可以提供实际上很高的准确性。我们还发布了一个代码库来评估基于深度学习的智能诊断算法,并提供基准精度(下界)以避免无用的改进。同时,我们用具体设计的案例来讨论存在的问题,包括类不平衡、泛化能力、可解释性、少样本学习和模型选择。 通过这些工作,我们的目标是让比较更加公平和快速,强调开源代码的重要性,并提供对现有问题的深入讨论。
主要贡献
各种数据集和数据准备 我们收集了九个公开可用的数据集,并对其适应性进行了详细的讨论。 对于数据准备,我们首先讨论不同类型的输入格式和归一化方法,然后执行不同的数据增强方法,以说明它们尚未得到充分研究。 我们还讨论了数据分割的方法,并指出按时间序列分割数据可能更合适。
基准准确性和存在的问题 我们对七个数据集的各种基于深度学习的智能诊断算法进行了评估,并提供了基准精度,使未来的研究更具可比性。 在基准研究的基础上,重点介绍了一些评价结果,这些结果对比较或测试新模型非常重要。 我们还讨论了存在的问题,包括类不平衡、泛化能力、可解释性、少样本学习和模型选择。

一、评估算法

要涵盖所有已发布的模型是不可能的,因为目前还没有这个领域的开源社区。 因此,我们转而通过嵌入一些先进的技术来测试四种模型(包括MLP、AE、CNN和RNN)的性能。 需要注意的是,DBN也是智能诊断中常用的另一种深度学习模型,但由于DBN的训练方式与这四种模型有很大的不同,我们没有将其添加到这个代码库中。

1.1 MLP

MLP是一种具有多个隐藏层的全连接网络,于1987年被提出作为人工神经网络的原型。 有了这样一个简单的结构,MLP可以完成一些简单的分类任务,比如MNIST数据集。 然而,随着任务变得越来越复杂,由于参数数量巨大,训练MLP将变得困难。 本文对一维输入数据采用了具有5个全连通层和5个批处理归一化层的MLP。 该模型的结构和参数如图2所示。 另外,在图2中,FC表示全连接层,BN表示批处理归一化层,CE损失表示softmax交叉熵损失。
在这里插入图片描述

1.2 AE

AE最早是在2006年提出的一种降维方法。 它可以在保留大部分信息的同时降低输入数据的维数。 AE由一个编码器和一个解码器组成,它试图从编码器的输出重建输入,重建误差用作损失函数。 具体来说,编码器将x作为输入,并将其转换为隐藏表示h,可以表示为
在这里插入图片描述
在这里插入图片描述表示非线性激活函数,W代表权重,b代表偏置,之后,解码器从隐藏表示h生成输出x ',可以表示为
在这里插入图片描述
对于传统的AE,通常使用均方误差(MSE)损失作为损失函数,如下
在这里插入图片描述
随后,不同的研究者提出了AE的各种衍生物,如去噪自编码器(DAE)和稀疏自编码器(SAE)。在本文中,我们分别为一维输入数据(使用全连接层)和二维(2D)输入数据(使用卷积层)设计了AE及其导数。考虑到神经网络的不同特征,其结构和超参数自适应变化如图3所示。具体来说,DAE和SAE的网络结构与AE相同,不同之处在于损失函数和输入。DAE接受一个被噪声破坏的输入,并被训练以重建输入的干净版本; SAE使用稀疏性约束(通常使用Kullback-Leibler散度)正则化的MSE损失来训练AE模型。 在AE及其导数的训练过程中,编码器和解码器进行联合训练,得到数据的低维特征。然后,利用softmax交叉熵损失算法对编码器和分类器进行联合训练,完成分类任务。 AE及其导数的详细信息如图3所示。 图3中,MSE损失为式(3)定义的均方误差损失,Conv为卷积层,ConvT为转置卷积(如逆卷积)层,KLP损失为Kullback-Leibler散度损失。
在这里插入图片描述

1.3 CNN

CNN于1997年首次被提出,提出的网络也被称为LeNet。 CNN是一种专门用于处理具有已知网格状拓扑结构的数据的神经网络。 在CNN上通过卷积和池化操作实现了稀疏交互、参数共享和等价表示。 2012年,AlexNet在ImageNet竞赛中以远超第二名的成绩获得冠军,CNN引起了广泛关注。 此外,2016年提出了ResNet,其分类精度超过了人类基线。 在本文中,我们分别针对一维输入数据和二维输入数据设计了5层1D CNN和2D CNN,并针对两种类型的输入数据采用了三种著名的CNN模型(LeNet, ResNet18和AlexNet)。 CNN及其衍生物的详细情况如图4所示。 图4中,MaxPool表示最大池化层,AdaptiveMaxPool表示自适应最大池化层,Dropout表示Dropout层。
在这里插入图片描述
在这里插入图片描述
如图4所示,CNN主要包含三种层,分别是卷积层、最大池化层和分类层。 使用卷积层和最大池化层进行特征学习,分类层将学习到的特征分为不同的类。 对于一个输入x,卷积层可以定义为一个带滤波器核w的乘法,非线性激活后的最终特征映射可以表示为:
在这里插入图片描述
*代表卷积运算。
在卷积层后面设置最大池化层,提取每个feature map中最重要的局部信息,并对得到的feature进行降维。 maxpooling层可以定义为
在这里插入图片描述
down(.)代表最大池化层的下采样函数
经过多次卷积层和池化层的叠加,将提取的输入数据的高级特征输入到分类器层。 本文采用全连通层将特征映射到不同的类中

3.4 RNN

RNN可以描述时间动态行为,非常适合处理时间序列,然而RNN在训练过程中经常存在梯度消失和梯度爆炸的问题。为了克服这些问题,LSTM于1997年被提出用于处理连续输入流,并在各个领域取得了巨大成功。双向LSTM (BiLSTM)可以捕获长距离的双向依赖,并有选择地学习记忆和遗忘信息。我们利用BiLSTM作为RNN的代表来处理分类任务的两种类型的输入数据(1D和2D)。1D BiLSTM和2D BiLSTM的细节如图5所示。 此外,在图5中,转置表示对输入数据的通道和特征维度进行转置,BiLSTM Block表示BiLSTM层。
在这里插入图片描述
在这里插入图片描述

LSTM单元的结构如图6所示,包括遗忘门层σ1、输入门层σ2、输出门层σ3和tanh层。首先,最后一个单元的隐藏状态ht−1和当前的输入xt被送入遗忘门层,以决定我们是否应该忘记最后一个单元的状态Ct−1。其次,ht−1和xt被输入门层和tanh层来决定我们想要更新的值。第三,ht - 1和xt被输入到输出层,以决定我们应该为最后一个单元输出什么。根据图6所示的结构,输出单元状态Ct可以计算如下
在这里插入图片描述
在这里插入图片描述分别代表元素的乘法和加法
在这里插入图片描述定义如下:
在这里插入图片描述

σ(·)代表sigmoid函数
类似地,tanh层用tanh函数替换sigmoid函数。 另外,输出隐藏状态ht可以计算如下
在这里插入图片描述
许多重复的单元连接在一起形成LSTM块,旨在捕获长期和短期依赖关系。 BiLSTM层是前向和后向LSTM块的组合,信息在其中双向传输。 对于每个输入,可以同时使用整个时间序列的信息。

二、数据集

在智能诊断领域,公开可用的数据集尚未深入研究。 实际上,为了全面的性能比较,收集不同类型的代表性数据集是很重要的。我们收集了9个常用的数据集,除了PHM 2012轴承数据集和智能维护系统(IMS)轴承数据集之外,这些数据集都有特定的标签和解释。PHM 2012和IMS是不适合做需要标签的故障分类任务的。

2.1 CWRU 轴承数据集

凯斯西储大学(CWRU)数据集由凯斯西储大学轴承数据中心提供。 在4种不同的电机负载下,分别采集正常轴承和单点缺陷损坏轴承在12 kHz或48 kHz的振动信号。 在每种工况下,分别在滚动体、内圈和外圈上引入单点故障,故障直径分别为0.007、0.014和0.021英寸。 在本文中,我们使用从驱动端采集的数据,采样频率等效为12 kHz。 在表1中,一个健康轴承和三种故障模式,包括内圈故障、滚动体故障和外圈故障,根据不同的故障大小分为10类(1个健康状态和9个故障状态)。
在这里插入图片描述

2.2 MFPT 轴承数据集

机械故障预防技术(MFPT)数据集由Society for Machinery Failure Prevention Technology提供。 MFPT数据集由三个轴承数据集组成:(1)基线数据集在每个文件中以97656 Hz采样6秒; (2) 7个外环故障数据集,每个文件以48828 Hz采样3秒; (3) 7个内环故障数据集,每个文件以48828 Hz采样3秒; (4)本文未使用的其他一些数据集(更详细的信息可参考MFPT数据集网站)。 在表2中,根据载荷的不同,将一个健康状态轴承和包括内圈故障和滚动体故障在内的两个故障轴承分为15类(1个健康状态和14个故障状态)。
在这里插入图片描述

2.3 PU轴承数据集

帕德伯恩大学(Paderborn University, PU)数据集由帕德伯恩大学轴承数据中心提供,PU数据集由32组电流信号和振动信号组成。 如表3所示,轴承分为:(1)6个未损坏轴承; (2)十二个人为损坏的轴承; (3) 14个轴承,加速寿命试验造成实际损坏。 每个数据集在四种工况下收集,如表4所示。
由于使用所有数据会造成巨大的计算时间,因此本文仅使用在N15_M07_F10工况下的实际损坏轴承(包括KA04、KA15、KA16、KA22、KA30、KB23、KB24、KB27、KI14、KI16、KI17、KI18和KI22)收集的数据进行性能验证。 由于KI04与表3所示的KI14完全相同,因此我们删除KI04,类的总数为13个。 此外,仅使用振动信号对模型进行测试。
在这里插入图片描述
在这里插入图片描述

2.4 UoC 齿轮故障数据集

康涅狄格大学(University of Connecticut, UoC)齿轮故障数据集由康涅狄格大学提供,UoC数据集采集频率为20 kHz。 在这个数据集中,输入轴上的小齿轮被引入了9种不同的齿轮状态,包括5种不同严重程度的健康状态、缺齿、根裂纹、剥落和削尖。 使用收集到的所有数据集并将其分为九类(一种健康状态和八种故障状态)来测试性能。

2.5 XJTU-SY 轴承数据集

XJTU-SY轴承数据集由西安交通大学设计科学与基础部件研究所和长兴Sumyoung科技有限公司提供。 XJTU-SY数据集由三种不同工况下的15个轴承运行到失效数据组成。 数据集采集频率为2.56 kHz。 共记录32768个数据点,采样周期为1分钟。 轴承寿命和故障要素的详细信息见表5。 在本文中,我们使用表6中所述的全部数据,种类总数为15个。 值得注意的是,我们在运行到失效的实验结束时使用了收集到的数据。
在这里插入图片描述

2.6 SEU 齿轮箱数据集

东南大学(SEU)齿轮箱数据集由东南大学提供。 SEU数据集包含两个子数据集,包括轴承数据集和齿轮数据集,这两个数据集都是在动力传动系统动态模拟器(DDS)上获取的。转速负载配置(RS-LC)设置为20 Hz - 0 V和30 Hz - 2 V两种工况如表6所示。 根据表6,在不同工况下,班级总数为20个。 在每个文件中,有八行振动信号,我们使用第二行振动信号。
在这里插入图片描述

2.7 JNU 轴承数据集

江南大学(JNU)轴承数据集由江南大学提供。 JNU数据集由三个不同转速的轴承振动数据集组成,数据采集频率为50 kHz。 如表7所示,JNU数据集包含一个健康状态和三种故障模式,包括内环故障、外环故障和滚动体故障。 因此,根据不同的工作条件,种类总数等于12个。
在这里插入图片描述

2.8 PHM 2012轴承数据集

PHM 2012轴承数据集用于PHM IEEE 2012数据挑战赛。 在PHM 2012数据集中,提供了17个运行到故障数据集,包括6个训练集和11个测试集。 考虑了三种不同的负载。 在所有这些实验中都收集了振动和温度信号。 由于没有给出故障类型的标签,因此本文没有使用它。

2.9 IMS轴承数据集

IMS轴承数据集由NSF I/UCR智能维护系统中心生成[96]。 IMS数据集由三个轴承数据集组成,每个数据集包含安装在不同位置的四个轴承的振动信号。 在运行到失效实验结束时,其中一个轴承出现了缺陷。 故障发生在轴承的不同位置。 将这些故障简单地分为三类是不合适的,因此本文没有对IMS数据集进行评估。

三、数据预处理

输入数据的类型和归一化方式对深度学习模型的性能有很大的影响。 输入数据的类型决定了特征提取的难度,归一化方法决定了计算的难度。所以,本文讨论了五种输入类型和三种归一化方法对深度学习模型性能的影响。

3.1 输入类型

许多研究者使用信号处理方法将时间序列映射到不同的域来提高性能。 然而,哪种输入类型更适合智能诊断仍然是一个悬而未决的问题。 本文讨论了不同输入类型对模型性能的影响。

3.1.1 时域输入

对于时域输入,直接使用振动信号作为输入,不进行数据预处理。 本文每个样本的长度为1024,样本总数由式子(9)得到。生成样本后,我们取总样本的80%作为训练集,取总样本的20%作为测试集。
在这里插入图片描述
L是每个信号的长度,N是总的样本数量,floor是向下取整。

3.1.2 频域输入

对于频域输入,使用FFT将每个采样xi从时域变换到频域,如等式(10)所示。 此操作后,数据长度减半,新样本可以表示为
在这里插入图片描述
FFT(.)表示将xi变换到频域并取结果的前半部分。

3.1.3 时频域输入

对于时频域输入,对每个样本xi进行短时傅里叶变换(STFT),得到如式(11)所示的时频表示。使用汉宁窗口,窗口长度为64。 该操作后时频表示(一个33 × 33的图像)将被生成为:
在这里插入图片描述
STFT(.)表示将xi变换到时频域。

3.1.4 小波域输入

对于小波域输入,对每个样本xi进行连续小波变换(CWT),得到如式(12)所示的小波域表示。 因为CWT比较耗时,所以每个样本xi的长度设置为100。 经过此操作,得到100 × 100图像的小波系数为:
在这里插入图片描述
CWT(.)表示将xi变换到小波域。

3.1.5 切片图像输入

对于切片图像输入,每个样本xi被重塑成一个32 × 32的图像。 此操作后,新样本可记为
在这里插入图片描述
Reshape(.)表示将xi重塑为32 × 32的图像。
然而,上述数据预处理方法对于AE模型和CNN模型的训练存在以下两个方面的问题:(1)如果AE模型输入较大的二维信号,会导致解码器在重构过程中出现困难,重构误差很大; (2)如果CNN模型输入一个较小的二维信号,会使CNN无法提取出合适的特征。
因此,我们对上述数据预处理方法所获得的数据大小进行了折中处理。 时域和频域输入的大小不变,如式 (9)、(10)所示。 对于AE类,将所有2D输入的大小调整为32 × 32,而对于CNN模型,将CWT、STFT和切片图像后的信号大小分别调整为300 × 300、330 × 330和320 × 320。 需要注意的是,CNN模型的输入大小可以是不同的,因为我们使用AdaptiveMaxPooling层来适应不同的输入大小。

3.2 Normalization 归一化

输入归一化是数据准备的基本步骤,可以方便后续的数据处理,加速DL模型的收敛。 因此,我们讨论了三种归一化方法对深度学习模型性能的影响。
最大-最小归一化
在这里插入图片描述
其中xi是输入样本,xmin 是xi的最小值,xmax 是xi的最大值
[-1-1]归一化
在这里插入图片描述
Z-score 归一化
在这里插入图片描述
Xmean 是xi的均值,Xstd是xi的标准差。

四、数据扩充

数据扩充对于使训练数据集更加多样化和减轻小样本问题带来的学习困难非常重要。 然而,智能诊断的数据增强尚未深入研究。 数据增强的关键挑战是从现有样品中创建标签校正后的样品,这一过程主要依赖于领域知识。 然而,很难确定生成的样本是否经过标签校正。 因此,本文提供了一些数据增强技术,以增加其他学者的关注。 此外,这些数据增强策略只是一个简单的测试,其应用仍需要深入研究。

4.1 一维输入扩充

RandomAddGaussian该策略在输入信号中随机加入高斯噪声,公式如下:
在这里插入图片描述
x为一维输入信号,n由高斯分布(0,0.01)产生。
RandomScale该策略将输入信号与一个随机因子随机相乘,其公式如下:
在这里插入图片描述
x是一维输入信号,β是服从分布N(1,0.01)的标量。
RandomStretch该策略将信号重新采样成一个随机比例,并通过去零和截断来保证长度相等。
RandomCrop该策略随机覆盖部分信号,其公式如下:
在这里插入图片描述
其中x为1D输入信号,mask为随机位置子序列为零的二进制序列。 在本文中,子序列的长度等于10

4.2 二维输入扩充

RandomScale该策略将输入信号与一个随机因子随机相乘,其公式如下:
在这里插入图片描述
其中x是二维输入信号,β是遵循分布N(1,0.01)的标量。
RandomCrop该策略随机覆盖部分信号,其公式如下:
在这里插入图片描述
其中x为二维输入信号,mask为随机位置子序列为零的二进制序列。 在本文中,子序列的长度等于20

五、数据分割

智能诊断中数据分割的一种常见做法是随机分割策略,该策略示意图如图7所示。 在该图中,我们强调预处理步骤没有重叠,因为如果样本制备过程存在重叠,则分类算法的评估可能会有测试泄漏(如果用户从预处理步骤开始就将训练集和测试集分开,则可以使用任何处理同时处理训练集和测试集,如图8所示)。
在这里插入图片描述
正式的方法是将训练集进一步分割为训练集和验证集进行模型选择。 图7显示了4次交叉验证的情况,在没有测试集的情况下,我们通常使用4次交叉验证的平均精度来表示泛化精度。 在本文中,为了测试方便和节省时间,我们只使用1次验证,并使用最后一个epoch精度来表示测试精度(我们还列出了整个epoch的最大精度进行比较)。 值得注意的是,有些论文使用了验证集的最大精度,这种策略也很危险,因为验证集被用来意外地选择参数。
对于工业数据,它们很少是随机的,并且总是连续的(它们可能包含趋势或其他时间相关性)。 因此,按照时间序列拆分数据(顺序拆分)更为合适。 按时间序列划分数据的策略示意图如图9所示。 从图中可以看出,我们将训练集和测试集按时间相位分割,而不是随机分割数据。 此外,图9还显示了随时间进行4次交叉验证的情况。 在接下来的研究中,我们将比较该策略与随机分裂策略的结果。

在这里插入图片描述

六、评价方法

6.1 评价指标

如何用合适的评价指标来评价智能诊断算法的性能是一项非常具有挑战性的任务。 它有三个标准的评价指标,包括总体精度、平均精度和混淆矩阵,这三个指标被广泛使用。在本文中,我们只使用整体精度来评估算法的性能。 总体准确率定义为正确分类的样本数除以样本总数。 平均准确率定义为每个类别的平均分类准确率。
由于基于dl的智能诊断算法的性能在训练过程中会出现波动,为了获得可靠的结果并显示模型所能达到的最佳整体精度,我们将每个实验重复5次。 用四个指标来评价模型的性能,包括最后一个epoch得到的总体精度的均值和最大值(最后一个epoch的精度可以代表真实精度,没有任何试验泄漏),以及最大总体精度的均值和最大值。 为简单起见,它们可以表示为Last-Mean, Last-Max, Best-Mean和Best-Max。

6.2 实验设置

在准备阶段,我们使用随机分割和有序分割两种策略将数据集划分为训练集和测试集。 对于随机分割,使用滑动窗口截断振动信号,不产生任何重叠,每个数据样本包含1024个点。 准备完成后,我们随机取80%的样本作为训练集,20%的样本作为测试集。 对于顺序分割,我们将前80%的时间序列作为训练集,后20%的时间序列作为测试集。 然后,在两个时间序列中,使用滑动窗口截断振动信号,不产生任何重叠,每个样本包含1024个点。
为了验证输入类型、数据归一化方法和数据分割方法对模型性能的影响,我们设置了三种实验配置(如表8、表9和表10所示)。 在模型训练中,我们使用Adam作为优化器。 每个实验的学习率和批大小分别设置为0.001和64。 每个模型训练100次,在训练过程中,模型训练和模型测试交替进行。 此外,所有的实验都是在Windows 10和Pytorch 1.1下进行的,通过在Intel酷睿i7-9700K, GeForce RTX 2080Ti和16G RAM的计算机上运行。

七、实验结果

我们将首先深入讨论不同数据集的实验结果。 之后,将分别总结数据集、输入类型、模型、输入归一化、数据增强和数据分割的结果。 完整结果见附录,准确度大于95%的用粗体表示。

7.1 不同数据集的详细分析

A.CWRU数据集
CWRU数据集的结果见附录表A.1 ~ A.3。 从这些结果可以看出,CNN模型的准确率普遍高于AE模型。 此外,使用FFT和STFT对信号进行处理,可以使模型在五种输入中获得更好的精度。 使用z -score归一化的CNN模型可以获得更好的精度,而使用-1-1归一化的AE模型可以获得更高的精度。 使用数据增强不能提高声AE模型的精度,但可以提高CNN模型的精度。 顺序分割会稍微降低准确性。
B.JNU数据集
JNU数据集的结果见附录表A.4至A.6。 从这些表中可以看出,使用FFT处理原始信号可以使模型在五种类型的输入中获得更好的精度。 使用z -score归一化的CNN模型可以获得更好的精度,而使用-1-1归一化的AE模型可以获得更高的精度。 使用数据增强可以提高CNN模型和AE模型的精度。 顺序分割会大大降低准确性。
C.MFPT数据集
MFPT数据集的结果如附录表A.7至A.9所示。 我们可以观察到,以时间域或小波域作为输入的模型会有较差的性能。 然而,使用FFT对信号进行处理可以使模型达到更好的精度,并且在该数据集中AE模型的精度甚至高于CNN模型。 使用z -score归一化的CNN模型可以获得更好的精度,而使用-1-1归一化的AE模型可以获得更高的精度。 使用数据增强可以提高CNN模型和AE模型的精度。 顺序分割会严重降低准确性。
D.PU数据集
PU数据集的结果如附录表A.10 ~ A.12所示。 结果表明,CNN模型的精度普遍高于AE模型。 此外,使用小波域作为输入时精度较差,而使用FFT和STFT处理信号可以使模型达到更好的精度。 使用Z-score归一化可以使AE模型和CNN模型达到更高的精度。 数据增强并不能帮助AE模型提高精度,而可以提高CNN模型的精度。 类似地,顺序分割会严重降低准确性。
E.SEU 数据集
SEU数据集的结果见附录表A.13至A.15。 我们可以观察到,当使用时域或小波域作为输入时,模型的精度会较差。 然而,使用FFT对信号进行处理可以使模型达到更好的精度,AE模型的精度甚至高于CNN模型。 使用Z-score归一化可以使AE模型和CNN模型达到更高的精度。 数据增强可以提高CNN和AE模型的精度。 在这种情况下,顺序分割会略微降低准确性。
F.UoC数据集
UoC数据集的结果见附录表A.16至A.18。 我们可以观察到,在这种情况下,大多数模型的表现都不太好,其中AlexNet的表现相对较差。 此外,使用FFT对信号进行处理可以使模型达到更好的精度,AE模型的精度高于CNN模型。 采用Z-score归一化的AE模型和CNN模型可以获得更高的精度。 数据增强可以帮助不同的模型提高最终的准确性。 顺序分割会严重降低准确性。
G.XJTU-SY数据集
XJTU-SY数据集的结果见附录表A.19 ~ A.21。 我们可以观察到大多数模型在这个数据集中表现良好。 此外,我们可以发现,使用FFT和STFT对信号进行处理可以使模型达到更好的精度,并且CNN模型的精度一般高于AE模型。 采用Z-score归一化的AE模型和CNN模型可以获得更高的精度。 数据增强可以帮助不同的模型提高最终的准确性。 顺序分割会悄悄地降低准确性。

7.2 数据集结果

从结果可以看出,除UoC数据集外,AE和CNN模型在其他数据集上的准确率均超过95%。 此外,CWRU、SEU和XJTU-SY数据集的准确率可以达到100%。 在所有条件下,UoC的精度都远低于其他方法。 根据每个数据集中诊断准确率超过95%的个数,对7个数据集的诊断难度进行排序。 如图10所示,我们可以将数据集分成四个难度级别。
在这里插入图片描述

7.3 输入类型结果

在所有数据集中,频率域输入精度最高,其次是时频域输入,因为在频域,噪声分布在整个频带,故障信息比在时域更容易识别。 根据连续小波变换的计算负荷,采用短样本长度进行连续小波变换,然后对小波系数进行上采样。 这些步骤可能会降低CWT的分类精度。

7.4 模型的结果

从结果可以看出,在CWRU、JNU、PU、SEU、XJTU-SY等大部分数据集上,模型尤其是ResNet18都能达到最好的准确率。 然而,对于MFPT和UoC,属于AE的模型可以比其他模型表现得更好。 这种现象可能是由数据集的大小和过拟合问题引起的。 因此,不是每个数据集都可以使用更复杂的模型获得更好的结果。

7.5 数据归一化结果

很难得出哪种数据归一化方法是最好的,从结果中我们可以看出,不同数据归一化方法的精度也取决于所使用的模型和数据集。 一般来说,z-score归一化可以使模型达到更好的精度。

7.6 数据扩充结果

我们可以得出结论,当数据集的精度已经足够高时,数据增强方法可能会略微降低性能,因为模型已经很好地拟合了原始数据集。 更多的增强方法可能会改变原始数据的分布,使学习过程变得更加困难。 然而,当数据集的精度不是很高时,数据增强方法可以提高模型的性能,特别是对于时域输入。 因此,研究人员可以针对其特定输入设计其他各种数据增强方法。

7.7 数据分割结果

当数据集易于处理时(CWRU和XJTU-SY),随机分割和顺序分割的结果非常相似。 然而,当使用顺序分割时,某些数据集(PU和UoC)的准确性会急剧下降。 我们更应该注意的是,随机分割这些数据集是否有测试泄漏的风险。 根据时间序列分割数据集来验证性能可能更合适。根据上述讨论,我们从评价结果中总结出以下结论:首先,并不是所有的数据集都适合比较所提出方法的分类效果,因为基本模型在这些数据集上可以达到非常高的准确率,如CWRU和XJTU-SY。 其次,频域输入在所有数据集中准确率最高,因此研究人员应首先尝试使用频域作为输入。 第三,CNN模型并不需要在所有情况下都得到最好的结果,我们还需要考虑过拟合问题。 第四,当数据集的精度不是很高时,数据增强方法提高了模型的性能,特别是对于时域输入。 因此,需要研究更有效的数据增强方法。 最后,在某些情况下,它可能更适合根据时间序列拆分数据集(顺序拆分),因为随机拆分可以提供实际上很高的准确性。 我们还发布了一个代码库来评估基于dl的智能诊断算法,并提供基准精度(下界)以避免无用的改进。 同时,我们用具体设计的案例来讨论存在的问题,包括类不平衡、泛化能力、可解释性、少样本学习和模型选择。 通过这些工作,我们的目标是让比较更加公平和快速,强调开源代码的重要性,并提供对现有问题的深入讨论。 据我们所知,这是第一个全面进行基准研究并向公众发布代码库的工作。

八、讨论

虽然智能诊断算法在很多数据集上都能达到很高的分类准确率,但仍有很多问题需要讨论。 在本文中,我们进一步讨论了以下五个问题:类不平衡、泛化能力、可解释性、少样本学习和模型选择。

8.1 类不平衡

大部分被测信号处于正常状态,只有少数处于故障状态,这意味着故障模式往往具有不同的发生概率。 因此,在实际应用中使用智能算法时,会出现类不平衡问题。 近年来,虽然有研究人员发表了一些相关论文,采用传统的不平衡学习方法或GAN来解决这一问题,但这些研究还远远不够。 本文使用PU轴承数据集来模拟类不平衡问题。 在本实验中,我们采用ResNet18作为实验模型,只使用两种输入类型(时域输入和频域输入)。 采用数据增强方法,归一化方法为Z-score归一化,数据集随机分割。 构建三组不同失衡比的数据集,如表11所示。
在这里插入图片描述
如表11所示,三个数据集(Group1, Group2, Group3)由不同的失衡比例构成。 Group1是一个平衡的数据集,每个状态不存在不平衡。 在实际应用中,几乎不可能让数据样本的数量相同。 我们减少Group1中一些故障模式的训练样本来构建Group2,用来模拟不平衡分类。 在Group3中,故障模式间的不平衡比例进一步增大。 Group2可以被认为是中度不平衡数据集,而Group3可以被认为是高度不平衡数据集。

实验结果如图11所示,可以看出,Group3的整体准确率远低于Group1,说明类不平衡会大大降低模型的性能。 为了解决类不平衡问题,可以使用数据级方法和分类器级方法。 过采样和欠采样是最常用的数据级方法,近年来也研究了一些基于GAN的样本生成方法。 对于分类器级别的方法,在测试阶段采用基于阈值的方法来调整分类器的决策阈值。 此外,代价敏感学习方法对不同的类别赋予不同的权重,避免了样本数量少的类别被抑制。 在智能诊断领域,还需要探索基于物理意义和故障注意力的其他方法。
在这里插入图片描述

8.2 泛化能力

现有的许多智能算法在一种工况下表现良好,但在另一种工况下诊断性能往往会显著下降,这里我们称之为泛化问题。 最近,许多研究者使用基于迁移学习策略的算法来解决这一问题,并在中进行了与开源代码的比较研究。 为了说明智能诊断算法泛化能力较弱,还在PU轴承数据集上进行了实验。 实验使用三种工况(N15_M07_F10、N09_M07_F10、N15_M01_F10)下的数据。 在这些实验中,使用一种工况下的数据来训练模型,使用另一种工况下的数据来测试性能。 共进行6组,具体情况见表12。
在这里插入图片描述
实验结果如图12所示。 可以得出结论,在大多数情况下,在一种工况下训练的智能诊断算法在另一种工况下不能很好地运行,这意味着算法的泛化能力不足。 总的来说,我们希望我们的算法能够适应工作条件或测量情况的变化,因为这些变化在实际应用中经常发生。 因此,如何将训练好的算法有效地转移到不同的工作环境中,还需要进一步的研究。 最近发表的两篇优秀综述和其他应用指出了几个潜在的研究方向,可以进一步考虑和研究,以提高泛化能力。

8.3 可解释性

虽然智能诊断算法在其任务中可以达到较高的诊断准确率,但这些模型的可解释性往往不足,这些黑箱模型会产生高风险的结果,这极大地限制了它们的应用。 实际上,智能诊断领域的一些论文已经注意到了这个问题,并试图提出一些可解释的模型。 为了指出智能诊断算法缺乏可解释性,我们对PU轴承数据集进行了三组实验,数据集如表13所示。
在这里插入图片描述
在这里插入图片描述

在每组实验中,我们使用两组不同的数据,这两组数据具有相同的故障模式,并且是在相同的条件下获得的。 结果如图13所示,智能算法在每组实验中都能获得较高的准确率。 然而,对于每一个二分类任务,由于两类之间的故障模式和采集时的工作状态是相同的,理论上,方法不应该能够达到如此高的准确率。 这些预期结果与实验结果完全相反,表明模型只学习了不同采集点的区分,而没有学习如何提取故障信号的本质特征。 因此,模型是否能够学习到故障的本质特征,或者只是对采集信号的不同情况进行分类是非常重要的。
根据可解释性的发展,我们可以从以下几个方面研究基于dl的模型的可解释性:(1)将神经元的结果可视化,分析模型的注意点; (2)在损失函数中加入物理约束,满足故障特征提取的特定需求; (3)在网络结构和卷积中加入先验知识或展开现有的优化算法,提取相应的故障特征。

8.4 少样本学习

在智能诊断中,由于故障数据的宝贵性和故障仿真实验的高成本,特别是关键部件的数据量与大数据相距甚远。 为了体现样本数量对分类精度的影响,我们使用PU轴承数据集设计了一个少样本训练模式,每个类别中有六组不同的样本数量。 时域输入和频域输入结果如图14所示。 结果表明,随着样本数的减少,精度急剧下降。 如图14所示,对于时域输入,随着样本数从100个减少到1个,Best-Max精度从91.46%下降到20.39%。 同时,在频域输入下,随着样本数量从100个减少到1个,Best-Max准确率从97.73%下降到29.67%。
在这里插入图片描述
虽然使用FFT后可以提高精度,但在样本数量非常少的情况下,精度仍然太低,无法被接受。 有必要开发基于少镜头学习的方法来应对有限样本的应用场景。 近年来提出了许多基于dl的少样本学习模型,这些方法大多采用元学习范式,通过训练具有大量任务的网络,这意味着这些方法需要其他相关领域的大数据。 在故障诊断领域,目前还没有如此大规模的相关数据,因此需要嵌入物理机制的方法来有效地解决这一问题。

8.5 模型选择

对于智能诊断,设计一个神经网络并不是最终目标,我们的任务是将模型应用于实际的工业应用,而设计一个神经网络只是我们任务的一小部分。 然而,为了达到良好的效果,我们必须花费大量的时间和精力来设计相应的网络。 因为构建神经网络是一个反复试错的迭代过程,模型的表现需要反馈给我们来调整模型。 单次试错的成本乘以多次试错的次数很容易达到巨大的成本。 此外,降低这一成本也是本基准研究的部分目的,为选择基准模型提供了一些指导。 实际上,还有另一种方法,称为神经架构搜索(NAS),以避免巨大的试错成本。 NAS可以通过基于特定数据集搜索特定网络来自动设计神经网络。 首先根据物理先验构造网络的有限搜索空间。 然后,通过强化学习、进化算法或梯度策略从搜索空间中抽取匹配特定数据集的神经网络。 此外,整个构建过程不需要人工参与,这大大降低了构建神经网络的成本,使我们能够专注于具体的工程应用。

九、结论

在本文中,我们收集了9个公开可用的数据集来评估MLP、AE、CNN和RNN模型的性能。 本工作主要侧重于从不同角度评估基于dl的智能诊断算法,并提供基准准确率(下界),以避免无用的改进。 此外,我们还发布了一个代码库,供其他研究人员测试他们自己的基于dl的智能诊断模型对这些数据集的性能。 我们希望评估结果和代码库能够促进对基于dl的模型的更好理解,并为生成更有效的模型提供统一的框架。 在进一步的研究中,我们将重点关注所列出的五个问题(类失衡、泛化能力、可解释性、少镜头学习和模型选择),提出更多的具体的工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值