APP下载

基于稀疏自编码器的工控系统态势理解算法

2023-09-04覃泽文赵国新

计算机仿真 2023年7期
关键词:工控降维态势

覃泽文,赵国新,刘 昱,张 强

(北京石油化工学院信息工程学院, 北京 102617)

1 引言

工业控制系统(ICS)作为国家基础设施的核心控制设备,其安全关系国计民生。工控系统态势感知旨在对ICS安全要素进行提取,分析,并对其未来趋势进行预测[1]。态势感知的概念最早由美国空军提出,用于提升空战能力,分析空战环境信息、快速判断当前及未来形势。Endsley[2]把态势感知总结为态势提取,态势理解,态势预测等三个部分。BASS[3]首次提出了网络安全态势感知(NSSA)的概念,并提出了应用多传感器数据融合建立网络空间态势感知的框架。张勇[4]等提出了提出一种基于Markov博弈分析的网络安全态势感知方法,通过融合多种传感器的安全数据,分析网络安全的动态影响,并给出最佳方案。谢丽霞[5]等为了解决态势要素与评估结果之间的不确定性及模糊性问题,提出了一种基于RBF(radical basis function)神经网络的网络安全态势预测方法,通过建立RBF预测模型找出网络态势值的非线性映射关系,并使用自适应遗传算法对网络参数进行优化,实现对网络安全的态势预测。

随着工控行业的发展,工控系统与以太网的联系更加紧密,工控系统网络更容易受到外界的攻击,工控系统网络信息安全面临着巨大挑战,对此,国内外学者结合工控系统的特点,对其网络安全做出了许多尝试。Man[6]等提出了一种基于贝叶斯推理的态势评估分析模型,该模型是对核电厂的运行人员态势评估的仿真,用来解决运行的误差问题。陆耿虹[7]等通过改进支持向量机(C-SVC),并使用决策融合算法建立了态势感知模型,该模型可以识别出当前系统遭受的攻击类型。Hoffman[8]等经过对震网病毒的攻击案例进行分析后,提出其六个攻击阶段的态势链,通过分析各节点的监测数据来判断系统的攻击阶段,进而预测下一次攻击阶段,提前对系统采取防护措施。

对于工控系统现场层数据,敖建松[9]等通过使用模糊C均值算法(FCM)对系统正常状态建模,再通过对比实时检测数据,利用时间序列模型(ARIMA)对系统未来态势进行预测;尚文利[10]等使用去噪自编码器(DAE)对原始数据进行降维,而后通过数据分析,计算出系统当前态势,在保证准确率的同时有效提高了态势理解的运行速度。

虽然在态势感知领域已经有许多重要成果被国内外学者提出,但是工业控制系统网络与传统网络有许多不同之处,因此传统的网络安全态势感知模型无法应用在工控系统网络。而且对于工控系统网络的攻击大多都体现在工控系统的现场控制层,所以对工控系统现场层的安全状况分析很有必要。现场控制层数据具有数据维度高,数据量大且各数据之间多为非线性关系的特点,输入数据维度过高会使模型搭建的复杂性提高,模型训练速度变慢,最终影响运算效率。在计算系统当前态势之前对原始数据进行降维,既可以降低过拟合率,也可以加快模型整体的计算速度。

因此本文提出使用稀疏自编码器(SAE)对数据进行提炼,过滤冗余信息,后续利用K-means聚类算法得到系统正常状态空间,再通过对比实时检测数据,计算其偏离程度,得到系统安全态势。

2 工控系统态势理解模型

2.1 稀疏自编码器(sparse autoencoder, SAE)

自编码器是一种无监督的学习算法,通过无标签的自我监督对数据进行特征提取[11]。包括一个编码器(encoder)和一个解码器(decoder),编码器对无标签原始数据X[x1,x2,…,xn]进行压缩变换得到W[w1,w2,…,wm],如果m小于n,则实现了对数据的降维。压缩后的数据再经过解码器重构得到Y[y1,y2,…,yn],最终目的是使输出Y最大限度逼近输入X。

