一种5g通信系统异常日志ai检测方法
技术领域
1.本发明涉及5g通信技术领域,具体涉及一种5g通信系统异常日志ai检测方法。
背景技术:2.5g通信系统规模及业务量巨大,每时每刻都在产生海量的日志数据,通过人力对海量日志进行分析检查,无法及时发现系统存在的问题,且耗费巨大。因此,借助一些技术手段,如人工智能算法等,对系统产生的日志数据进行分析,不仅能及时发现系统异常和故障诊断,而且能减少人力资源消耗,对保障系统的稳定运行,提高系统服务质量都具有重要意义。引发系统异常的因素有很多,如系统内部软件漏洞、系统硬件故障或者外部的各种恶意攻击等,日志异常检测的主要难点在于检测对象的未知性、多样性及不均衡问题,研究人员对此进行了大量的相关研究。
3.(1)基于机器学习的异常检测技术:logclass通过pu(positive-unlabeled)和svm(support vector machine)方法对构建的bag-of-words向量进行训练构建检测模型;logcluster通过对日志进行聚类而进行异常检测,具体的做法是对日志序列进行聚类,并通过聚类中心进行计算以输出具有代表性的序列,帮助开发人员快速识别潜在的问题;cloudseer是一种基于工作流的日志异常检测算法,通过发现交叉日志序列的错误来诊断异常。这些检测模型的主要问题在于无法处理不确定或未知因素对异常检测对象的影响。
4.(2)基于深度学习的日志异常检测模型主要有:deeplog利用长短时记忆网络lstm对系统日志进行建模与异常检测,该方法通过日志模板异常检测、日志参数异常检测、工作流异常诊断三部分综合实现异常检测。loganomaly方法将日志流作为自然语言序列进行建模,通过设计简单有效的template2vec模板提取出隐藏在日志模板中的语义和语法信息,利用lstm实现了端到端的日志组异常检测。然而,deeplog和loganomaly这类基于深度学习的异常检测技术主要缺陷是不可解释和高复杂度,也无法解决未知性问题。
技术实现要素:5.(一)解决的技术问题
6.针对现有技术的不足,本发明提供一种5g通信系统异常日志ai检测方法从收集的系统日志数据中,通过日志解析技术(如正则表达式)从无结构数据中提取出所需要的信息模板,构建合适的特征向量;然后,基于特征向量设计异常检测算法,构建异常检测模型;该方法可以在没有恶意样本的条件下取得较好的效果,并且具备可解释性、实用性等特点;本方案采用无监督学习的方式,只需要正常样本进行异常检测模型的构建,不仅有效避免了异常样本的多样性、未知性以及数据不均衡等问题,而且能够有效应对未出现的新异常。
7.(二)技术方案
8.为解决上述的有效避免异常样本的多样性、未知性以及数据不均衡等问题,本发明提供如下技术方案:
9.一种5g通信系统异常日志ai检测方法,包括以下步骤:
10.s1、总体框架构建
11.利用pca算法对输入特征数据进行压缩和降维,在pca特征降维模块中,向该模块输入n维tf-idf矩阵作为原始数据,降维过程包括以下步骤:
12.s101、计算原始数据的协方差矩阵;
13.s102、进一步计算协方差矩阵的特征值以及对应的特征向量,并按照从大到小的顺序进行排序,选取前k(k《n)个值作为特征向量矩阵;
14.s103、将原始数据投影到特征向量矩阵,即得到降维后的数据,最后在构建基于集成学习的异常日志ai检测模型,该数据将用于后续异常检测模型的训练。
15.s2、日志解析
16.s201、信息提取
17.通过设计正则表达式构建信息提取单元uextraction(
·
),对信息模块进行提取,对于日志数据xi(第i个日志数据),提取出来的信息包括三部分{t
xi
、s
xi
、h
xi
},t
xi
、s
xi
和h
xi
分别表示日志产生的时间、日志来源、系统行为等信息;由于从日志数据提取的行为序列可能存在大量重复的系统行为,本方案首先删除这些重复的行为,得到没有重复行为的系统行为集;
18.s202、处理日志时间
19.利用时间转化单元utimestamp(
·
)将日志数据xi产生的时间转化成时间戳的形式;
20.s203、系统行为处理
21.为了便于日志行为的处理,系统行为集h的系统行为用符号“e
i”表示,得到系统行为序列对应的符号集hmark={e0,e1,...,ei,...},新的系统行为自动被添加到行为集和对应的符号集中,日志数据xi的系统行为h
xi
对应符号集的某一元素“e
i”;
22.s204、事件序列构建
23.将同一个时间戳内发生的事件序列按照发生的时间顺序进行排列,构建一个与时间戳相对应、基于时间顺序的事件序列。
24.s3、特征向量提取
25.利用上述步骤构建的事件序列集d
out
作为模型训练的特征数据集,采用词频逆反文档频率(tf-idf)对所选的特征组进行向量化,构建特征矩阵;该部分主要通过基于scikit-learn模块实现。
26.s4、检测模型构建
27.通过日志解析、特征向量构建等处理步骤后,得到向量化的特征矩阵vtf-idf,我们利用该数据构建异常检测模型;在训练模型前为了进一步减少计算开销,本方案利用pca算法对特征向量进行降维处理,以降低数据维度,然后,将数据输入检测模型进行训练,具体包括以下四步:
28.s401、利用pca算法对tf-idf矩阵进行特征提取处理,得到数据集v
training
;
29.s402、将数据v
training
输入不同的算法模型进行训练;
30.s403、将多个训练好的模型进行集成,对于一个待检样本xi,copod、iforest与cblof算法分别计算出一个异常概率值p
ji
(j=0,1,2),通过集成异常检测模型,即m
ensemble
(xi),根据式(3)计算最后的异常概率pi。
31.s404、集成学习模型利用pi构造异常概率矩阵p。
32.优选的,所述步骤s1中,将降维后的数据输入iforest模块,iforest模块每次随机从输入数据中以不放回采样选取一部分,通过递归分割算法建立itree(isolation tree),具体过程是:iforest算法随机选择一批样本数据,从中随机选择一个样本值作为分割依据,把样本数据分割成左右子集,再对每个子集采用同样的方法进行分割,直到每个子集只有一个样本或者子节点达到限定的高度,生成一棵itree。
33.优选的,所述步骤s1中,对其他样本进行类型的处理,iforest算法最终得到一组itree;计算所有训练样本itree的平均高度,并将其作为判断数据是否异常的阈值;在检测阶段,依据待检数据在itree中的路径长度是否小于阈值,判断其是否为异常数据。
34.优选的,所述步骤s1中,在iforest模块的基础上增加cblof算法,cblof首先利用k-means算法对样本数据进行预分类,然后通过lof算法对每个类进行异常检测;对于每个输入数据x,lof算法根据式(1)计算该待检数据邻接距离为k的局部可达密度:
[0035][0036]
其中,|nk(x)|表示集合nk(x)元素的个数,rdistk(x,y)表示数据点x与y之间的可达距离;
[0037]
将该数据的局部可达密度与该数据所有相邻数据的平均可达密度进行比较,根据式(2)计算得到局部可达因子,当局部可达因子越大于1时,则表明该数据点越可能是异常点,
[0038][0039]
上述算法进行异常检测的基本思想是依据数值偏离均值的情况判断是否异常,偏离越远,越异常。
[0040]
优选的,所述步骤s2中,事件序列构建主要基于以下两点:日志异常检测任务是检测系统的某一异常行为,该异常行为可能是系统内部错误产生的,也可能是来自外部的恶意攻击所导致,异常检测任务处理的对象是系统行为记录中异常数据部分,而不是处理描述系统行为的整个记录,因此,本方案中“e
i”标识系统的某一种行为的异常部分,并将其作为检测的特征单词;基于标识符“e
i”构建特征向量,能够大幅降低特征向量维度、减小计算开销,避免矩阵过于稀疏的问题。
[0041]
优选的,所述步骤s3中,该模块主要包括countvectorizer()函数和tfidftransformer()函数;具体过程如下:
[0042]
首先,利用countvectorizer()函数将事件序列转化成词频tf,构造词频矩阵;然后将其作为输入,通过tfidftransformer()函数计算词频逆反文档频率tf-idf;最后,得到向量化后的tf-idf矩阵。
[0043]
优选的,所述步骤s4中,式(3)为
[0044]
[0045]
其中,pi表示集成模型输出的异常概率值,λj表示该模型输出所占权重,且给定阈值θ,可得:
[0046][0047]
根据式(4),当集成模型的输出值超过θ时,认为该数据为异常数据;反之,为正常数据。
[0048]
(三)有益效果
[0049]
与现有技术相比,本发明提供的5g通信系统异常日志ai检测方法,具备以下有益效果:
[0050]
1、该5g通信系统异常日志ai检测方法,在不需要恶意样本条件下进行日志异常行为检测,克服异常检测对象的未知性、不均衡性和多样性带来的挑战,计算开销小、模型轻量,运行速度快的机器学习算法,减小计算开销;同时,本方案通过pca算法对数据降维、利用标识符表示系统的行为以减少数据特征维度等技巧,极大减小了计算的开销。
[0051]
2、该5g通信系统异常日志ai检测方法,可靠性与稳定性高,本方案所选的机器学习算法都具有成熟的数学理论支撑,相比神经网络模型的黑盒结构更具有可解释性,通过算法集成使不同算法之间优劣互补,提高检测模型的稳定性与可靠性,有效降低检测模型的误检率与漏检率,理论基础成熟,算法完整,易于实际系统的实现。
附图说明
[0052]
图1为本发明实施例模型总体框架结构示意图;
[0053]
图2为本发明实施例日志解析处理流程示意图。
具体实施方式
[0054]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0055]
实施例
[0056]
请参阅图1-2,本发明实施例提供的5g通信系统异常日志ai检测方法,包括以下步骤:
[0057]
s1、总体框架构建
[0058]
利用pca算法对输入特征数据进行压缩和降维,在pca特征降维模块中,向该模块输入n维tf-idf矩阵作为原始数据,降维过程包括以下步骤:
[0059]
s101、计算原始数据的协方差矩阵;
[0060]
s102、进一步计算协方差矩阵的特征值以及对应的特征向量,并按照从大到小的顺序进行排序,选取前k(k《n)个值作为特征向量矩阵;
[0061]
s103、将原始数据投影到特征向量矩阵,即得到降维后的数据,最后在构建基于集成学习的异常日志ai检测模型,该数据将用于后续异常检测模型的训练。
[0062]
将降维后的数据输入iforest模块,iforest模块每次随机从输入数据中以不放回采样选取一部分,通过递归分割算法建立itree(isolation tree),具体过程是:iforest算法随机选择一批样本数据,从中随机选择一个样本值作为分割依据,把样本数据分割成左右子集,再对每个子集采用同样的方法进行分割,直到每个子集只有一个样本或者子节点达到限定的高度,生成一棵itree。
[0063]
对其他样本进行类型的处理,iforest算法最终得到一组itree;计算所有训练样本itree的平均高度,并将其作为判断数据是否异常的阈值;在检测阶段,依据待检数据在itree中的路径长度是否小于阈值,判断其是否为异常数据。
[0064]
本数据进行预分类,然后通过lof算法对每个类进行异常检测;对于每个输入数据x,lof算法根据式(1)计算该待检数据邻接距离为k的局部可达密度:
[0065][0066]
其中,nk(x)表示x邻接距离为k的所有邻居节点集合,|nk(x)|表示集合nk(x)元素的个数,rdistk(x,y)表示数据点x与y之间的可达距离;
[0067]
将该数据的局部可达密度与该数据所有相邻数据的平均可达密度进行比较,根据式(2)计算得到局部可达因子,当局部可达因子越大于1时,则表明该数据点越可能是异常点,
[0068][0069]
上述算法进行异常检测的基本思想是依据数值偏离均值的情况判断是否异常,偏离越远,越异常。
[0070]
s2、日志解析
[0071]
s201、信息提取
[0072]
通过设计正则表达式构建信息提取单元uextraction(
·
),对信息模块进行提取,对于日志数据xi(第i个日志数据),提取出来的信息包括三部分{t
xi
、s
xi
、h
xi
},t
xi
、s
xi
和h
xi
分别表示日志产生的时间、日志来源、系统行为等信息;由于从日志数据提取的行为序列可能存在大量重复的系统行为,本方案首先删除这些重复的行为,得到没有重复行为的系统行为集;
[0073]
s202、处理日志时间
[0074]
利用时间转化单元utimestamp(
·
)将日志数据xi产生的时间转化成时间戳的形式;
[0075]
s203、系统行为处理
[0076]
为了便于日志行为的处理,系统行为集h的系统行为用符号“e
i”表示,得到系统行为序列对应的符号集hmark={e0,e1,...,ei,...},新的系统行为自动被添加到行为集和对应的符号集中,日志数据xi的系统行为h
xi
对应符号集的某一元素“e
i”;
[0077]
s204、事件序列构建
[0078]
将同一个时间戳内发生的事件序列按照发生的时间顺序进行排列,构建一个与时
间戳相对应、基于时间顺序的事件序列。
[0079]
事件序列构建主要基于以下两点:日志异常检测任务是检测系统的某一异常行为,该异常行为可能是系统内部错误产生的,也可能是来自外部的恶意攻击所导致,异常检测任务处理的对象是系统行为记录中异常数据部分,而不是处理描述系统行为的整个记录,因此,本方案中“e
i”标识系统的某一种行为的异常部分,并将其作为检测的特征单词;基于标识符“e
i”构建特征向量,能够大幅降低特征向量维度、减小计算开销,避免矩阵过于稀疏的问题。
[0080]
算法一描述了日志解析以及数据处理过程;
[0081]
算法一 日志解析与处理算法
[0082]
[0083]
[0084][0085]
利用上述步骤构建的事件序列集d
out
作为模型训练的特征数据集,采用词频逆反文档频率(tf-idf)对所选的特征组进行向量化,构建特征矩阵;该部分主要通过基于scikit-learn模块实现。
[0086]
该模块主要包括countvectorizer()函数和tfidftransformer()函数;具体过程如下:
[0087]
首先,利用countvectorizer()函数将事件序列转化成词频tf,构造词频矩阵;然后将其作为输入,通过tfidftransformer()函数计算词频逆反文档频率tf-idf;最后,得到向量化后的tf-idf矩阵。算法二描述了本文件特征向量提取的处理流程;
[0088]
算法二 特征向量构建算法
[0089]
算法二 特征向量构建算法
[0090][0091]
[0092]
s4、检测模型构建
[0093]
通过日志解析、特征向量构建等处理步骤后,得到向量化的特征矩阵vtf-idf,我们利用该数据构建异常检测模型;在训练模型前为了进一步减少计算开销,本方案利用pca算法对特征向量进行降维处理,以降低数据维度,然后,将数据输入检测模型进行训练,具体包括以下四步
[0094]
s401、利用pca算法对tf-idf矩阵进行特征提取处理,得到数据集v
training
;
[0095]
s402、将数据v
training
输入不同的算法模型进行训练;
[0096]
s403、将多个训练好的模型进行集成。对于一个待检样本xi,copod、iforest与cblof算法分别计算出一个异常概率值p
ji
(j=0,1,2),通过集成异常检测模型,即m
ensemble
(xi),根据式(3)计算最后的异常概率pi。
[0097]
s404、集成学习模型利用pi构造异常概率矩阵p。
[0098]
式(3)为
[0099][0100]
其中,pi表示集成模型输出的异常概率值,λj表示该模型输出所占权重,且给定阈值θ,可得:
[0101][0102]
根据式(4),当集成模型的输出值超过θ时,认为该数据为异常数据;反之,为正常数据。算法三描述了特征向量构建与异常检测模型构建的处理流程;
[0103]
算法三 异常检测模型构建算法
[0104][0105]
该5g通信系统异常日志ai检测方法,通过日志解析技术(如正则表达式)从无结构数据中提取出所需要的信息模板,构建合适的特征向量;然后,基于特征向量设计异常检测算法,构建异常检测模型;该方法可以在没有恶意样本的条件下取得较好的效果,并且具备可解释性、实用性等特点;本方案采用无监督学习的方式,只需要正常样本进行异常检测模型的构建,不仅有效避免了异常样本的多样性、未知性以及数据不均衡等问题,而且能够有效应对未出现的新异常。
[0106]
本发明上述实施例提供的5g通信系统异常日志ai检测方法,利用pca算法对输入特征数据进行压缩和降维,在pca特征降维模块中,向该模块输入n维tf-idf矩阵作为原始数据,降维过程包括以下步骤:计算原始数据的协方差矩阵;进一步计算协方差矩阵的特征值以及对应的特征向量,并按照从大到小的顺序进行排序,选取前k个值作为特征向量矩阵;将原始数据投影到特征向量矩阵,即得到降维后的数据;最后在构建基于集成学习的异常日志ai检测模型。该5g通信系统异常日志ai检测方法,在不需要恶意样本条件下进行日志异常行为检测,克服异常检测对象的未知性、不均衡性和多样性带来的挑战,计算开销小、模型轻量,运行速度快的机器学习算法。
[0107]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
技术特征:1.一种5g通信系统异常日志ai检测方法,其特征在于,包括以下步骤:s1、总体框架构建利用pca算法对输入特征数据进行压缩和降维,在pca特征降维模块中,向该模块输入n维tf-idf矩阵作为原始数据,降维过程包括以下步骤:s101、计算原始数据的协方差矩阵;s102、进一步计算协方差矩阵的特征值以及对应的特征向量,并按照从大到小的顺序进行排序,选取前k(k<n)个值作为特征向量矩阵;s103、将原始数据投影到特征向量矩阵,即得到降维后的数据,最后在构建基于集成学习的异常日志ai检测模型,该数据将用于后续异常检测模型的训练;s2、日志解析s201、信息提取通过设计正则表达式构建信息提取单元uextraction(
·
),对信息模块进行提取,对于日志数据x
i
(第i个日志数据),提取出来的信息包括三部分{t
xi
、s
xi
、h
xi
},t
xi
、s
xi
和h
xi
分别表示日志产生的时间、日志来源、系统行为等信息;由于从日志数据提取的行为序列可能存在大量重复的系统行为,本方案首先删除这些重复的行为,得到没有重复行为的系统行为集;s202、处理日志时间利用时间转化单元utimestamp(
·
)将日志数据x
i
产生的时间转化成时间戳的形式;s203、系统行为处理为了便于日志行为的处理,系统行为集h的系统行为用符号“e
i”表示,得到系统行为序列对应的符号集hmark={e0,e1,
…
,e
i
,
…
},新的系统行为自动被添加到行为集和对应的符号集中,日志数据x
i
的系统行为h
xi
对应符号集的某一元素“e
i”;s204、事件序列构建将同一个时间戳内发生的事件序列按照发生的时间顺序进行排列,构建一个与时间戳相对应、基于时间顺序的事件序列;s3、特征向量提取利用上述步骤构建的事件序列集d
out
作为模型训练的特征数据集,采用词频逆反文档频率(tf-idf)对所选的特征组进行向量化,构建特征矩阵;该部分主要通过基于scikit-learn模块实现;s4、检测模型构建通过日志解析、特征向量构建等处理步骤后,得到向量化的特征矩阵vtf-idf,我们利用该数据构建异常检测模型;在训练模型前为了进一步减少计算开销,本方案利用pca算法对特征向量进行降维处理,以降低数据维度,然后,将数据输入检测模型进行训练,具体包括以下四步:s401、利用pca算法对tf-idf矩阵进行特征提取处理,得到数据集v
training
;s402、将数据v
training
输入不同的算法模型进行训练;s403、将多个训练好的模型进行集成,对于一个待检样本x
i
,copod、iforest与cblof算法分别计算出一个异常概率值p
ji
(j=0,1,2),通过集成异常检测模型,即m
ensemble
(x
i
),根据式(3)计算最后的异常概率p
i
;
s404、集成学习模型利用p
i
构造异常概率矩阵p。2.根据权利要求1所述的5g通信系统异常日志ai检测方法,其特征在于,所述步骤s1中,将降维后的数据输入iforest模块,iforest模块每次随机从输入数据中以不放回采样选取一部分,通过递归分割算法建立itree(isolation tree),具体过程是:iforest算法随机选择一批样本数据,从中随机选择一个样本值作为分割依据,把样本数据分割成左右子集,再对每个子集采用同样的方法进行分割,直到每个子集只有一个样本或者子节点达到限定的高度,生成一棵itree。3.根据权利要求1所述的5g通信系统异常日志ai检测方法,其特征在于,所述步骤s1中,对其他样本进行类型的处理,iforest算法最终得到一组itree;计算所有训练样本itree的平均高度,并将其作为判断数据是否异常的阈值;在检测阶段,依据待检数据在itree中的路径长度是否小于阈值,判断其是否为异常数据。4.根据权利要求1所述的5g通信系统异常日志ai检测方法,其特征在于,所述步骤s1中,在iforest模块的基础上增加cblof算法,cblof首先利用k-means算法对样本数据进行预分类,然后通过lof算法对每个类进行异常检测;对于每个输入数据x,lof算法根据式(1)计算该待检数据邻接距离为k的局部可达密度:其中,表示x邻接距离为k的所有邻居节点集合,n
k
(x)表示x邻接距离为k的所有邻居节点集合,|n
k
(x)|表示集合n
k
(x)元素的个数,rdist
k
(x,y)表示数据点x与y之间的可达距离。将该数据的局部可达密度与该数据所有相邻数据的平均可达密度进行比较,根据式(2)计算得到局部可达因子lof
k
(x),当局部可达因子越大于1时,则表明该数据点越可能是异常点,上述算法进行异常检测的基本思想是依据数值偏离均值的情况判断是否异常,偏离越远,越异常。5.根据权利要求1所述的5g通信系统异常日志ai检测方法,其特征在于,所述步骤s2中,事件序列构建主要基于以下两点:日志异常检测任务是检测系统的某一异常行为,该异常行为可能是系统内部错误产生的,也可能是来自外部的恶意攻击所导致,异常检测任务处理的对象是系统行为记录中异常数据部分,而不是处理描述系统行为的整个记录,因此,本方案中“e
i”标识系统的某一种行为的异常部分,并将其作为检测的特征单词;基于标识符“e
i”构建特征向量,能够大幅降低特征向量维度、减小计算开销,避免矩阵过于稀疏。6.根据权利要求1所述的5g通信系统异常日志ai检测方法,其特征在于,所述步骤s3中,该模块主要包括countvectorizer()函数和tfidftransformer()函数;具体过程如下:首先,利用countvectorizer()函数将事件序列转化成词频tf,构造词频矩阵;然后将其作为输入,通过tfidftransformer()函数计算词频逆反文档频率tf-idf;最后,得到向量化后的tf-idf矩阵。
7.根据权利要求1所述的5g通信系统异常日志ai检测方法,其特征在于,所述步骤s4中,式(3)为其中,p
i
表示集成模型输出的异常概率值,λ
j
表示该模型输出所占权重,且给定阈值θ,可得:根据式(4),当集成模型的输出值超过θ时,认为该数据为异常数据;反之,为正常数据。
技术总结本发明涉及5G通信技术领域,公开了一种5G通信系统异常日志AI检测方法,其包括如下步骤:S1、总体框架构建;S2、日志解析;S3、特征向量提取;S4、检测模型构建。本发明利用PCA算法对输入特征数据进行压缩和降维,计算原始数据的协方差矩阵,计算协方差矩阵的特征值以及对应的特征向量,并按照从大到小的顺序进行排序,选取前k个值作为特征向量矩阵;将原始数据投影到特征向量矩阵,即得到降维后的数据;最后在构建基于集成学习的异常日志AI检测模型。本发明在不需要恶意样本条件下进行日志异常行为检测,克服异常检测对象的未知性、不均衡性和多样性带来的挑战,计算开销小、模型轻量,运行速度快的机器学习算法。运行速度快的机器学习算法。运行速度快的机器学习算法。
技术研发人员:颜国风 赖杰伟
受保护的技术使用者:广州大学
技术研发日:2022.06.10
技术公布日:2022/11/1