CN111967571B - 一种基于mhma的异常检测方法和设备 - Google Patents
一种基于mhma的异常检测方法和设备 Download PDFInfo
- Publication number
- CN111967571B CN111967571B CN202010647831.3A CN202010647831A CN111967571B CN 111967571 B CN111967571 B CN 111967571B CN 202010647831 A CN202010647831 A CN 202010647831A CN 111967571 B CN111967571 B CN 111967571B
- Authority
- CN
- China
- Prior art keywords
- data
- encoder
- abnormal
- memory self
- head memory
- 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 73
- OLSDAJRAVOVKLG-UHFFFAOYSA-N 3-hydroxymandelic acid Chemical compound OC(=O)C(O)C1=CC=CC(O)=C1 OLSDAJRAVOVKLG-UHFFFAOYSA-N 0.000 title claims abstract 4
- 230000005856 abnormality Effects 0.000 title claims description 33
- 230000002159 abnormal effect Effects 0.000 claims abstract description 117
- 238000000034 method Methods 0.000 claims abstract description 58
- 230000006993 memory improvement Effects 0.000 claims abstract description 18
- 238000012549 training Methods 0.000 claims description 76
- 239000013598 vector Substances 0.000 claims description 73
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000009826 distribution Methods 0.000 description 46
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 238000012360 testing method Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 208000009119 Giant Axonal Neuropathy Diseases 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 201000003382 giant axonal neuropathy 1 Diseases 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- 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
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0224—Process history based detection method, e.g. whereby history implies the availability of large amounts of data
- G05B23/024—Quantitative history assessment, e.g. mathematical relationships between available data; Functions therefor; Principal component analysis [PCA]; Partial least square [PLS]; Statistical classifiers, e.g. Bayesian networks, linear regression or correlation analysis; Neural networks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4184—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by fault tolerance, reliability of production system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
本申请涉及人工智能技术领域,特别涉及一种基于MHMA的异常检测方法和设备,用以解决现有技术中对于工业控制系统中的异常数据检测准确率低的技术问题。该方法包括:获取工业控制系统中的设备数据,将设备数据输入训练完成的、包括用于记忆增强的记忆模块的多头记忆自编码器中,得到设备数据对应的重构数据;计算设备数据与重构数据之间的重构误差,当重构误差超出预设异常阈值时,确定工业控制系统存在异常。如此,采用多头记忆自编码器对系统中的异常数据进行检测,有效提高系统异常检测的准确率。
Description
技术领域
本申请涉及人工智能技术领域,特别涉及一种基于MHMA的异常检测方法和设备。
背景技术
工业控制系统(Industrial control system,ICS)是指用于操作、控制、辅助自动化工业生产过程的设备、系统、网络以及控制器的集合,是对工业生产中的各种控制系统的统称。其包括数据采集与监控系统(Supervisory control and data acquisition,SCADA)、分布式控制系统(Distributed Control System,DCS)和执行控制功能的其他系统。随着工业化和信息化融合发展的不断深入,工业控制系统面临更为严峻的威胁。近年来,对于工业系统的异常攻击屡次发生,如果未能及时发现工业系统中出现的异常,将对工业系统造成不可挽回的损失。
现有技术中,基于上述背景,对工业系统的异常检测越发重视,随着机器学习和神经网络的发展,将深度学习和工业控制系统的入侵检测相结合,对于工业系统的异常检测具有一定的成效。其中,自编码器(Auto-encoder,AE)在工业控制系统异常检测中受到了广泛使用。
但是,在实际应用中,传统的自编码器在应用时,由于泛化能力过强,会对系统中的部分异常数据也进行较好的重构,系统将无法检测出部分异常数据,从而产生系统的异常数据检测准确率低的问题。
有鉴于此,亟需提供一种更为有效的工控系统异常检测方法以克服上述缺陷。
发明内容
本申请实施例提供一种基于MHMA的异常检测方法和设备,用以解决现有技术中对于工业控制系统中的异常数据检测准确率低的技术问题。
本申请实施例提供的具体技术方案如下:
本申请实施例的第一方面,提供一种基于MHMA的异常检测方法,包括:
获取工业控制系统中的设备数据;
将所述设备数据输入训练完成的多头记忆自编码器中,得到所述设备数据对应的重构数据;所述多头记忆自编码器中包括用于记忆增强的记忆模块;所述多头记忆自编码器是由所述设备数据中的正常数据训练得到
计算所述设备数据与所述重构数据之间的重构误差;
判断所述重构误差是否超出预设异常阈值,得到判断结果;
当所述判断结果表示所述重构误差超出所述预设异常阈值时,确定所述工业控制系统存在异常。
可选的,所述多头记忆自编码器可以包括编码器、记忆模块以及解码器;
所述将所述设备数据输入训练完成的多头记忆自编码器中,得到所述设备数据对应的重构数据,具体可以包括:
采用所述编码器对所述设备数据进行编码,得到第一隐特征向量;
采用所述记忆模块对所述隐特征向量进行记忆增强,输出第二隐特征向量,所述第二隐特征向量为与所述第一特征向量邻近的基础特征向量;
将所述第二隐特征向量输入所述解码器中,得到重构数据。
可选的,所述解码器中的最后一层网络具有多个网络分支;
所述将所述第二隐特征向量输入所述解码器中,得到重构数据,具体可以包括:
将所述第二隐特征向量输入多个所述网络分支中,得到重构数据。
可选的,所述将所述设备数据输入训练完成的多头记忆自编码器中,得到所述设备数据对应的重构数据之前,还可以包括:
获取已知检测状态的设备数据样本;所述设备数据样本中包括正常数据样本和异常数据样本;
将所述正常数据样本输入初始多头记忆自编码器中,对所述自编码器模型进行训练;训练过程中采用基于随机梯度下降的误差反向传播算法优化更新所述初始多头记忆自编码器中的权重及偏置参数,直至所述初始多头记忆自编码器收敛,得到训练后的多头记忆自编码器;所述用于对所述自编码器模型进行训练的正常数据样本是输入生成式对抗网络中的生成模型,得到的优化后的数据样本。
可选的,所述得到的优化后的数据样本之前,还可以包括:
获取设备数据样本中的正常数据样本;
将所述正常数据样本输入生成式对抗网络中的生成模型,得到所述生成模型输出的数据;
将输出的数据输入生成式对抗网络中的判别模型,得到所述判别模型的判别结果,所述判别结果表示所述生成模型输出的数据与所述正常数据样本的相似度;
当所述相似度小于预设阈值时,对所述生成式对抗网络中的生成模型进行优化,直至所述生成模型输出的数据与所述正常数据样本的相似度超出或等于所述预设阈值为止,得到训练完成的生成式对抗网络的生成模型。
可选的,所述得到训练后的多头记忆自编码器之后,还可以包括:
将所述异常数据样本输入所述训练后的多头记忆自编码器中,验证所述训练后的多头记忆自编码器是否有效,并在确认有效后存储该多头记忆自编码器。
可选的,所述验证所述训练后的多头记忆自编码器是否有效,具体可以包括:
确定所述异常数据样本的背景信息;
根据所述背景信息,采用似然比算法,计算得到所述异常数据样本对应的似然比;
根据所述似然比确定所述异常数据样本对应的异常值;
判断所述异常值是否满足预设阈值;
若所述异常值满足预设阈值,确定所述训练后的多头记忆自编码器有效。
本申请实施例的第二方面,提供一种基于MHMA的异常检测设备,包括:
设备数据获取模块,用于获取工业控制系统中的设备数据;
重构数据确定模块,用于将所述设备数据输入训练完成的多头记忆自编码器中,得到所述设备数据对应的重构数据;所述多头记忆自编码器中包括用于记忆增强的记忆模块;所述多头记忆自编码器是由所述设备数据中的正常数据训练得到
重构误差计算模块,用于计算所述设备数据与所述重构数据之间的重构误差;
判断模块,用于判断所述重构误差是否超出预设异常阈值,得到判断结果;当所述判断结果表示所述重构误差超出所述预设异常阈值时,确定所述工业控制系统存在异常。
本申请实施例的第三方面,提供一种服务器,该服务器包括:存储器和处理器;其中,
存储器,用于存储可执行指令;
处理器,用于读取并执行存储器中存储的可执行指令,以实现如上述任一项所述的基于MHMA的异常检测方法。
本申请实施例的第四方面,还提供一种存储介质,当存储介质中的指令由处理器执行时,使得能够执行如上述任一项所述的基于MHMA的异常检测方法。
本申请实施例中,通过获取工业控制系统中的设备数据,将设备数据输入训练完成的、包括用于记忆增强的记忆模块的多头记忆自编码器中,得到设备数据对应的重构数据;计算设备数据与重构数据之间的重构误差,当重构误差超出预设异常阈值时,确定工业控制系统存在异常。通过上述方法,采用多头记忆自编码器对系统中的异常数据进行检测,能够解决现有技术中对于工业控制系统中的异常数据检测准确率低的技术问题,从而有效提高系统异常检测的准确率。
附图说明
图1为本申请实施例中一种基于MHMA的异常检测方法的系统架构图;
图2为本申请实施例中一种基于MHMA的异常检测方法的流程示意图;
图3为本申请书实施例中对应于图2的一种基于MHMA的异常检测设备的结构示意图;
图4为本申请实施例中服务器结构示意图。
具体实施方式
为了解决现有技术中对于工业控制系统中的异常数据检测准确率低的技术问题,本申请实施例中,提供一种基于多头记忆自编码器(Multi-headed Memory Autoencoder,简称MHMA)的工控系统异常检测方法,通过采用训练完成的多头记忆自编码器对工业控制系统中的设备数据进行异常检测,能够减少或避免对部分异常数据进行较好的重构,从而有效提高对于工业控制系统中的异常数据进行检测的准确率。
现有技术中,为了对工业控制系统中的异常进行检测,采用传统的自编码器进行实现。但是,在实际应用中,传统的自编码器在应用时,由于泛化能力过强,会对部分的异常也进行较好的重构,从而导致工业控制系统的异常数据检测效果变差,另外,在计算异常值时,没有消除数据中背景信息。但是在实际计算中,仅对特定的特征计算重构误差,而不需要对背景信息计算重构误差。这样,就会导致数据中的背景信息对异常数据的检测造成干扰,从而导致基于传统自编码器的工控系统异常检测方法对异常数据的检测的准确率低。
为了解决现有技术中的缺陷,本方案给出了以下实施例:
图1为本申请实施例中一种基于MHMA的异常检测方法的系统架构图。
如图1所示,本方案中的多头记忆自编码器可以包括编码器101,记忆模块102以及解码器103。获取到系统中的设备数据(设备运行参数、操作参数、状态参数等),将设备数据输入编码器101中进行编码,得到第一隐特征向量Z,将第一隐特征向量Z输入记忆模块102中,其中,记忆模块102中还可以包含记忆内存模块(Memory Addressing)和硬阈值模块(Hard shrinkage),计算得第二隐特征向量将第二隐特征向量输入解码器103中,其中,解码器103的最后一层包括多个网络分支,输入的第二隐特征向量经解码器解码之后,得到重构数据。
接下来,将针对本申请实施例提供的基于MHMA的异常检测方法结合附图进行具体说明:
图2为本申请实施例中一种基于MHMA的异常检测方法的流程示意图。流程的执行主体可以为搭载于工业系统中的应用服务器的程序或应用客户端,例如:可以是工业控制系统中的异常检测设备。
如图2所示,该流程可以包括以下步骤:
步骤201:获取工业控制系统中的设备数据。
设备数据可以指的是工业控制系统中各个控制系统中的设备在各个时间戳的运行参数、状态参数或者操作参数等。比如:各种数据采集设备、数据处理设备、数据监控设备等产生的操作参数、运行参数以及状态参数等。其中,本说明书中,为了论述方便,将工业控制系统简称为工控系统,其范围不发生改变。
在获取工业控制系统中的设备数据时,可以是由执行主体设备向工业控制系统发送获取设备数据的请求,工业控制系统根据接收到的请求返回相应的设备数据。也可以是工业控制系统主动向执行主体设备发送工业系统中产生的设备数据。在对工业控制系统中的设备数据进行异常检测时,可以进行实时检测,也可以根据用户设置的周期进行检测,比如:每三分钟检测一次。对此,本说明书不进行具体限定。
步骤202:将所述设备数据输入训练完成的多头记忆自编码器中,得到所述设备数据对应的重构数据;所述多头记忆自编码器中包括用于记忆增强的记忆模块;所述多头记忆自编码器是由所述设备数据中的正常数据训练得到。
自编码器(autoencoder,简称AE)是一类在半监督学习和非监督学习中使用的人工神经网络(Artificial Neural Networks,ANNs),其功能是通过将输入信息作为学习目标,对输入信息进行表征学习(representation learning),主要的目标在于对高维复杂的数据中学习出一种合适的表达,尤其用于降维处理和特征学习。自编码器由编码器和解码器组成,编码器用于从输入中获取压缩编码,解码器用于从编码中重构数据。
多头记忆自编码器(Multi-headed Memory Autoencoder),可以理解为一种记忆增强的自编码器模型。该多头记忆自编码器中包含有用于记忆增强的记忆模块。需要说明的是,多头记忆自编码器只采用正常数据训练得到的,训练得到的多头记忆自编码器能够捕捉到正常数据的分布,能够有效地提取层次性更强的特征,网络应该学习更高级别和更抽象的操作和参数特征,以便从低级别普通特征中学习工业控制系统的特征。
重构数据可以指的是输入的设备数据,经过多头记忆自编码器处理之后,输出的数据。从定义上看,重构数据可以是设备数据经过数据重构之后得到的数据,数据重构可以理解为数据从一种几何形态到另一种几何形态,数据从一种格式到另一种格式的转换,包括结构转换、格式转换、类型替换等(数据拼接、数据裁剪、数据压缩等)。
步骤203:计算所述设备数据与所述重构数据之间的重构误差。
深度学习中的重构主要有两种:
1)基于值的重构(Value-based),比如:平方误差。
2)基于分布的重构(Distribution-based),比如:交叉熵误差。
深度学习中用到重构比较多的模型主要是自动编码器(Autoencoder)和限制玻尔兹曼机(RBM)。这两种模型训练的基础都是基于重构误差最小化。
重构误差可以表示模型输出值与原始输入之间的均方误差。
其中,本方案中的多头记忆自编码器训练时,可以使用Value-based重构误差最小化。其训练的基本原理就是使得重构误差最小化,从而可以无监督地训练出一个深度学习网络。
步骤204:判断所述重构误差是否超出预设异常阈值,得到判断结果;当所述判断结果表示所述重构误差超出所述预设异常阈值时,确定所述工业控制系统存在异常。
在计算得到重构误差之后,可以依照正常样本的重构误差设定异常阈值。当重构误差超出预设异常阈值时,可以确定工业控制系统存在异常。当重构误差未超出预设异常阈值时,可以确定工业控制系统中不存在异常。
上述图1中的方法,通过获取工业控制系统中的设备数据,将设备数据输入训练完成的、包括用于记忆增强的记忆模块的多头记忆自编码器中,得到设备数据对应的重构数据;计算设备数据与重构数据之间的重构误差,当重构误差超出预设异常阈值时,确定工业控制系统存在异常。通过上述方法,采用多头记忆自编码器对系统中的异常数据进行检测,能够解决现有技术中对于工业控制系统中的异常数据检测准确率低的技术问题,从而有效提高系统异常检测的准确率。
现有技术中,传统的自编码器是通过编码器(Encoder)产生隐特征向量Z,然后经过解码器(Decoder)还原到原始样本空间。通过编码器产生隐特征向量Z,然后经过解码器还原到图像空间。在半监督/无监督的设定下,自编码器期望异常的重构损失较大,依此来区分系统中的正常和异常。但是实际上并不能保证这一点,原因是:自编码器泛化能力过强,自编码器实际上会把部分的异常也进行较好的重构,例如:在工业控制系统中有某个传感器或执行器的数据异常,而其他数据均正常,或者工业控制系统网络中某条异常流量的大部分字段均为正常,而只有少部分字段异常;或者解码器对某些异常编码的解码能力过强,AE很有可能很好地重构出这些异常。对于一些重构损失较小的异常,由于损失值低于设定的阈值,这些异常数据会被误判为正常数据,从而导致对于系统中的异常数据检测造成影响,降低其检测准确率。
基于此,本方案中采用多头记忆自编码器来解决上述问题,具体包括以下步骤:
可选的,所述多头记忆自编码器可以包括编码器、记忆模块以及解码器;
所述将所述设备数据输入训练完成的多头记忆自编码器中,得到所述设备数据对应的重构数据,具体可以包括:
采用所述编码器对所述设备数据进行编码,得到第一隐特征向量;
采用所述记忆模块对所述隐特征向量进行记忆增强,输出第二隐特征向量,所述第二隐特征向量为与所述第一特征向量邻近的基础特征向量;
将所述第二隐特征向量输入所述解码器中,得到重构数据。
本方案中,增加了记忆模块(Memory Module)的模型框架,通过对自编码器采用了记忆增强的操作来克服上述问题。从深层次的角度来看,记忆模块实际上是对Z做了限制,传统自编码器是对Z的分布做限制,或者是做一些正则,而本方案中是以少量有限的基础隐特征向量(prototype)代替Z,训练时,Z匹配最近邻的基础隐特征向量,此时,解码器的输入就是最近邻的基础隐特征向量。
将第二隐特征向量输入解码器中之后,就可以得到重构数据。
需要说明的是,在记忆模块中,首先采用记忆内存(Memory Addressing)根据以下公式:
其中,Z为第一隐特征向量,mi为记忆模块中第i个基础隐特征向量,ω为权重,ωi则表示mi对Z的权重,ωT为权重矩阵的转置,N表示记忆模块中基础隐特征向量的个数,e为自然对数的底数,mj表示记忆模块中第j个基础隐特征向量,sim()为任意两向量间的相似度计算函数,这里采用余弦距离cos算法计算相似度:
接着对ω进行约束,为了能够在训练模型阶段计算梯度,结合ReLu(RectifiedLinear Units)激活函数对约束进行调整,将约束后得到的不连续的分段函数映射为连续函数。
其中,表示权重ω经过硬阈值模块(Hard shrinkage)处理后,得到的权重;而硬阈值模块(Hard shrinkage)可以用表示,λ表示硬阈值模块中设置的权重阈值,ε表示接近于0的一个数值。进一步地,为了避免出现等于1的情况,使得
采用以下公式:
利用约束后的Attention与Memory M中的基础隐特征向量计算其中,表示第二隐特征向量,M表示记忆模块中的基础隐特征向量。计算编码器对设备数据进行编码后得到的第一隐特征向量的attention值ω。
通过上述方法,引入记忆模块,可以通过采用少量有限的基础隐特征向量来代替编码器输出的第一隐特征向量,从而对第一隐特征向量做了限制,能够适当地放大或增强重构损失,减少出现自编码器把部分异常也较好重构的问题。除此之外,引入记忆模块,在训练阶段,使用正常训练数据获得较低的平均重建错误。在测试阶段,由于重构是在记忆模块中获得正常数据的隐特征向量,所以它更接近于正常数据。因此,如果输入的数据与正常数据不相似,重构误差往往会被突出显示,能够避免现有技术自编码器对系统中某些异常数据进行较好重构从而导致异常检测准确率低的问题。
当然,需要说明的是,在实际应用中,为了添加潜在的关于特征相互依赖关系的信息,设备数据在输入编码器之前可以经过一个全连接层,通过全连接层扩展输入编码器中的特征。
另外,由于工业控制系统中的数据或者流量不仅具有空间依赖关系,也具有时间依赖关系,可以同时提取数据的时空依赖关系。
当前大部分工业控制系统异常检测将样本分为正常或异常,将异常检测视为one-class(是一种使用生成式对抗网络(GAN)的缺陷检测方案,该方案仅依靠正样本和少量的负样本即可实现缺陷检测)学习任务。然而,在工业控制系统中,异常数据可能非常罕见,导致它们不能覆盖所有可能的异常数据,例如:未知攻击或威胁导致的系统异常。在这些情况下,通常会出现检测效率较低的情况。
基于这一缺陷,本方案中在解码部分,将解码器的最后一层分成多个网络分支,使得本方案中的多头记忆自编码器可以学习并生成数据的不同分布,并且在训练阶段采用生成对抗网络的思想训练模型。具体地址,采用以下方式进行实现:
可选的,所述解码器中的最后一层网络具有多个网络分支;所述将所述第二隐特征向量输入所述解码器中,得到重构数据,具体可以包括:
将所述第二隐特征向量输入多个所述网络分支中,得到重构数据。
上述方法,通过在解码器的最后一层设置多个网络分支,提供比单头网络更细粒度的数据分布描述,能够实现模型学习并生成数据的不同分布。
上述在编码器最后一层设置多个网络分支的方法中,每个网络分支可以预测一个高斯分布密度估计,为了避免效果不好的分支不会受到惩罚,并且可能支持不存在的数据区域。可以在训练阶段通过生成式对抗网络的思想,采用判别器对这些数据分布的质量进行限制,以避免生成的数据分布与实际相差过大,从而降低了异常检测的误报率。基于上述思想,本方案的具体实现过程如下:
本方案中使用的多头记忆自编码器,在使用之前,需要进行训练,具体的训练过程可以采用以下步骤:
可选的,所述将所述设备数据输入训练完成的多头记忆自编码器中,得到所述设备数据对应的重构数据之前,还可以包括:
获取已知检测状态的设备数据样本;所述设备数据样本中包括正常数据样本和异常数据样本;
将所述正常数据样本输入初始多头记忆自编码器中,对所述自编码器模型进行训练;训练过程中采用基于随机梯度下降的误差反向传播算法优化更新所述初始多头记忆自编码器中的权重及偏置参数,直至所述初始多头记忆自编码器收敛,得到训练后的多头记忆自编码器;所述用于对所述自编码器模型进行训练的正常数据样本是输入生成式对抗网络中的生成模型,得到的优化后的数据样本。
上述步骤中的检测状态可以包括数据的异常状态和数据的正常状态。训练多头记忆自编码器时采用的是正常数据样本,对训练后的多头记忆自编码器进行测试时,使用的是异常数据样本。
训练时,输入多头记忆自编码器的正常数据样本是优化后的数据样本。可以采用生成式对抗网络也可以对该样本进行优化,使得正常数据样本重构能够得到较贴合的还原。测试时,异常样本会匹配到正常的基础特征向量,使重构损失明显,由此来发现异常。
通过上述方法,在训练阶段通过生成对抗网络的思想,对数据分布的质量进行限制,以避免生成的数据分布与实际相差过大,从而降低异常检测的误报率,同时使得正常数据样本重构能够得到较贴合的还原。
上述方法中,使用的生成式对抗网络,具体的训练过程可以包括以下步骤:
所述得到的优化后的数据样本之前,还可以包括:
获取设备数据样本中的正常数据样本;
将所述正常数据样本输入生成式对抗网络中的生成模型,得到所述生成模型输出的数据;
将输出的数据输入生成式对抗网络中的判别模型,得到所述判别模型的判别结果,所述判别结果表示所述生成模型输出的数据与所述正常数据样本的相似度;
当所述相似度小于预设阈值时,对所述生成式对抗网络中的生成模型进行优化,直至所述生成模型输出的数据与所述正常数据样本的相似度超出或等于所述预设阈值为止,得到训练完成的生成式对抗网络的生成模型。
需要说明的是,生成式对抗网络(Generative Adversarial Networks,GANs)包括两个模型,一个是生成模型G,另一个是判别模型D,生成模型G的作用是:通过不断学习训练集中真实数据的概率分布,目标是生成与真实数据接近的数据。判别模型D的作用是:判断生成模型生成的数据是否是真实的数据,目标是将生成模型G生成的“假”数据与训练集中的“真”数据分辨开。由于判别模型D的存在,使得G在没有大量先验知识以及先验分布的前提下也能很好的去学习逼近真实数据,并最终让生成模型生成的数据达到以假乱真的效果。
因此,通过判别模型的判别结果对生成模型进行优化,优化后的生成模型生成的数据可以作为输入编码器中的数据样本。
训练过程中,采用判别器对这些数据分布的质量进行限制,具体可以采用以下公式算法进行实现:
采用判别器限制生成的这些分布的质量,避免出现生成的分布与实际正常数据分布偏差较大的情况。因此D与G共同优化损失函数,具体公式如下:
Lreal=-log(pD(xreal))
其中,LD表示鉴别器的损失函数;Lreal为鉴别器对真实数据的判别误差;Lfake表示为鉴别器对虚假数据的判别误差。表示最小化判别器的损失函数值;表示最大化生成器的损失函数值,pD表示鉴别器判别样本为真假时给出的概率;xreal表示真实数据样本,本实施例中,xreal可以表示训练样本。
对于多头记忆自动编码器,其损失函数为
其中,L1为生成器的损失函数值;L2为分布与高斯分布N(0,1)的KL散度。表示在多头记忆自动编码器所学习到的数据分布下的似然值;L(xi|θh)为在θh分布下,对于xi的重构能力;θj表示第j个假设的参数集合,θh为在这些假设中效果最好的那一个假设的参数集合。需要说明的是,效果最好体现为对某个样本xi,其数据似然最大。为对的稀疏限制,α为该稀疏值的权重。zk为服从编码后的数据分布的噪声。L2中KL为对称的Kullback-Leibler散度(KL散度)。从直观来说,鉴别器强制生成的假设与真实的数据分布的偏差保持在合理的范围内,即合理地生成数据的不同分布。对模型进行训练直到在验证集上L1达到最小。
鉴别器的作用仅为在训练阶段对多头记忆自编码器生成的假设进行限制,训练阶段结束后,鉴别器即可从模型中分离,在测试阶段使用训练好的多头记忆自编码器进行测试。
通过上述方法,能够避免生成的数据分布与实际相差过大,从而降低了异常检测的误报率,同时可以使得正常样本重构能够得到较贴合的还原,从而可以保证多头记忆自编码器的训练效果,以提高后续多头记忆自编码器对于工业控制系统中的异常数据的检测准确率。
在实际应用场景中,采用正常数据样本训练得到多头记忆自编码器之后,需要采用异常数据样本验证该训练得到的该多头记忆自编码器是否有效,有效的多头记忆自编码器才能用于后续的异常数据检测。因此,本方案中还可以包括以下步骤:
可选的,所述得到训练后的多头记忆自编码器之后,还可以包括:
将所述异常数据样本输入所述训练后的多头记忆自编码器中,验证所述训练后的多头记忆自编码器是否有效,并在确认有效后存储该多头记忆自编码器。
所述验证所述训练后的多头记忆自编码器是否有效,具体可以包括:
确定所述异常数据样本的背景信息;
根据所述背景信息,采用似然比算法,计算得到所述异常数据样本对应的似然比;
根据所述似然比确定所述异常数据样本对应的异常值;
判断所述异常值是否满足预设阈值;
若所述异常值满足预设阈值,确定所述训练后的多头记忆自编码器有效。
通过上述方法,通过在解码部分,将解码器的最后一层分成多个分支网络,使得多头记忆自编码器学习并生成数据的不同分布。在训练阶段通过生成对抗网络的思想,采用判别器对这些数据分布的质量进行限制,以避免生成的数据分布与实际相差过大,从而降低了异常检测的误报率;同时对基础特征向量进行优化,使得正常数据样本重构能够得到较贴合的还原。并且,采用似然比方法结合背景模型能够去除背景信息的干扰,以进一步提高工业控制系统中异常数据的检测准确率。
在对于多头记忆自编码器的测试阶段,需要采取某种方法计算测试数据的异常值,当前大多数的方法通过两种方式计算数据的异常值:一种是通过分类器在正常数据上进行训练后,使用分类器进行预测分类并计算统计信息,比如:对预测得到的分布计算置信度或者熵。另一种方法是使用基于生成模型的方法,直接学习输入数据的分布,得到输入数据的分布,然后在该分布下计算新输入的似然。采用第二种方法用于上述模型计算似然时,背景的统计信息会对计算结果产生干扰,因此,本方案通过采用一种似然比的方法作为异常值的计算,该方法使用背景模型来正确地得到背景的统计信息并增强正常数据中特定的特征以提高异常数据的异常检测效果。具体地,可以包括以下实现过程:
测试阶段的某个输入样本x,通过编码器将其编码为z;利用记忆模块计算得到输入样本对应的:
采用以下公式:
并采用以下公式:
F={xs|Encoder(xs)=mi,mi∈S}
得到所对应的编码前的向量集合。统计F中每个向量各维度的值出现的次数num,如果num=|F|,则该维度为背景信息,由此可以得到x的背景统计信息集合B,B中元素的作用在于标记了x中那些维度的值可以确定为背景信息,其中,Xs是训练集中的某个训练样本s。
设定阈值T,如果score>T则系统此时为正常状态,否则为异常状态,表明系统中可能存在入侵或者攻击行为。
另一方面,对于记忆模块中的基础隐特征向量,在训练过程中需要对其进行适当地更新。因此以下方法作为记忆模块的更新方法。具体为:
对记忆模块中的任意向量mi,可以得到与其距离最近的k个编码后的隐特征向量zi,j,则可以通过类似硬聚类算法(K-Means)的思想更新mi:
其中,表示第t次更新mi时,所选取的相邻隐特征向量的加权和,β为更新系数且β∈[0,1],表示第t次更新mi时所取隐特征向量的数量,为第t次更新mi时实际使用的隐特征向量的数量,为第t次更新mi时所选取的隐特征向量,为mi第t次更新后对应的值。
上述实施例中的方法,可以实现以下技术效果:
1)通过引入用于记忆增强的记忆模块,使模型在训练阶段,使用正常训练数据获得较低的平均重建错误。在测试阶段,由于重构是在记忆模块中获得正常数据的隐特征向量,所以更接近于正常数据。因此,如果输入的数据与正常数据不相似,重构误差往往会被突出显示,能够适当地放大或增强重构损失,避免出现现有技术中自编码器把部分异常也进行较好重构,导致异常数据检测准确率低的问题。
2)通过在解码部分,将解码器的最后一层分成多个网络分支,使得模型学习并生成数据的不同分布,提供比单头网络更细粒度的数据分布描述,并结合变分自编码器,实现模型学习并生成数据的不同分布。每个网络分支可以预测一个高斯分布密度估计。为了避免效果不好的网络分支不会受到惩罚,并且可能支持不存在的数据区域,可以在训练阶段采用生成式对抗网络训练模型。采用判别器对这些数据分布的质量进行限制,以避免生成的数据分布与实际相差过大,从而降低了异常检测的误报率。
3)在计算异常值阶段采用似然比方法,利用记忆模块构建背景模型,从而正确地得到背景的统计信息。以去除背景统计信息的干扰并增强输入数据中对分类样本贡献大的一些特征以提高异常检测效果。
另外,在实际应用场景中,随着生产和科学技术的发展,自动控制系统变得越来越复杂。人们不但希望能对其进行良好控制,而且希望能进行实时监测,及时处理故障。所谓"故障"是指系统所处的一种非正常工作状态,此时系统的性能明显低于正常水平,难以或根本无法完成预期的功能。在判断得到工业控制系统中存在异常时,可以根据输入的异常数据,进一步进行分析和处理,提供故障的有关信息,从而使操作者对系统的运行情况有正确的了解,以保证系统安全可靠地运行。
也就是说,当检测到工业控制系统中存在异常时,可以具体确定出存在异常的位置,可以将异常设备对应的异常日志记录下来,监听器会通过定时任务去获取异常日志中新的异常数据,判断出具体的异常类型,从而触发攻击报警。服务器接收到报警信息之后,将相应的异常信息发生的设备停止运行,禁止发生异常的设备继续与其他设备传输数据。然后对发生异常的设备进行修复。为工业控制系统及时排查避免隐患或者宕机提供了可靠的数据手段。
通过上述方法,可以更加准确快速地判断出工业控制系统中存在的异常,以便于更好地保证工业控制系统中的数据信息安全。
另外,假设判断出系统中的数据存在异常,可以暂时关闭相应的业务处理流程,根据具体的漏洞类型进行自动修复,或者也可以向技术人员发送存在异常的提示信息,以保证信息安全。
图3为本申请书实施例中对应于图2的一种基于MHMA的异常检测设备的结构示意图。
如图3所示,基于同一发明构思,本申请实施例还提供一种基于MHMA的异常检测设备,包括:
设备数据获取模块301,用于获取工业控制系统中的设备数据;
重构数据确定模块302,用于将所述设备数据输入训练完成的多头记忆自编码器中,得到所述设备数据对应的重构数据;所述多头记忆自编码器中包括用于记忆增强的记忆模块;所述多头记忆自编码器是由所述设备数据中的正常数据训练得到;
重构误差计算模块303,用于计算所述设备数据与所述重构数据之间的重构误差;
判断模块304,用于判断所述重构误差是否超出预设异常阈值,得到判断结果;当所述判断结果表示所述重构误差超出所述预设异常阈值时,确定所述工业控制系统存在异常。
可选的,所述多头记忆自编码器包括编码器、记忆模块以及解码器;
所述重构数据确定模块302,具体可以包括:
编码单元,用于采用所述编码器对所述设备数据进行编码,得到第一隐特征向量;
记忆增强单元,用于采用所述记忆模块对所述隐特征向量进行记忆增强,输出第二隐特征向量,所述第二隐特征向量为与所述第一特征向量邻近的基础特征向量;
解码单元,用于将所述第二隐特征向量输入所述解码器中,得到重构数据。
可选的,所述解码器中的最后一层网络可以具有多个网络分支;
所述重构数据确定模块302,具体可以用于:
将所述第二隐特征向量输入多个所述网络分支中,得到重构数据。
可选的,该设备还可以包括:
数据样本获取模块,用于获取已知检测状态的设备数据样本;所述设备数据样本中包括正常数据样本和异常数据样本;
训练模块,用于将所述正常数据样本输入初始多头记忆自编码器中,对所述自编码器模型进行训练;训练过程中采用基于随机梯度下降的误差反向传播算法优化更新所述初始多头记忆自编码器中的权重及偏置参数,直至所述初始多头记忆自编码器收敛,得到训练后的多头记忆自编码器;所述用于对所述自编码器模型进行训练的正常数据样本是输入生成式对抗网络中的生成模型,得到的优化后的数据样本。
可选的,训练模块还可以用于:
获取设备数据样本中的正常数据样本;将所述正常数据样本输入生成式对抗网络中的生成模型,得到所述生成模型输出的数据;将输出的数据输入生成式对抗网络中的判别模型,得到所述判别模型的判别结果,所述判别结果表示所述生成模型输出的数据与所述正常数据样本的相似度;
当所述相似度小于预设阈值时,对所述生成式对抗网络中的生成模型进行优化,直至所述生成模型输出的数据与所述正常数据样本的相似度超出或等于所述预设阈值为止,得到训练完成的生成式对抗网络的生成模型。
可选的,该设备还可以包括:
验证模块,用于将所述异常数据样本输入所述训练后的多头记忆自编码器中,验证所述训练后的多头记忆自编码器是否有效,并在确认有效后存储该多头记忆自编码器;所述输入所述训练后的多头记忆自编码器中的异常数据样本是已去除背景信息的数据样本。
可选的,验证模块,具体用于:
将所述已去除背景信息的异常数据样本,基于似然比算法,计算得到所述异常数据样本对应的似然比;根据所述似然比确定所述异常数据样本对应的异常值;判断所述异常值是否满足预设阈值;若所述异常值满足预设阈值,确定所述训练后的多头记忆自编码器有效。
图4为本申请实施例中服务器结构示意图。如图4所示,基于同一发明构思,本申请实施例中提出一种服务器,该服务器至少包括:存储器401和处理器402,其中,
存储器601,用于存储可执行指令;
处理器602,用于读取并执行存储器中存储的可执行指令,以实现上述实施例涉及到的任一种基于MHMA的异常检测方法。
基于同一发明构思,本申请实施例提供一种存储介质,当存储介质中的指令由处理器执行时,使得能够执行上述实施例涉及到的任一种基于MHMA的异常检测方法。
综上,本申请实施例中,基于多头记忆自编码器对工业控制系统中的异常进行检测,其中,多头记忆自编码器中通过引入用于记忆增强的记忆模块,能够适当地放大或增强重构损失,避免出现现有技术中自编码器把部分异常也进行较好重构,导致异常数据检测准确率低的问题;将解码器的最后一层分成多个网络分支,使得模型学习并生成数据的不同分布,提供比单头网络更细粒度的数据分布描述,实现多头记忆自编码器学习并生成数据的不同分布。在计算异常值阶段采用似然比方法,利用记忆模块构建背景模型,从而正确地得到背景的统计信息。以去除背景统计信息的干扰并增强输入数据中对分类样本贡献大的一些特征以提高异常检测效果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (7)
1.一种基于MHMA的异常检测方法,其特征在于,包括:
获取工业控制系统中的设备数据,包括:向所述工业控制系统发送获取设备数据的请求,所述工业控制系统根据接收到的请求返回相应的设备数据;或者,接收所述工业控制系统主动发送的设备数据;
其中,所述设备数据包括工业控制系统中各个控制系统的设备在各个时间戳的运行参数、状态参数或者操作参数;
获取已知检测状态的设备数据样本;所述设备数据样本中包括正常数据样本和异常数据样本;将所述正常数据样本输入初始多头记忆自编码器中,对所述初始多头记忆自编码器进行训练;训练过程中采用基于随机梯度下降的误差反向传播算法优化更新所述初始多头记忆自编码器中的权重及偏置参数,直至所述初始多头记忆自编码器收敛,得到训练后的多头记忆自编码器;其中,用于对所述初始多头记忆自编码器进行训练的正常数据样本是输入生成式对抗网络中的生成模型之后得到的优化后的数据样本;
将所述异常数据样本输入所述训练后的多头记忆自编码器中,验证所述训练后的多头记忆自编码器是否有效,并在确认有效后存储该多头记忆自编码器;其中,所述验证所述训练后的多头记忆自编码器是否有效,具体包括:
确定所述异常数据样本的背景信息;根据所述背景信息,采用似然比算法,计算得到所述异常数据样本对应的似然比;根据所述似然比确定所述异常数据样本对应的异常值;判断所述异常值是否满足预设阈值;若所述异常值满足预设阈值,确定所述训练后的多头记忆自编码器有效;
将所述设备数据输入训练完成的多头记忆自编码器中,得到所述设备数据对应的重构数据;所述多头记忆自编码器中包括用于记忆增强的记忆模块;所述多头记忆自编码器是由所述设备数据中的正常数据训练得到;
计算所述设备数据与所述重构数据之间的重构误差;
判断所述重构误差是否超出预设异常阈值,得到判断结果;
当所述判断结果表示所述重构误差超出所述预设异常阈值时,确定所述工业控制系统存在异常。
2.如权利要求1所述的方法,其特征在于,所述多头记忆自编码器包括编码器、记忆模块以及解码器;
所述将所述设备数据输入训练完成的多头记忆自编码器中,得到所述设备数据对应的重构数据,具体包括:
采用所述编码器对所述设备数据进行编码,得到第一隐特征向量;
采用所述记忆模块对所述隐特征向量进行记忆增强,输出第二隐特征向量,所述第二隐特征向量为与第一特征向量邻近的基础特征向量;
将所述第二隐特征向量输入所述解码器中,得到重构数据。
3.如权利要求2所述的方法,其特征在于,所述解码器中的最后一层网络具有多个网络分支;
所述将所述第二隐特征向量输入所述解码器中,得到重构数据,具体包括:
将所述第二隐特征向量输入多个所述网络分支中,得到重构数据。
4.如权利要求1所述的方法,其特征在于,所述得到的优化后的数据样本之前,还包括:
获取设备数据样本中的正常数据样本;
将所述正常数据样本输入生成式对抗网络中的生成模型,得到所述生成模型输出的数据;
将输出的数据输入生成式对抗网络中的判别模型,得到所述判别模型的判别结果,所述判别结果表示所述生成模型输出的数据与所述正常数据样本的相似度;
当所述相似度小于预设阈值时,对所述生成式对抗网络中的生成模型进行优化,直至所述生成模型输出的数据与所述正常数据样本的相似度超出或等于所述预设阈值为止,得到训练完成的生成式对抗网络的生成模型。
5.一种基于MHMA的异常检测设备,其特征在于,包括:
设备数据获取模块,用于获取工业控制系统中的设备数据,具体用于:向所述工业控制系统发送获取设备数据的请求,所述工业控制系统根据接收到的请求返回相应的设备数据;或者,接收所述工业控制系统主动发送的设备数据;
其中,所述设备数据包括工业控制系统中各个控制系统的设备在各个时间戳的运行参数、状态参数或者操作参数;
重构数据确定模块,用于获取已知检测状态的设备数据样本;所述设备数据样本中包括正常数据样本和异常数据样本;将所述正常数据样本输入初始多头记忆自编码器中,对所述初始多头记忆自编码器进行训练;训练过程中采用基于随机梯度下降的误差反向传播算法优化更新所述初始多头记忆自编码器中的权重及偏置参数,直至所述初始多头记忆自编码器收敛,得到训练后的多头记忆自编码器;所述用于对所述初始多头记忆自编码器进行训练的正常数据样本是输入生成式对抗网络中的生成模型之后得到的优化后的数据样本;
将所述异常数据样本输入所述训练后的多头记忆自编码器中,验证所述训练后的多头记忆自编码器是否有效,并在确认有效后存储该多头记忆自编码器;其中,所述验证所述训练后的多头记忆自编码器是否有效,具体包括:
确定所述异常数据样本的背景信息;根据所述背景信息,采用似然比算法,计算得到所述异常数据样本对应的似然比;根据所述似然比确定所述异常数据样本对应的异常值;判断所述异常值是否满足预设阈值;若所述异常值满足预设阈值,确定所述训练后的多头记忆自编码器有效;
重构数据确定模块,还用于将所述设备数据输入训练完成的多头记忆自编码器中,得到所述设备数据对应的重构数据;所述多头记忆自编码器中包括用于记忆增强的记忆模块;所述多头记忆自编码器是由所述设备数据中的正常数据训练得到;
重构误差计算模块,用于计算所述设备数据与所述重构数据之间的重构误差;
判断模块,用于判断所述重构误差是否超出预设异常阈值,得到判断结果;当所述判断结果表示所述重构误差超出所述预设异常阈值时,确定所述工业控制系统存在异常。
6.一种服务器,其特征在于,该服务器包括:存储器和处理器;其中,
存储器,用于存储可执行指令;
处理器,用于读取并执行存储器中存储的可执行指令,以实现如权利要求1-4任一项所述的方法。
7.一种存储介质,其特征在于,当存储介质中的指令由处理器执行时,使得能够执行如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010647831.3A CN111967571B (zh) | 2020-07-07 | 2020-07-07 | 一种基于mhma的异常检测方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010647831.3A CN111967571B (zh) | 2020-07-07 | 2020-07-07 | 一种基于mhma的异常检测方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111967571A CN111967571A (zh) | 2020-11-20 |
CN111967571B true CN111967571B (zh) | 2023-04-21 |
Family
ID=73361683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010647831.3A Active CN111967571B (zh) | 2020-07-07 | 2020-07-07 | 一种基于mhma的异常检测方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111967571B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112364939A (zh) * | 2020-12-04 | 2021-02-12 | 中信银行股份有限公司 | 异常值检测方法、装置、设备及存储介质 |
CN112465798B (zh) * | 2020-12-11 | 2022-10-18 | 上海交通大学 | 一种基于生成对抗网络和记忆模块的异常检测方法 |
CN112702329B (zh) * | 2020-12-21 | 2023-04-07 | 四川虹微技术有限公司 | 一种流量数据异常检测方法、装置和存储介质 |
CN112671768A (zh) * | 2020-12-24 | 2021-04-16 | 四川虹微技术有限公司 | 一种异常流量检测方法、装置、电子设备及存储介质 |
US20230359869A1 (en) * | 2021-01-25 | 2023-11-09 | Chengdu SynSense Technology Co., Ltd. | Equipment anomaly detection method, computer readable storage medium, chip, and device |
CN112861950A (zh) * | 2021-01-29 | 2021-05-28 | 深圳前海微众银行股份有限公司 | 翻拍图像的识别方法、装置、电子设备及存储介质 |
CN112839059B (zh) * | 2021-02-22 | 2022-08-30 | 北京六方云信息技术有限公司 | Web入侵检测自适应告警过滤处理方法、装置及电子设备 |
CN112966819B (zh) * | 2021-03-04 | 2024-04-09 | 南方科技大学 | 分布外数据检测方法、装置、服务器及存储介质 |
CN113064879B (zh) * | 2021-03-12 | 2023-03-10 | 腾讯科技(深圳)有限公司 | 数据库参数调整方法、装置及计算机可读存储介质 |
US11774956B2 (en) * | 2021-03-19 | 2023-10-03 | Hewlett Packard Enterprise Development Lp | Anomalous behavior detection by an artificial intelligence-enabled system with multiple correlated sensors |
CN113129272A (zh) * | 2021-03-30 | 2021-07-16 | 广东省科学院智能制造研究所 | 一种基于去噪卷积自编码器的缺陷检测方法及装置 |
CN113194098A (zh) * | 2021-04-30 | 2021-07-30 | 吉林大学 | 一种基于深度学习的配水系统网络物理攻击检测方法 |
CN113221759A (zh) * | 2021-05-17 | 2021-08-06 | 北京文安智能技术股份有限公司 | 基于异常检测模型的道路遗撒识别方法以及装置 |
CN113268524A (zh) * | 2021-05-25 | 2021-08-17 | 平安科技(深圳)有限公司 | 油耗异常数据检测方法、装置、电子设备及存储介质 |
CN113778719B (zh) * | 2021-09-16 | 2024-02-02 | 北京中科智眼科技有限公司 | 基于复制粘贴的异常检测算法 |
CN114143085B (zh) * | 2021-11-30 | 2023-08-01 | 中国人民解放军国防科技大学 | 一种基于自编码器的bgp团体属性异常检测方法及系统 |
CN113963033B (zh) * | 2021-12-20 | 2022-03-25 | 华东交通大学 | 一种基于人工智能的电力设备异常检测方法和系统 |
CN114297936A (zh) * | 2021-12-31 | 2022-04-08 | 深圳前海微众银行股份有限公司 | 一种数据异常检测方法及装置 |
CN114301719B (zh) * | 2022-03-10 | 2022-05-13 | 中国人民解放军国防科技大学 | 一种基于变分自编码器的恶意更新检测方法及系统 |
CN114581148A (zh) * | 2022-03-10 | 2022-06-03 | 北京明略软件系统有限公司 | 用于检测广告流量的方法及装置、电子设备、存储介质 |
CN114722061B (zh) * | 2022-04-08 | 2023-11-14 | 中国电信股份有限公司 | 数据处理方法及装置、设备、计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408705A (zh) * | 2014-09-23 | 2015-03-11 | 西安电子科技大学 | 一种高光谱图像的异常检测方法 |
CN110992354A (zh) * | 2019-12-13 | 2020-04-10 | 华中科技大学 | 基于引入自动记忆机制对抗自编码器的异常区域检测方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9378079B2 (en) * | 2014-09-02 | 2016-06-28 | Microsoft Technology Licensing, Llc | Detection of anomalies in error signals of cloud based service |
CN107704835B (zh) * | 2017-10-16 | 2020-10-30 | 北京市遥感信息研究所 | 一种利用光谱遥感图像识别海上人工设施的方法 |
CN108596902B (zh) * | 2018-05-04 | 2020-09-08 | 北京大学 | 基于选通卷积神经网络的多任务全参考图像质量评价方法 |
-
2020
- 2020-07-07 CN CN202010647831.3A patent/CN111967571B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408705A (zh) * | 2014-09-23 | 2015-03-11 | 西安电子科技大学 | 一种高光谱图像的异常检测方法 |
CN110992354A (zh) * | 2019-12-13 | 2020-04-10 | 华中科技大学 | 基于引入自动记忆机制对抗自编码器的异常区域检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111967571A (zh) | 2020-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111967571B (zh) | 一种基于mhma的异常检测方法和设备 | |
CN111914873B (zh) | 一种两阶段云服务器无监督异常预测方法 | |
US11120127B2 (en) | Reconstruction-based anomaly detection | |
CN114297936A (zh) | 一种数据异常检测方法及装置 | |
US7533070B2 (en) | Automatic fault classification for model-based process monitoring | |
CN111652290B (zh) | 一种对抗样本的检测方法及装置 | |
KR102389094B1 (ko) | 이상 패턴 감지 시스템 및 방법 | |
US20200334578A1 (en) | Model training apparatus, model training method, and program | |
CN112202726B (zh) | 一种基于上下文感知的系统异常检测方法 | |
CN113076215A (zh) | 一种独立于数据类型的无监督异常检测方法 | |
CN117041019B (zh) | 内容分发网络cdn的日志分析方法、装置及存储介质 | |
CN111949496B (zh) | 一种数据检测方法及装置 | |
CN114528190B (zh) | 单指标异常的检测方法、装置、电子设备及可读存储介质 | |
CN109361648A (zh) | 工控系统的隐蔽攻击的检测方法及装置 | |
CN116450137A (zh) | 一种系统异常的检测方法、装置、存储介质及电子设备 | |
CN113469247B (zh) | 网络资产异常检测方法 | |
CN116910559A (zh) | 一种面向电网超算中心智能运维应用的指标异常检测方法 | |
CN117575423B (zh) | 基于联邦学习系统的工业产品质量检测方法及相关设备 | |
CN117997605B (zh) | 一种网络异常检测方法、装置、设备和介质 | |
US20240214414A1 (en) | Incremental causal graph learning for attack forensics in computer systems | |
Li et al. | Power terminal anomaly monitoring technology based on autoencoder and multi-layer perceptron | |
CN117896083A (zh) | 网络入侵侦测系统及网络入侵侦测方法 | |
CN118468177A (zh) | 基于时频掩码自编码器的时间序列异常检测方法及系统 | |
CN116108369A (zh) | 用于智能微电网保护的故障检测方法、装置、设备及介质 | |
CN117115578A (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 | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240729 Address after: 230000 B-1015, wo Yuan Garden, 81 Ganquan Road, Shushan District, Hefei, Anhui. Patentee after: HEFEI MINGLONG ELECTRONIC TECHNOLOGY Co.,Ltd. Country or region after: China Address before: 330013 808 Nanchang East Street, Jiangxi economic and Technological Development Zone Patentee before: East China Jiaotong University Country or region before: China |