基于自监督学习的动力设备异常检测方法

2023-12-30 14:26乔怡群刘克新郭云翔
空间控制技术与应用 2023年6期
关键词:动力设备掩码卷积

乔怡群, 王 田,2,3*, 刘克新,3, 王 丽, 吕 坤, 郭云翔

1. 北京航空航天大学 自动化科学与电气工程学院,北京 100191 2. 复杂关键软件环境国家重点实验室,北京 100191 3. 中关村实验室,北京 100191 4. 武汉高德红外股份有限公司,武汉 430205

0 引 言

空间技术是指利用各种科学技术手段开展空间活动的技术,是提高国家综合实力和国际地位的重要标志.动力设备是航空航天技术的核心部件,它的性能和可靠性直接影响着飞行器的安全和效率[1].空间技术的发展离不开动力设备的支撑.动力设备技术性能、可靠性、安全性、经济性等方面的提升,都将为空间技术的进步带来巨大的推动力.

在实际情况中,动力设备数据是由多传感器进行采集的,这些采集到的数据反映了系统的不同状态.基于这些采集到的传感器数据,能够有效提取表征信息就显得尤为重要[2].

异常检测其定义而言是从正常数据中挖掘不正常情况的技术.动力设备中存在的故障或异常往往会影响其性能,甚至造成极为严重的事故.通过传感器数据,应该及时准确地捕获到系统中出现的异常,这对于保障动力设备的可靠性与安全性具有重要意义.

简单来说,异常检测的方法可以分为传统的机器学习方法和基于深度学习的方法.传统的异常检测方法包括时间序列模型,如自回归移动平均模型[3]、马尔科夫模型[4]、卡尔曼滤波[5]等.这些方法在检测精度上一般不够高,同时对于高维的长时间序列数据特征的提取不够好.随着深度学习的发展,神经网络被应用于异常检测,并表现出优于传统方法的检测性能.

基于深度学习的异常检测方法可以简单的分为有监督学习和无监督学习.在监督学习的训练网络阶段,必须对训练数据进行标记.工业数据的标签样本需要由经验丰富的工程师手工标记,成本高、耗时长.如果在整个训练过程中标记的异常样本数量不足,则不平衡的训练结果将导致学习的不充分.无监督学习是指在未标记的数据集上解决模式识别问题.在异常检测中,基于预测或基于重建的方法是最常用的.在训练集大小方面,无监督学习可以远远超过监督学习.在训练过程中使用正常数据集通常很重要,而异常数据在训练样本中的不同比例可能会导致不同的检测准确率.因此在现实场景中需要仔细筛选和选择数据集.具体方法而言,MALHOTRA[6]等引入了一种基于LSTM的编码器-解码器模型,该模型学习表示正常时间序列行为的特征向量,用于传感器异常检测问题,然后应用重建误差检测异常.LIN[7]等提出了将VAE和LSTM相结合的异常检测模型.该模型利用了VAE模块在短窗口形成稳健的局部特征,同时又使用LSTM在VAE推断的特征上估计长期相关性.LI[8]等提出了基于LSTM-RNN的GAN模型,利用GAN网络的判别器和生成器重建数据和实际样本之间的残差,来检测网络物理系统中的异常.这些无监督方法依赖于从输出或预测任务中重建输入.然而,预测或重建方法可能不是表征学习所必需的.

当训练集有异常数据时,训练模型是一项困难的工作.YANN认为,自我监督是未来人工智能研究的一个重要点[9].他认为,在人工智能系统中,自我监督学习是最有希望建立背景知识和近似常识形式的方法之一.

自监督学习在近几年得到了迅速的发展,并已经应用于图像处理[10]、视频处理[11]和自然语言处理[12]等领域,并取得了较好的效果.目前多数的自监督学习方法研究集中在视觉处理和自然语言处理领域中.在计算机视觉中,自监督表示学习的方法逐渐受到研究者的关注.CARL[13]等使用拼图来构建辅助任务,通过分割图像并预测这些部分的相对位置来训练图像网络.CHEN等在文章[14]中强调了各种数据增强方法的重要性,并在数据表示和对比度损失之间引入非线性转换,提高了学习到的表征质量.基于生成的自监督表示学习方法也越来越受到关注.HE[15]等提出了一种基于掩码的自编码器,通过非对称编码器结构对骨干网络进行预训练;文献[16]在此基础上进行了改进,通过预测被遮挡区域的特征,而不是重建原始图像实现网络的预测.在自然语言处理中,BERT模型采用自监督学习进行预训练,包括对词向量的预测等,并在此基础上,又进一步发展了其他的预处理方法,例如:句子顺序预测、预测中心词汇等,这些方法取得了较好的效果.自监督学习在时间序列异常检测领域的研究很少.在文献[17]中,DELDARI等首先提出了对比学习方法用于时间序列变点检测,时序卷积网络[18]被用于提取序列特征.

自监督方法可以认为是一种特殊的无监督方法.自监督方法与有监督学习相比,训练样本不需要标注,可以使用更大规模的训练数据集.与无监督学习方法相比,可以在训练过程中学习到更加通用的表征信息.因此,本文在基于自监督表征学习方法的异常检测领域做一些初步的工作.

本文主要的贡献如下:1)首先是引入了自监督学习的策略实现动力设备数据的异常检测.该网络通过特定的任务在模型预训练阶段提取序列数据的一般性表征;2)提出了一种用于传感器数据的特征提取网络,该网络可以从时间序列数据中提取有效的、通用的特征,并针对不同的特征通道赋予不同权重;3)针对序列数据的增强,提出了两种不同的增强策略,包括加入噪声与随机遮掩方法.异常样本可以看作是数据增强的方式,在现实场景中异常样本数量有限,因此在训练阶段不需要剔除异常数据.

1 方法概述

基于自监督学习的异常检测方法可以分为数据预处理、模型预训练以及下游任务训练3个不同的阶段,其总体流程图如图1所示.首先是数据预处理,针对采集到的动力设备传感器数据,通过归一化的手段将采集到的不同范围的数据转化为相同的尺度.模型的预训练将采用对比学习的方式,通过数据增强和无标签的学习,让模型学习到更加一般性的表征.下游任务训练则针对动力设备的数据进行异常检测任务的训练,并在测试集上计算模型评价指标,验证算法的有效性.

图1 异常检测总体流程图Fig.1 Overall process of anomaly detection

2 异常检测算法设计

针对动力设备的异常检测问题,下面分别介绍数据预处理、数据表征学习、数据增强方法以及整体的网络结构.表1定义后文中用到的符号并说明其含义.

表1 符号与含义Tab.1 Symbol and meaning

2.1 数据预处理

动力设备采集到的不同的传感器数据具有不同的范围和量纲,导致训练的过程中不容易稳定.本文采用常见的最小-最大归一化方法将数据缩小到指定的范围之间,计算公式如下:

(1)

式中,x代表了原始的输入数据,xmin代表了原始输入数据的最小值,xmax代表了原始输入数据中的最大值.通过式(1),可以完成数据的归一化预处理.预处理前后的数据如图2所示.可以看到,处理前数据的范围在641.1~644.7之前,处理后的数据在0到1之间分布.

图2 数据预处理前与预处理后Fig.2 Before and after data preprocessing

2.2 数据表征学习

通过自监督学习的方式,在预训练阶段通过无标签的数据,完成特征提取器的表征学习.特征提取器将时间序列特征映射成紧凑的嵌入表示,是自监督学习的基础,其结构将在后文中进行描述.自监督学习的总体结构如图3所示.

图3 自监督学习的结构Fig.3 Structure of self-supervised learning

向量序列(xi,…,xseq)从序列(x1,…,xn)中采样得到,通过不同的数据增强的方法得到vt(x)以及v′=t′(x).随后通过特征提取网络fθ和fδ分别得到数据的表征y和y′.特征提取网络得到的表征y经过投影头和预测头得到向量qθ,表征y′经过投影头得到向量zδ.最后可以计算向量之间的损失函数,损失函数计算方法如下:

lθ,δ

(2)

δ←τδ+(1-τ)θ

(3)

其中,τ是人为选定的超参数,范围在[0,1]之间.在预训练完成后,即可以获得特征提取器fθ用于下游任务的训练.训练的流程图如表2所示.

表2 模型训练阶段流程图Tab.2 Flow chart during model training

2.3 数据增强方法

下面将对两种不同的数据增强方法进行介绍.

2.3.1 加入高斯白噪声

通过采集到的多传感器的数据,针对不同的传感器数据分别计算数据的均值和方差,并根据下面的公式将高斯白噪声加入到数据中.

x′=x+γ·noise(0,std)

(4)

其中,x代表了原始的数据,x′是增强后的数据,γ∈[0,1]代表噪声率,noise(0,std)代表了生成一个均值为0,方差为std的高斯白噪声.在对比学习时加入高斯噪声,可以提高模型学习的鲁棒性和泛化能力.通过向输入数据添加噪声,模型被迫学习对输入中的微小变化具有鲁棒性的特征.高斯噪声的选择方法主要是根据噪声的标准差来调节.但过大的标准差也可能使模型更难以从数据中学习有用的特征.

2.3.2 数据掩码

通过掩码的方式将数据中的一部分遮掩掉.具体的操作方式如下:首先利用伯努利分布确定需要在原始数据中掩码的位置,随后将确定的位置采用mask的方式替换原始数据,数据掩码的方式如图4所示.

图4 数据掩码方式Fig.4 Data masking mode

在对比学习中,通过使用数据掩码,模型被迫学习对输入中的缺失或不完整的信息具有鲁棒性的特征,这可以帮助它在处理不同类型或质量的数据时表现更好.

2.4 网络结构

下面将对网络的每部分模块以及整体的网络结构进行介绍.

2.4.1 空洞因果卷积

传感器数据是时间序列数据,异常的确定通常需要从异常之前的一段时间进行分析.神经网络需要更大的感受野来建立更长时间的联系.使用CNN会导致层和模型参数的激增,而递归神经网络(RNN)或LSTM按顺序输入,并且存在梯度爆炸或缓慢的训练问题.

本文使用空洞因果卷积代替一般卷积,模型中使用更少的网络层数和模型参数获得更大的感知场.因果卷积允许网络在时刻t的输出只与时刻t之前的输入相关联,如图5所示.这个操作是通过零填充实现的.这样可以避免未来信息对当前时刻网络输出的影响.因果卷积的每一层的输出由前一层对应的位置输入及其前一位置的输入得到.扩展卷积跳过部分输入,滤波器可以应用于比滤波器本身长度更大的区域,从而可以获得更大的感受野.

图5 普通卷积、因果卷积与空洞卷积Fig.5 Normal convolution, causal convolution, dilated convolution

2.4.2 多头注意力机制

注意机制的过程可以描述为通过查询Q和键值K计算分数,然后将分数与值V相乘得到输出.其中,Q,K以及V都是向量.

对于空洞因果卷积提取到的特征,输入到多头注意力机制中.输入分别经过Wq、Wk和Wv的全连层得到Q,K以及V的值.V的维度是dv,Q和K的维度是dk.在计算Q和K的点积后,通过softmax得到各个值的权重,具体的计算方法如下:

(5)

softmax()函数的计算公式为

(6)

其中exp()代表了指数函数.

多头注意力机制是注意力机制的完善,在不同的空间建立不同的投影信息.将输入矩阵进行不同的投影,在得到许多输出矩阵后,将其拼接在一起.

MultiHead(Q,K,V)=ZWO
Z=Concat(head1,…,headh)

(7)

2.4.3 通道注意力机制

在本文中,采用通道注意力机制,通过学习不同的权重来平衡不同通道的贡献.具体的计算方法如下:

