基于主动生成式过采样和深度堆叠网络的轴承故障诊断

2023-02-14 12:16李慧芳徐光浩黄双喜
计算机集成制造系统 2023年1期
关键词:分类器标签分类

李慧芳,徐光浩,黄双喜

(1.北京理工大学 自动化学院 复杂系统智能控制与决策国家重点实验室,北京 100081;2.清华大学 自动化系,北京 100084)

1 引言

工业设备的智能化运维与健康管理对于智能制造系统的无故障运行非常重要[1]。这就要求对关键设备进行持续监控,以提高其安全可靠性、降低维护成本。随着工业互联网的发展和广泛应用,海量、多源异构的设备运行状态数据也变得易于收集,并逐渐涌现出许多数据驱动的故障诊断模型[2]。这些模型能够利用自身的深层结构自主学习并挖掘故障特征,建立从运行数据到故障类型的非线性映射,实现端到端的准确故障识别。可以说,深度学习方法推动了故障诊断技术的发展,并逐步成为最有潜力的主流方法[3-4]。现有的深度学习算法大多假设各类故障的训练样本数目几近相同,即数据的类别基本平衡。可是,实际收集到的故障数据往往存在类别不平衡的情况,对容易发生的故障,可收集的数据较多;对发生频率很低的故障,可收集的数据也相对较少。通常,将样本数目较多的故障称为多数类故障,而数目较少的故障称为少数类故障。在面向不平衡数据时,标准深度学习模型容易将不常发生的少数类故障识别为多数类故障,导致少数类故障的检测率较低甚至无法检测,影响模型的实用性[5-7]。一旦故障发生却不能及时、准确地诊断,或者潜在的故障即将发生却不能正确地预测或预警,“轻”则影响产品质量、延误生产,“重”则可能酿成事故、威胁人身安全。

关于不平衡数据驱动的故障分类问题,已经出现了大量研究。从数据层面看,典型的是重采样方法,主要针对数据稀少问题,通过改变训练数据的分布来降低少数类样本的不平衡比例,以尽量使故障数据适合于标准的机器学习算法。按照采样对象的不同,现有的重采样方法可分为欠采样和过采样方法。

欠采样方法,通过减少多数类样本的数量和平衡数据集来提高少数类的分类精度。最简单的欠采样方法是随机欠采样(Random Under Sampling, RUS),通过随机删除部分多数类样本来平衡样本数量,例如方昊等[8]采用多次随机欠采样代替单次随机欠采样来解决软件故障检测中的数据不平衡问题。随机欠采样方法操作简单,但是随机删除可能丢失潜在的样本信息,从而导致分类器性能下降。为此,出现了一些启发式欠采样方法,例如MANI[9]根据K最邻近法(K-Nearest Neighbors, KNN)测量得到的多数类和少数类之间的距离来移除样本。与此类似,BARANDELA等[10]基于KNN规则,从类边界中删除容易被错误分类的多数类样本。这些方法能够在一定程度上解决随机欠采样容易丢失重要样本信息的问题,但其本质是舍弃多数类样本,很有可能破坏样本集的分布,而且当少数类样本过少时,通过大量删除多数类样本来平衡数据集也不现实。

过采样方法则将重点放在少数类样本上,通过增加少数类样本的数量来降低数据间的不平衡程度。与欠采样相比,过采样无需担心多数类样本的信息丢失,模型依然可以获得完整的多数类故障特征,在一定程度上保证了多数类故障的识别率。最容易实现的过采样方法是随机过采样(Random Over Sampling, ROS),通过随机复制或简单旋转来增加少数类样本的数量,易于实现,但是“复制”样本会增加过拟合的风险。为此,CHAWLA等[11]提出一种合成少数类过采样技术(Synthetic Minority Oversampling Technique, SMOTE),以解决因随机插入合成样本而导致的过拟合问题。作为一种经典的过采样方法,SMOTE已经应用于不同领域[12],但它可能引入噪声和导致过度泛化。因此,出现了一系列SMOTE的变体。ZHU等[13]在选择最近邻样本时,通过引入不同样本的权值,有效地处理过度泛化问题。Boderline-SMOTE和Safe-level-SMOTE[14-15]是在考虑了领域多数类样本的基础上,对原始SMOTE进行改进。Boderline-SMOTE将过采样操作限制在类边界附近,而Safe-level-SMOTE则定义了安全区和噪声区,以防止增加新的样本重叠。与此类似,韩志艳等[16]提出一种新的过采样方法,加权合成少数类过采样技术(Weighted SMOT, WSMOTE),将样本划分为几个重要性不同的组,再基于重要性进行样本合成。

