用于异常检测的设备和方法技术

技术编号:39263310 阅读:36 留言:0更新日期:2023-10-30 12:16
一种用于检测输入数据中的异常的异常检测器包括自动编码器,其被训练以对输入数据进行编码并对编码的输入数据进行解码以重构输入数据。此外,异常检测器包括分类器,其被训练以确定指示所接受的输入数据与重构的输入数据之间的差异的重构损失,其中重构损失包括评估重构的输入数据的多个部分的重构损失的多个损失函数的加权组合、不同类型的损失函数或二者。分类器还被配置为当重构损失高于阈值时,检测重构的输入数据中的异常。检测重构的输入数据中的异常。检测重构的输入数据中的异常。

【技术实现步骤摘要】
【国外来华专利技术】用于异常检测的设备和方法


[0001]本专利技术总体上涉及异常检测,更具体地,涉及一种使用自动编码器来检测异常的设备和方法。

技术介绍

[0002]异常检测通常涉及检测异常情况的任务。该任务广泛适用于诸如保障、安全、质量控制、故障监测、工艺控制等的各种应用。遍及各种应用,异常检测的目的通常是关于需要进一步调查以及潜在地响应行动的不寻常情况发出警报,以减轻任何有害问题。由于信息流巨大,人工调查和响应会成本高昂,因此异常检测系统也提供有助于说明检测原因的信息以便指导调查和适当响应将是有用的。
[0003]传统异常检测器使用重构输入数据的自动编码器,并且使用输入数据和重构数据之间的重构损失来检测输入数据中的异常。训练异常检测器中的主要问题之一是缺乏具有异常的训练数据。因此,被配置为检测异常的自动编码器目前基于正常的非异常数据来训练。仅在非异常数据上训练自动编码器的概念被称为单类学习,其中单类学习对“正常”(非异常)数据样本的数据分布进行建模。在这种方法中,自动编码器的重构损失充当输入数据示例(在测试时间给出)是否异常的指标,较高的重构误差指示异常,因为一般原理是自动编码器应该学习有效地重构正常数据,但对于异常数据具有较高的误差。因此,对误差进行阈值处理起到异常检测器的作用。
[0004]然而,用于异常检测的单类分类器可能无法正确地处理真实世界实际应用的丰富上下文,其中,用于异常检测的输入数据包括多个可能的异构特征。因此,需要一种异常检测器,其单独地分析输入数据的各个特征,以检测异常和/或提供说明所检测到的异常的原因的信息。

技术实现思路

