Research on Vibration Signal Classification Method of the Key Equipment of Reactor Based on Open-set Recognition
-
摘要: 在反应堆关键设备健康监测的实际工程场景下,设备状态随时间推移持续劣化,监测数据类别逐渐增多,传统数据驱动算法会出现准确度下降甚至失效问题。为克服这些问题,提出了一种开集信号分类方法。首先使用一个变分编码-分类器网络来对已知类别(KCs)进行分类,并学习特征空间的分布以提取隐特征;然后将隐特征拟合Weibull分布,基于极值理论(EVT)确定样本是否属于未知类别(UCs);最后使用反应堆实际运行过程中采集的多类带标签振动信号数据集进行模拟开集实验。实验结果表明,通过选取合适的判别阈值可对KCs和UCs进行有效地识别。本文方法为实际工程场景下,设备逐渐由正常状态出现未知故障的数据分类场景提供了可行的解决思路。Abstract: In the actual engineering scenario of health monitoring of key equipment in reactors, the equipment status continues to deteriorate over time, and the types of monitoring data gradually increase. Traditional data-driven algorithms may experience accuracy degradation or even failure. In order to overcome the above problems, this paper proposes an open set signal classification method. Firstly, a variational coding classifier network is used to classify known classes (KCs) and learn the distribution of feature space to extract hidden features; Then the hidden features are fitted to a Weibull distribution, and whether the sample belongs to unknown classes (UCs) is determined based on Extreme Value Theory (EVT); Finally, a simulated open set experiment is conducted using a multi-class labeled vibration signal dataset collected during the actual operation of the reactor. The experimental results show that by selecting appropriate discrimination thresholds, effective recognition of KCs and UCs can be achieved. The method proposed in this article provides a feasible solution for data classification scenarios where equipment gradually transitions from normal state to unknown faults in practical engineering scenarios.
-
Key words:
- Open-set recognition /
- Vibration signal /
- Health monitoring /
- Signal calssification
-
0. 引 言
随着物联网、工业互联网和大数据技术的快速发展,工业领域针对关键设备的各种监测手段日益丰富,大量的监测数据使机械故障诊断也进入了大数据时代,近年来各类基于数据驱动的故障智能诊断与预测研究层出不穷[1-3]。但这些方法和研究往往停留在实验室阶段,主要是因为研究基于2方面假设,一是可用数据充足的假设,即典型故障信息丰富、健康标记信息充足;二是数据闭集假设,即训练和测试数据的类集是相同的、完备的。在实际工程中,上述假设很难满足,因为实际工程的监测数据具有2个特点:①故障数据少,关键设备长期处于正常的运行状态,正常状态下获取的监测数据多,使得监测数据中的信息重复性高、典型故障信息缺失;②数据标记难,在长期运行过程中积累了海量数据,但仅有极少数数据对应的分类标签已知,多数数据因各类原因而缺少标记,无法直接使用。
目前,针对反应堆关键设备,常采用故障模拟试验的方式,选择与工程同型号的设备,尽可能完备地开展各类故障模拟试验、获取故障试验数据,并基于数据挖掘的手段利用机器学习或深度学习方法构建故障诊断模型。中国核动力研究设计院(简称核动力院)反应堆故障诊断与健康管理技术研究中心针对屏蔽泵不同程度的多类故障试验数据,利用特征量数据和随机森林方法对典型故障模式建立了分类模型,准确率达到97.85%[4];提出基于一维复卷积网络和频域卷积注意力网络的深度学习方法,结合深度学习可解释性算法,得到更高的模型分类准确率。这些做法在实验室阶段得到了较高准确率,但针对工业现场设备健康监测未知类别(UCs)样本逐渐出现的实际场景,仍难以应用到工程场景中,因为传统神经网络难以处理已知类别(KCs)和UCs并存的开集问题[5]。
1. 开集识别概念与方法
基于数据驱动的故障诊断模型在工程化应用中存在诸多阻碍,其中一方面原因是现有大多数基于数据驱动的算法都是基于闭集假设,即训练数据和测试数据的类集是相同的。在这种假设下,神经网络不具备识别UCs数据的能力,而是始终会将UCs数据归入某个KCs,永远无法捕获到UCs,这也导致模型无法完成需要同时对KCs进行分类和识别UCs的开集分类任务[6]。
对于工业现场设备健康监测场景,随着设备的运行,设备的工作条件和运行环境可能会随着时间的推移而发生变化,持续产生的数据中除了KCs外,还会产生具有新特征和分布的UCs[7],这些在训练阶段是不可见的,与常见数据驱动模型的闭集假设相矛盾。而在另一方面,UCs数据通常反映了需要捕获的新的设备运行状态或故障模式,反而更加需要模型对其具备识别能力,并且应及时调整模型现有的决策边界。
开集识别描述了在测试中出现训练时UCs数据的情况,要求分类器不仅要准确地识别KCs,还要有效地处理UCs。因此,当测试样本来自某个UCs时,分类器需要有相应的拒绝能力。
如图1所示,虚线所代表的决策边界是有界的。如果一个样本位于一个KCs的区域内,就被识别为该类别;如果位于一个与任何KCs无关的空间,就会被判别为一个UCs。
在这种情况下,开集假设下建立的分类算法可以被认为是一个n+1分类器(n为训练阶段的KCs的数量;1为UCs)。这样的算法可以对于实际工业现场不断产生UCs(即出现训练阶段没有预期的故障)的场景具备最基本的应对可能性。
2. 实验与数据处理方法
本文参考OpenMAX网络中将深度网络学习的特征与极值理论( EVT) 相结合的思想[8],提出了一个基于变分自编码器(VAE)和分类器的网络,用于对KCs进行分类;采用重参数化生成隐向量特征z,并拟合Weibull分布;利用基于EVT的判别器对样本的拒绝概率进行计算,最终实现将输入样本分为KCs或将其作为UCs拒绝。
本文所提网络的总体技术路线如图2所示。使用的数据集为传感器时序数据,首先在预处理中,对KCs进行快速傅里叶变换,得到其频域信息,将时域与频域信息融合后作为网络输入。其次,训练变分自编码器网络,网络输出一个128维的隐向量作为数据特征;同时,使用数据特征作为分类器网络的输入进行训练,得到一个针对KCs的分类器。最后,基于各个类别的数据特征,拟合Weibull分布极值模型,当测试样本的特征符合已知类别分布时,即为KCs。当测试样本不属于未知类别分布时,即为UCs。
训练和测试所用的数据集来自于在核电现场采集的关键设备振动信号。这些数据是由安装在反应堆一回路压力容器和蒸汽发生器上的13个加速度传感器采集的振动信号。每一条振动信号是在50 kHz采样频率下连续采集100 ms形成,包含5000个数据点。
数据集总共有7个类别(Wave、Noise、Peak、Check、Impact、Jam、Other),在整个实验中,模拟现实情况下每个类别依次出现的场景,先选择某一类作为KCs,其他数据都作为UCs进行开集识别;然后从中筛选出另一类数据添加到KCs中,再拿剩余UCs进行开集识别,以此类推。每完成一次未知类识别后,加入一个新类别进入KCs,再次进行实验。
在每次开集识别实验中,将隐向量特征维数设置为128,自编码器网络结构基于16 w×10 d的宽残差网络(其中w和d分别表示网络的宽和深),分类器由线性层组成。使用mini-batch size为32,学习率为0.001的Adam优化器,batch normalization的值为10−5,激活函数为ReLU。对于每个卷积,设置概率值为0.1的dropout层,防止模型过拟合。将Weibull分布模型的尾部大小设置为每类训练数据示例的10%。使用欧氏距离作为样本隐向量与各类平均隐向量之间的距离度量。
3. 结果与讨论
(1)第一次训练后测试结果如图3。其中KCs为第一次训练使用的已知类别数据,即训练集。图3的横坐标为Weibull分布模型中的判别阈值$ \mathit{\mathrm{\mathit{\Omega}}}\mathrm{_t} $,对待测试样本的数据特征按照Weibull分布模型进行符合性判断,超过$ \mathrm{\mathit{\Omega}}\mathrm{_t} $则视为KCs,低于$ \mathrm{\mathit{\Omega}}\mathrm{_t} $则为UCs。
图3的纵坐标为拒绝概率P(即:将数据识别为UCs的比例),KCs实线代表对测试集中的KCs统计的拒绝概率,其值越低,代表识别越准确;除KCs实线外其他虚线代表对测试集中UCs统计的拒绝概率,其值越高,代表对UCs的拒绝越准确。
第一次训练后,所有类别数据被识别为UCs的P均随$ \mathrm{\mathit{\Omega}}\mathrm{_t} $的增高而降低,其中对于KCs实线,在$ \mathit{\mathit{\mathrm{\mathit{\Omega}}}_{\mathrm{t}}} > 0.04 $时,被误识别为UCs的P已经被控制得较低(<20%),不容易被错分类为UCs;且大部分UCs(除Impact和Other类外)的P均大于90%,这样的结果符合期望值。
(2)将Noise类加入到KCs中进行第二次训练后,再次进行开集识别测试,结果如图4。
第二次训练后,所有类别数据被识别为未知类的P均随Ωt的增高而降低,其中对于KCs(实线),在$ \mathrm{\mathit{\Omega}}\mathrm{_t} > 0.13 $时,被误识别为UCs的P依然可保持得较低(<20%),不容易被错分类为UCs;且大部分UCs(除Other类)的P均较高(可控制在80%以上),但Other类的P与KCs非常贴近;说明在将Noise加入到KCs进行训练后,整体结果出现了轻微波动,且Other类相比第一次训练结果,更容易被误分类。初步分析是数据原因,因为Other类别的数据杂乱无章,包含各式各样特征,且其数据特征与新认知的Noise类的数据特征可能较为接近,因此加入训练后给原模型带来一定程度上的准确率降低。
(3)后续训练中,类似地将Peak类、Check类、Impact类、Jam类逐步加入到KCs,训练后测试结果如图5~图8。由于Other类数据中的杂乱性,在图5中,Other类数据的误分类情况依然存在;直到完成第四次训练、模型已学习完一半以上的数据类别后,图6中的Other类数据才达到一个较高的拒绝水平,这样的结果一直维持到了最后2次训练结束之后,即图7、图8。
4. 结 论
通过使用核电现场采集的关键设备振动信号数据集,模拟现实情况下每个类别依次出现的场景,逐次开展上述开集识别试验,可以得到以下结论:
(1)测试结果总体来看能够达到较好的开集识别表现。在测试时,通过选取合适的阈值,对于KCs可以保持比较低的拒绝概率;对于大多数UCs,能够达到比较高的拒绝概率。
(2)在某些情况下,部分UCs的拒绝概率比较低,如图3~图5中的Other类,原因主要有:①Other类别的数据比较杂乱无章,包含各式各样的特征,易使测试结果产生波动;②在测试集类别数量较少的情况下,发掘潜在类别特征的能力有限,难以得到最佳的隐特征向量z;③新类别加入后有利有弊,优势是在训练时,对于潜在特征的发掘更加有效;劣势是在测试时,利用Weibull分布模型识别开集,有更多的已知类别有可能与测试样本相关。
目前大量数据驱动的方法和研究均停留在实验室阶段,其原因之一是在闭集假设下训练出的离线模型,即使解决了模型迁移和模型在线更新问题,一旦在工业场景遇见未知的新类别数据,也将导致整个模型的失准,甚至失效。
本文建立在传统的无监督学习VAE网络的基础上,提出了变分自编码器与分类器相结合的方法。在大多数任务上,对于KCs和UCs的区分效果得到了明显的改善,总体上验证了所提方法的有效性。所提方法为工业设备健康监测场景下,UCs样本逐渐出现的实际应用环境(如设备在运行过程中逐渐由正常状态出现未知故障),提供了可行的解决思路。
-
[1] ZHAO M, ZHONG S, FU X, et al. Deep residual shrinkage networks for fault diagnosis[J]. IEEE Transactions on Industrial Informatics, 2019, 16(7): 4681-4690. [2] KHAN S, YAIRI T. A review on the application of deep learning in system health management[J]. Mechanical Systems and Signal Processing, 2018, 107: 241-265. doi: 10.1016/j.ymssp.2017.11.024 [3] 雷亚国,何正嘉. 混合智能故障诊断与预示技术的应用进展[J]. 振动与冲击,2011, 30(9): 129-135. [4] 段智勇,刘才学,艾琼,等. 基于随机森林的屏蔽泵故障诊断方法研究[J]. 核科学与工程,2020, 40(4): 625-630. [5] NALISNICK E T, MATSUKAWA A, TEH Y W, et al. Do deep generative models know what they don’t know?[C]//Proceedings of the 7th International Conference on Learning Representations. New Orleans: OpenReview. net, 2019. [6] SCHEIRER W J, DE REZENDE ROCHA A, SAPKOTA A, et al. Toward open set recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(7): 1757-1772. doi: 10.1109/TPAMI.2012.256 [7] TAO Y, SHI H B, SONG B, et al. Hierarchical latent variable extraction and multisegment probability density analysis method for incipient fault detection[J]. IEEE Transactions on Industrial Informatics, 2022, 18(4): 2244-2254. doi: 10.1109/TII.2021.3090753 [8] RUFF L, VANDERMEULEN R A, GÖRNITZ N, et al. Deep one-class classification[C]//Proceedings of the 35th International Conference on Machine Learning. Stockholm: PMLR, 2018. -