尽管上述方法在不平衡数据分类方面取得了一定的效果,但在实际应用时仍然面临挑战,主要在于其很难自动学习原始数据样本的分布,容易引入噪声,且对不同的数据集适应性较差。深度学习方法具备自主学习的能力,为这一问题的解决提供了新的契机。例如ANDO等[17]提出一种深度过采样(Deep Over-Sampling, DOS)模型,通过在特征空间对少数类样本进行重采样,提高了少数类的分类性能。在基于深度学习的数据生成方法中,2014年GOODFELLOW等[18]提出的生成式对抗网络(Generative Adversarial Networks, GANs),通过学习原始样本的数据分布特征,生成具有相似数据分布的新合成样本。GANs已被广泛应用于不同领域[19],也出现了一些关于它的变体。LEE等[20]将深度神经网络和GANs用于异步电机故障检测,发现当不平衡比率较小时,采用原始GANs生成的样本在故障分类中的表现优于典型的过采样技术。DOUZAS等[21]则利用条件生成式对抗网络(Conditional Generative Adversarial Network, CGAN)生成少数类样本,有效地改善了数据的不平衡程度。WU等[22]构建了半监督信息最大化生成式对抗网络(semi-supervised Information maximizing Generative Adversarial Network, ss-InfoGAN),利用对抗结构生成少数类样本,通过数据增强来解决数据不平衡问题。此外,还有研究将GANs与自动编码器相结合。WANG等[23]将GANs与堆叠降噪自动编码器(Stacked Denoising AutoEncoder, SDAE)结合,提出了一种基于深度特征提取的故障分类方法,进行齿轮箱故障诊断。HAN等[24]提出了一种GAN-SAE故障诊断方法,首先基于GAN对样本数据的不平衡性进行补偿,再利用堆叠自动编码器(Stacked AutoEncoder, SAE)提取信号特征。HAN等[25]将对抗学习引入卷积神经网络(Convolutional Neural Network, CNN),提高了特征表示的鲁棒性,增强了其模型的泛化能力。XIE等[26]提出了一种深度卷积GAN模型,通过从少数类样本中模拟原始数据分布并生成新样本来改善类别不平衡性。包萍等[27]提出了一种基于GAN和CNN的故障诊断方法,在平衡数据集之后,引入Focal loss损失函数来提高故障识别的准确性。

大多数面向类别不平衡的故障识别方法,试图从数据层面解决类别不平衡带来的少数类故障难以识别或少数类故障检出率太低的问题,即通过基于过采样的数据增强方法,在一定程度上减少或者弥补这种不平衡性的影响,再使用标准深度学习模型进行故障分类。作为目前流行的数据增强技术,基于GAN的生成式过采样方法获得了越来越多的关注。但是,现有方法在生成样本时存在以下问题:①由于GAN固有的模式坍塌与模型训练稳定性问题,导致生成样本的质量较差,甚至可能引入噪声样本;②在模型训练过程中,缺乏对生成样本个体差异性的关注,使生成器生成的样本多样性不足,影响模型的泛化能力,最终影响模型的少数类故障识别率。

为此,本文考虑数据不平衡对诊断准确率的影响,提出了一种基于主动生成式过采样与深度堆叠网络(Deep Stacking Network, DSN)的故障分类方法,采用ACGAN和主动学习算法,学习原始样本分布,在保证生成样本与原始样本分布相似的前提下,生成多样性好的高质量样本。在对数据集进行平衡化处理后,设计基于DSN的故障分类器,提高少数类故障识别率。主要贡献如下:

(1)为了改善ACGAN训练的稳定性,并解决因原目标函数JS散度(Jensen-Shannon divergence)的突变性所造成的生成器梯度难以获取问题,首先,以连续变化的Wasserstein距离为目标函数,搭建W_ACGAN模型,使生成器能够更好地获取有效梯度,在一定程度上缓解ACGAN的训练困难。其次,设计了基于损失值之比的模型参数更新策略,自适应地调整生成器与判别器训练的每轮迭代次数,即生成器和判别器的训练步伐,克服因任何一方训练效果太差或太好,即生成器和判别器训练不协调而引起的模型收敛困难,确保W_ACGAN训练的稳定性,提升生成少数类样本的质量。

