基于多变量LSTM-AE方法的地面测发控系统异常检测

2022-09-21 01:34朱浩文
电子测试 2022年17期
关键词:编码器状态特征

朱浩文

(中南大学,湖南长沙,410083)

0 引言

火箭发射前测试涵盖火箭各个子系统的测试和系统总体测试,随着专业分工细化以及传统格局的影响,火箭各子系统测试通常自成体系。各子系统测试需由对系统非常熟悉的专业人员进行,而在发射前总体测试中,由于各子系统测试数据分散,现场测试人员难以全面了解系统测试状态,对故障情况也难以进行快速判断和处理。

在火箭测发控真实场景中,影响其正常运作的状态量数量繁多,地面测试系统不同于动力学系统,本身可以用离散事件动态系统来描述,系统运行过程中,按照操作流程进行各种操作,系统状态(包括各种开关量、模拟量、数字量等)随之发生相应改变,这些状态的转换必须符合预期。目前,随着系统规模越来越庞大,体系越来越复杂,无论系统设计有多么安全,操作人员的技术有多么熟练,故障也无法避免。故障不仅会降低系统的可靠性,甚至导致灾难性后果。因此对系统的实时监测与故障检测隔离具有十分重要的理论和现实意义。

时间序列的异常检测,是指在时间序列数据中出现了与预测行为不相符的模式的问题。其中,通常有定性分析方法专家系统、图论方法等和定量分析方法如自动机、神经网络。

利用自动机模型结合形式化语言(正则语言模型)来描述系统工作流程并构建有限自动机,可以方便的形成系统运行流程模型。近年来,随着计算机等相关领域技术的发展,数据计算以及处理能力越来越强大,仅仅采用自动机来进行离散事件系统的建模已难以满足要求,近年来也出现了随机自动机的概念,通过引入概率转移矩阵,构建随机故障预测器自动机,以达成“事先预测”故障的目的。

深度学习方法通过多层神经网络以及自学习机制,可以利用系统运行过程中的输入输出数据自动提取系统运行特征,提高了监控系统的智能化程度。Ragab将领域专家经验和深度学习方法结合,采用半监督学习的方式,实现对离散事件动态系统的监控与故障诊断。Li采用深度自编码器方法,实现了一种化学工业流程的监控与故障诊断。Jiang则是采用深度自编码器方法实现了离散事件系统业务流程中的故障分类识别。

尽管基于深度学习的方法显著改善了故障诊断效果,但这些方法针对状态多变、体系复杂的火箭测发控系统效果欠佳。本文提出基于一种多变量LSTM-AE时间序列异常检测方法,能以系统运行数据为支撑,有效的对火箭测发控系统运行状态进行归纳,并实现故障诊断。

1 多变量多尺度自编码器模型建模

由于需要监测的系统节点数庞大,操作流程复杂,且对某些特殊测试系统,其测试操作的业务流程有可能会随测试任务不同而发生改变,常规的仅依靠按照人工分析的方式来建立系统流程模型,难免会遗漏系统运行过程中的某些细节,从而导致所建立的模型并不完备,不能准确描述系统行为。

要实现自适应建模,必须解决如何从数据中识别出系统运行状态、事件以及状态迁移,并能有效判断事件和状态迁移之间的因果关系。针对火箭测发控故障诊断低实时性、检测效率低及模型难通用等问题,本文提出了基于多变量多尺度自编码器时间序列异常诊断方法,为保证所建立的系统监控模型完备、有效,针对火箭发射前地面测发控系统的特点,分析系统操作运行流程,利用深度自编码学习方法,挖掘各测试任务操作运行流程的特征,建立测试系统运行监控模型和故障诊断模型,实现对系统运行过程中的异常状态的自动捕获,对系统运行故障快速识别定位,并对某些可预测故障能够进行预测,避免人工监控方式的种种缺陷,进一步提升地面测发控的运行的可靠性和智能化程度。

火箭测发控系统包括众多变频器、PLC以及总线上各状态信息等,其数据类型包括开关量和模拟量。针对测发控系统流程复杂的特点,本文提出如下算法,整个算法框架如图1所示,模型包括几个串行的阶段,各阶段操作和计算过程如下:

图1 算法框架图

(1)开关量检测

检测所有通道开关量是否有变化,如无变化则认为系统状态不变。

(2)确定时间步长

为构造数据模拟量的特征向量,计算状态未迁移持续的最短时间tw,即存在一段tw时间所有的开关量信号均为发生改变。

(3)模拟量统计特征

在系统状态无变化期间,按照tw时间窗对模拟量数据计算其统计特征向量,统计特征包括如下9种常见的时间序列分析的统计特征,即:均值、方差、均方根、偏度、峰度、熵、最大值、最小值、中位数。

(4)特征选择

上述9个特征需要选择敏感度最高的特征作为有效特征。计算每个状态保持期间模拟信号通道的特征,以91电源电压信号为例,通过计算25个状态内的9个特征,组成A∈R9×25特征矩阵如图2。

图2 电源电压数据特征