编码器由输入层,隐含层和输出层三个部分组成,其中输入层到隐含层称为编码过程,隐含层到输出层称为解码过程,其网络结构如图1。

图1 自编码网络结构

自编码器编码和解码的过程如下方法

W=f1(g1X+b1)

(1)

Y=f2(g2W+b2)

(2)

其中f1表示隐藏层的激活函数,可以选择ReLu、Sigmoid、Tanh等,本文选用的是Sig-moid函数。g1,g2分别为输入层到隐含层,隐含层到输出层的权重矩阵,在训练神经网络的过程中,为了减少模型中需要训练的参数,通常使g1等于g2。b1,b2则为各自的偏差。模型参数的调整由最小化误差函数实现,方法如下

arg min[cost(X,)Y]=0

(3)

训练过程中经过不断优化参数g1,b1和g2, b2,使误差函数达到最小值,得到最终的模型参数。

稀疏自编码器[12]是在自动编码器的误差函数中增加稀疏惩罚约束条件,当隐含层神经元数目过多时,加入稀疏惩罚可以使模型更好地保留特征。Fang[13]等使用稀疏自编码器对无人机地形图像进行降维,而后使用遗传算法和支持向量机完成了对图像的分类。

2.2 K均值聚类算法(k-means clustering alg-orithm)

K均值聚类算法(k-means clustering algorithm)是一种常用的经典算法,其应用最为广泛,相较于其它聚类算法更为简单,高效[14]。为了节省时间成本,本文选用K-means算法搭建模型,在对数据集使用稀疏自编码器进行降维处理后,使用K-means算法可以达到预期效果。

K-means算法的原理比较简单,该算法基于各样本之间的欧式距离聚成k个类(k为正整数),类内样本具有高相似度,类外样本具有低相似度。算法需要人为选择最大迭代次数和k的值,使其聚类误差达到最小,具体步骤可总结如下:

1)随机选择k个对象作为初始聚类中心;

2)对所有数据集C中的对象,计算它们与聚类中心的欧式距离,将其归类为k个聚类中心中距离最近的类;

3)取每个类中所有对象的均值,将其作为新的聚类中心;

4)重复步骤2和步骤3,直到达到最大迭代次数。

2.3 态势理解算法

工控系统态势感知模型主要分为态势提取,态势理解,态势感知三个阶段,其中每个阶段的输入都为上一阶段的输出。态势理解对各种数据进行分类等处理融合,再将融合的信息进行综合分析,得出系统整体的安全状况,这一步是实现态势感知的基础。

基于稀疏自编码器的工控系统态势理解算法流程图如图2。

图2 基于稀疏自编码器的工控系统态势理解算法流程图

态势理解的算法具体步骤可总结如下:

1)用系统正常状态下运行产生的数据对SAE进行训练,用训练后的模型对数据进行降维处理,过滤冗余信息,保留主要特征。保留模型训练后的各个参数;

2)对变换后的数据进行k-means聚类,得到k个类,对应k个正常工况;

3)计算每个类中所有点到其聚类中心的距离,取出最大值,记为D,D={d1,d2,..dk}。

4)对实时检测到的数据使用步骤1保留的SAE模型进行相同的降维处理,得到D_t,D_t={ d_t1,d_t2,..d_tk};

5)计算d′=D_t-D,如果d>0,则记该时刻系统偏离正常工况的程度ε=min(d′),否则记ε=0。

6)以长度为L的滑动窗口,对ε进行时间维度的融合,求出该时刻的方差εs,εs表示了系统在该时刻的稳定性。

3 田纳西伊斯曼过程(Tenessee Eastman田纳西伊斯曼,TEP)

田纳西伊斯曼过程是美国Eastman化学公司开发的工业过程。该过程基于真实化工过程仿真得出,可以代表大多数化工流程,至今已有许多学者利用该过程进行故障诊断,入侵检测等研究。