(2)为了引导W_ACGAN生成丰富多样的少数类样本,首先,将主动学习算法QBC嵌入到W_ACGAN训练过程中,从生成样本中挑选一批信息熵较高的样本,并采用多样性评价指标Diversity对所选样本进行二次挑选,以去除冗余、保证所挑选样本的多样性。其次,将所选样本当作真实样本,连同剩余样本一起训练判别器。通过判别器与生成器的对抗式学习,在保证生成样本与真实样本相似的基础上,引导生成器生成类似于所选样本并具有丰富信息的少数类样本,为少数类识别提供更多的故障知识。

(3)为了减少深度网络训练参数微调阶段因随机梯度下降可能带来的参数优化问题,在对故障数据进行平衡化处理的基础上,设计了一种基于DSN的故障分类模型,即将依次训练好的多个基本功能组件或分类器相互堆叠,构建复杂的故障分类模型。通过跨机器并行训练与特征学习训练故障分类器,在确保模型参数优化性能的同时,大大提高故障诊断模型的训练效率。

2 相关理论基础

2.1 主动学习算法

主动学习算法旨在提高模型性能的同时,尽可能减少样本标记的成本。作为典型的数据驱动方法,深度学习需要学习大量的参数,且参数优化离不开大量的注释样本。早期的主动学习算法未得到足够重视,主要是由于传统机器学习方法对标记样本的要求相对较少。随着工业互联网的深入应用,海量数据的收集变得相对容易。然而,大多深度学习的研究依赖于大量公开可用的注释数据集,且高质量地标注数据集往往需要耗费大量的人力。特别地,当数据标注需要高水平的领域专家知识时,数据集的获取就变得异常艰难,而主动学习算法开始逐渐发挥自身的价值[28]。

主动学习的基本思想是:从没有标记的数据集中选择最有用的样本,并经督导者进行标注后将其加入到标记样本集,用以训练机器学习模型,从而在保持模型性能的同时尽可能地降低样本标记成本。通过精心设计查询规则,主动学习算法从无标记的数据集中选择最好的样本,向督导者查询其标签,试图最大限度地降低标记成本。如图1所示为一个基本的主动学习模型。查询规则的设计对主动学习方法的性能至关重要,因此出现了不同的查询策略。例如,在一个给定未标记数据集上的主要查询策略,包括基于不确定性的方法和基于多样性的方法,以及同时考虑查询样本不确定性和多样性的混合查询策略,后者试图在这两者之间寻找平衡。基于不确定性的单独采样往往会带来采样偏差,选取的样本分布未必与未标记数据集的分布一致。另一方面,只追求抽样多样性的策略会增加标注的成本,因为可能选择相当数量信息含量低的样本。主动学习已有大量的研究,但是,仍然存在高维数据扩展的问题。因此,大多数人工智能研究更倾向于低维问题。此外,主动学习算法通常根据预先提取的特征查询高值样本,不具备提取特征的能力。

2.2 带有辅助分类器的生成式对抗网络

带有辅助分类器的生成式对抗网络[29](Auxiliary Classifier Generative Adversarial Network, ACGAN)起源于条件生成对抗网络(CGAN)。CGAN通过在生成器的输入中添加样本标签信息来控制生成样本的类别。ACGAN是对CGAN的拓展,除了在输入中添加标签信息外,ACGAN采用一个分类器来辅助判别器。因此,ACGAN不仅可以判断一个样本来自于真实分布还是生成分布,还可以判断该生成样本的类别。也就是说,在ACGAN的判别器中增加了一个分类功能,其结构如图2所示。此外,ACGAN的实验结果说明了通过在GAN的潜在空间中添加更多的结构和/或专门的损失函数,就可以产生更高质量的样本。

Ld=E[logP(预测标签=真实|Xreal)]+

E[logP(预测标签=生成|Xfake)]。

(1)

式中:P(预测标签=真实|Xreal)表示“输入为真实样本、判别器给出的预测标签也为真实样本”的概率;P(预测标签=生成|Xfake)表示“输入为生成样本、判别器给出的预测标签也为生成样本”的概率。分类损失Lc是ACGAN的特有的指标,其计算如式(2)所示:

Lc=E[logP(分类标签=真实标签|Xreal)]+

E[logP(分类标签=真实标签|Xfake)]。