对AAT做奇异值分解,对应得到奇异值向量取其较大的相对应的特征作为敏感特征,即均值、方差、均方根、偏度和峰度五个特征作为显著特征进入后续的特征学习之中。

(5)深度自编码器特征提取

将模拟量特征A进行归一化,并加入到开关量0、1序列之中,构成某一采样时刻系统运行的特征,考虑到特征长度较长,对整个流程的特征变化进行深度自编码学习。以本项目所给数据为例,状态迁移共计25次,其中PLC开关量通道30个,变频器电压、电流及频率模拟量数据通道共计40个,91、92电源电压、电流数据共8个通道,总共78个通道数据,其中模拟量数据8个通道,变频器电压电流数据近似于开关量信号,可以用前文所述的递归累加方式进行处理,得到相应的开关量数据。因此总的数据特征长度为30+40+8*5=110。

(6)故障判断

将正常行为的统计模型拟合到给定的数据,然后应用统计推断测试来确定一个新的实例是否属于该模型。根据应用的统计数据,如果一个新的实例从学习的模型中生成的概率很低,那么这个实例就是一个异常。该异常检测算法可以自动分析数据集,动态微调正常行为的参数,并识别模式中的漏洞,提高了异常检测的准确性,避免了由静态阈值触发的错报和误报/漏报。

1.1 LSTM编解码器模块

传统的机器学习模型评估方法在时间序列预测中大多不有效,这是因为它们没有考虑时间序列的时间依赖性。LSTM(Long Short-Term Memory)是长短期记忆网络系统,是RNN(循环神经网络)的某个变种,可用于对时间差相对较长的序列信号进行处理。通过加入遗忘门等,LSTM能够克服在反向传输时,由于RNN网络中难以解决的梯度消失所造成的长期信号无法存储的问题,而大多数估计计算如ARIMA(差分整合移动均值自回归)等模式估计时间顺序都是相对稳定的,与大多数其他预测算法不同,LSTM 能够学习序列中的非线性和长期依赖关系。

LSTM单元的结构一般分为以下几个部分,如图3所示。

图3 LSTM单元结构图

(1)输入层

输入层的每个神经元代表样本的一个特征,即神经元的个数与特征向量的长度也是相同的。因此输入层中的各个神经元表示一个预测变量。在分类变量中,当有N个类别时,采用N-1个神经元。它利用减去中值并除以四分位数范围来标准化值的范围。然后,输入神经元将输出值提供给隐藏层中的每个神经元。此处记为xt。

(2)隐藏层

该层神经元个数为网络的深度参数,神经元越多,网络越复杂。其贯穿每个时间步传递学习特征,对于每个时间步记为th。

(3)遗忘门

为判断相邻特征的关系是否需要学习,设置遗忘门ft,其将隐藏层与输入层分别乘以相应的可学习遗忘权重和加上附加偏置。实际上,遗忘门是一个模拟阀门量,它是用于确定特征保留程度的阙值,故加上sigmoid激活函数使之置于0-1之间,公式如下:

(4)更新门

为确定是否继承上一个时间步的特征参数,LSTM同理设置了更新阀门,与遗忘门一样,其将隐藏层与输入层分别乘以相应的可学习更新权重和加上附加偏置。更新门同样是一个阀门量,故加上sigmoid激活函数,公式如下:

(5)记忆单元

LSTM的记忆单元与隐藏层相似,但是其传递的为网络前后的特征记忆参数。对于每个时间步的记忆单元,其将隐藏层与输入层分别乘以相应的可学习记忆权重和加上附加偏置。为了达到非线性作用,加上tanh激活函数。

对于网络是否继承之前学习的特征,将记忆单元与更新门,遗忘门组合,得到每一个时间步的记忆继承结果。

(6)输出门与隐藏层输出

为了判断LSTM的输出程度,通过设置输出阀门,控制输出的大小,其将隐藏层与输入层分别乘以相应的可学习输出权重和加上附加偏置。由于是阀门参数故加上sigmoid激活函数。

隐藏层输出即是输出门与记忆单元输出的非线性整合:

如图4,编解码体系结构是序列到序列学习故障诊断的典型解决方案。该体系结构包含至少两个RNN/ LSTM,其中一个充当编码器,另一个充当解码器。编码器负责读取和解释输入,将输入压缩为原始输入的更小的表示形式(一个固定长度的向量),并将此上下文向量作为输入给解码器部分,以进行解释和预测。一个重复向量层用于重复我们从编码器部分获得的上下文向量,重复的次数为需要预测的未来步骤的数量,并将其输入解码器部分。从解码器接收到的每个时间步长的输出是混合的,将全连接层应用于解码器每个时间步,分离每个时间步的输出。

图4 LSTM故障诊断过程

1.2 自编码器模块

Autoencoder(自编码器)是一种无监督类型的神经网络,主要用于特征提取和降维。同时,对于异常检测问题也是一个不错的选择。自编码器由编码和解码部分组成。在编码部分,提取代表数据中模式的主要特征,然后在解码部分重建每个样本。对于正常样本,重建误差将是最小的。另一方面,该模型无法重构表现异常的样本,从而导致较高的重构误差。因此,基本上,样本的重构误差越高,其成为异常的可能性就越大。依赖自编码模型,将输入数据映射到隐藏表示的模型,然后尝试从此内部表示恢复原始输入。