[0005]一些实施方式基于这样的认识:难以获得标记的异常数据以便训练异常检测器检测异常。因此,使用无监督异常检测方法,其包括使用正常数据来训练异常检测器。当异常数据输入到已使用正常或良性数据训练的异常检测器时,它然后可检测异常数据。这种训练在本文中被称为单类分类器。
[0006]然而,输入数据包括多个特征。用于异常检测的单类分类器训练无法单独地分析输入数据的各个特征。因此,即使当前异常检测器检测到异常时,它们也无法提供关于输入数据的哪个特征被确定为异常的信息。这种信息对于指导所检测到的异常的调查可能非常有用。例如,一些实施方式基于这样的认识:输入数据的不同特征对异常的贡献可能不同。单独但联合地分析不同的特征可改进异常检测的准确性。
[0007]另外地或另选地,一些实施方式基于这样的认识:有时异常训练数据可用,但数量不足以训练多类分类器。一些实施方式基于这样的认识:当一些类训练不足时,单类分类器仍比多类分类器优选。因此,对于单类分类器的训练,忽略了异常训练数据的量不足,这是
遗憾的。
[0008]为了解决这一问题,一些实施方式代替使用可用异常训练数据来训练多类分类器,使用异常训练数据来调整单类分类器的异常检测的阈值。这些实施方式单独或与复合损失函数组合可改进异常检测的准确性,而不会增加其训练的复杂度。
[0009]例如,一些实施方式对结构化序列数据执行异常检测,其中数据样本包含不同类型特征的混合。一些特征是类别,一些是来自大词汇表的词语,一些是数值。处理序列数据需要将与不同类型的特征对应的不同类型的值组合,以便检测异常。这些变化的数据类型出现在诸如互联网代理日志的序列数据中,其中一些字段是类别(命令、协议、错误代码等),一些是词语(域名、URL路径、文件名等),其它是数值(数据大小、字符统计、定时等)。
[0010]一些实施方式使用利用单类标签模型训练的异常检测器来执行互联网代理日志数据中的异常检测,以检测对网络物理系统的网络攻击以及计算机网络中的其它恶意活动。该异常检测器的目标是帮助将网络攻击的检测和响应自动化,并且进一步提供数据为何出现异常的说明,以便指导调查和适当响应。原始互联网业务日志数据包括来自许多不同用户的互联网业务请求的日志条目,这些不同数据流在日志数据记录中固有地交织。因此,所提出的异常检测器首先将不同用户生成的日志条目的序列解交织,然后独立地处理各个用户的序列。在交织的同时简单处理所有序列的替代方案可能使自动编码器的训练过载,具有附加的不必要的复杂度。
[0011]一些实施方式基于这样的认识:互联网代理日志数据包括具有不同特征的异构混合的数据样本。一些特征自然地出现在数据中(代理日志条目包含数值、类别和文本字段)。互联网代理日志数据是一种序列数据。在该序列数据中,在各个序列内,数据被结构化为不同类型特征的混合。一些特征是类别,一些是来自大词汇表的词语,一些是数值。特别是,对于与互联网业务日志对应的序列数据,关键原始特征是HTTP命令和访问的URL。HTTP命令是来自有限可能性集合(例如,GET、POST、HEAD等)的类别特征的示例。然而,URL由许多不同部分组成,包括协议(例如,最常见的“http”、“https”或“ftp”)、域名和顶级域,而且还可能包括子域、路径、文件名、文件扩展名和参数。尽管协议和顶级域是类别变量,但URL的其余部分是可来自非常大的词汇表的一般词语和符号。因此,为了处理URL特征,在一些实施方式中,URL被分解为:将协议和顶级域视为类别特征,将域名和子域视为来自大词汇表的词汇,并且在路径和参数上计算数值统计。
[0012]为了处理域和子域词语,使用从训练数据形成最常见词语的词汇表。最常见集合之外的词语可被标记为“其它”组。然而,必要词汇表仍会非常大,使得难以处理词汇表的大小。因此,为了在训练期间处理词汇表的大小,可使用词嵌入模块,其中可针对URL中存在的多个特征中的各个特征预训练词嵌入模块,以将各个词语转换为较小维度的特征向量,而非使用非常大的独热(one

hot)类别编码。因此,代替原始域/子域词语使用这些嵌入向量(即,特征向量)作为处理的特征以供自动编码器使用。
[0013]在一些实施方式中,对于具有数量可管理的类别的其它类别特征,类别集合可减少至仅训练期间最常见的那些,并且将其余标记“其它”类别。
[0014]在一些实施方式中,异常检测器基于序列数据的多个特征将输入的序列数据的各个序列分解为多个字段。此外,与各个字段中所包括的各个特征对应的数据被向量化并级联,并提供给自动编码器。训练自动编码器以压缩并重构级联数据。通过将各个个体特征的
个体损失组合来计算自动编码器训练的总体重构损失。对于嵌入的词语特征,以词嵌入特征向量的均方误差或平均绝对误差的形式测量损失。对于类别特征,通过交叉熵损失来测量损失。对于数值特征,通过数值的均方误差或平均绝对误差来测量损失。这些个体损失项作为加权平均全部被组合,以形成总体重构损失。
[0015]在一些实施方式中,为了覆盖不同类型的结构化序列数据,异常检测器包括灵活结构,其从以下当中提供特征选择:需要嵌入的类别特征、需要独热编码的类别特征或数值特征。因此,该灵活结构提供了为所选特征自适应地选择最佳损失函数集合的损失函数选择机制。
[0016]一些实施方式基于这样的认识:从数据特征的异构混合检测异本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种异常检测器,该异常检测器包括:输入接口,该输入接口被配置为接受输入数据;至少一个处理器;以及存储器,该存储器上存储有形成所述异常检测器的模块的指令,其中,所述至少一个处理器被配置为执行所述异常检测器的所述模块的所述指令,所述模块包括:自动编码器,该自动编码器包括被训练以对所述输入数据进行编码的编码器以及被训练以对所编码的输入数据进行解码以重构所述输入数据的解码器;分类器,该分类器被训练以:确定指示所接受的输入数据与所重构的输入数据之间的差异的重构损失,其中,该重构损失包括评估所重构的输入数据的多个部分的重构损失的多个损失函数的加权组合、不同类型的损失函数或二者;并且当所述重构损失高于阈值时,检测所重构的输入数据中的异常;以及输出接口,该输出接口渲染异常检测的结果。2.根据权利要求1所述的异常检测器,其中,所述输入接口还被配置为基于所述异常检测的结果接受用户输入,并且其中,所述用户输入包括指示所接受的输入数据是否异常的标签。3.根据权利要求2所述的异常检测器,其中,所述模块还包括:调整器,该调整器被配置为响应于所接受的用户输入而更新所述加权组合中的所述多个损失函数中的至少一个损失函数的所述阈值和权重中的至少一个,以调节所述重构损失,使得所述异常检测的结果与所述标签一致。4.根据权利要求1所述的异常检测器,其中,所述输入接口还被配置为基于所述异常检测的结果接受用户输入,并且其中,所述用户输入包括指示所接受的输入数据的错误分类的标签。5.根据权利要求4所述的异常检测器,其中,所述模块还包括:调整器,该调整器被配置为响应于所接受的用户输入而更新所述加权组合中的所述多个损失函数中的至少一个损失函数的所述阈值和权重中的至少一个,以校正所接受的输入数据的错误分类。6.根据权利要求1所述的异常检测器,其中,所接受的输入数据包括多个特征,并且其中,所述模块还包括数据加载器模块,该数据加载器模块被配置为:基于所述输入数据的所述多个特征将所接受的输入数据划分成多个部分;并且将所述输入数据的所述多个部分中的各个部分向量化。7.根据权利要求6所述的异常检测器,其中,所述模块还包括级联模块,该级联模块被配置为:获得所述输入数据的多个向量化部分;并且将所述多个向量化部分级联以形成级联数据,其中,所述自动编码器通过处理所述级联数据来重构所述输入数据。8.根据权利要求7所述的异常检测器,其中,所述模块还包括分割模块,该分割模块被配置为:
从所述自动编码器接收所重构的输入数据;并且基于存在于所重构的输入数据中的所述多个特征将所重构的输入数据分割成所述多个部分。9.根据权利要求8所述的异常检测器,其中,所述模块还包括损失函数确定模块,该损失函数确定模块被配置为:接收与所重构的输入数据对应的所述多个部分中的各个部分;确定适合于计算所重构的输入数据的各个部分的损失的损失函数;并且基于所确定的损失函数来计算与所重构的输入数据的各个部分对应的个体重构损失。10.根据权利要求9所述的异常检测器,其中,所述模块还包括权重确定模块,该权重确定模块被配置为:向各个损失函数指派权重;并且确定与所重构的输入数据的所述多个部分关联的所述多个损失函数的所述加权组合。11.根据权利要求1所述的异常检测器,其中,所述输入数据对应于互联网代理日志数据。12.根据权利要求11所述的异常检测器,其中,所述模块还包括数据加载器模块,该数据加载器模...

【专利技术属性】
技术研发人员:王也金耕进王啸
申请(专利权)人:三菱电机株式会社
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1