(2)

式中:P(分类标签=真实标签|Xreal)、P(分类标签=真实标签|Xfake)分别表示“输入为真实样本和生成样本,而判别器给出的分类标签和真实的类别标签一致”的概率。

在ACGAN中,判别器通过模型训练使Lc+Ld最大化,即既要能够判断样本是属于真实样本还是生成样本,又要能够判断生成样本以及真实样本的类别。生成器则通过模型训练使Lc-Ld最大化,即除了使生成样本能够“愚弄”判别器,生成器还要使各个生成样本的类别与其相应的原始类别样本接近,使判别器在真、假判别中判断错误,但在识别样本类别时分类正确。从结构上看,ACGAN与标准GAN没有太大差别,但这种对标准GAN的修改,似乎能够在一定程度上使GAN的训练更加稳定,从而产生更高质量的样本。

2.3 深度堆叠网络

深度堆叠网络(DSN)是在深度神经网络(DeepNeuralNetwork,DNN)的基础上发展起来的一种新型网络结构,具有良好的可扩展性[30]。其结构类似于深度置信网络(DeepBeliefNetwork,DBN),但有以下几点不同:①DSN的基本模块是浅层的全连接神经网络,DBN的组件为受限玻尔兹曼机(RestrictedBoltzmannMachines,RBM);②DSN后续模块的输入同时包含前一模块的输出和输入;③DSN的每一个模块都采用有监督的训练策略。如图3所示是一个DSN网络结构,包含3个模块,且每个模块由三层网络组成。

(3)

(4)

(5)

3 基于主动生成式过采样和深度堆叠网络的故障诊断

由于标准GAN固有的训练困难、模式坍塌等问题导致生成样本的质量以及多样性较差,本文提出了一种基于委员会查询(Query by Committee, QBC)和ACGAN的主动生成式过采样方法。通过更加平滑的Wasserstein距离代替原有的JS散度,衡量真假样本分布之间的距离,并构建ACGAN模型,即W_ACGAN,以提高其训练的稳定性。其次,采用QBC以及多样性评价指标(diversity),从ACGAN生成的样本中挑选最具代表性且多样性好的样本,以引导ACGAN生成更多样且利于后续故障分类的少数类样本。同时,提出了一种基于损失值的自适应模型训练方法,通过调整生成器与判别器的训练周期,提升生成器与判别器之间的对抗效果,改善所生成样本的质量。最后,构建基于DSN的故障分类器。本文基于主动生成式过采样的故障诊断方法流程如图4所示。

3.1 基于QBC和W_ACGAN的主动生成式过采样方法

现有基于GAN的数据采样方法,大多直接使用原始GAN拟合少数类样本分布,并采用训练好的生成器生成样本,以便对少数类样本进行扩充。然而,GAN固有的模式坍塌问题使训练过程倾向于生成较为安全的样本,以期更好地欺骗判别器,这样生成器所生成的样本大多为相似的安全样本,即多样性较差。如果使用多样性较差的样本对原始少数类样本进行补充,易于引起样本的类内分布不平衡,则模型将无法学习到完整的少数类样本分布,将使部分少数类样本更难识别。此外,GAN固有的训练局限性,需要小心平衡生成器和判别器的训练程度。如果判别器训练得太好,生成器无法愚弄判别器,则判别器就无法从对抗训练中获得进步;同时,判别器越好,生成器的梯度消失越严重,生成样本的质量也就较差。

为了使GAN能够生成多样化的高质量少数类故障样本,本文设计了一种基于QBC和W_ACGAN的主动生成式过采样方法。首先,通过修改ACGAN的模型结构,引入基于Wasserstein距离的生成式对抗网络[31](Wasserstein Generative Adversarial Network, WGAN),并使用更加平滑的Wasserstein距离代替原有的JS散度,来衡量真假样本分布的距离。其次,使用QBC算法从生成器所生成的样本中挑选利于提升分类效果的样本,并利用所设计的多样性评价指标对所选样本进行二次筛选,以过滤部分相对冗余的样本。通过将所挑选的样本标签设为与真实样本一致的标签来训练判别器,以引导生成器生成多样化的、有助于改善分类性能的样本。最后,基于不同迭代批次的损失值比值,计算生成器与判别器的训练周期,以自适应地调整生成器与判别器的训练次数,达到平衡训练的目的。

3.1.1 W_ACGAN模型构建