Ga=softmax(WU·ReLU(WP·T))

(8)

其中,ReLU(x)=max(0,x),T为输入的特征向量,特征维度是m,WP和WU均为全连接线性层,WP将特征维度变为了m/2维,WU将特征维度再映射为m维.最后通过softmax函数将得到的权重归一化,softmax函数的计算方法参见式(6).通过这种方式,将学习到的权重和原通道相乘,从而赋予原通道不同的权重,并采用残差连接的方式和网络中的其他模块衔接起来.

2.4.4 残差网络

残差网络是一种卷积神经网络,其内部使用了跳跃连接,由大量的残差块组成.残差块的特点是将输入直接传递到输出,并与经过卷积、激活函数等操作后的输出相加.这种结构可以缓解深度神经网络中增加深度带来的梯度消失和梯度爆炸问题,其优点是:可以训练更深的网络,从而提高准确率;易于优化,即使网络很深也很容易收敛;可以应用于各种任务,包括图像分类、物体检测、自然语言处理等.计算公式如下:

xl+1=xl+F(xl,Wl)

(9)

其中,xl+1代表的是残差模块的输出,xl代表的是残差模块的输入,F代表的是残差模块中的函数.

2.4.5 整体网络结构

网络的整体结果如图6所示.整体上包含了空洞因果卷积,通道注意力机制,注意力机制、归一化模块.对于动力设备上采集到的数据,首先采用归一化等手段将数据做归一化处理,并将数据切片;随后利用空洞因果卷积对数据的特征进行提取,空洞因果卷积可以拥有更大的感受野;随后利用通道注意力机制进一步对提取的表征进行处理并将表征输入到多头注意机制中.多头注意模型有助于从多维数据中提取特征,并可以并行处理序列数据.归一化模块和残差模块有助于提高模型自监督表征学习过程中的训练稳定性.

图6 网络结构图Fig.6 The network structure

3 实验分析

在本章节中,将通过实验去验证所提方法的有效性.

3.1 数据描述

本实验采用的美国国家航空航天局(national aeronautics and space administration,NASA)提供的发动机模拟数据集合.该数据集记录了多个传感器通道数据来描述动力设备的故障演化,从开始的正常状态到最终的故障停止运转.数据集由多维度的时间序列组成,包含了26列,分别为编号、时间周期、操作设置与传感器测量值.针对采集到的所有数据,将对各个通道的数据做特征分析,分别计算均值和方差,对于方差过小的通道进行剔除,从而保证模型的学习效果.

3.2 参数设置

在实验中,采用了Pytorch框架和Nvidia 2080Ti显卡为模型的训练进行加速.在模型训练中,采用了SGD优化器.在实验中时,学习率给定的是0.000 5.

针对特征提取器,空洞因果卷积的输出维度是64.多头注意力机制的模型的维度与卷积层输出维度相同,都是64维度的,多头的数目为4.后续的线性层将维度输出为32维度.在采用自监督学习进行与训练时候,τ给定的数值为0.999.

3.3 评价指标

综合运用准确率(Accuray)、精准率(Precision)、召回率(Recall)和F1(F1-score)[19, 20]分数来确定模型的性能.指标的详细公式如下:

(10)

(11)

(12)

(13)

其中,TP代表的是真正例,FP代表的是假正例,TN代表真反例,FN代表假反例.精准率代表了在所有预测为正的例子中,实际上真的为正的比例.召回率代表了是所有实际为正的例子中,预测对了的比例.F1代表了精准率和召回率的调和平均.F1指标越高,代表了模型的性能越好.

3.4 实验结果与分析

在本小节中,将从实验结果对比、消融实验以及数据增强参数对实验结果的影响3个方面阐述方法的有效性.

(1)实验结果对比与分析