对重建和原始输入之间的相似性进行定量评估,计算传感器输入的滑动窗口平均值,即1分钟内每个传感器的平均值。间隔每30秒。并将数据馈送给自动编码器模型。然后,计算输入数据和一组数据的重建之间的距离,并计算距离分布的分位数。将抽象的距离数转化为可观测的度量,并将超过当前阈值(97%)的样本标记为异常。

1.3 变点检测和趋势检测模块

时间序列的变点是指数据分布特性发生的突变或结构性变化,而趋势检测则是检测数据与过去的平滑偏离,更快、更有效地处理数据的一种方法是检测数据集中的异常事件的变化或转移。由于用点特征来表示无法识别出上下文异常,用包含几个时间步骤的时间信息的一个滚动窗口,可以有效地检测上下文异常。

2 实验结果和分析

2.1 数据集和预训练

本文采用运载火箭发射过程中的测发控数据进行评估实验,其包含大量的随时间变化的PLC电源电压电流数据以及PLC切换动作数据,并将测试结果与BP神经网络等异常诊断方法进行对比。

测发控数据为包含随着时间推进的电压、电流、变频器等的多变量数据,该数据集分为训练集和测试集,其中训练集的数据长度为16140,测试集的数据长度为3000,异常检测的频率为每分钟。本文采用多尺度多变量提取。

深度自编码器的结构为5层神经网络结构,即110-220-30-220-110的单元数结构,编码器对应的编码输出h1,h2,… ,hm即为每个状态的编码.通过深度自编码器输出的编码作为每个滚动时间窗口内的数据状态信息.

2.2 变点检测和状态迁移检测

时间序列的变点是指数据分布特性发生的突变或结构性变化,而趋势检测则是检测数据与过去的平滑偏离,更快、更有效地处理数据的一种方法是检测数据集中的异常事件的变化或转移。由于用点特征来表示无法识别出上下文异常,用包含几个时间步骤的时间信息的一个滚动窗口,可以有效地检测上下文异常。

如图5所示,实际上电源量随时间变化经常会有小幅度的波动,并且由于电源值并不是在一秒(或其他确定值)发生的突变,而是一个连续的过程,故需要将电源量去扰动并离散化,步骤如下:

图5 变频器电信号变化图

1)对于每个时刻数据A,比较A与10s后时刻数据B的大小,若A=B,则这10s内的数据全部记为A。这样初步去除了部分扰动。

2)对数据不变的数据,记标识符TOC对于每个时刻A与下一时刻B,将B减A记作C,若C> 0.15则记标识符TOC为1表示数据呈上升趋势,−0.15

3)将Count作为累加次数的计数值,初始化Count为0,初始化toc_0为0,并记录此时下一时刻B的索引为end,若TOC与toc_0相等时Count加一,若TOC不等于toc_0,将TOC赋值给toc_0,此时判断Count是否小于10,大于的话则记此刻索引为Start。

上升下降趋势图如图6所示,通过递归累加最终处理。对于每个时间对应一组40维的状态St,遍历整组数据,提取出唯一的St,共23组。将此作为特征数据库。至此,系统的故障可以通过系统流程自适应框架,从而实现对故障的判断及定位。

图6 电信号趋势局部变化图

2.3 实验分析

本实验用滑动窗口模拟实时采集系统,系统采集一次数据,滑动窗口向前移动一个时间步。为量化地评价故障检测效果,引入准确率作为评价故障检测效果的指标。其中,T表示被正确识别出正常样本或故障样本的数量,F表示正常样本被误判为故障样本或故障样本错判为正常样本的数量。

准确率 =T/(F+T)×100%

利用实际数据测试结果状态分类的测试结果如表1表2所示,在设置为是否能准确描述状态迁移并浮动在阙值一下的评价标准下,基于LSTM-AE的模型输出状态与实际系统标准输出完全一致,均方根误差也相较普通的BP神经网络更好,因此可根据实际结果与LSTM-AE网络输出的偏差实现对故障信息定位,能及时对各种常见故障做出故障判断,且准确率高,说明本文的方法是有效的。

表1 模型评价指标对比

表2 模型评准确率对比

3 总结

通过基于数据驱动的系统流程多变量LSTM-AE时间序列的火箭测发控异常检测,解决了未知故障系统模型的建模问题,具有收敛速度快、精度高、稳定性好、扩展性好等优势,对故障的不确定性以及相关性等特征进行了很好的拟合,对故障的可预测性进行了有效的增强。

猜你喜欢
编码器状态特征
根据方程特征选解法
融合CNN和Transformer编码器的变声语音鉴别与还原
离散型随机变量的分布列与数字特征
转炉系统常用编码器选型及调试
舞台机械技术与设备系列谈(二)
——编码器
状态联想
不忠诚的四个特征
生命的另一种状态
坚持是成功前的状态
基于数字信号处理的脉冲编码器