为了解决ACGAN的训练困难问题,本文在ACGAN中引入WGAN的Wasserstein距离,设计W_ACGAN,减少因JS散度带来的梯度消失,提高模型训练的稳定性。

原始ACGAN判别器着重于将真实样本分为正例、生成样本分为负例,其损失函数为:

-Ex~Pr[logD(x)]-Ex~Pg[log(1-D(x))]。

(6)

式中:Pr表示真实样本的分布,Pg表示生成样本的分布,D(x)表示判别器的表达式。当固定生成器的参数,并训练判别器时,任意样本x(真实样本或者生成样本)对判别器损失函数的贡献可以表达为式(7):

-Pr(x)logD(x)-Pg(x)log[1-D(x)]。

(7)

为了获得最优的判别器表达式,令式(7)中D(x)的导数为0,可得式(8):

(8)

(9)

即,当Pr(x)=0且Pg(x)≠0时,最优判别器给出样本x来自真实分布的可能性为0。当Pr(x)=Pg(x)时,样本x来自真实分布和生成分布的可能性相等,即最优判别器给出样本x来自真实分布的概率为0.5。

考虑一种极端情况,即当判别器训练为最优判别器时,生成器的损失函数为:

2×JS(Pr‖Pg)-2log2。

(10)

其中JS(Pr‖Pg)为真实分布Pr与生成分布Pg之间的JS散度,可按式(11)计算:

(11)

由以上推导可得:在判别器为最优时,原始GAN定义的生成器损失值转化为最小化真实样本分布和生成样本分布之间的JS散度。但是,当真实分布Pr与生成分布Pg之间没有不可忽略的重叠部分时,其JS散度恒为常数log2。此时,由式(10)可知:生成器损失函数的梯度恒为0,即生成器无法再得到优化。事实上,很大可能是生成分布与真实分布间没有不可忽略的重叠部分,这正是GAN难以训练的原因所在[32]。

为此,本文以Wasserstein距离代替原有的JS散度,衡量真实分布Pr与生成分布Pg间的距离并进行最小化。Wasserstein距离W(Pr,Pg)可按式(12)计算:

(12)

式中:Π(Pr,Pg)表示真实分布Pr与生成分布Pg组合成的所有可能联合分布集合;δ为属于Π(Pr,Pg)的任一个联合分布;x、y分别表示真实样本和生成样本。从式(12)可以看出,对于JS散度,Wasserstein距离的优势在于:无论真实分布Pr与生成分布Pg间是否有重叠部分,Wasserstein距离总是能够反映两个分布之间的距离。即Wasserstein距离相对连续、平滑,能产生JS散度无法提供的梯度,即引入Wasserstein距离可以使GAN的训练更加稳定,且GAN生成器的损失函数变为-Ex~Pg[D(x)],判别器的损失函数变为Ex~Pg[D(x)]-Ex~Pr[D(x)]。

3.1.2 基于QBC和Diversity的W_ACGAN训练引导

使用QBC算法挑选样本时,先以装袋的形式从包含所有样本的训练集中选取K个训练集T1,T2,…,TK,并使用K个训练集分别训练K个独立的分类模型C1,C2,…,CK,以构成一组委员会C={C1,C2,…,CK}。其次,将生成器对r个噪声样本z1,z2,…,zj,…,zr所生成的样本G(z1),G(z2),…,G(zj),…,G(zr)分别输入到K个分类模型,每个样本将获得K个分类模型给出的K个预测标签。最后,按照式(13)并利用K个预测标签分别计算r个样本的熵值H[G(z1)],…,H[G(zj)],…,H[G(zr)]。

(13)

尽管QBC算法已选出M个信息量较大的样本,但是为确保生成的样本能够均匀分布,避免单一引导对生成样本多样性的影响,本文设计了一个多样性评价指标Diversity,对M个样本{G1,G2,…,Gk,…,GM}进行二次筛选。具体步骤如下:

首先,从{G1,G2,…,Gk,…,GM}中任意挑选一个样本Gk,根据式(14)依次计算Gk与其他M-1个样本之间的欧氏距离Edk,1,Edk,2,…,Edk,k-1,Edk,k+1,…,Edk,M:

(14)

式中Edk,u表示Gk和第u个样本Gu之间的欧氏距离。

其次,将求得的所有欧氏距离,即Edk,1,Edk,2,…,Edk,k-1,Edk,k+1,…,Edk,M求和,得到样本Gk的Diversity值Dk:

(15)

同理,依次计算其余M-1个样本的Diversity值D1,D2,…,Dk-1,Dk+1,…,DM。

为了避免所挑选的生成样本与原始样本差别过大,并导致生成器生成的样本朝着偏离真实样本的方向发展,本文在被挑选样本的损失中引入衰减因子项σ(0<σ<1),以调整被挑选样本在判别器损失函数中的贡献。该衰减因子的取值将随着迭代次数的增加而增大,这是因为训练开始时,生成样本与原始样本差别较大,应以真实样本为主导来引导训练;随着迭代次数的增加,生成样本逐渐接近原始样本,本文希望生成样本朝着被挑选样本的方向逼近。因此,最终判别器的损失函数应包含两个部分:①原有损失,包含两项:即真实样本的损失与未被挑选样本的损失;②添加了衰减因子项的被挑选样本的损失。如式(16)所示:

(16)

式中:xl表示第l个真实样本,L为真实少数类样本的总个数,Q为未被选择的生成样本总个数。

3.1.3 基于损失值的自适应模型参数更新

(17)

步骤3通过式(18)计算下一轮迭代中生成器的参数更新次数gts,类似于式(17),在分母中添加了一项浮点数ε:

(18)

步骤6重复步骤3~步骤5,直至迭代次数达到预设值Δ。

按照上述步骤训练本文的主动生成式过采样网络模型后,向生成器输入一组与训练所使用的噪声样本分布相同的噪声样本,并将其相应生成器的输出视为少数类样本的补充样本注入原始数据集,以达到平衡数据集的目的。

3.2 基于DSN的故障分类模型设计

在经过平衡化处理的数据集上,构建一种基于DSN的故障分类器,即n个基本模块,每个模块包含3个网络层。通过将所有前一层基本模块的输出预测与原始输入向量进行拼接,作为新模块的输入向量,实现多个模块的“堆叠”。也就是说,基本模块2的输入维数等于基本模块1的输入与输出维数之和。依此类推,得到包含n个基本模块的DSN网络,其训练过程可分为基本模块训练和模块约束微调两个阶段。

(19)

式中:1(·)是指示函数,当条件“·”为真时取“1”;当条件“·”为假时取“0”;yq=ξ表示第q个样本属于第ξ类。同样,利用反向传播法和梯度下降法依次训练其余基本模块。

在模块约束微调过程中,通过批量模式梯度下降法进一步学习每个模块的权值矩阵。当微调迭代次数达到预先定义的上界值Δfin,训练过程终止并得到最终的DSN模型。整个训练和测试流程如图5所示。

4 实验结果与分析

为了验证基于主动生成式过采样和DSN的故障诊断方法的有效性,本文选择凯斯西储大学轴承数据中心的故障数据进行仿真实验。通过与6个基准算法的实验结果比较,说明了本文方法的优越性。

4.1 实验配置

4.1.1 数据集及其预处理

凯斯西储大学[33]的原始实验数据包含外圈12点钟方向故障(Opposite Outer race Fault, OOF)、滚珠故障(Ball Fault, BF)、内圈故障(Inner race Fault, IF)和外圈6点钟方向故障(Centered Outer race Fault, COF)共4个故障类别,如图6所示。通过移动滑窗和信号交叠方法,选取样本数据并增加样本数量。如图7所示,当滑窗位移步长为130时,具有67 048个采样时刻点的振动信号,可以提供501个长度为2 048的故障样本。为了减少个别过大或过小噪声数据对实验结果的影响,本文对所有输入的训练数据特征进行高斯归一化操作,将样本的各个属性值映射到[-1,1]。其次,对故障的类别标签进行One-Hot编码,将类别标签转换为由0或1组成的向量,即类别编号对应的位置被标记为1,其他位置标记为0。

为了验证本文过采样方法的有效性,通过对原始数据集进行不放回式随机抽样,对不同样本选取不同的个体数目,从而构造了两个不平衡数据集:数据集1和数据集2。其中,数据集1只有一个少数类(200个样本),而其他3个多数类故障各1 000个样本;数据集2包括2个少数类(分别有50个和100个样本)以及两个多数类(各1 000个样本)。

4.1.2 评价指标