在数据集上对本文的算法进行了验证,实验结果如表3所示.实验结果表明,在噪声率给定0.05,掩码范围0.15时,所提的方法在F1-score上可以取得0.851的成绩,精度(ACC)可以达到0.954,精准度可达到0.833,召回率可以达到0.87.相比较于经典的逻辑回归方法,在F1-score、ACC等指标上均有部分的提升.其中,逻辑回归模型的公式为:

表3 结果对比1Tab.3 Comparison of results 1

(14)

σ()代表了sigmoid函数.假设逻辑回归模型训练好了参数,只需要将预测的x带入上面的方程,输出的y则为对应的概率.

实验结果表明,在动力设备数据集上,本文所提的方法是有效的.

在动力设备中,轴承部件是易损部件,它的异常会导致设备故障,其平稳运行对于动力设备的稳定具有重要意义.因此,轴承部件的异常检测是动力设备异常检测的重要组成部分.针对动力设备中的轴承部件,进行算法验证.使用了轴承故障数据集,进行了异常检测的仿真验证分析,实验结果如表4所示.实验结果表明:在轴承数据集上,本文所提的方法在精度以及F1-sore指标上,均优于LSTM网络.对于轴承的异常可以进行较为准确的检测.

表4 结果对比2Tab.4 Results of ablation experiments 2

(2)消融实验

下面通过消融实验验证各个模块的作用和性能.实验结果如表5所示.消融实验的结果表明,在去掉空洞因果卷积或者注意力机制后,模型在精度、F1-score等指标上性能都有所下降.实验结果同时表明,模型中加入的BN层有助于模型在预训练阶段表征的学习,从而提升模型的性能.消融实验的结果表明了网络中各个模块的有效性.

表5 消融实验结果Tab.5 Results of ablation experiments

(3)数据增强参数与实验结果的影响

本文通过自监督学习解决异常检测问题.异常检测的目的是区分正常和异常样本特征之间的差异.一般情况下,存在样本的不平衡,异常事件的数量较小.对比学习可以在较少的负样本情况下得到较好的特征提取.数据增强是对比学习中的一种重要方法.在训练阶段,对比学习减少相似样本之间的距离的同时,增加负样本之间的距离,实现正常样本和异常样本的表征学习.采用该模型提取传感器数据的特征.通过数据增强和对比学习的方法,在预训练阶段提取出更好的特征.

表6给定不同的噪声水平或者是对数据进行不同的mask的比例下,不同的参数对仿真结果的影响.实验结果可以看出,在噪声率或者掩码的范围较大时:噪声率给定0.9(对应表5中第一行),或者掩码的区域占比范围达到90%(对应表中第二行),此时网络在预训练阶段特征的学习能力会降低,在下游任务做动力设备的异常检测任务时,相应的指标均有一定程度的下降.因此,在实验中选择合适的噪声率和掩码范围有助于模型对于数据特征的学习.

表6 不同参数对结果影响Tab.6 The influence of different parameters

4 结 论

本文主要针对动力设备的故障进行异常检测.本文的主要工作包括,首先提出了一种训练特征提取器的自监督学习策略,该策略可以用于在预训练阶段利用无标签数据进行一般性表征的学习.随后针对自监督学习方法,提出了两种数据增强手段,包括加入噪声和随机掩码从而增强预训练阶段对于特征的提取能力.最后,提出了一种端到端的深度学习模型用于提取动力设备数据中的时空特征.在数据集上的实验表明,本文所提的方法在F1-score上可以取得0.851的成绩,精度(ACC)可以达到0.954,可以取得较好的效果,证明了算法的有效性.

猜你喜欢
动力设备掩码卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
烟草动力设备中的自动化控制问题及对策思考
从滤波器理解卷积
低面积复杂度AES低熵掩码方案的研究
基于傅里叶域卷积表示的目标跟踪算法
基于布尔异或掩码转算术加法掩码的安全设计*
大型水轮发电机电气试验研究及相关规程讨论的认识
基于掩码的区域增长相位解缠方法
基于掩码的AES算法抗二阶DPA攻击方法研究
关于半导体厂部分动力设备节能措施的分析