摘要
针对工业故障诊断中的小样本和类不平衡问题, 本文提出一种基于马尔可夫链的多模态时序对比生成模型(TCGN). 首先, 为了提升合成数据时间结构的真实性, 设计了一种时序趋势一致化损失(TTC), 以提升真实数据与合成数据之间时间演化规律的相似度. 随后, 为了在增强数据集中形成有效且正确的决策边界, 提出了一种类意识对比损失(CAC), 以对齐真实数据与合成数据的类条件分布. 此外, 为了更好地维持不同学习任务之间的动态平衡, 引入了一种基于马尔可夫链的多模态切换策略, 以实现TCGN算法在生成、刻画、探索、收敛4个模态之间的自适应切换优化. 最后, 将所提出的TCGN算法应用于管道故障诊断. 实验结果表明TCGN算法在视觉评估和量化指标方面均优于一些先进的生成算法, 显著提高了故障诊断准确率.
Abstract
In this paper, a Markov chain-based multimodal time-series contrastive generative network (TCGN) is proposed to tackle the issues of small sample and class imbalance for industrial fault diagnosis. Firstly, a time-series trend consistency loss (TTC) is designed to enhance the similarity of the time-evolving properties between the real and synthetic data, which helps to improve the reality of the synthetic temporal structure. Subsequently, a class-aware contrastive loss (CAC) is proposed to align the class-conditional distributions between the real and synthetic datasets, which facilitates the formation of effective and proper decision boundaries. Furthermore, a Markov chain-based multimodal switching strategy is introduced in this paper, which enables the TCGN algorithm to perform adaptive switching optimization between the four modes of generation, depiction, exploration, and convergence, thus better maintaining the dynamic balance of different tasks. Finally, the proposed TCGN algorithm is applied to pipeline fault diagnosis. Experimental results show that the TCGN algorithm outperforms some state-of-the-art generation algorithms in terms of visual evaluation and quantitative metrics, and significantly improves fault diagnosis accuracy.
1 引言
管道作为一种有效的长距离运输载体已广泛应用于石油与天然气工业,是我国实施能源战略的重要基础设施. 在实际生产中,为满足运输需求和节省土地资源,管道通常埋藏于地下,土壤腐蚀和自然灾害等因素不可避免会导致管道发生穿孔、破损等问题. 若未能及时发现并修复,会引发大量能源泄漏,轻则缩短管道使用寿命、增加经济成本,重则造成环境污染、人员伤亡. 因此,研究如何准确检测和识别管道健康状态,对减少安全事故的发生、提高能源运输的安全性与稳定性,具有重要的现实意义 [1-2] .
近些年,随着深度学习技术的兴起,各领域学者开始关注和研究基于数据驱动的智能诊断方法 [3-4] . 然而,这些先进算法在应用于实际工业场景时并没有展现出理想的性能,原因在于: 1)智能诊断方法有效的前提是训练集中具有充足的故障样本,但管道无法持续运行在故障状态,因此收集的监测数据中故障样本严重稀缺且类别不全; 2)高质量的标签是训练有监督分类模型的必要条件,但人工标注需要花费大量的时间成本和高昂的经济成本且无法保证时效性,导致数据集内的可用标记样本数量不足. 从上述讨论中可以发现,实际场景中可收集到的数据集通常呈现小样本,类分布偏斜特性. 现有的先进算法在处理样本量充足、类均衡、决策边界清晰的数据集时往往可以取得较好的分类性能. 然而当面对小样本且类不平衡数据集时,模型会倾向于忽略小类故障样本来提高对于大多数样本的拟合能力,从而导致准确率降低,误报率与漏报率升高. 因此,研究如何有效地解决小样本和类不平衡问题具有十分重要的指导意义和实际应用价值.
近年来,生成对抗网络(generative adversarial net,GAN)[5] 在学习复杂高维的真实世界数据分布方面表现出了极其优越的性能,为解决故障诊断领域的小样本和类不平衡问题提供了一个新视角,引发了学者们的研究热潮. 通过生成器与判别器的对抗学习,GAN 可以捕捉真实数据的分布特征,生成具有与之相似分布的合成数据,从而有效解决多类不平衡问题,提升诊断模型性能. 然而,传统GAN算法在处理时间序列方面仍有许多困难,无法有效地对高维向量进行特征建模. 为解决上述问题,Esteban等人 [6] 提出引入递归神经网络(recursive neural network,RNN)到生成器与判别器中,以产生现实的实值多维时间序列. Wang 等人 [7] 引入长短时记忆网络(long short-term memory,LSTM)改进原始GAN算法的生成器,使其适用于学习长期依赖信息,提高合成数据质量. 尽管先进GAN算法已经尝试利用时序网络改进传统GAN结构,但 RNN和LSTM的训练很难达到全局最优,导致其不能有效地合成时间结构. 其次,管道运行工况复杂多变,采集的数据特征也不尽相同. 例如,同类别管道数据可能波形相似,但幅值范围相差较大,或是不同类别管道数据可能波形差异明显,但幅值范围相差较小. 在这种情况下,仅提高全局相似性而不考虑局部相关性,往往会使相同类别的合成数据与真实数据不匹配. 综上所述,无论是在实例层面还是类别层面,现有的 GAN算法均难以保证其在管道数据增强中可以展现优越的生成性能.
为了提升合成数据的质量,缓解小样本和类不平衡问题带来的负面影响,本文提出了一种基于马尔可夫链的多模态时序对比生成模型(time-series contrastive generative network,TCGN). 该模型旨在学习整体分布特征的同时,既能考虑合成数据时间趋势的真实性,又可以兼顾类别分布的统一性,以此提升故障诊断性能. 本文的主要贡献总结如下: 1)在实例层面,提出了一种时序趋势一致化损失(time-series trend consistency loss,TTC),通过学习真实数据的时间特征,提高合成时间结构的可靠性; 2)在类别层面,提出了一种类意识对比损失(class-aware contrastive loss,CAC),通过对齐相应健康状态下的合成分布与真实分布,提升类内紧凑性和类间可分离性,进而在增强数据集中形成有效且清晰的决策边界; 3)为了维持不同学习任务之间的动态平衡,本文将TCGN的训练过程划分为生成、刻画、探索、收敛4个模态,并引入马尔可夫链实现了模态之间的自适应切换优化; 4)实验结果表明,TCGN在定性特征可视化与定量指标评估中明显优于一些先进算法,成功解决了小样本和类不平衡问题,提升了管道故障诊断准确率.
2 基于马尔可夫链的多模态时序对比生成模型
围绕管道数据增强任务,本文提出了一种同时学习真实数据时间结构和局部分布类别特征的时序对比生成模型. 其中,为了维持不同学习任务之间的动态平衡,设计了一种基于马尔可夫链的多模态切换策略,有效提高了合成数据的质量. TCGN算法的整体结构如图1所示. 下面对TCGN算法的原理进行详细说明.
2.1 时序趋势一致化损失
考虑到GAN算法在非时间序列数据上的巨大成功,许多研究人员尝试将现有的非时间序列数据的工作直接拓展到时间序列数据的场景中. 然而,由于缺乏对时间动态特性的认知能力[8],这些算法在生成时间序列数据方面的性能有限,无法满足实际应用需求. 为解决这一问题,本文提出了一种新的TTC损失,目的是提升生成模型合成时间关联结构的能力. TTC损失的过程可以表述为: 1)根据振幅变化趋势将数据分成不同长度的子序列; 2)依据分割后序列的倾斜程度将子序列划分为不同的模式; 3)计算重构后的真实数据与合成数据的相似性. 具体计算过程如下所示.
假设长度为 L 的管道时序数据可以表示为 X = {x1,x2,· · ·,xL},则分段后的时间序列可以表征为是子序列模式,S代表一个时间序列样本被分割后的区段数. 因此,第j个真实数据与合成数据之间的时序趋势相似性可描述为
(1)
式中: wi,s = li,s/L是权重系数,li,s代表第 i 个样本、第s 区间段时间序列的长度; g和r分别代表合成数据和真实数据; 代表第i个样本、第s区间段子序列的模式,具体地说,代表下降趋势,代表平稳趋势,代表上升趋势; 是第s个区间段的端点幅值差. 由此,可以得到总体时序趋势一致化损失为
(2)
式中N是生成样本数. TTC损失的目的是突出时间序列的趋势变化并弱化由于空间转换或人为选择偏差导致的序列异常点,从而加强对于时间演化规律的学习能力,进一步提升合成数据的真实性和模型鲁棒性.
图1TCGN算法的网络结构
Fig.1Network structure of TCGN algorithm
2.2 类意识对比损失
传统GAN算法主要关注如何通过对抗学习提升真实分布与合成分布之间的全局相似性,而忽略了对应健康状态下真实子分布和合成子分布之间的关系. 在这样的情况下,来自不同类别的真实数据与合成数据的判别性结构会被混淆,致使细粒度信息丢失. 因此,现有的生成模型难以准确恢复故障数据特征,导致增强数据集可靠性不高. 考虑到对应子分布的关系,本文分析了增强数据集的特性: 1)同一类别中的合成数据应保持一致,不同类别的合成数据之间应具有明显区分性; 2)真实数据集和合成数据集中的同类别子分布应保持对齐,不同类别子分布之间应存在一个清晰且有效的决策边界.
为了提升增强数据集的可判别性,本文提出了一种基于最大均值差异(maximum mean discrepancy,MMD)[9] 的CAC损失来学习局部分布的判别特征,迫使合成数据向其相同类别的真实数据聚拢,同时扩大不同类别合成数据与真实数据之间的距离. 具体实现方式如下所述. 首先,不同类别合成数据与真实数据的对应分布差异可以表示为
(3)
式中:代表再生希尔伯特空间(reproducing kernel Hilbert space,RKHS); C代表类别总数; y是类别标签; φ代表从样本空间到RKHS的非线性映射. 式(3)计算的是c类别的合成数据与所有非此类别的真实数据之间的差异,可以称之为类间差异. 通过优化类间差异,TCGN算法可以学习到清晰的决策边界,从而较好地刻画不同类别分布间的决策边界. 其次,类内损失的计算方式如下:
(4)
式(4)计算的是同类别合成数据与真实数据之间的差异,可以称为类内差异. 通过缩小类内差异,TCGN算法可以获得更紧凑的样本特征,从而进一步提升分类准确率.
为了明确合成样本的类别信息,本文采用条件 GAN网络(conditional generative adversarial networks,CGAN)[10] 作为TCGN算法的基线. 因此,时间序列生成器的损失函数为
(5)
判别器损失函数为
(6)
2.3 基于马尔可夫链的多模态切换策略
遵循大多深度学习算法所采用的优化策略,TCGN中生成器的总体损失函数可以表述为如下形式:
(7)
式中α,β,γ是平衡超参数. 尽管TTC与CAC可以提高合成数据的质量,但式(7)所示的优化策略对于TCGN的训练来说并不是最佳方案,原因如下.
首先,TCGN 的学习任务可以概括为以下 4点: 1)提升合成时序结构的真实性; 2)扩大不同类别合成数据与真实数据之间的差异性; 3)增强相同类别合成数据与真实数据之间的相关性; 4)提高合成数据与真实数据之间的全局相似性. 在训练过程中,个体任务的困难程度可能导致所有任务的训练进度不一致. 因此,根据式(7)进行优化,往往会限制某个阶段的任务学习,导致生成性能退化或停滞. 其次,引入TTC损失与CAC损失在一定程度上加大了生成模型的优化压力,增加了模型过拟合的风险. 此外,多超参数组合寻优很难找到最优解,导致生成性能不佳. 综上所述,传统的优化策略难以适配TCGN训练,可能会降低增强数据集的整体质量.
为了解决这个关键问题,本文根据上述学习任务将TCGN的生成器分为 4种不同的模态,即生成、刻画、探索和收敛,并引入马尔可夫链实现4种模态的自适应切换优化,提升训练稳定性 [11] .
马尔可夫链的原理如下: 假设为非负整数集)是在有限状态空间中取值的马尔可夫链,其概率转移矩阵可以通过下式得出:
(8)
式中代表从 i 到j 的转移概率,且
基于马尔可夫链的多模态切换策略的原理如下: 根据生成器当前迭代次数下的所属模态来预测下一时刻的生成器模态,从而完成不同任务之间的切换学习. 为了实现这一过程,本文引入演化因子Ef来判定生成器所属模态,Ef的定义如下:
(9)
式中: Fh代表第 h 次迭代时合成数据的评估分数; Fmax和Fmin分别是h次迭代内评估分数的最大值和最小值. 根据文献 [12],评估分数Fh的计算方式如下:
(10)
式中: 第1项是判别分数均值,代表合成数据的真实性; 第2项是判别器的负对数梯度范数,表征合成数据的多样性; λ是平衡质量与多样性的超参数.
根据演化因子E——的值,可以评估生成器的当前模态,如下所示:
(11)
式中: ξ(h)= 1代表生成模态; ξ(h)= 2代表刻画模态; ξ(h)= 3代表探索模态; ξ(h)= 4代表收敛模态. 具体细节描述如下:
1)生成模态{ξ(h)= 1}.
TCGN算法的主要目的是完成从无序潜在变量到时序结构的映射. 因此,在生成模态,TCGN联合优化了生成器损失与TTC损失,以提升合成数据时间维度的真实性,如下所示:
(12)
式中α是平衡生成损失和TTC损失的超参数.
2)刻画模态{ξ(h)= 2}.
TCGN算法的任务是学习不同类别真实数据和合成数据之间的差异,促进模型学习决策边界. 在此模态,TCGN联合优化了生成器损失与类间损失,如下所示:
(13)
式中β是控制生成损失与类间损失平衡的超参数.
3)探索模态{ξ(h)= 3}.
TCGN算法的主要任务是加强同类别合成数据与真实数据之间的相互关联,提升合成序列判别特征的可靠性. 该模态的损失函数描述如下:
(14)
式中γ是调整生成损失和类内损失比例的超参数.
4)收敛模态{ξ(h)= 4}.
为了加速生成器进入全局最优区域的进程,在此模态,本文仅采用了单一生成损失,加快模型收敛速度. 该模态的损失函数可表述为如下形式:
(15)
在训练的开始阶段,设定生成器为生成模态,在经过演化因子评估后,马尔可夫链会以一定的概率预测生成器在下一阶段的所属模态,此过程的转移概率矩阵可以定义为
(16)
3 TCGN生成性能实验结果与分析
3.1 实验设置
本文所使用的训练数据采自于管道仿真平台中的声波传感器. 管道总长度为180 m,实验过程中,设置压力为0.5 MPa,流速为10 m3 /h. 根据阀门开合度,数据集中包括大泄漏、中泄漏、小泄漏、正常4种健康状态,总样本量为2 000,每种健康状况下样本量为500.
TCGN算法由两个模型组成,即判别器和生成器,其架构如表1和表2所示.
表1判别器模型结构
Table1Model architecture of discriminator
在TCGN算法的训练过程中,总迭代次数为2000; 每次循环中,判别器训练次数为5,生成器训练次数为10; 批量大小为100; 训练采用的优化器为Adam,学习率为1e―4; α,β,γ均为0.01; 根据文献 [12],平衡超参数λ为0.001. 本文中所提及的算法均由PyTorch框架搭建,在NVIDIA GEFORCE RTX 3090 GPU上训练.
表2生成器模型结构
Table2Model architecture of generator
3.2 对比算法
为了全面评估TCGN算法的生成性能,本文选取了7种数据增强方法进行对比研究. 第1类对比算法为传统插值方法,即合成少数类过采样(synthetic minority oversampling technique,SMOTE)算法 [13] . 第2类对比算法为基于深度学习的方法,即变分自编码器(variational auto-encoders,VAE)[14] . 第3类对比算法为未考虑时间结构的GAN方法,包括最小二乘GAN 算法(least squares GAN,LSGAN)[15]、基于辅助分类器的GAN算法(auxiliary classifier GAN,ACGAN)[16]、 InfoGAN [17] . 第4类对比算法为考虑时间结构的基于 GAN的方法,包括TTS-GAN [18] 和MAD-GANs [19] .
3.3 定性可视化分析
为了比较生成的样本和相应的真实样本之间的相似性,本文将生成的管道数据以折线图的方式进行呈现,如图2所示,其中第1行为大泄漏,第2行为中泄漏,第3行为小泄漏,第4行为正常状态. 首先,从图2(a)–(b)中可以看出,SMOTE算法与VAE算法很难恢复真实数据时间维度上的振幅变化,导致合成序列仅具有大致趋势而不具备有效判别特征. 图2(c)–(e)中的合成数据虽然在变化趋势与幅值方面都与真实数据接近,但这些算法弱化了管道数据的时间属性,导致合成数据中包含过多的噪声,无法用于扩充管道数据集. 此外,由于TTS-GAN 算法与 MAD-GANs算法采用了适用于学习时间序列的网络结构,因此生成的数据较之前的算法特征更加显著,但仍包含一定的噪声,如图2(f)–(g)所示. 不同于上述对比算法,TCGN算法很好地学习了样本空间的时间信息与判别特征,这使得合成管道数据的局部细节与整体结构都更加自然和平滑.
3.4 定量统计指标分析
为了进一步验证合成数据的有效性,在本小节中,利用MMD作为量化生成算法性能的一个统计指标. MMD的基本思想在于: 以两个分布之间差距最大的阶矩作为度量两个分布相似性的标准. 一般来说,该值越小就意味着两个分布越相似.
图3展示了不同健康状态下的实验结果. 从柱状图的分布中可以看出,TCGN算法明显优于所有的对比算法,在4种健康状态中均取得了最佳的统计结果. 具体来说,SMOTE算法和VAE算法的所有健康状态MMD值均超过3.0. 同时,LSGAN,ACGAN,InfoGAN,TTS-GAN的MMD值均高于2.0. 此外,从图中可以看出,MAD-GANs取得了相对较好的统计结果. 尽管如此,TCGN算法的大泄漏、小泄漏、正常状态的MMD 值均在1.5以下,小于几乎所有算法的MMD值(中泄漏状态与MAD-GANs持平). 通过以上分析,可以得出结论: TCGN算法生成的管道数据,其统计特性更接近于真实数据.
4 故障诊断实验结果与分析
4.1 模型训练与实现细节
管道故障诊断是管道安全运维中十分重要的一环,对于延续管道寿命和降低运输不稳定性至关重要 [20] . 为了进一步证明所提出的针对小样本和类不平衡数据集的TCGN算法的优越性,本文在不同增强率(augmentation rate,AR)下进行了故障诊断实验. AR的定义如下:
(17)
图2真实样本和生成样本的比较
Fig.2Comparison of real and generated samples
图3真实分布和生成分布之间的统计学相似性
Fig.3Statistical similarity between real and synthetic distributions
在实验中,正常状态的管道数据量为2 000,其他健康状态的数据量随AR变化. 数据集的详细信息如表3所示.
表3数据集信息
Table3Information of dataset
为了减小分类模型对诊断性能的影响,本文选择了适用于时间序列分析的LSTM作为故障分类器. 训练过程中,批量大小为256,训练次数为5 000,优化器为Adam,学习率为1e–4.
4.2 评价指标
4.3 故障诊断实验结果
表4和表5展示了所有方法的实验结果. 表中所有最高准确率以粗体标注,所有次优准确率以下划线标注. 表4给出了AR = 50 : 1和AR = 20 : 1情况下的实验结果. 在AR = 50 : 1情况下,TCGN算法优于所有比较的传统算法,并在深度方法中获得了第2好的诊断结果,有最佳的召回率(72.50%)以及第2好的精确率(74.61%)、F1分数(73.49%)和特异性(92.26%),这接近于TTS-GAN 所取得的最好的精确率,F1分数(+2.3%)和特异性.
表4增强比例为50:1和20:1的不同合成数据集的故障诊断性能(%)(括号内为提升比率)
Table4Diagnostic performance of different synthetic datasets for AR 50:1 and 20:1 (%)
表5增强比例为10:1和1:1的不同合成数据集的故障诊断性能(%)(括号内为提升比率)
Table5Diagnostic performance of different synthetic datasets for AR 10:1 and 1:1 (%)
需要注意的是,作为一种基于深度神经网络的方法,TTS-GAN显示出相当有竞争力的性能. 此外,在 AR = 20 : 1情况下,TCGN算法不仅优于传统算法,而且获得了比所有深度方法更好的诊断结果,在精确率、召回率、F1分数,以及特异性上均取得了最高的准确率.
表5显示了AR = 10 : 1和AR = 1 : 1情况下的实验结果. 在AR = 10 : 1情况下,相较于表4中的实验结果,在数据集趋于平衡的过程中,TCGN取得了很大的进步,在精确率(98.55%)、召回率(84.80%)、F1分数(88.34%)和特异性(94.73%)方面都获得了最好的性能,超过了第2好的TTS-GAN 算法,分别提升了0.2%,4.3%,4.9%,1.0%. 此外,在完全均衡的数据集下,基于TCGN算法的分类模型性能得到了显著的提升,取得了最佳的诊断结果.
从表4和表5的实验结果中可以看出,TCGN算法的综合性能优于所有对比算法,并在不同的AR下表现出了更强的鲁棒性. 结论如下: 1)与基于过采样的 SMOTE方法以及基于重构误差的VAE方法相比,基于对抗框架的深度生成模型可以更好地解决小样本和类不平衡问题; 2)未考虑时间结构和类别信息的传统GAN算法及其变体,仅注重通过深层网络提取特征并合成样本. 然而,这些特征的时间结构不清晰且故障属性较弱,很难提升故障诊断准确率; 3)更高的精确率代表着更低的误报率,更高的召回率代表着更低的漏报率. 在AR = 50 : 1,20 : 1,10 : 1的情况下,TCGN算法一直呈现高精确率、低召回率的特征. 此时分类模型虽无法准确检测所有健康状态的所有数据,但是分类模型得到的阳性预测结果可信度非常高. 随着数据集趋于平衡,TCGN算法表现出了高精确率、高召回率的特征,此时分类效果最好.
5 讨论与性能分析
为了更好地评估本文的方法,本文从特征可视化以及消融研究方面分析其性能.
5.1 特征可视化
为了进一步验证合成样本故障特征的有效性,本文采用T-SNE算法将不同健康状态下的管道数据降维并投影至二维平面,以衡量从真实样本和合成样本中提取的特征的相似性. 从图4(a)–(b)中可以看出,SMOTE算法与VAE算法混淆了不同健康状态的样本特征,导致合成数据散落在全局区域内,既不靠近同类别真实数据也不区别于不同类合成数据. 另外,由图4(c)–(e)可知,传统GAN算法及其现有变体也不能很好地保留样本的判别特征. 其次,通过观察图4(f)–(g)可以发现,尽管合成数据有同类聚拢和异类分散的趋势,但对应健康状态下的合成数据与真实数据之间仍存在误匹配问题. 对比上述实验结果,本文的TCGN算法展现了更为优越的性能,如图4(h)所示.
5.2 消融研究
为了确认所提方法中每个组成部分对性能提升的贡献,本文在本小节进行了消融研究. TCGN算法的变体定义如下: 1)TCGN-TTC: 从TCGN模型中删除了 TTC损失; 2)TCGN-CAC: 从TCGN模型中删除了CAC损失; 3)TCGN-Markov: 采用了传统优化策略代替基于马尔可夫链的多模态切换策略来训练TCGN模型.
通过观察图5,可以得出以下结论: 1)TTC损失可以学习真实样本的时间动态特性,从而提高合成样本时间结构的真实度和减弱噪声干扰; 2)CAC损失可以聚拢同类别真实样本与合成样本,并扩大非同类真实样本与合成样本之间的距离; 3)基于马尔可夫链的多模态切换策略可以动态调整不同损失之间的平衡,保证TCGN模型可以沿着最优路径完成所有学习任务,并快速达到收敛状态; 4)只有当所有组成部分同时工作时,TCGN算法才可以达到最佳生成性能.
图4T-SNE特征可视化
Fig.4Feature visualizations via T-SNE
图5每种方法的混淆矩阵
Fig.5Confusion matrix for each method
6 结论
本文提出了一种基于马尔可夫链的多模态时序对比生成模型. 首先,为了提高实例层面的真实性,提出了TTC损失以增强合成数据与真实数据在时间维度的相似度. 此外,考虑到合成分布与真实分布之间存在的误对齐问题,设计了CAC损失,以促进合成数据向同类别的真实数据聚拢,分散不同类别的数据. 在此基础上,引入了一种基于马尔可夫链的多模态切换策略,实现了TCGN算法在生成、刻画、探索、收敛4 个模态之间的自适应切换优化,有效提高了合成数据的质量. 最后,将所提出的TCGN算法应用于管道数据增强,成功解决了小样本和类不平衡问题. 实验结果表明,TCGN算法在视觉评估和量化指标方面均优于一些已存在的数据增强算法,显著提升了管道故障诊断准确率.