CN116842520A - 基于检测模型的异常感知方法、装置、设备及介质 - Google Patents
基于检测模型的异常感知方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116842520A CN116842520A CN202310714621.5A CN202310714621A CN116842520A CN 116842520 A CN116842520 A CN 116842520A CN 202310714621 A CN202310714621 A CN 202310714621A CN 116842520 A CN116842520 A CN 116842520A
- Authority
- CN
- China
- Prior art keywords
- model
- data
- initialization
- detection model
- detection
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 161
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000008447 perception Effects 0.000 title claims abstract description 13
- 230000002159 abnormal effect Effects 0.000 claims abstract description 70
- 238000012549 training Methods 0.000 claims abstract description 54
- 230000006870 function Effects 0.000 claims abstract description 51
- 238000012545 processing Methods 0.000 claims abstract description 11
- 230000005856 abnormality Effects 0.000 claims description 21
- 238000012544 monitoring process Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 19
- 230000015654 memory Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 15
- 238000011478 gradient descent method Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 9
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000006467 substitution reaction 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
-
- 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/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computer Security & Cryptography (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computer Hardware Design (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
本发明涉及金融服务技术领域,特别涉及一种基于检测模型的异常感知方法、装置、设备及介质,本发明获取软件系统的正常时段的第一运行数据,基于所述第一运行数据初始化训练预设的检测模型,得到初始化模型,初始化模型能够对运行数据进行分类,以分类得到为运行正常的数据;获取软件系统的运行正常时段的第二运行数据,将第二运行数据输入所述初始化模型,输出检测结果,从第二运行数据中提取出检测结果为非正常的数据作为更新数据;获取初始化训练时的初始损失函数,对初始损失函数进行反向处理,得到反向损失函数;基于更新数据和反向损失函数,对初始化模型进行再训练,确定训练结果为异常检测模型;提高了模型检出的准确率。
Description
技术领域
本发明涉及金融服务技术领域,特别涉及一种基于检测模型的异常感知方法、装置、设备及介质。
背景技术
目前,随着金融服务的日益发展,银行业、保险业、证券业等服务行业需要使用相应地业务系统来提供服务,业务系统中存在着大量的数据且能够被较多的访问者所访问,因此,业务系统的安全性成为重要的一环。数据异常检测是安全领域里面不可或缺的环节,虽然软件系统越来越复杂,但仍然脆弱,而且面临着各种攻击;现代软件系统都会提供一些系统数据来反映这些系统的运行状态,这些系统状态数据非常有价值,有助于实现实时异常检测;实时异常检测可应用于工业的设备故障检测,金融的信用卡异常交易检测,云服务的异常检测等领域。
主流机器学习方式可以利用监督学习模式从这些系统状态数据里面提取一些规律模式,例如,我们可以收集一些正常样本和异常样本,监督训练一个深度学习模型,然后利用这个训练好的模型检测异常样本;然而,这种监督学习模式不符合真实的场景,能收集到异常样本无法穷举所有的异常类型,真实场景会遇到很多未曾遇见的异常样本,因此,利用这种监督学习方式所训练的模型检出准确率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种基于检测模型的异常感知方法、装置、设备及介质,以解决现有技术中的监督学习模式不符合真实的场景,能收集到异常样本无法穷举所有的异常类型,真实场景会遇到很多未曾遇见的异常样本,模型检出准确率较低的问题。
第一方面,本发明实施例提供一种基于检测模型的异常感知方法,所述基于检测模型的异常感知方法包括:
获取针对软件系统的运行进行监控得到的运行正常时段的第一运行数据,基于所述第一运行数据初始化训练预设的检测模型,得到初始化模型,所述初始化模型能够对运行数据进行分类,以分类得到为运行正常的数据;
获取针对所述软件系统的运行进行监控得到的运行正常时段的第二运行数据,将所述第二运行数据输入所述初始化模型,输出检测结果,从所述第二运行数据中提取出检测结果为非正常的数据作为更新数据;
获取所述初始化训练时的初始损失函数,对所述初始损失函数进行反向处理,得到反向损失函数;
基于所述更新数据和所述反向损失函数,对所述初始化模型进行再训练,确定训练结果为异常检测模型,所述异常检测模型用于感知异常的运行数据。
第二方面,本发明实施例提供一种基于检测模型的异常感知装置,所述基于检测模型的异常感知装置包括:
模型训练模块,用于获取针对软件系统的运行进行监控得到的运行正常时段的第一运行数据,基于所述第一运行数据初始化训练预设的检测模型,得到初始化模型,所述初始化模型能够对运行数据进行分类,以分类得到为运行正常的数据;
更新数据获取模块,用于获取针对所述软件系统的运行进行监控得到的运行正常时段的第二运行数据,将所述第二运行数据输入所述初始化模型,输出检测结果,从所述第二运行数据中提取出检测结果为非正常的数据作为更新数据;
损失函数构建模块,用于获取所述初始化训练时的初始损失函数,对所述初始损失函数进行反向处理,得到反向损失函数;
模型再训练模块,用于基于所述更新数据和所述反向损失函数,对所述初始化模型进行再训练,确定训练结果为异常检测模型,所述异常检测模型用于感知异常的运行数据。
第三方面,本发明实施例提供一种计算机设备,所述计算机设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的基于检测模型的异常感知方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的基于检测模型的异常感知方法。
本发明与现有技术相比存在的有益效果:
本发明的基于检测模型的异常感知方法,在初始化训练预设的检测模型时,只利用运行正常时段的数据,得到初始化模型,然后利用初始化测模型检测异常数据,利用异常数据对初始化模型进行再训练、持续修正模型的参数;该方法不需要人为的对异常数据进行打标签,符合真实的应用场景,且可以终身持续修正模型的参数,从而提高模型检出的准确率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种基于检测模型的异常感知方法的一应用环境示意图;
图2是本发明实施例一提供的一种基于检测模型的异常感知方法的流程示意图;
图3是本发明实施例二提供的另一种基于检测模型的异常感知方法的流程示意图;
图4是本发明实施例三提供的一种基于检测模型的异常感知装置的结构示意图;
图5是本发明实施例四提供的一种计算机设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本发明。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本发明说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本发明说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本发明说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本发明说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本发明的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
应理解,以下实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
为了说明本发明的技术方案,下面通过具体实施例来进行说明。
本发明实施例一提供的一种基于检测模型的异常感知方法,可应用在如图1的应用环境中,该应用环境为基于检测模型的异常感知系统,该系统中包括N个本地客户端和至少一个中心服务端,N为大于0的整数,其中,客户端与服务端进行通信。其中,客户端包括但不限于掌上电脑、桌上型计算机、笔记本电脑、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本、云端客户端、个人数字助理(personal digitalassistant,PDA)等客户端。服务端可以用独立的服务端或者是多个服务端组成的服务端集群来实现。
参见图2,是本发明实施例一提供的一种基于检测模型的异常感知方法的流程示意图,上述基于检测模型的异常感知方法可以应用于图1中的客户端,对应的客户端通过预设的应用程序接口(Application Programming Interface,API)连接服务端。每个本地客户端通过中心服务端获取待感知的软件系统获取的运行数据,本地客户端将获取到的运行数据通过基于检测模型的异常感知方法进行数据异常感知,得到数据异常感知的结果,同时对自身的检测模型进行参数更新。
例如,针对银行信用卡业务,为了保证信用卡的数据的安全性,需要对维护信用卡业务的软件系统进行监控,从而来检测异常的访问,实现异常感知。
如图2所示,上述基于检测模型的异常感知方法可以包括以下步骤:
步骤S201:获取针对软件系统的运行进行监控得到的运行正常时段的第一运行数据,基于第一运行数据初始化训练预设的检测模型,得到初始化模型,初始化模型能够对运行数据进行分类,以分类得到为运行正常的数据。
本实施例的应用场景有多种,例如:工业设备的故障检测,金融的信用卡异常交易检测,运服务的异常检测等,在上述各个应用场景中,针对每个应用场景都会存在对应的软件系统,在对应的软件系统运行过程中会实时的记录系统的运行数据,在这些运行数据中,存在系统异常时的运行数据和系统正常时的运行数据,这些数据为时序数据,即:按照数据产生的时间顺序所记录的数据。
在上述众多的数据中,根据软件系统所记录的数据的状态,可以获取到针对软件系统的运行进行监控得到的运行正常时段的第一运行数据,在第一数据中,所有的数据都为正常数据,但是,第一数据为一个预设时间段内的连续数据,需要对该连续的第一数据进行切分,以得到由正常数据组成的正常样本集,切分方法包括以下步骤:
步骤S2011:通过滑动窗口对第一运行数据对应的时间序列进行切分,得到若干个时间段,滑动窗口为时间跨度为预设时间长度的时间窗口。
根据获取到的第一运行数据对应的时间序列的时间跨度,建立满足第一运行数据对应的时间序列的时间窗口,该时间窗口能够根据预设的单位时间长度框住第一运行数据的时间序列,在第一运行数据的时间序列上依次移动,将第一运行数据的时间序列切分为若干个时间段。
步骤S2012:将各个时间段对应的时序数据构建为正常样本集,通过正常样本集初始化训练预设的检测模型,得到初始化模型。
上述若干个时间段中,每个时间段都对应有该时间段下的运行数据,将所有的时间段对应的数据全部获取,构建为正常样本集,用数学公式表示为:
其中,X表示T个正常样本的正常样本集,xi表示第i个时段的监控数据,T为大于1的整数;可以理解的是,该正常样本集中包含的所有数据都是正常数据,即全部为正常样本,不存在异常样本。
例如,在工业设备故障检测的应用场景中,工业设备的软件系统会实时的记录该设备的运行数据,若该软件系统记录设备运行数据的频率为1秒钟记录一次,那么,在1分钟的时间内总共记录60条设备的运行数据,这些运行数据按照事件顺序排列,即时序数据;对该数据的切分,可以建立时间跨度为1秒的时间窗口,该时间窗口在该运行数据对应的时间序列上依次移动,可以将该运行数据的时间序列切分为60个时间段,将该60个时间段对应的运行数据构建为正常样本集,该正常样本集内包含60个数据,即60个正常样本。
例如,在信用卡交易的应用场景中,信用卡交易的时间间隔会比较长,可能在每个月的时间段内,仅有几次交易时间,那么,针对这样的应用场景,则需要将时间窗口的时间跨度根据信用卡的交易时间间隔进行调整,以适应信用卡交易的时间间隔,合理的切分信用卡交易时间对应的交易数据。
上述步骤建立完正常样本集之后,需要通过该样本集初始化训练预设的检测模型,得到初始化模型,初始化训练过程包括以下步骤:
利用正样本集初始化训练LSTM模型,并通过随机梯度下降法对LSTM模型的参数进行更新,直至LSTM模型输出的相邻两个预测值之间的差值小于预设的阈值,得到初始化模型。
上述训练检测模型的终止条件采用的是相邻预测值之间的差值与预设的阈值比较的方法,作为其他实施方式,也可以设置检测模型训练的次数,当模型的训练次数达到预设的模型训练次数的时候,终止模型的训练。
本实施例中,预设的检测模型为长短时记忆(Long Short-Term Memory,LSTM)模型,该模型是传统循环神经网络(Recurrent Neural Network,RNN)的变体,与经典RNN模型相比,该模型能够有效捕捉长序列之间的语义关联,缓解梯度消失或爆炸现象。
LSTM模型有很多参数,本实施例中用θ抽象表示LSTM模型的所有参数,即该模型优化后的损失函数为:
其中,Lθ(X)表示LSTM模型的损失函数,xt表示当前时段的样本,s表示LSTM模型的步长,Pr(xt|x1,x2,...,xt-s)表示LSTM模型的预测值。
选定预设的检测模型之后,通过随机梯度下降法对LSTM模型的参数进行更新,包括以下步骤:
设置LSTM模型训练过程的学习率,计算初始LSTM模型的梯度值与学习率的乘积。
将初始LSTM模型的参数更新为初始LSTM模型更新前的参数减去初始LSTM模型的梯度值与学习率的乘积。
使用随机梯度下降法对LSTM参数θ进行更新,包括以下步骤:
(1)正向传播,向LSTM模型输入数据,正常传播算出预测值。
(2)计算损失函数,即通过LSTM模型的损失函数Lθ(X)计算标签与预测值的损失值。
(3)反向梯度更新,反向传播损失值,计算出梯度值并使用如下所示的迭代公式更新LSTM模型的参数:
其中,η表示学习率,θnew表示LSTM模型更新后的参数,θold表示LSTM模型当前的参数,表示LSTM模型的梯度值。
步骤S202:获取针对软件系统的运行进行监控得到的运行正常时段的第二运行数据,将第二运行数据输入初始化模型,输出检测结果,从第二运行数据中提取出检测结果为非正常的数据作为更新数据。
通过上述步骤S201中的方法,得到初始化模型,在后续的终身学习阶段,则是利用上述训练好的初始化模型来检测软件系统所记录的运行数据,同时收集初始化模型输出的异常数据。
对于软件系统的运行进行监控得到的运行正常时段的第二运行数据,也是通过滑动窗口对第二运行数据对应的时间序列进行切分,得到若干个时间段,将各个时间段对应的时序数据输入初始化模型,输出各个时间段对应的时序数据为正常数据的概率;若概率小于预设的正常数据概率阈值,则概率对应的数据为非正常数据,将所有的非正常数据作为更新数据。
使用上述训练好的初始化LSTM模型对第二运行数据进行推断,那么,第二运行数据切分后的单个数据为正常数据的概率为Pr(xt|x1,x2,...,xt-s),这个时候需要一个人为设定的正常数据概率阈值τ来判断样本是否出现异常,判定的公式如下所示:
Pr(xt|x1,x2,...,xt-s)<τ
可以理解的是,低于这个正常数据概率阈值的数据就被认定为非正常数据,根据上述方法,持续收集非正常数据,将收集到的非正常数据作为后续模型训练的更新数据。
本实施例中,在时序数据预测会使用过去历史的一段数据x1,x2,...,xt-s来预测未来的一个数据xt;也就是用一个软件系统监控的历史监控数据x1,x2,...,xt-s预测下一个时段软件系统所对应的设备会不会出现故障,出现故障的概率值为Pr(xt|x1,x2,...,xt-s)。
例如,在工业设备故障检测的应用场景中,工业设备的软件系统利用初始化检测模型实时的检测该设备的运行数据是否正常,如果预先设定的正常数据概率阈值为0.8,而该工业设备记录的运行数据切分为若干个数据,有一些数据输入至初始化模型,初始化模型可以输出该数据对应的为正常数据的概率0.7,该概率值小于预设设置的正常数据概率阈值,则表示该数据为非正常数据,将所有的非正常数据收集起来,作为后续的模型再训练的更新数据。
步骤S203:获取初始化训练时的初始损失函数,对初始损失函数进行反向处理,得到反向损失函数。
由于上述步骤中建立的初始化模型的泛化能力太强,容易导致大量的异常样本无法检测出来,所以需要使用上述步骤S202中收集的非正常数据来修正检测模型,修正的方式是对由非正常数据组成的非正常样本集实现反向方向的迭代,假如是步骤S202中收集到的非正常数据,那么针对该非正常数据,LSTM模型的微调损失函数为:
该损失函数与步骤S201中的损失函数相反,从而实现反向损失函数,可以理解的是,正常数据的损失函数是为了让正常数据的损失值越来越小,非正常数据的损失函数让非正常数据的损失值越来越大。
步骤S204:基于更新数据和反向损失函数,对初始化模型进行再训练,确定训练结果为异常检测模型,异常检测模型用于感知异常的运行数据。
上述步骤中得到更新数据以及反向损失函数,基于更新数据和反向损失函数,对初始化模型进行再训练包括以下步骤:
设置初始化模型训练过程的学习率,计算初始化模型的梯度值与学习率的乘积;将初始化模型的参数更新为初始化模型更新前的参数加上初始化模型的梯度值与学习率的乘积,得到异常检测模型,通过数学公式表示为:
其中,η表示学习率,θnew表示LSTM模型更新后的参数,θold表示LSTM模型当前的参数,表示LSTM模型的梯度值。
本实施例的基于检测模型的异常感知方法,在初始化训练预设的检测模型时,只利用运行正常时段的数据,得到初始化模型,然后利用初始化测模型检测异常数据,利用异常数据对初始化模型进行再训练,修正模型的参数;该方法不需要人为的对异常数据进行打标签,符合真实的应用场景,且可以利用异常数据修正模型的参数,从而提高模型检出的准确率。
参见图3,是本发明实施例二提供的另一种基于检测模型的异常感知方法的流程示意图,该基于检测模型的异常感知方法可以包括以下步骤:
步骤S301:获取针对软件系统的运行进行监控得到的运行正常时段的第一运行数据,基于第一运行数据初始化训练预设的检测模型,得到初始化模型,初始化模型能够对运行数据进行分类,以分类得到为运行正常的数据。
步骤S302:获取针对软件系统的运行进行监控得到的运行正常时段的第二运行数据,将第二运行数据输入初始化模型,输出检测结果,从第二运行数据中提取出检测结果为非正常的数据作为更新数据。
步骤S303:获取初始化训练时的初始损失函数,对初始损失函数进行反向处理,得到反向损失函数。
步骤S304:基于更新数据和反向损失函数,对初始化模型进行再训练,确定训练结果为异常检测模型,异常检测模型用于感知异常的运行数据。
本实施例中,上述步骤S301至步骤S304中的方法与实施例一中的步骤S201至步骤S204中的方法相同,在此不再赘述。
步骤S305:将步骤S302中的初始化模型替换为异常检测模型对针对软件系统的运行进行监控得到的数据进行检测,再次得到非正常数据;利用再次得到的非正常数据对异常检测模型继续进行再训练,以更新异常检测模型的参数;后续的运行数据检测过程中,持续循环上述步骤S302至步骤S305。
经过步骤S304之后,实现了初始化模型参数的更新,使得参数更新后的检测模型检测非正常数据的能力进一步提高。
本实施例中,步骤S305使得异常检测模型具有终身持续学习的迭代能力,在步骤S302中检测到的非正常数据会在步骤S304中持续修正检测模型,修正后的检测模型替代步骤S302中的检测模型,依次循环往复,实现模型的终身迭代及参数修正,以持续提高异常检测模型检测的准确率。
例如,在工业设备故障检测的应用场景中,工业设备的软件系统利用初始化检测模型实时的检测该设备的运行数据是否正常,由于初始化检测模型对数据的检测准确率不高,而随着非正常数据的持续检出,并将检出的非正常数据用于检测模型参数的更新,更新后的检测模型在后续的数据检测中,检测的准确率会逐渐提高。
本实施例的基于检测模型的异常感知方法具有以下特点:
(1)异常检测可应用于工业的设备故障检测,金融的信用卡异常交易检测,云服务的异常检测等众多领域;
(2)初始化训练预设模型的阶段只需要正常样本来训练一个检测模型,利用这个检测模型识别一些异常样本,然后使用这些异常样本终身持续修正异常检测模型;
(3)不需要人为的对异常数据进行打标签,符合真实的应用场景,且可以终身持续修正模型的参数,从而提高模型检出的准确率。
对应于上文实施例的基于检测模型的异常感知方法,图4示出了本发明实施例三提供的一种基于检测模型的异常感知装置的结构框图,上述基于检测模型的异常感知装置应用于异常感知系统的本地客户端,该异常感知系统中包括N个本地客户端和至少一个中心服务端,N为大于0的整数,对应的客户端通过预设的应用程序接口(ApplicationProgramming Interface,API)连接服务端。每个本地客户端通过中心服务端获取待感知的软件系统获取的运行数据,本地客户端将获取到的运行数据通过基于检测模型的异常感知方法进行数据异常感知,得到数据异常感知的结果,同时对自身的检测模型进行参数更新。为了便于说明,仅示出了与本发明实施例相关的部分。
参见图4,该基于检测模型的异常感知装置包括:
模型训练模块41,用于获取针对软件系统的运行进行监控得到的运行正常时段的第一运行数据,基于第一运行数据初始化训练预设的检测模型,得到初始化模型,初始化模型能够对运行数据进行分类,以分类得到为运行正常的数据。
更新数据获取模块42,用于获取针对软件系统的运行进行监控得到的运行正常时段的第二运行数据,将第二运行数据输入初始化模型,输出检测结果,从第二运行数据中提取出检测结果为非正常的数据作为更新数据。
损失函数构建模块43,用于获取初始化训练时的初始损失函数,对初始损失函数进行反向处理,得到反向损失函数。
模型再训练模块44,用于基于更新数据和反向损失函数,对初始化模型进行再训练,确定训练结果为异常检测模型,异常检测模型用于感知异常的运行数据。
可选的是,上述模型训练模块41包括:
时间序列切分单元,用于通过滑动窗口对第一运行数据对应的时间序列进行切分,得到若干个时间段,滑动窗口为时间跨度为预设时间长度的时间窗口。
初始化模型训练单元,用于将各个时间段对应的时序数据构建为正常样本集,通过正常样本集初始化训练预设的检测模型,得到初始化模型。
可选的是,上述初始化模型训练单元包括:
LSTM模型训练单元,用于利用正样本集初始化训练LSTM模型,并通过随机梯度下降法对LSTM模型的参数进行更新,直至LSTM模型输出的相邻两个预测值之间的差值小于预设的阈值,得到初始化模型。
可选的是,上述LSTM模型训练单元包括:
第一参数计算单元,用于设置LSTM模型训练过程的学习率,计算初始LSTM模型的梯度值与学习率的乘积。
参数更新单元,用于将初始LSTM模型的参数更新为初始LSTM模型更新前的参数减去初始LSTM模型的梯度值与学习率的乘积。
可选的是,上述更新数据获取模块42包括:
概率输出单元,用于通过滑动窗口对第二运行数据对应的时间序列进行切分,得到若干个时间段,将各个时间段对应的时序数据输入初始化模型,输出各个时间段对应的时序数据为正常数据的概率。
概率比较单元,用于若概率小于预设的正常数据概率阈值,则概率对应的数据为非正常数据,将所有的非正常数据作为更新数据。
可选的是,上述模型再训练模块44包括:
第二参数计算单元,用于设置初始化模型训练过程的学习率,计算初始化模型的梯度值与学习率的乘积。
模型参数更新单元,用于将初始化模型的参数更新为初始化模型更新前的参数加上初始化模型的梯度值与学习率的乘积,得到异常检测模型。
可选的是,该基于检测模型的异常感知装置还包括:
非正常数据持续获取模块,用于通过异常检测模型对软件系统的运行进行监控得到的数据进行检测,得到非正常数据。
模型持续训练模块,用于利用非正常数据对异常检测模型继续进行再训练,以更新异常检测模型的参数。
需要说明的是,上述模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图5为本发明实施例四提供的一种计算机设备的结构示意图。如图5所示,该实施例的计算机设备包括:至少一个处理器(图5中仅示出一个)、存储器以及存储在存储器中并可在至少一个处理器上运行的计算机程序,处理器执行计算机程序时实现上述任意各个基于检测模型的异常感知方法实施例中的步骤。
该终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,图5仅仅是计算机设备的举例,并不构成对计算机设备的限定,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括网络接口、显示屏和输入装置等。
所称处理器可以是CPU,该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器包括可读存储介质、内存储器等,其中,内存储器可以是客户端的内存,内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。可读存储介质可以是客户端的硬盘,在另一些实施例中也可以是客户端的外部存储设备,例如,客户端上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,存储器还可以既包括客户端的内部存储单元也包括外部存储设备。存储器用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,该其他程序如计算机程序的程序代码等。存储器还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述基于检测模型的异常感知方法实施例的步骤。
其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。
计算机可读介质至少可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
本发明实现上述实施例方法中的全部或部分流程,也可以通过一种计算机程序产品来完成,当计算机程序产品在客户端上运行时,使得客户端执行时实现可实现上述基于检测模型的异常感知方法实施例中的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/客户端和方法,可以通过其他的方式实现。例如,以上所描述的装置/客户端实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其他的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于检测模型的异常感知方法,其特征在于,所述基于检测模型的异常感知方法包括:
获取针对软件系统的运行进行监控得到的运行正常时段的第一运行数据,基于所述第一运行数据初始化训练预设的检测模型,得到初始化模型,所述初始化模型能够对运行数据进行分类,以分类得到为运行正常的数据;
获取针对所述软件系统的运行进行监控得到的运行正常时段的第二运行数据,将所述第二运行数据输入所述初始化模型,输出检测结果,从所述第二运行数据中提取出检测结果为非正常的数据作为更新数据;
获取所述初始化训练时的初始损失函数,对所述初始损失函数进行反向处理,得到反向损失函数;
基于所述更新数据和所述反向损失函数,对所述初始化模型进行再训练,确定训练结果为异常检测模型,所述异常检测模型用于感知异常的运行数据。
2.根据权利要求1所述的基于检测模型的异常感知方法,其特征在于,所述第一运行数据为时序数据,基于所述第一运行数据初始化训练预设的检测模型,得到初始化模型,包括:
通过滑动窗口对所述第一运行数据对应的时间序列进行切分,得到若干个时间段,所述滑动窗口为时间跨度为预设时间长度的时间窗口;
将各个所述时间段对应的时序数据构建为正常样本集,通过所述正常样本集初始化训练预设的检测模型,得到所述初始化模型。
3.根据权利要求2所述的基于检测模型的异常感知方法,其特征在于,通过所述正常样本集初始化训练预设的检测模型,得到所述初始化模型,包括:
利用所述正常样本集初始化训练LSTM模型,并通过随机梯度下降法对所述LSTM模型的参数进行更新,直至所述LSTM模型输出的相邻两个预测值之间的差值小于预设的阈值,得到所述初始化模型。
4.根据权利要求3所述的基于检测模型的异常感知方法,其特征在于,通过随机梯度下降法对所述LSTM模型的参数进行更新,包括:
设置所述LSTM模型训练过程的学习率,计算所述LSTM模型的梯度值与所述学习率的乘积;
将所述初始LSTM模型的参数更新为所述LSTM模型更新前的参数减去所述LSTM模型的梯度值与所述学习率的乘积。
5.根据权利要求1所述的基于检测模型的异常感知方法,其特征在于,所述第二运行数据为时序数据,将所述第二运行数据输入所述初始化模型,输出检测结果,从所述第二运行数据中提取出检测结果为非正常的数据作为更新数据,包括:
通过滑动窗口对所述第二运行数据对应的时间序列进行切分,得到若干个时间段,将各个所述时间段对应的时序数据输入所述初始化模型,输出各个所述时间段对应的时序数据为正常数据的概率;
若所述概率小于预设的正常数据概率阈值,则所述概率对应的数据为非正常数据,将所有的非正常数据作为更新数据。
6.根据权利要求1所述的基于检测模型的异常感知方法,其特征在于,基于所述更新数据和所述反向损失函数,对所述初始化模型进行再训练,包括:
设置所述初始化模型训练过程的学习率,计算所述初始化模型的梯度值与所述学习率的乘积;
将所述初始化模型的参数更新为所述初始化模型更新前的参数加上所述初始化模型的梯度值与所述学习率的乘积,得到所述异常检测模型。
7.根据权利要求6所述的基于检测模型的异常感知方法,其特征在于,得到所述异常检测模型之后,包括:
通过所述异常检测模型对所述软件系统的运行进行监控得到的数据进行检测,得到非正常数据;
利用所述非正常数据对所述异常检测模型继续进行再训练,以更新所述异常检测模型的参数。
8.一种基于检测模型的异常感知装置,其特征在于,所述基于检测模型的异常感知装置包括:
模型训练模块,用于获取针对软件系统的运行进行监控得到的运行正常时段的第一运行数据,基于所述第一运行数据初始化训练预设的检测模型,得到初始化模型,所述初始化模型能够对运行数据进行分类,以分类得到为运行正常的数据;
更新数据获取模块,用于获取针对所述软件系统的运行进行监控得到的运行正常时段的第二运行数据,将所述第二运行数据输入所述初始化模型,输出检测结果,从所述第二运行数据中提取出检测结果为非正常的数据作为更新数据;
损失函数构建模块,用于获取所述初始化训练时的初始损失函数,对所述初始损失函数进行反向处理,得到反向损失函数;
模型再训练模块,用于基于所述更新数据和所述反向损失函数,对所述初始化模型进行再训练,确定训练结果为异常检测模型,所述异常检测模型用于感知异常的运行数据。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的基于检测模型的异常感知方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于检测模型的异常感知方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310714621.5A CN116842520A (zh) | 2023-06-15 | 2023-06-15 | 基于检测模型的异常感知方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310714621.5A CN116842520A (zh) | 2023-06-15 | 2023-06-15 | 基于检测模型的异常感知方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116842520A true CN116842520A (zh) | 2023-10-03 |
Family
ID=88162695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310714621.5A Pending CN116842520A (zh) | 2023-06-15 | 2023-06-15 | 基于检测模型的异常感知方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116842520A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117494030A (zh) * | 2024-01-02 | 2024-02-02 | 广东力创信息技术有限公司 | 基于分布式光纤声波传感的异常事件识别方法及相关装置 |
CN117974011A (zh) * | 2024-04-01 | 2024-05-03 | 国网浙江省电力有限公司宁波供电公司 | 动态感知物资需求的采购决策方法、装置、设备及介质 |
-
2023
- 2023-06-15 CN CN202310714621.5A patent/CN116842520A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117494030A (zh) * | 2024-01-02 | 2024-02-02 | 广东力创信息技术有限公司 | 基于分布式光纤声波传感的异常事件识别方法及相关装置 |
CN117494030B (zh) * | 2024-01-02 | 2024-03-19 | 广东力创信息技术有限公司 | 基于分布式光纤声波传感的异常事件识别方法及相关装置 |
CN117974011A (zh) * | 2024-04-01 | 2024-05-03 | 国网浙江省电力有限公司宁波供电公司 | 动态感知物资需求的采购决策方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111914873A (zh) | 一种两阶段云服务器无监督异常预测方法 | |
CN116842520A (zh) | 基于检测模型的异常感知方法、装置、设备及介质 | |
CN111652290B (zh) | 一种对抗样本的检测方法及装置 | |
CN111475804A (zh) | 一种告警预测方法及系统 | |
CN112202726B (zh) | 一种基于上下文感知的系统异常检测方法 | |
CN111585799A (zh) | 网络故障预测模型建立方法及装置 | |
CN107945210B (zh) | 基于深度学习和环境自适应的目标跟踪方法 | |
CN111259397B (zh) | 一种基于马尔科夫图和深度学习的恶意软件分类方法 | |
CN112860675B (zh) | 在线云服务环境下的大数据处理方法及云计算服务器 | |
CN111612037A (zh) | 异常用户检测方法、装置、介质及电子设备 | |
CN114037478A (zh) | 广告异常流量检测方法、系统、电子设备及可读存储介质 | |
CN111898129B (zh) | 基于Two-Head异常检测模型的恶意代码样本筛选器及方法 | |
Karanam et al. | Intrusion detection mechanism for large scale networks using CNN-LSTM | |
CN113282920B (zh) | 日志异常检测方法、装置、计算机设备和存储介质 | |
You et al. | sBiLSAN: Stacked bidirectional self-attention lstm network for anomaly detection and diagnosis from system logs | |
CN114285587B (zh) | 域名鉴别方法和装置、域名分类模型的获取方法和装置 | |
US11727109B2 (en) | Identifying adversarial attacks with advanced subset scanning | |
CN115601042A (zh) | 信息识别方法、装置、电子设备及存储介质 | |
KR20200048002A (ko) | 비대칭 tanh 활성 함수를 이용한 예측 성능의 개선 | |
CN114818947A (zh) | 分类器的训练方法及装置、分类装置 | |
CN118250093B (zh) | 一种横向威胁感知方法、装置、设备、介质及产品 | |
US20180300372A1 (en) | Inflationary segment approach to temporal data partitioning for optimized model scoring | |
CN114039744B (zh) | 一种基于用户特征标签的异常行为预测方法及系统 | |
US20240203095A1 (en) | Method, device, and computer program product for verifying classification result | |
US11971332B2 (en) | Feature extraction apparatus, anomaly score estimation apparatus, methods therefor, and program |
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 |