为了综合比较本文所提方法与基准方法,除了常用分类器在正确识别样本类别方面的评价指标,即准确率外,还采用精确率、召回率和F1 score来评估本文方法识别少数类样本的性能。假设少数类样本为阳性、多数类样本为阴性,用TP表示样本数据集中被正确预测的少数类样本数量,FP表示被预测为少数类样本但实际为多数类样本的数量,FN表示被预测为多数类样本但实际为少数类样本的个数,TN表示被正确分类的多数类样本个数。

(1)准确率(Accuracy) 反映分类器在正确识别故障样本上的性能,可按式(20)计算:

(20)

(2)召回率(Recall) 表示被正确分类的少数类样本占少数类样本总数的比例,可按式(21)计算:

(21)

(3)精确率(Precision) 反映了被正确预测为少数类的样本在所有被识别为少数类的样本中所占的比例,可按式(22)计算:

(22)

(4)F1 综合考虑Recall和precision,可按式(23)计算:

(23)

4.1.3 对比算法及其参数设置

为了评价本文提出的主动生成式过采样方法的有效性,选择3种基于GAN变体的过采样方法,如WGAN、info GAN[34]和ACGAN,以及经典的过采样算法SMOTE进行对比实验。此外,为了验证本文改进的ACGAN,即W_ACGAN的有效性,选择ACGAN+QBC和ACGAN+AWU为对比方法,其中ACGAN+QBC表示仅使用QBC算法对ACGAN进行训练引导,ACGAN+AWU表示仅使用本文提出的自适应训练方法对ACGAN模型参数进行更新。

需要说明,本文的WGAN、info GAN和ACGAN均采用相同的模型结构,即生成器输入层包含2 000个神经元节点,生成器和判别器的隐层包含1 024个节点,判别器的输出层包含4个节点,生成器的输出层和判别器的输入层所包含的节点数与样本的属性维数相同。另外,生成器使用Relu、Matmul和Sigmoid激活函数,判别器仅使用Relu和Matmul激活函数,且训练使用的优化算法为RMSProp。

4.2 实验结果分析

为了全面评价本文基于主动生成式过采样和DSN的故障诊断方法AGO(active generative over-sampling)的性能,笔者在两个数据集上开展对比实验,并采用4个评价指标Accuracy、Recall、Precision和F1 score对实验结果进行分析与评价。

在数据集1上的实验,旨在验证不同过采样方法对模型诊断性能的影响。数据集1只包含一个少数类,即每个过采样方法仅需生成一种类别的样本。考虑到实际故障分类问题往往包含多个少数类,数据集2包含两个少数类,以测试不同过采样方法的普适性,即对不同少数类样本的生成情况。

(1)准确率(Accuracy)评价

图8展示了不同方法的准确率比较。在数据集1上,本文方法AGO获得了最高的准确率94.9%,基于GAN的方法,其准确率均超过了90%,只有SMOTE的准确率大约86%(低于90%)。由此可知,基于GAN的方法总体上能生成相对较好的样本,说明了对抗学习过程的有效性。虽然SMOTE能在一定程度上改善准确率,可是其样本生成是通过在现有样本中插入新样本,缺乏学习样本的过程,因此,可能使生成样本与原始样本差异太大,甚至引入噪声,从而限制了其准确率的提升。在数据集2上,本文方法AGO也取得了最高的准确率,与其在数据集1上的性能表现很接近,说明本文方法能够很好地适应不同的数据集,且对不同的少数类,也能生成质量较好的少数类样本。

此外,在数据集1上,基于GAN的过采样方法中,ACGAN的表现最好,说明引入辅助分类器对提升生成样本的质量有一定作用;WGAN的准确率最低,说明结构改进和信息引入对于分类效果的提升更加明显。SMOTE在数据集1和数据集2上的准确率差别最大,说明SMOTE随机插入样本的普适性较差,也从侧面反映出通过学习原始样本分布来生成少数类样本的优越性。

(2)精确率(Precision)评价

图9展示了两个数据集上的精确率对比。由于精确率是指模型正确预测的少数类样本,可以反映出在生成的少数类样本中引入噪声的情况。引入噪声越少,生成样本与原始样本越接近,即模型学习到的信息越准确,少数类故障的识别也越准确。由图9可知,在数据集1上,本文AGO方法获得了最高的精确率,表明AGO在生成与原始少数类样本相似样本的同时,也增加了与多数类样本的差异,更加容易被识别,即引入的噪声很少。此外,ACGAN+QBC的精确率超过了90%,说明QBC算法的使用可以抑制噪声的引入,生成对分类有利的样本;可是SMOTE相对更容易带来噪声,从而使模型学到不属于少数类样本的噪声特征,最终将部分多数类样本识别成了少数类,所以精确率较低,只有83%。