TEP中含有4种气态反应物,分别为A、C、D、和E(四种反应物中均含有少数惰性气体B),经过一系列反应后,得到2种液态产物,分别为G和H,并伴有副产品F。整个过程主要由五个部分组成:反应器、冷凝器、压缩机、分离器和汽提塔,概括了化工生产过程的全部特征“三传一反”。

TEP共有52个观测变量,其中包括41个测量变量和11个控制变量。TE模型数据集由训练集和测试集构成,包括正常状态和21种不同故障。每个样本都连续运行了48小时,得到960个测试数据。带有故障的样本在第8个小时引入,即前160个测试数据为正常状态下运行得到的数据,后面数据为异常状态下运行得到的数据。

4 实验与分析

本文取正常样本共960个点为训练集,对稀疏自编码器进行训练。取异常样本1,2组合为测试集1,异常样本6,13组合为测试集2。在测试集中正常状态运行的数据区间为:[1,160]与[961,1120],其它数据区间为异常状态下运行得到的数据。

本文所用数据集共52个维度,每个维度都表示一个工控系统现场层传感器检测的数据,有许多维度之间的数据都呈非线性关系,使用SAE对数据进行降维可以有效提取各数据之间的特征关系,经过试验后,选择将实验数据降为42维。

在对数据进行K-means聚类时,为了确定k的值,进行了多次试验,最后发现当k=6时效果最好。在实际的化工流程中,系统工作的情况应该是一个固定值,由工程师决定,并且k的取值与不同的工业流程有关。

图3和图4为本文提出的态势理解模型在测试集中的实验结果,在总体上,模型对系统异常情况做出了反应,在系统正常运行时间段内,ε与εs几乎都为0,而在系统异常运行时段内,ε与εs几乎都大于0。

图3 测试集1中实验结果

图4 测试集2中实验结果

表1和表2为部分时刻对应的检测结果,可以看出本文所提出的模型在面对不同的异常情况时,仍可以有效表达系统态势。如在表1中,在t=0和t=965的时刻,系统处于正常运行状态,态势与方差都为0;而在t=180与t=1350时,系统处于异常运行状态,该时刻态势与方差均大于0, 且ε的大小体现了系统的偏离正常状态的程度,即在t=180的时刻,系统偏离程度小于t=1350的时刻;而εs的大小则是体现了系统的稳定性,即在t=180的时刻,系统的稳定性比t=1350的时刻稳定性更差。系统的安全性主要由系统当前态势决定,所以系统在t=180时刻的安全性高于t=1350时刻。

表1 测试集1部分时刻对应结果

表2 测试集2部分时刻对应结果

表3为本文提出的基于SAE的态势理解算法与普通态势算法的对比,由表可知,使用稀疏自编码器对原始数据降维,降低了时间和空间复杂度,同时消除了数据中的噪声,使数据的特征更容易表示出来,而后使用聚类算法中速度较快的K-means算法,进一步降低了算法的运行时间,使该算法在运行时间和准确度上都优于普通的态势理解算法。

表3 算法运行结果对比

5 结论

本文提出一种基于稀疏自编码器的工控系统态势理解算法,基于稀疏自编码器模型,通过对自编码器加入正则限制,抑制神经元,使其能够更好地表达样本特征,后续搭建了基于K-means聚类的态势理解模型,使态势理解的速度更快,精度更高。本实验应用TEP数据集进行验证,实验表明该方法有效提高了运行速度,增强了模型的精度,能够有效表明系统当前态势。下一步将针对此算法的后续进行相应态势预测算法的研究。

猜你喜欢

工控降维态势
混动成为降维打击的实力 东风风神皓极
2019年12月与11月相比汽车产销延续了增长态势
降维打击
汇市延续小幅震荡态势
我国天然气供需呈现紧平衡态势
工控速派 一个工控技术服务的江湖
工控速浱 一个工控技术服务的江湖
热点追踪 工控安全低调而不失重要
基于攻击图的工控系统脆弱性量化方法
县乡一体化探索呈加速态势