CN113591078B - 基于卷积神经网络架构优化的工控入侵检测系统及方法 - Google Patents
基于卷积神经网络架构优化的工控入侵检测系统及方法 Download PDFInfo
- Publication number
- CN113591078B CN113591078B CN202110886083.9A CN202110886083A CN113591078B CN 113591078 B CN113591078 B CN 113591078B CN 202110886083 A CN202110886083 A CN 202110886083A CN 113591078 B CN113591078 B CN 113591078B
- Authority
- CN
- China
- Prior art keywords
- indi
- individual
- industrial control
- neural network
- convolutional neural
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 111
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 74
- 238000005457 optimization Methods 0.000 title claims abstract description 58
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012549 training Methods 0.000 claims abstract description 48
- 238000012544 monitoring process Methods 0.000 claims abstract description 19
- 238000012795 verification Methods 0.000 claims description 39
- 238000011176 pooling Methods 0.000 claims description 31
- 230000035772 mutation Effects 0.000 claims description 27
- 238000004519 manufacturing process Methods 0.000 claims description 13
- 238000007405 data analysis Methods 0.000 claims description 12
- 238000010606 normalization Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 12
- 230000002159 abnormal effect Effects 0.000 claims description 11
- 238000011156 evaluation Methods 0.000 claims description 11
- 230000001174 ascending effect Effects 0.000 claims description 3
- 230000005587 bubbling Effects 0.000 claims description 3
- 238000012512 characterization method Methods 0.000 claims description 3
- 238000003062 neural network model Methods 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000010200 validation analysis Methods 0.000 claims description 3
- 238000012854 evaluation process Methods 0.000 claims 1
- 238000013461 design Methods 0.000 abstract description 18
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 12
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000008235 industrial water Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Physiology (AREA)
- Evolutionary Biology (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种基于卷积神经网络架构优化的工控入侵检测系统及方法。从工控系统历史数据库中采集生成过程的历史监控数据,经过数据解析和归一化后作为工控入侵检测离线训练模块的输入数据集,设计基于离散群体演化方法的卷积神经网络架构优化平台,获得工控入侵检测特征库和最优架构的卷积神经网络模型,针对工控系统实时数据库中的实时监控数据,从而实现工控入侵检测的在线检测。本发明不仅可实现用于工控入侵检测系统的卷积神经网络架构的自动生成和优化设计,提高了工控入侵检测系统的智能化设计水平和设计效率,还提升了工控系统入侵检测的精准率、召回率和F1评分等性能指标。
Description
技术领域
本发明涉及工业控制系统信息安全领域的智能入侵检测技术,特别涉及一种基于卷积神经网络架构优化的工控入侵检测系统及方法。
背景技术
工业控制系统作为国家关键基础实施的重要组成部分,工业控制系统的安全关系着国家安全。随着信息化和工业化的深度融合,工业控制系统在提高企业生产效能的同时,也暴露出严重的安全风险问题。近年来,针对工业控制系统的网络攻击行为越来越频繁。入侵检测系统(Intrusion Detection System,IDS)通过对系统行为的实时监测与分析,来检测异常的入侵行为,并在攻击行为产生破坏之前进行报警等。IDS作为保障工业控制系统安全的核心技术之一,受到了学术界和工业界的广泛关注。然而,由于工业控制系统具有实时性高、资源受限、更新困难等特殊性,用于传统信息系统的IDS技术无法直接应用于工业控制系统。
目前,工业控制系统IDS技术主要包括:基于工业控制网络流量的检测技术、基于工业控制网络协议字段的检测技术、基于工业控制设备状态信息的检测技术、基于工业控制系统行为模型的检测技术等,但普遍还存在准确性差和检测效率低等问题。
近年来,基于深度学习的工业控制系统入侵检测技术已成为学术界和工业界的研发热点之一。目前,面向工业控制系统入侵检测的深度神经网络架构设计主要依赖于设计人员的经验,设计人员通常需要大量的经验和不断地试错,需要消耗大量的时间和精力,才有可能设计出一个可行的架构方案,通常难以满足工业控制系统入侵检测在高精度和实时性等方面的要求。而深度神经网络架构优化设计的现有研究主要集中在图像识别领域,但在工业控制系统入侵检测领域的应用鲜有研究报道。实际上,由于工业控制系统入侵检测所面临的时空数据序列和网络攻击特征复杂、实时性要求高等特性,现有用于图像识别领域的深度神经网络架构优化设计方法也难以直接移植到工业控制系统入侵检测领域中。因此,基于深度神经网络架构优化设计的工业控制系统新型入侵检测技术亟待研发。
发明内容
本发明的目的在于针对现有技术的不足,提供基于卷积神经网络架构优化的工控入侵检测系统及方法。
本发明的目的是通过以下技术方案来实现的:一种基于卷积神经网络架构优化的工控入侵检测系统包括工控入侵检测的数据采集模块、离线优化训练模块和在线检测模块;
所述数据采集模块从工业控制系统实时数据库中采集生产过程的实时监控数据,经过数据解析和数据归一化处理后,得到在线检测数据集,将该在线检测数据集输入在线检测模块;所述数据采集模块从工业控制系统采集生产过程监控状态的历史数据,经过数据解析和数据归一化处理后,获得离线训练数据集,将该离线训练数据集输入离线优化训练模块;
所述离线优化训练模块基于卷积神经网络架构优化平台,获得卷积神经网络的最优架构信息,将该最优架构信息输入在线检测模块;
所述在线检测模块基于最优架构的卷积神经网络模型进行入侵检测,若检测到入侵则产生报警信息并评估入侵检测性能指标。
所述系统的基于卷积神经网络架构优化的工控入侵检测方法,包括以下步骤:
(1)工控入侵检测的数据采集模块从工业控制系统的历史数据库中采集生产过程监控状态的历史数据,经过数据解析,获得源数据集,标记为X,并按照公式(1)进行数据的归一化处理,获得离线训练数据集,将其标记为Xo,作为基于卷积神经网络架构优化的离线优化训练模块的数据输入,将Xo随机分割训练集Xo1与验证集Xo2;
其中,Xoj表示离线训练数据集Xo第j维度的特征,Xj表示源数据集X第j维度的特征,Xjmax与Xjmin分别表示Xj的最小值与最大值,d表示Xo维度的最大值;
(2)设置基于卷积神经网络架构优化的离线优化训练模块的参数值,所述参数值包括种群大小N、卷积神经网络的最大深度D、架构优化的迭代优化次数I、卷积神经网络离线训练的轮次EP1、卷积神经网络进行离线验证的轮次EP2、交叉率β、变异率σ和变异种类阈值σ1,σ2;
(3)将初始化N个个体作为初始种群Q;每个个体的编码形式为Indi={l,[type1,para1],[type2,para2],…,[typel,paral]},在此Indi代表种群中任意一个个体,l代表个体中包含单元的数量,l=Randint(0,D),其中Randint(0,D)表示随机产生一个0到D之间范围内的整数,第i个数组[typei,Parai]代表第i个单元,1≤i≤l,typei表示第i个单元的类型,Parai代表初始化第i个单元所需的参数,其定义如公式(2)所示:
其中,ResNetBlockUnit、DenseNetBlockUnit和PoolingUnit分别表示卷积神经网络的三种基础网络架构:残差网络模块单元、全连接模块单元和池化单元,分别缩写为RBU、DBU和PU;所述RBU由不同数量的残差网络模块组成,所述DBU由不同数量的全连接模块组成;amount1表示DBU中全连接模块的数量,k表示人工设定的通道增长量,in1表示DBU中输入通道的数量,out1表示DBU中输出通道的数量,amount2表示RBU中残差网络模块的数量,in2表示RBU中输入通道的数量,out2表示RBU中输出通道的数量,Poolingtype的产生过程如下:首先生成一个随机数q=random(0,1),其中random(0,1)表示在0到1之间范围内生成的一个均匀随机数,如果q<0.5,将Poolingtype初始化为MaxpoolingLayer,否则初始化为MeanpoolingLayer,其中MaxpoolingLayer和MeanpoolingLayer分别表示最大池化层和平均池化层,即在确定池化核大小后,最大池化层将使用池化核内的最大值作为输出,而平均池化层的输出为池化核内数据的平均值;计算最大池化层的个数 表示向下取整运算符;在首层不使用PU,且满足PU的个数小于mp的前提下,每个单元的网络架构类型typei为随机生成的范围为[0,2]范围内的整数,即共有0、1和2这三种可能性,分别对应于DBU、RBU和PU,typei的具体定义如公式(3)所示,
(4)对初始种群Q进行性能评估,具体过程如下:依据Q中每个个体表征的架构信息转化为对应的卷积神经网络模型,将离线训练数据集Xo1作为每个卷积神经网络模型的数据输入,进行EP1轮次的离线训练,针对验证集Xo2进行EP2轮次的验证测试,计算EP2轮次中每个轮次在验证集Xo2上准确率的方差,统计出每个个体对应的最终准确率和模型参数数量,并确定最优个体Indibest。所述确定最优个体Indibest的过程为:将所有个体按模型参数数量升序排序,然后按照冒泡排序的思路两两进行个体优劣比较和个体性能评估,得到最优个体Indibest。所述个体优劣比较和个体性能评估的过程,具体包括以下子步骤:
(a)设定在验证集上的准确率阈值、准确率之差的阈值、在验证集上的准确率方差阈值、模型参数数量阈值;
(b)对于任意两个体,分别标记为Indi1和Indi2,判断其验证集准确率是否达到在验证集上的准确率下限,剔除未达到下限的个体;
(c)如果Indi1和Indi2同时达到或同时未达到在验证集上的准确率下限,则计算二者在验证集上的准确率之差,如果准确率之差大于设定的准确率阈值,则选择准确率更高的个体;
(d)如果Indi1和Indi2在验证集的准确率之差未达到设定的准确率之差的阈值,则计算二者的模型参数数量之差,如果模型参数数量之差大于设定的参数数量阈值,选择模型参数数量更少的个体;
(f)如果Indi1和Indi2模型参数数量之差未达到设定的模型参数数量阈值,则计算二者在验证集上的准确率方差之差,如果准确率方差之差大于设定的方差阈值,则选择方差更小的个体,否则固定选择Indi2;
(5)对于种群Q中的每一个个体,首先随机生成一个随机数q1=random(0,1)和一个随机整数P=Randint(0,l),P表示变异的位点,Randint(0,l)表示从0到l范围内的随机生成的一个整数,如果q1小于变异率σ,则对该个体在P点进行变异操作,否则对Indibest在P点进行变异操作,所生成的变异个体标记为Indimut。变异操作的具体过程如下:随机产生一个随机数r=random(0,1),根据变异种类阈值σ1,σ2来确定变异类型,若0<r≤σ1,则删除变异位点P对应的层模型信息;若σ1<r≤σ2,则修改P位点对应的层模型信息,即首先修改P位点的类别参数typeP=Randint(0,2),并按照公式(2)对P位点的模型参数进行初始化,标记为ParaP;如果σ2<r≤1,则在P位点后添加一层模型信息,即按照公式(3)确定所添加的层模型类型参数,按照公式(2)对添加模型参数进行初始化;
(6)对于种群Q中的每一个个体,首先生成一个随机数q2=random(0,1),如果q2小于交叉率β,则以该个体与Indimut作为父代进行交叉操作,即分别从该个体与Indimut中随机选择一个交叉位点P1=Randint(0,l),P2=Randint(0,l)进行单点交叉,生成两个子代个体,分别标记为Indic1和Indic2;对于种群Q中的每一个个体,如果该个体未执行交叉操作,则按照步骤(4)中所述的方法对该个体与Indimut进行性能评估和优劣比较,并选取最优个体进入新种群,标记为Qn;如果该个体执行了交叉操作,则按照步骤(4)中所述的方法对该个体、Indic1和Indic2进行性能评估和优劣比较,选取最优个体进入新种群Qn;
(7)按照步骤(4)中所述的性能评估和个体优劣比较方法,获得新种群Qn中最优个体Indinbest,并比较Indibest和Indinbest,如果Indinbest优于Indibest,则无条件地接受Indibest=Indinbest,否则Indibest保持不变;
(8)无条件地接受Q=Qn;
(9)重复步骤(4)~步骤(9),直到满足设定的架构优化的迭代优化次数I为止;
(10)根据离线优化训练模块中最终获得的最优个体Indibest所表征的最优架构信息,构建工控入侵检测在线检测模块中的最优卷积神经网络模型,并设置最优神经网络模型的参数,包括在线检测的轮次EP3、学习率、权重正则化参数;
(11)工控入侵检测的数据采集模块从工业控制系统的实时数据库中采集生产过程的实时监控数据,经过数据解析和数据归一化处理后,作为基于最优卷积神经网络的工控在线入侵检测模块的在线检测数据集,标记为Xt;
(12)利用在线检测模块运行最优卷积神经网络,对在线检测数据集Xt进行在线入侵检测,运行最优卷积神经网络,对在线检测数据集Xt进行在线入侵检测,分别按照公式(4)~(6)计算入侵检测的精准率、召回率与F1评分等性能指标;
其中,TP表示将正常工控数据样本正确地预测为正常分类的数量,TN表示将异常工控数据样本正确地预测为异常分类的数量,FP表示将异常工控数据样本错误地预测为正常分类的数量,FN表示将正常工控数据样本错误地预测为异常分类的数量。
本发明的有益效果是:相比现有技术,采用本发明不仅可实现用于工控入侵检测系统的卷积神经网络架构的自动生成和优化设计,提高了工控入侵检测系统的智能化设计水平和设计效率,还提升了工控系统入侵检测的精准率、召回率和F1评分等性能指标。
附图说明
图1是基于卷积神经网络架构优化的工控入侵检测系统及方法的原理示意图;
图2中的(a)是残差网络模块(ResNetBlock)的结构示意图,图2中的(b)是全连接模块(DenseNetBlock)的结构示意图,图2中的(c)是池化单元(PoolingUnit)的结构示意图;
图3中的(a)是最大池化层(MaxpoolingLayer)的结构示意图,图3中的(b)是平均池化层(MeanpoolingLayer)的结构示意图;
图4是随机生成的一个个体的编码的示例图;
图5是个体编码信息转化为对应卷积神经网络模型的示例图;
图6是卷积神经网络架构优化过程中变异操作的示例图;
图7是卷积神经网络架构优化过程中交叉操作的示例图;
图8中的(a)是本发明技术与CNN(Convolutional neural networks)、MAD-GCN(Generative adversarial networks-based multivariate anomaly detection)的精准率指标对比图,图8中的(b)是本发明技术与CNN、MAD-GCN的召回率指标对比图,图8中的(c)是本发明技术与CNN、MAD-GCN的F1评分指标对比图。
具体实施方式
下面结合附图对本发明进一步说明,本发明的目的和效果将更加明显。
以工业水处理过程控制系统为实施例,图1给出了基于卷积神经网络架构优化的工控入侵检测系统及方法的原理示意图。基于卷积神经网络架构优化的工控入侵检测系统包括工控入侵检测的数据采集模块、离线优化训练模块和在线检测模块;
所述数据采集模块从工业控制系统实时数据库中采集生产过程的实时监控数据,经过数据解析和数据归一化处理后,得到在线检测数据集,将该在线检测数据集输入在线检测模块;所述数据采集模块从工业控制系统采集生产过程监控状态的历史数据,经过数据解析和数据归一化处理后,获得离线训练数据集,将该离线训练数据集输入离线优化训练模块;
所述离线优化训练模块基于卷积神经网络架构优化平台,获得卷积神经网络的最优架构信息,将该最优架构信息输入在线检测模块;
所述在线检测模块基于最优架构的卷积神经网络模型进行入侵检测,若检测到入侵则产生报警信息并评估入侵检测性能指标。
所述系统的基于卷积神经网络架构优化的工控入侵检测方法,具体实施过程如下:
(1)工控入侵检测的数据采集模块从工业控制系统的历史数据库中采集生产过程监控状态的历史数据,经过数据解析,获得源数据集,标记为X,并按照公式(1)进行数据的归一化处理,获得离线训练数据集,将其标记为Xo,作为基于卷积神经网络架构优化的离线优化训练模块的数据输入,按照人工设定的比例,将Xo随机分割训练集Xo1与验证集Xo2;
其中,Xoj表示离线训练数据集Xo第j维度的特征,Xj表示源数据集X第j维度的特征,Xjmax与Xjmin分别表示Xj的最小值与最大值,d表示Xo维度的最大值,在本实施例中,d=51;
(2)设置基于卷积神经网络架构优化的离线优化训练模块的参数值,在本实施例中,所述参数值设定包括种群大小N=20,卷积神经网络的最大深度D=10,架构优化的迭代优化次数I=20,卷积神经网络离线训练的轮次EP1=350,卷积神经网络进行离线验证的轮次EP2=300,交叉率β=0.5,变异率σ=0.5,变异种类阈值σ1=0.4,σ2=0.7;
(3)将初始化N=20个个体作为初始种群Q。每个个体的编码形式为Indi={l,[type1,para1],[type2,para2],…,[typel,paral]},在此Indi代表种群中任意一个个体,l代表个体中包含单元的数量,l=Randint(0,D),其中Randint(0,D)表示随机产生一个0到D之间范围内的整数,第i个数组[typei,Parai]代表第i个单元,1≤i≤l,typei表示第i个单元的类型,Parai代表初始化第i个单元所需的参数,其定义如公式(2)所示:
其中,ResNetBlockUnit、DenseNetBlockUnit和PoolingUnit分别表示卷积神经网络的三种基础网络架构:残差网络模块单元、全连接模块单元和池化单元,分别缩写为RBU、DBU和PU;所述RBU由不同数量的残差网络模块(ResNetBlock)组成,所述DBU由不同数量的全连接模块(DenseNetBlock)组成,残差网络模块、全连接模块和池化单元的结构示意图如图2所示;amount1表示DBU中全连接模块的数量,k表示人工设定的通道增长量,in1表示DBU中输入通道的数量,out1表示DBU中输出通道的数量,amount2表示RBU中残差网络模块的数量,in2表示RBU中输入通道的数量,out2表示RBU中输出通道的数量,Poolingtype的产生过程如下:首先生成一个随机数q=random(0,1),其中random(0,1)表示在0到1之间范围内生成的一个均匀随机数,如果q<0.5,将Poolingtype初始化为MaxPoolingLayer,否则初始化为MeanPoolingLayer,其中MaxPoolingLayer和MeanPoolingLayer分别表示最大池化层和平均池化层,即在确定池化核大小后,最大池化层将使用池化核内的最大值作为输出,而平均池化层的输出为池化核内数据的平均值,MaxpoolingLayer与MeanpoolingLayer的结构示意图如图3所示;计算最大池化层的个数 表示向下取整运算符;在首层不使用PU,且满足PU的个数小于mp的前提下,每个单元的网络架构类型typei为随机生成的范围为[0,2]范围内的整数,即共有0、1和2这三种可能性,分别对应于DBU、RBU和PU,typei的具体定义如公式(3)所示,
图4给出了随机生成的一个个体的编码示例,该个体的编码信息为{3,[0,[3,12,1,37]],[2,0.4],[1,[2,37,64]]};
(4)对初始种群Q进行性能评估,具体过程如下:依据Q中每个个体表征的编码信息转化为对应的卷积神经网络模型,图5给出了转化的示例,将离线训练数据集Xo1作为每个卷积神经网络模型的数据输入,进行EP1轮次的离线训练,针对验证集Xo2进行EP2轮次的验证测试,计算EP2轮次中每个轮次在验证集Xo2上准确率的方差,统计出每个个体对应的最终准确率和模型参数数量,并确定最优个体Indibest。所述确定最优个体Indibest的过程为:将所有个体按模型参数数量升序排序,然后按照冒泡排序的思路两两进行个体比较,得到最优个体Indibest。在此,以种群中任意两个个体为例,说明个体性能评估与优劣比较的过程,具体步骤如下:
(a)人工设定在验证集上的准确率阈值=0.99,准确率之差的阈值=0.005,在验证集上的准确率方差阈值=0.00001,模型参数数量阈值=200000;
(b)对于任意两个体,分别标记为Indi1和Indi2,判断其验证集准确率是否达到在验证集上的准确率下限,剔除未达到下限的个体;
(c)如果Indi1和Indi2同时达到或同时未达到在验证集上的准确率下限,则计算二者在验证集上的准确率之差,如果准确率之差大于设定的准确率阈值,则选择准确率更高的个体;
(d)如果Indi1和Indi2在验证集的准确率之差未达到设定的准确率之差的阈值,则计算二者的模型参数数量之差,如果模型参数数量之差大于设定的参数数量阈值,选择模型参数数量更少的个体;
(f)如果Indi1和Indi2模型参数数量之差未达到设定的模型参数数量阈值,则计算二者在验证集上的准确率方差之差,如果准确率方差之差大于设定的方差阈值,则选择方差更小的个体,否则固定选择Indi2;
(5)对于种群Q中的每一个个体,随机生成一个随机数q1=random(0,1)和一个随机整数P=Randint(0,l),P表示变异的位点,Randint(0,l)表示从0到l范围内的随机生成的一个整数,如果q1小于变异率σ,则对该个体在P点进行变异操作,否则对Indibest在P点进行变异操作,所生成的变异个体标记为Indimut。变异操作的具体过程如下:随机产生一个随机数r=random(0,1),根据变异种类阈值σ1,σ2来确定变异类型,若0<r≤σ1,则执行删除变异操作,即删除变异位点P对应的层模型信息,图6给出了删除变异的示例,即删除P点的DBU模型;若σ1<r≤σ2,则执行修改变异操作,即修改变异位点P对应的层模型信息,即首先修改P位点的类别参数typeP=Randint(0,2),如图6所示的案例中,将变异前个体的变异位点P的DBU修改为RBU,并按照公式(2)对P位点的模型参数进行初始化,标记为ParaP;如果σ2<r≤1,则执行添加变异操作,即在P位点后添加一层模型信息,即按照公式(3)确定所添加的层模型类型参数,如图6所示的案例中,在变异前个体的变异位点P的DBU后添加一个RBU,按照公式(2)对添加模型参数进行初始化;
(6)对于种群Q中的每一个个体,生成一个随机数q2=random(0,1),如果q2小于交叉率β,则以该个体与Indimut作为父代进行交叉操作,即分别从该个体与Indimut中随机选择一个交叉位点P1=Randint(0,l),P2=Randint(0,l)进行单点交叉,生成两个子代个体,分别标记为Indic1和Indic2;图7给出了交叉操作的一个示例图;对于种群Q中的每一个个体,如果该个体未执行交叉操作,则按照步骤(4)中所述的方法对该个体与Indimut进行性能评估和优劣比较,并选取最优个体进入新种群,标记为Qn;如果该个体执行了交叉操作,则按照步骤(4)中所述的方法对该个体、Indic1和Indic2进行性能评估和优劣比较,选取最优个体进入新种群Qn;
(7)按照步骤(4)中所述的性能评估和个体优劣比较方法,获得新种群Qn中最优个体Indinbest,并比较Indibest和Indinbest,如果Indinbest优于Indibest,则无条件地接受Indibest=Indinbest,否则Indibest保持不变;
(8)无条件地接受Q=Qn;
(9)重复步骤(4)~步骤(8),直到满足设定的架构优化的迭代优化次数I为止;
(10)根据离线优化训练模块中最终获得的最优个体Indibest所表征的最优架构信息{7,[0,[3,12,1,37]],[2,[0.4]],[2,[0.3]],[1,[2,37,64]],[2,[0.2]],[2,[0.2]],[2,[0.3]]},按照类似图5的方法构建工控入侵检测在线检测模块中的最优卷积神经网络模型,并设置最优神经网络模型的参数,包括在线检测的轮次EP3=350,权重正则化参数=0.0005,模型优化器为随机梯度下降,动量设置为0.9,批大小为8192,学习率的设置为:在第1轮次时设置为0.01,第2~149轮次过程中设置为0.1,在第150~第249轮次过程中均设置为0.01,在之后的轮次中设置为0.001;
(11)工控入侵检测系统的数据采集模块从工业控制系统的实时数据库中采集生产过程的实时监控数据,经过数据解析和数据归一化处理后,作为基于最优卷积神经网络的工控在线入侵检测模块的在线检测数据集,标记为Xt;
(12)运行最优卷积神经网络,对在线检测数据集Xt进行在线入侵检测,分别按照公式(4)~(6)计算入侵检测的精准率、召回率与F1评分等性能指标;
其中,TP表示将正常工控数据样本正确地预测为正常分类的数量,TN表示将异常工控数据样本正确地预测为异常分类的数量,FP表示将异常工控数据样本错误地预测为正常分类的数量,FN表示将正常工控数据样本错误地预测为异常分类的数量。在本实施案例中,本发明技术获得的性能指标为:精准率=0.9991,召回率=0.9989,F1评分=0.9984。
通过对采用本发明技术与现有技术针对上述实施例的实验结果对比分析,如图8所示,我们可以发现:相比依赖人工经验设计的传统卷积神经网络(Convolutional neuralnetworks,简写为CNN)和基于生成对抗网络的多变量异常检测(Generative adversarialnetworks-based multivariate anomaly detection,简写为MAD-GAN)等现有技术,本发明技术获得的精准率、召回率和F1评分等工控入侵检测性能指标均为最好的。
此外,相比现有技术,本发明技术实现了用于工控入侵检测系统的卷积神经网络架构的自动生成和优化设计,提高了工控入侵检测系统的智能化设计水平和设计效率。
综述所述,本发明的有益效果是:采用本发明不仅可实现用于工控入侵检测系统的卷积神经网络架构的自动生成和优化设计,提高了工控入侵检测系统的智能化设计水平和设计效率,还提升了工控系统入侵检测的精准率、召回率和F1评分等性能指标。
Claims (3)
1.一种基于卷积神经网络架构优化的工控入侵检测方法,其特征在于,包括以下步骤:
(1)工控入侵检测的数据采集模块从工业控制系统的历史数据库中采集生产过程监控状态的历史数据,经过数据解析,获得源数据集,标记为X,并按照公式(1)进行数据的归一化处理,获得离线训练数据集,将其标记为Xo,输入基于卷积神经网络架构优化的离线优化训练模块,将Xo随机分割训练集Xo1与验证集Xo2;
其中,Xoj表示离线训练数据集Xo第j维度的特征,Xj表示源数据集X第j维度的特征,Xjmax与Xjmin分别表示Xj的最小值与最大值,d表示Xo维度的最大值;
(2)设置基于卷积神经网络架构优化的离线优化训练模块的参数值,所述参数值包括种群大小N、卷积神经网络的最大深度D、架构优化的迭代优化次数I、卷积神经网络离线训练的轮次EP1、卷积神经网络进行离线验证的轮次EP2、交叉率β、变异率σ和变异种类阈值σ1,σ2;
(3)将初始化N个个体作为初始种群Q;每个个体的编码形式为Indi={l,[type1,para1],[type2,para2],…,[typel,paral]},在此Indi代表种群中任意一个个体,l代表个体中包含单元的数量,l=Randint(0,D),其中Randint(0,D)表示随机产生一个0到D之间范围内的整数,第i个数组[typei,parai]代表第i个单元,1≤i≤l,typei表示第i个单元的类型,parai代表初始化第i个单元所需的参数,其定义如公式(2)所示:
其中,ResNetBlockUnit、DenseNetBlockUnit和poolingUnit分别表示卷积神经网络的三种基础网络架构:残差网络模块单元、全连接模块单元和池化单元,分别缩写为RBU、DBU和PU;所述RBU由不同数量的残差网络模块组成,所述DBU由不同数量的全连接模块组成;amount1表示DBU中全连接模块的数量,k表示人工设定的通道增长量,in1表示DBU中输入通道的数量,out1表示DBU中输出通道的数量,amount2表示RBU中残差网络模块的数量,in2表示RBU中输入通道的数量,out2表示RBU中输出通道的数量,poolingtype的产生过程如下:首先生成一个随机数q=random(0,1),其中random(0,1)表示在0到1之间范围内生成的一个均匀随机数,如果q<0.5,将poolingtype初始化为MaxpoolingLayer,否则初始化为MeanpoolingLayer,其中MaxpoolingLayer和MeanpoolingLayer分别表示最大池化层和平均池化层,即在确定池化核大小后,最大池化层将使用池化核内的最大值作为输出,而平均池化层的输出为池化核内数据的平均值;计算最大池化层的个数 表示向下取整运算符;在首层不使用PU,且满足PU的个数小于mp的前提下,每个单元的网络架构类型typei为随机生成的范围为[0,2]范围内的整数,即共有0、1和2这三种可能性,分别对应于DBU、RBU和PU,typei的具体定义如公式(3)所示,
(4)对初始种群Q进行性能评估,具体过程如下:依据Q中每个个体表征的架构信息转化为对应的卷积神经网络模型,将离线训练数据集Xo1作为每个卷积神经网络模型的数据输入,进行EP1轮次的离线训练,针对验证集Xo2进行EP2轮次的验证测试,计算EP2轮次中每个轮次在验证集Xo2上准确率的方差,统计出每个个体对应的最终准确率和模型参数数量,并确定最优个体Indibest;所述确定最优个体Indibest的过程为:将所有个体按模型参数数量升序排序,然后按照冒泡排序的思路两两进行个体优劣比较和个体性能评估,得到最优个体Indibest;
(5)对于种群Q中的每一个个体,首先随机生成一个随机数q1=random(0,1)和一个随机整数P=Randint(0,l),P表示变异的位点,Randint(0,l)表示从0到l范围内的随机生成的一个整数,如果q1小于变异率σ,则对该个体在P点进行变异操作,否则对Indibest在P点进行变异操作,所生成的变异个体标记为Indimut;变异操作的具体过程如下:随机产生一个随机数r=random(0,1),根据变异种类阈值σ1,σ2来确定变异类型,若0<r≤σ1,则删除变异位点P对应的层模型信息;若σ1<r≤σ2,则修改P位点对应的层模型信息,即首先修改P位点的类别参数typeP=Randint(0,2),并按照公式(2)对P位点的模型参数进行初始化,标记为ParaP;如果σ2<r≤1,则在P位点后添加一层模型信息,即按照公式(3)确定所添加的层模型类型参数,按照公式(2)对添加模型参数进行初始化;
(6)对于种群Q中的每一个个体,首先生成一个随机数q2=random(0,1),如果q2小于交叉率β,则以该个体与Indimut作为父代进行交叉操作,即分别从该个体与Indimut中随机选择一个交叉位点P1=Randint(0,l),P2=Randint(0,l)进行单点交叉,生成两个子代个体,分别标记为Indic1和Indic2;对于种群Q中的每一个个体,如果该个体未执行交叉操作,则按照步骤(4)对该个体与Indimut进行性能评估和优劣比较,并选取最优个体进入新种群,标记为Qn;如果该个体执行了交叉操作,则按照步骤(4)对该个体、Indic1和Indic2进行性能评估和优劣比较,选取最优个体进入新种群Qn;
(7)按照步骤(4)中的性能评估和个体优劣比较,获得新种群Qn中最优个体Indinbest,并比较Indibest和Indinbest,如果Indinbest优于Indibest,则无条件地接受Indibest=Indinbest,否则Indibest保持不变;
(8)无条件地接受Q=Qn;
(9)重复步骤(4)~步骤(9),直到满足设定的架构优化的迭代优化次数I为止;
(10)根据离线优化训练模块中最终获得的最优个体Indibest所表征的最优架构信息,构建工控入侵检测在线检测模块中的最优卷积神经网络模型,并设置最优神经网络模型的参数,包括在线检测的轮次EP3、学习率、权重正则化参数;
(11)工控入侵检测的数据采集模块从工业控制系统的实时数据库中采集生产过程的实时监控数据,经过数据解析和数据归一化处理后,作为基于最优卷积神经网络的工控在线入侵检测模块的在线检测数据集,标记为Xt;
(12)利用在线检测模块运行最优卷积神经网络,对在线检测数据集Xt进行在线入侵检测,分别按照公式(4)~(6)计算入侵检测的精准率、召回率与F1评分性能指标;
其中,TP表示将正常工控数据样本正确地预测为正常分类的数量,FP表示将异常工控数据样本错误地预测为正常分类的数量,FN表示将正常工控数据样本错误地预测为异常分类的数量。
2.根据权利要求1所述的基于卷积神经网络架构优化的工控入侵检测方法,其特征在于,所述步骤(4)中个体优劣比较和个体性能评估的过程具体包括以下子步骤:
(a)设定在验证集上的准确率阈值、准确率之差的阈值、在验证集上的准确率方差阈值、模型参数数量阈值;
(b)对于任意两个体,分别标记为Indi1和Indi2,判断其验证集准确率是否达到在验证集上的准确率下限,剔除未达到下限的个体;
(c)如果Indi1和Indi2同时达到或同时未达到在验证集上的准确率下限,则计算二者在验证集上的准确率之差,如果准确率之差大于设定的准确率阈值,则选择准确率更高的个体;
(d)如果Indi1和Indi2在验证集的准确率之差未达到设定的准确率之差的阈值,则计算二者的模型参数数量之差,如果模型参数数量之差大于设定的参数数量阈值,选择模型参数数量更少的个体;
(f)如果Indi1和Indi2模型参数数量之差未达到设定的模型参数数量阈值,则计算二者在验证集上的准确率方差之差,如果准确率方差之差大于设定的方差阈值,则选择方差更小的个体,否则固定选择Indi2。
3.一种基于卷积神经网络架构优化的工控入侵检测系统,其特征在于,用于实现上述权利要求1或2所述的基于卷积神经网络架构优化的工控入侵检测方法,该系统包括工控入侵检测的数据采集模块、离线优化训练模块和在线检测模块;
所述数据采集模块从工业控制系统实时数据库中采集生产过程的实时监控数据,经过数据解析和数据归一化处理后,得到在线检测数据集,将该在线检测数据集输入在线检测模块;所述数据采集模块从工业控制系统采集生产过程监控状态的历史数据,经过数据解析和数据归一化处理后,获得离线训练数据集,将该离线训练数据集输入离线优化训练模块;
所述离线优化训练模块基于卷积神经网络架构优化平台,获得卷积神经网络的最优架构信息,将该最优架构信息输入在线检测模块;
所述在线检测模块基于最优架构的卷积神经网络模型进行入侵检测,若检测到入侵则产生报警信息并评估入侵检测性能指标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110886083.9A CN113591078B (zh) | 2021-08-03 | 2021-08-03 | 基于卷积神经网络架构优化的工控入侵检测系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110886083.9A CN113591078B (zh) | 2021-08-03 | 2021-08-03 | 基于卷积神经网络架构优化的工控入侵检测系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113591078A CN113591078A (zh) | 2021-11-02 |
CN113591078B true CN113591078B (zh) | 2024-06-07 |
Family
ID=78254384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110886083.9A Active CN113591078B (zh) | 2021-08-03 | 2021-08-03 | 基于卷积神经网络架构优化的工控入侵检测系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113591078B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116579387B (zh) * | 2023-07-14 | 2023-10-27 | 北京万普瑞能源技术有限公司 | 一种天然气井泡沫排水采气智能算法 |
CN117579400B (zh) * | 2024-01-17 | 2024-03-29 | 国网四川省电力公司电力科学研究院 | 一种基于神经网络的工控系统网络安全监测方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353153A (zh) * | 2020-03-04 | 2020-06-30 | 南京邮电大学 | 一种基于gep-cnn的电网恶意数据注入检测方法 |
CN111460441A (zh) * | 2020-04-17 | 2020-07-28 | 武汉大学 | 一种基于批归一化卷积神经网络的网络入侵检测方法 |
CN112351033A (zh) * | 2020-11-06 | 2021-02-09 | 北京石油化工学院 | 工控网络中基于双种群遗传算法的深度学习入侵检测方法 |
US11075934B1 (en) * | 2021-02-17 | 2021-07-27 | King Abdulaziz University | Hybrid network intrusion detection system for IoT attacks |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2707147C1 (ru) * | 2018-10-31 | 2019-11-22 | Общество с ограниченной ответственностью "Аби Продакшн" | Обучение нейронной сети посредством специализированных функций потерь |
JP7213754B2 (ja) * | 2019-05-27 | 2023-01-27 | 株式会社日立製作所 | 情報処理システム、推論方法、攻撃検知方法、推論実行プログラム及び攻撃検知プログラム |
-
2021
- 2021-08-03 CN CN202110886083.9A patent/CN113591078B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353153A (zh) * | 2020-03-04 | 2020-06-30 | 南京邮电大学 | 一种基于gep-cnn的电网恶意数据注入检测方法 |
CN111460441A (zh) * | 2020-04-17 | 2020-07-28 | 武汉大学 | 一种基于批归一化卷积神经网络的网络入侵检测方法 |
CN112351033A (zh) * | 2020-11-06 | 2021-02-09 | 北京石油化工学院 | 工控网络中基于双种群遗传算法的深度学习入侵检测方法 |
US11075934B1 (en) * | 2021-02-17 | 2021-07-27 | King Abdulaziz University | Hybrid network intrusion detection system for IoT attacks |
Non-Patent Citations (4)
Title |
---|
唱甡嘉.基于循环神经网络模型的用户入侵行为检测与管控研究.智能计算机与应用.2020,(第2期),正文第245-249页. * |
基于CNN和LSTM深度网络的伪装用户入侵检测;王毅;冯小年;钱铁云;朱辉;周静;;计算机科学与探索;20171128(04);全文 * |
基于卷积神经网络的电网工控系统入侵检测算法;赵智阳;夏筱筠;;计算机系统应用;20200815(08);全文 * |
基于改进卷积神经网络的电网假数据注入攻击检测方法;李元诚等;电力系统自动化;20191025;43;正文第97-100页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113591078A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113591078B (zh) | 基于卷积神经网络架构优化的工控入侵检测系统及方法 | |
CN113344288B (zh) | 梯级水电站群水位预测方法、装置及计算机可读存储介质 | |
CN111582542B (zh) | 一种基于异常修复的电力负荷预测方法及系统 | |
CN112733417B (zh) | 一种基于模型优化的异常负荷数据检测与修正方法和系统 | |
CN112364560B (zh) | 矿山凿岩装备作业工时智能预测方法 | |
CN110636066B (zh) | 基于无监督生成推理的网络安全威胁态势评估方法 | |
CN110796281B (zh) | 基于改进深度信念网络的风电机组状态参数预测方法 | |
CN117349782B (zh) | 智能数据预警决策树分析方法及系统 | |
CN110956309A (zh) | 基于crf和lstm的流程活动预测方法 | |
CN112904810A (zh) | 基于有效特征选择的流程工业非线性过程监测方法 | |
CN113743538A (zh) | 基于ipso-bp神经网络的智能楼宇能耗预测方法、设备和介质 | |
CN112735541A (zh) | 一种基于简单循环单元神经网络的污水处理水质预测方法 | |
CN115982141A (zh) | 一种针对时序数据预测的特征优化方法 | |
CN114707692A (zh) | 基于混合神经网络的湿地出水氨氮浓度预测方法及系统 | |
CN111934903B (zh) | 一种基于时序演化基因的Docker容器故障智能预测方法 | |
CN113762591A (zh) | 一种基于gru和多核svm对抗学习的短期电量预测方法及系统 | |
CN116910559A (zh) | 一种面向电网超算中心智能运维应用的指标异常检测方法 | |
CN111310974A (zh) | 一种基于ga-elm的短期需水预测方法 | |
CN115396198B (zh) | 基于cnn架构与参数并行优化的电网入侵检测系统及方法 | |
CN115412332B (zh) | 基于混合神经网络模型优化的物联网入侵检测系统及方法 | |
CN116701846A (zh) | 一种基于无监督学习的水电站调度运行数据清洗方法 | |
CN116318773A (zh) | 基于ae模型优化的对抗训练式无监督入侵检测系统及方法 | |
CN116340936A (zh) | 融合强化学习和特征选择优化的ics入侵检测系统及方法 | |
CN115619028A (zh) | 一种基于聚类算法融合的电力负荷精准预测方法 | |
CN115438786A (zh) | 基于样本驱动目标损失函数优化的鲁棒神经网络训练方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |