System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于注意力编码器的日志检测方法技术_技高网

基于注意力编码器的日志检测方法技术

技术编号:40592250 阅读:3 留言:0更新日期:2024-03-12 21:53
本发明专利技术公开了一种基于注意力编码器的日志检测方法,首先对日志数据进行预处理与令牌词标记化,然后在模型训练部分,将输入的包括训练数据和辅助数据的原始日志信息进行标记化,输入构建的LogSAC模型,经过自注意力编码器处理后,通过拟合球面交叉熵函数,确定异常系数实现分类,最后将测试数据输入训练好的LogSAC模型进行异常检测,输出测试结果。本发明专利技术的方法使用基于注意力的编码器模型,提取日志信息的主要内容,基于提出的新的球形损失函数实现日志信息的分类,模板相似的日志信息进行聚合,能够尝试对新日志模板的识别学习,与其它现有方法相比,在日志样本上拥有更好的泛化能力,具有较好的异常检测效果。

【技术实现步骤摘要】

本专利技术属于日志异常检测,具体涉及一种基于注意力编码器的日志检测方法


技术介绍

1、异常检测是一项数据挖掘任务,它在数据语料库中发现与预期行为不同的观察结果。在云和高性能计算(hpc)平台等大型系统中,异常会影响关键应用程序和大量用户。因此,在复杂的计算机系统中,及时准确的异常检测对于实现可靠性、稳定运行和减少损失是必要的。

2、日志是计算机系统异常检测的重要数据源。它们是自由格式的文本,表示数据、文件、服务或应用程序之间的交互,通常被开发人员和数据驱动的方法用来理解系统行为,并检测、定位和解决可能出现的问题。日志异常检测可以通过人工检测或者自动检测完成,人工日志检测实现困难,成本过高,因此日志异常自动检测作为一个新兴课题,在简化异常和故障检测、诊断和预测等许多方面变得越来越重要。

3、业界和学术界都发表了大量关于日志异常检测方法的研究和开发。监督学习最早被用于解决日志异常检测问题。例如,假设正常和异常样本的标签有效,可以应用支持向量机(svm)检测故障。然而,一般情况下很难获得特定系统的标记样品,且通常是不可行的。

4、此外,业界还提出了几种无监督学习方法。文献“w.xu,l.huang,a.fox,d.patterson,and m.i.jordan,‘detecting large-scale system problems by miningconsole logs,’in proceedings of the acm sigops22nd symposium on operatingsystems principles,2009,pp.117–132.”建议使用主成分分析(pca)方法,假设日志文件中有不同的会话,可以通过附加在每个日志条目上的会话id轻松识别。同时一些研究利用nlp技术来分析基于日志是自然语言序列的日志数据。文献“x.zhang,y.xu,q.lin,b.qiao,h.zhang,y.dang,c.xie,x.yang,q.cheng,z.li et al.,‘robust log-based anomalydetection on unstable log data,’in proceedings of the 201927th acm jointmeeting on european software engineering conference and symposium on thefoundations of software engineering,2019,pp.807–817.”结合了预先训练好的词向量来学习一系列日志,在这些日志中,训练了一个基于注意力的bi-lstm模型。

5、然而,无监督学习的输入是表示日志模板索引的单热日志向量。因此,它不能处理新出现的日志事件。同时无监督学习对日志解析器的解析准确度要求较高,如果解析准确度过低会导致异常检测模型准确度降低。

6、因此,对于监督学习的异常检测需求也相应出现,不使用日志解析器在最大程度上保留原始语料的信息,需要新的异常检测方法有更高的鲁棒性和准确性,提高对非结构化日志的识别能力。


技术实现思路

1、为解决上述技术问题,本专利技术提供了一种基于注意力编码器的日志检测方法,使用基于注意力的编码器模型和新的球形损失函数,学习压缩的日志表征,捕获正常和异常日志内在的不同。

2、本专利技术采用的技术方案为:一种基于注意力编码器的日志检测方法,具体步骤如下:

3、s1、对日志数据进行预处理与令牌词标记化;

4、s2、构建logsac模型,输入步骤s1得到的处理后的训练数据进行训练;

5、s3、基于步骤s2训练好的模型,输入测试数据进行异常检测,输出测试结果。

6、进一步地,所述步骤s1具体如下:

7、首先将日志定义为临时有序的非结构化文本消息序列l=(xi:i=1,2,…)。

8、其中,xi表示日志消息,由日志指令生成,在软件源代码中,i表示它在序列中的位置索引。日志消息由固定部分和可变部分组成,分别称为日志模板和变量。

9、每条日志消息由一个有限的令牌词序列ri组成,

10、其中,表示所有令牌的集合,j表示日志消息xi中令牌的位置索引,|ri|表示xi中令牌的总数;对于不同的xi,|ri|可以变化。

11、然后使用标准文本预处理库nltk进行预处理,首先过滤http和系统路径端点字段,然后将所有字符转化为小写,并删除所有ascii特殊字符,最后将日志消息分割成单词令牌,且删除每个包含数字字符的令牌,同时删除nltk停止词字典中的连接词。

12、日志预处理后对日志消息进行标记化,根据具体的标记化方法,wj表示一个单词、单词片段或字符。则标记化被定义为一个转换函数t:xi→ri。

13、最后在标记化日志消息的前面,添加一个特殊的'[embedding]'标记。在logsac模型中,'[embedding]'令牌组成样本中的所有原始令牌。

14、每个日志消息中的所有令牌都形成大小为的词汇表每个令牌用整数标签表示。

15、进一步地,所述步骤s2具体如下:

16、s21、构建logsac模型;

17、所述logsac模型包括离线和在线两种操作模式;离线阶段时,使用日志消息通过反向传播算法对所有模型参数进行调优,并选择最优超参数。在线阶段时,每条日志消息都通过保存的模型向前传递。在线阶段将为每个消息生成异常系数。

18、在所述logsac模型中对输入的标记化日志信息的标记应用两种操作:标记向量化和位置编码;然后操作的结果作为自注意力编码器的输入,输出由从初始标记转换而来的|ri|向量表示,每个向量的维数为d。

19、s22、将输入原始日志信息经过步骤s1标记化后,输入logsac模型的自注意力编码器进行处理,通过拟合球面交叉熵函数,确定异常系数,根据异常阈值实现分类,完成模型训练;

20、所述原始日志信息包括:目标系统的训练数据,辅助数据。

21、提出一个球面损失函数,设d={(s1,y1),…,(sn,yn)}表示来自目标系统的训练数据集合。

22、其中,表示日志消息的嵌入向量表示,r表示实数域;n表示日志消息的数量。

23、设定目标系统中的数据大部分由正态样本组成,其令牌在d维空间中表示,即日志消息用d×|r|矩阵表示,|r|表示令牌数,yi=0;(1<i≤n)表示。

24、设a={(sn+1,yn+1),…,(sn+m,yn+m)}表示辅助数据的训练日志集合,m表示辅助数据的大小,yi=1;(n<i≤n+m)

25、设d∪a={(s1,y1),…,(sn+m,yn+m)}表示训练数据与辅助数据的连接。yi∈{0,1},yi=0表示正常样本(训练数据),yi=1表示异常(辅助数据)。<本文档来自技高网...

【技术保护点】

1.一种基于注意力编码器的日志检测方法,具体步骤如下:

2.根据权利要求1所述的一种基于注意力编码器的日志检测方法,其特征在于,所述步骤S1具体如下:

3.根据权利要求1所述的一种基于注意力编码器的日志检测方法,其特征在于,所述步骤S2具体如下:

4.根据权利要求l所述的一种基于注意力编码器的日志检测方法,其特征在于,所述步骤S3具体如下:

【技术特征摘要】

1.一种基于注意力编码器的日志检测方法,具体步骤如下:

2.根据权利要求1所述的一种基于注意力编码器的日志检测方法,其特征在于,所述步骤s1具体如下:

3.根据权利要...

【专利技术属性】
技术研发人员:于富财郭甫睿陈振兴白天骄
申请(专利权)人:电子科技大学
类型:发明
国别省市:

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

1