相比于数据集1,SMOTE在数据集2上的精确率下降很明显,这反映了在少数类类别数较多的情况下,SMOTE更容易引入噪声,其少数类故障识别的精确率更低。此外,ACGAN+AWU在两个数据集上的精确率差别较小,说明了本文的自适应训练策略在数据集中少数类类别数目增多时,仍能使AGO保持较好的性能。在数据集2上,基于各类GAN变体的过采样方法效果相差不大,而ACGAN+QBC和ACGAN+AWU的效果相较原始ACGAN出现了较大变化,这反映了引入其他训练策略的有效性。

(3)召回率(Recall)评价

与精确率对应的另外一个指标为召回率,即少数类样本被识别出来的百分比。该评价指标可以从侧面反映生成的少数类样本的多样性,即当少数类样本足够多样时,训练集中的少数类样本能较好地表征所有少数类样本的模式,模型也能学到足够多样的特征,因此能识别出更多的少数类故障。由图10可知,在两个数据集上,本文方法都取得了最高的召回率,充分说明了AGO生成样本的多样性。

此外,ACGAN+QBC也取得了较好的召回率,说明了QBC算法引导的有效性。SMOTE与基于GAN的过采样方法的召回率相差不大,这是由于SMOTE的随机插值导致生成样本的模式较多,从某种程度上可以提高模型的泛化能力。所有方法在数据集2与数据集1上的效果均相差较小,说明了从数据层面解决不平衡分类问题,对于提高少数类故障识别召回率的有效性。生成样本有助于模型学习到较多的少数类样本特征,从而识别出更多的少数类故障。

(4)F1评价

F1 score是一个综合评价指标,F1 score的值越大,表示该方法不仅可以准确地识别少数类,还可以识别出较多的少数类故障。由图11可知,无论是在数据集1还是数据集2上,本文方法AGO都获得了最高的F1 score,其值约为91。这就表明AGO生成的少数类样本不但接近于原始样本、引入噪声较少,而且生成样本的多样性也好,可以覆盖较多的少数类故障模式。在数据集2上,基于GAN变体的过采样方法的F1 score约为85,比在数据集1上约少1分;而SMOTE在数据集2上的F1 score大约为80,比在数据集1上(约为84)低3分左右,反映出虽然SMOTE可以在一定程度上提高少数类故障的识别效果,但其适应性较差。

5 结束语

面向故障诊断领域存在的类别数据不平衡问题,本文提出了一种基于主动生成式过采样和深度堆叠网络的故障诊断方法。首先,针对GAN生成的样本质量差且多样性不足问题,提出了一种基于QBC和ACGAN的主动生成式过采样方法。借助于主动学习算法QBC和多样性评价指标Diversity,引导W_ACGAN的模型训练过程,并生成多样的、信息量丰富的少数类故障样本,为后续故障分类效果的提升做好数据准备。同时,为了提高ACGAN模型训练的稳定性以及所生成样本的质量,采用Wasserstein距离代替原有的JS散度来衡量真实样本分布与生成样本分布的距离,提出了一种基于损失值的自适应模型参数更新策略,进一步改善生成样本的质量。最后,采用过采样后的数据集训练基于DSN的故障分类器。两个不平衡故障数据集上的一系列实验结果表明,本文提出的故障诊断方法,在少数类故障识别率以及数据集适应性方面,均优于其基准方法。

本文主要从数据处理层面解决因类别不平衡带来的少数类故障难以识别问题,未来将进一步从算法/分类器层面入手,通过设计不同的特征提取或模型训练策略,以增加模型对少数类样本的关注度,提升少数类故障识别率。此外,笔者还将尝试更多不同的数据集,研究并探索故障种类数目较多且边界条件不够清晰时的复杂系统故障诊断问题,以进一步提高本文故障分类模型的泛化能力。

猜你喜欢
分类器标签分类
分类算一算
分类讨论求坐标
无惧标签 Alfa Romeo Giulia 200HP
数据分析中的分类讨论
不害怕撕掉标签的人,都活出了真正的漂亮
教你一招:数的分类
基于实例的强分类器快速集成方法
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
标签化伤害了谁