基于SSA和注意力机制BiLSTM的燃气轮机传感器故障诊断方法研究
2023-09-26程侃如王玉璋杨志鹏杨喜连
程侃如, 王玉璋, 杨志鹏, 杨喜连
(1. 上海交通大学 机械与动力工程学院, 上海 200240;2. 上海发电设备成套设计研究院有限责任公司, 上海 200240;3. 上海交通大学 电子信息与电气工程学院, 上海 200240)
在能源需求急剧增大及我国“双碳”目标的背景下,综合能源系统正在我国迅速发展[1]。作为综合能源系统中的关键设备,燃气轮机的智能化有利于实现系统的高效运行,提高资源的利用效率,从而有利于“双碳”目标的实现[2]。同时,为了提高燃气轮机的可靠性和可用性,需要对运行状态进行实时监测,并对运行工况进行准确控制,状态监测和工况控制依赖于正确的传感器数据[3]。为了获得正确的传感器数据,需要对传感器进行故障诊断,一旦发现传感器存在故障,就进行信号重构并提供给控制系统,因此传感器故障诊断对保证燃气轮机可靠性和可用性至关重要[4]。
传感器故障诊断可分为基于模型的诊断和基于数据驱动的诊断2种方法。基于模型的诊断方法对建模精度有较高的要求,随着控制技术的发展,控制系统复杂度提升,难以构建出精确的模型。故障诊断结果容易受到建模误差的影响,进而降低诊断准确度[5]。基于数据驱动的诊断方法可以避免建模精度对诊断结果的影响,近年来得到了迅速发展。基于数据驱动的方法一般分为信号处理、统计分析、传统机器学习和深度学习等,其中深度学习在各领域中得到了广泛应用,也被很多学者用于传感器故障诊断[6-10],如Sun等[9]提出了一种基于LeNet-5的迁移学习方法,用于氢传感器故障诊断;Yang等[10]提出了一种带有可分离注意力机制的卷积神经网络方法,用于传感器故障诊断。
基于数据驱动的诊断方法通常需要大量数据和带有标签的数据,以实现分类模型的训练,该类方法实现了较高精度的传感器故障诊断,但仍然未解决以下问题:
(1) 故障数据稀疏性的影响。能源装备实际运行过程中,相较于正常数据,故障数据量十分缺少,因此发展基于数据驱动诊断方法必须考虑故障数据稀疏性对诊断精度的影响问题。
(2) 故障幅度微弱性的影响。对于一些传感器,如燃气轮机透平出口温度传感器,由于燃烧室燃烧振荡性和透平固定频率旋转,采集信号不可避免存在固有波动,很容易掩盖小幅故障信号(如噪声故障、周期故障等),造成误诊、诊断精度低等问题。但该参数涉及多个控制回路,必须提升其诊断精度。
目前,现有文献关于传感器故障诊断方法对故障程度的敏感性讨论较少。笔者提出一种基于奇异谱分析(SSA)、双向长短期记忆(BiLSTM)网络和注意力机制的燃气轮机传感器故障诊断方法(简称SSA-attBiLSTM方法),用于解决故障信号稀疏性和幅度微弱性造成的传感器故障诊断精度低的问题。SSA是对一维时间序列的非参数谱分析方法,通过对一维时间序列进行分解与重构,提取出趋势项、周期项与残差项。采用SSA 提取出态势觉察后的传感器信号时间序列的低频分量和高频分量,分别对应故障信号的主要发展趋势和波动性。在分类部分,利用BiLSTM网络在时序信息捕获方面的优越性,以及注意力机制对于主要特征的敏感性,构建基于注意力机制的BiLSTM深度网络对SSA处理后传感器信号的类型进行判断,得到传感器信号类型。
1 燃气轮机传感器故障
燃气轮机的运行条件复杂、工作条件恶劣,其中大部分传感器安装在高温高压的恶劣环境下,因此传感器不可避免的会出现故障。燃气轮机主要传感器类型包括温度传感器(热电偶和热电阻)、压力测量传感器、转速传感器和振动传感器等。
对某电厂(以下简称Z电厂)2016年1月—2021年5月传感器故障次数进行了统计,Z电厂内3台9F级燃气轮机机组5年间共发生540次传感器故障,2016—2020年平均每年每台机组故障32次。其中,温度传感器和压力测量传感器故障频率最高,占总故障数量的50%。
根据对Z电厂历史传感器故障特征进行分析,同时结合参考文献[8]和参考文献[11]中对传感器故障类型的总结,将燃气轮机传感器故障类型定义为偏置故障、单值脉冲故障、漂移故障、周期性故障、噪声故障和短路故障6种不同类型,其数学表达式见表1。其中,x(n)为原信号;n为时间变量;n0为故障发生的时刻;Ai和bi为故障幅度;ω为周期性故障周期;γ为噪声故障随机量。
表1 传感器故障数学表达式
温度信号是燃气轮机控制系统中非常重要且具有代表性的信号,选择透平出口温度传感器信号作为数据来源,用于后续故障诊断方法的试验验证,图1为叠加6类故障后的透平出口温度信号。
(a) 偏置故障
2 燃气轮机传感器故障诊断模型
2.1 SSA-attBiLSTM模型
SSA-attBiLSTM算法的流程见图2。首先,对传感器数据进行SSA分解,重构为趋势项、周期项和残差项;其次,将趋势项和周期项作为输入,使用基于注意力机制的BiLSTM深度网络进行分类。
图2 SSA-attBiLSTM算法示意图
2.2 SSA
SSA是一种处理非线性时间序列数据且与经验正交函数相联系的主成分分析方法,可以有效地将趋势项和周期项分量聚集到若干个子序列中[12]。SSA的具体过程主要包括构造轨迹矩阵、对轨迹矩阵进行奇异值分解(SVD)、分组、对角平均化4个步骤。
首先,根据一维等间隔采样长度为N的传感器信号时间序列x={x1,x2, …,xN}构建M×K阶轨迹矩阵X,其每条副对角线值都相等。其中K=N-M+1,M为窗口长度,取值范围为1 ≤M≤N/2,则轨迹矩阵X可表示为:
(1)
式中:Xi为迟滞序列,Xi=[xi,…,xi+ M-1]T(1≤i≤K)。
X=E1+E2+…+Ed
(2)
最后,进行对角平均化,即将分组得到的矩阵进行重构。将分组得到的矩阵转换为3组长度为N的重构序列。计算迟滞序列Xi在Un上的投影ai,即
ai=XiUn, 0≤i≤N-M
(3)
通过时间经验正交函数和时间主成分来进行重构:
(4)
针对具有固定随机波动且故障幅度较小的传感器原始时间序列信号,使用SSA对数据进行预处理,将原始信号分解为更符合信号大体变化趋势的趋势项和能反映故障细节的周期项,将2项信号作为时间序列输入后续深度网络中进行分类。
2.3 BiLSTM
2.3.1 长短时记忆网络(LSTM)
循环神经网络(RNN)由Elman[13]于1990年提出,采用递归连接构造内部节点,使前一时刻的状态能够影响后一时刻,从而实现网络的状态反馈,这种结构使得 RNN 能够按照输入时序“记住”网络之前的信息,将序列信息按照输入顺序进行利用。然而,RNN对学习较长的时间序列并不擅长,为了更好地提取数据的时间信息,多种RNN的变体网络相继被提出,LSTM即为其中一种。
LSTM以RNN单元为基础,通过在每个RNN单元中增加一个状态神经元,并引入了输入门、输出门和遗忘门对历史信息的选择性利用,可以有效地捕获较长序列数据的信息,对RNN可能产生的梯度消失问题进行改善[14]。LSTM关键在于删除或添加信息到细胞状态,由门结构进行调节和控制。门是一种选择性地让信息通过的手段,由一个sigmoid神经网络层和一个点乘运算组成。
设xt为t时刻网络的输入,LSTM神经元内部的信息传递过程如式(5)~式(9)所示。
it=σ(Wxixt+Whiht-1+Wcict-1+bi)
(5)
ft=σ(Wxfxt+Whfht-1+Wcfct-1+bf)
(6)
ct=ftct-1+ittanh(Wxcxt+Whcht-1+bc)
(7)
ot=σ(Wxoxt+Whoht-1+Wcoct+bo)
(8)
ht=ottanh(ct)
(9)
式中:it、ft、ot分别为输入门、遗忘门和输出门的信息;ht为正向的LSTM输出值;Wxi、Whi、Wxf、Whf、Wxo和Who分别为输入门、遗忘门和输出门与xt、ht-1的连接权重矩阵;bi、bf、bo分别为输入门、遗忘门和输出门的偏置向量;ct为t时刻输入状态单元的信息;Wxc、Whc和Wco分别为ct与xt、ht-1和ot的连接权重矩阵;bc为ct的偏置向量;σ为sigmod函数;tanh为双曲正切函数。
2.3.2 BiLSTM
BiLSTM由前向LSTM层和后向LSTM层组成[15],序列可以在前向和后向2个方向上进行处理,并且2个方向都有独立的隐含层,BiLSTM的网络结构见图3,其中前向 LSTM 从前至后输入序列,后向 LSTM 从后至前输入序列,此过程生成2个隐含层,如式(10)、式(11)所示,图中下标数字为网络单元。yt为t时刻网络的输出,然后BiLSTM连接来自2个 LSTM 网络的信息以计算最终输出。
图3 BiLSTM信息处理过程示意图
ht=f(Wxt+Uht-1)
(10)
(11)
(12)
BiLSTM网络可以使神经元在每个特定时间步捕获过去和未来的信息,因此这种网络可以更全面、综合地提取到传感器信号特征,从而提升网络的分类效果。
2.4 注意力机制
传感器信号经过最后一层BiLSTM后输入至注意力层,注意力层为BiLSTM层输出的序列中的每个特征分量分配一个权重,最终生成输出向量Ft,如式(13)~式(15)所示[16]。
(13)
(14)
(15)
经过注意力层的处理后,提取的传感器信号特征输入全连接层和Softmax层,得到最终传感器信号分类结果。
3 试验建立
3.1 数据集
根据上文分析,透平出口温度传感器是燃气轮机中重要的传感器,因此以透平出口温度传感器为例,对所提出的方法进行试验验证。
Z电厂的燃气轮机为GE 9F级燃气轮机,共有31个透平出口温度传感器。本文使用1号透平出口温度传感器采集数据作为试验的正常信号数据,在此基础上制作数据集。每1 min采样1次运行数据,每段运行数据采集量为10 079个。使用滑动时间窗在这段运行数据上随机选取一段长度为100的正常信号,然后使用第1节中的方法生成偏置、单值脉冲、漂移、周期性、噪声和短路6种故障信号,同时将故障程度设置为3%~10%的小幅故障,叠加在真实运行数据上,生成故障数据。
为了模拟燃气轮机实际运行中故障信号稀疏的情况,用于试验的数据集中正常信号的数量远大于故障信号。设置1 000组正常数据及300组故障数据,正常数据与故障数据的比例约为10∶3。
3.2 试验和超参数设置
本文在Python 3.8环境中实现编译,使用Pycharm作为编译开发环境(IDE),分类模型基于开源库包Pytorch1.11搭建。将原始数据集中20%的数据作为测试集,其余80%数据使用5折交叉验证进行模型训练。模型经过100轮(epoch)训练,通过计算每一轮的评估指标的平均值来训练和验证模型。在试验过程中,批处理大小设置为20,优化器选用Adam,使用MAE作为损失函数,学习率设置为0.000 1,使用 NVIDIA RTX-3080 GPU 进行训练。
3.3 模型评估
分类模型的性能通常使用精确度(Pr)、召回率(Rc)、F分数(Fscore)和准确率(Acc)来评估。本文仍然使用这4个指标对所提出模型的表现进行评估,但由于本文为多分类问题,因此这4项指标的计算方式与二分类有所不同。精确度是指正确分类为A故障的信号数量占被模型识别为A故障的信号总数的百分比;召回率是指正确分类为A的信号数量占实际为A故障的信号总数的百分比;F分数是指精确度和召回率的调和平均值,如式(16)所示;准确率是指所有被正确分类的信号占信号总数的百分比。
(16)
4 试验结果与分析
4.1 SSA处理结果分析
对透平出口温度传感器的原始信号和故障信号进行SSA处理。根据传感器信号序列长度,取M=25,经SVD后降序排列得到各特征值贡献率,第1特征值贡献率最大,将其重构信号作为趋势项;第2特征值到贡献率突变拐点之前的各阶作为周期项重构成分,突变拐点之后的剩余各阶作为残差项重构成分,正常信号和各故障信号的贡献率突变拐点分布在第5~第10特征值之间。因此选取第1特征值对应的矩阵重构为趋势项,第2~第10特征值对应的组合矩阵重构为周期项,其余的组合矩阵重构为残差项。图4为正常信号、偏置故障信号、漂移/恒偏差故障信号和噪声故障信号的原始信号及重构后的趋势项、周期项和残差项。
(a) 正常信号
将原始信号与SSA处理后得到的趋势项、周期项分别绘制在图中,并绘制周期项与原始故障信号的热图,如图5所示。趋势项能够较好地反映信号的大致变化趋势,对于偏置故障和漂移故障,趋势项信号随时间变化呈现增长趋势;对于正常信号、单值脉冲故障、周期性故障和噪声故障,趋势项信号随时间的变化不大;短路故障由于数值瞬时突变为0,趋势项信号呈现大幅度降低。而SSA处理后得到的周期项能够在一定程度上去除噪声的同时,更好地刻画故障特性,保留更多故障细节,从热图中可以看出,周期项对正常信号和周期性故障信号的细节还原效果最好。
(a) 正常信号
4.2 分类结果分析
所提出的SSA-attBiLSTM算法在透平出口温度数据集上的分类结果混淆矩阵如图6所示,图中1-7分别代表正常信号、偏置故障、单值脉冲故障、漂移故障、周期性故障、噪声故障和短路故障,该算法与对比算法的精确度、召回率和F分数见表2~表4,不同算法的准确率对比见图7。
图6 SSA-attBiLSTM分类结果混淆矩阵
表2 各算法分类精确度
表3 各算法分类召回率
表4 各算法分类F分数
试验结果表明,该模型在不平衡的燃气轮机传感器信号数据集上表现良好,准确率可以达到96.5%。各类信号的精确度和F分数均优于对比算法,除正常信号之外,其他信号的召回率均优于对比算法;偏置故障、周期性故障、噪声故障和短路故障的F分数可以达到1.000;单值脉冲故障的精确度可以达到1.000。
对比SSA-attBiLSTM算法和attBiLSTM算法的4项评价指标可以看出:经过SSA处理后再输入attBiLSTM进行分类的表现要优于直接将原始信号输入attBiLSTM进行分类;attBiLSTM无法对漂移故障进行识别,会将其全部归为正常信号,其对偏置故障、单值脉冲故障、周期性故障和噪声故障的识别效果较差。增加SSA对信号进行预处理之后,其对故障信号的敏感性提升。由SSA-attBiLSTM与SSA-单层BiLSTM算法的4项评价指标对比可以看出:SSA-单层BiLSTM对多种信号的识别效果均不佳,而带有注意力机制的BiLSTM深度网络可以更好地捕获信号特征,对多种故障有较好的识别效果。与SSA-SVM的分类结果进行比较,SSA-attBiLSTM算法在多种故障的识别上更具优势。除了SSA-attBiLSTM之外,其他对比算法在漂移故障的精确度和召回率均为0,说明所提方法能够更好地提取到信号特征,获得更好的分类表现。
本文所提方法克服了其他对比算法无法有效识别微小故障的问题,但对微小漂移故障的识别表现仍然有待提高。将数据集中故障幅度增加到10%~30%后,SSA-attBiLSTM算法的表现进一步提升,分类结果混淆矩阵见图8。由图8可以看出,对较大幅度漂移故障的诊断精确度和召回率有大幅度提升,可以达到90%以上,能够有效解决漂移故障与正常信号混淆问题。
图8 故障程度较大时SSA-attBiLSTM分类结果混淆矩阵
5 结 论
(1) 所提出的SSA-attBiLSTM故障诊断方法能有效诊断出各类传感器故障,且诊断准确率可达96.5%。
(2) 该方法能有效处理故障数据稀疏的不平衡数据集,且能准确获取其特征,高精度诊断出数据量稀少的6种故障信号。
(3) 所提方法能够有效获取小幅度故障的信号特征。对于小幅度偏置故障、周期性故障和噪声故障的识别在精确度、召回率和F分数3项评价指标上可以达到100%;对于小幅度单值脉冲故障的识别在3项评价指标上相对其他对比算法有很大提升,精确度可以达到100%,召回率和F分数在90%以上;对于其他算法无法识别的小幅度漂移故障,所提方法也能在一定程度上获取其特征,有一定的识别能力。