本技术涉及日志检测,尤其涉及一种用于日志异常检测的模型训练及应用方法、设备和介质。
背景技术:
1、运营商的网络设备,例如交换机、路由器、服务器等都具备操作系统,日志记录了操作系统在运行过程中所执行的操作,可以用来记录操作系统运行的痕迹。正常情况下,日志流按照一定的模式执行,当日志不按照该模式执行时,可以认为日志发生了异常。
2、相关技术中,日志异常检测技术可以采用依赖日志模板的日志异常检测方法,例如可以从正常日志中学习日志序列的规律,当出现不遵循正常规律的日志时,便认为发生了异常。其中,日志序列可以使用日志解析器将非结构化的日志数据转为模板,每个模板对应一个数字,这样可以通过学习数字序列来观察日志的发生规律。
3、然而,依赖日志模板的日志异常检测方法,日志经过解析器转换为日志模板之后,日志本身的语义信息被丢弃,没有充分利用日志的语义特征。因此,当测试集中出现新日志与已有的日志模板无法匹配时,即使训练样本集中存在与新日志的语义特征相近的日志,仍会被识别为新的日志模板。由于新日志在训练集中未出现,模型会认为新日志偏离了日志正常规律,将其识别为异常日志,导致日志异常检测的准确率低。
技术实现思路
1、有鉴于此,本技术实施例提供了一种用于日志异常检测的模型训练及应用方法、设备和介质,旨在提高日志异常检测的准确率。
2、本技术实施例提供了一种用于日志异常检测的模型训练方法,所述方法包括:
3、获取训练样本集,所述训练样本集中的训练样本包括时间顺序连续的n个历史日志向量,所述训练样本的标签为在所述n个历史日志向量之后的下一个历史日志向量;各所述历史日志向量基于相应的历史日志输入训练好的文本编码器进行向量转换得到,所述n为大于1的自然数;
4、基于所述训练样本集对检测模型进行训练,直至获得训练好的检测模型。
5、上述方案中,所述基于所述训练样本集对检测模型进行训练,直至获得训练好的检测模型,包括:
6、基于所述检测模型对训练样本中的在所述n个历史日志向量之后的下一个日志向量进行预测,获得对应的预测日志向量;
7、确定所述预测日志向量与所述训练样本的标签对应的历史日志向量之间的相似度;
8、基于所述相似度和预设的损失函数,生成损失值;
9、基于所述损失值,对所述检测模型的参数进行调整,直至得到所述训练好的检测模型。
10、上述方案中,所述确定所述预测日志向量与所述训练样本的标签对应的历史日志向量之间的相似度,包括:
11、基于所述预测日志向量、所述训练样本的标签对应的历史日志向量和余弦相似度算法,确定所述历史日志向量与所述预测日志向量之间的相似度。
12、上述方案中,所述获取训练样本集,包括:
13、获取多个历史日志;
14、基于所述训练好的文本编码器生成所述历史日志的第一嵌入向量,所述第一嵌入向量包括基于词划分的子向量;
15、基于各第一嵌入向量与预存储的关键词库,确定各所述第一嵌入向量中子向量对应的权重系数,得到各所述历史日志的第二嵌入向量;
16、对所述第二嵌入向量的子向量进行融合转换,得到表征所述历史日志的语义向量;
17、基于多个历史日志的时序关系和相应的语义向量,构建所述训练样本集中的训练样本;
18、其中,各所述历史日志向量包括:所述语义向量、时间向量和位置向量,所述语义向量用于表征相应的历史日志的语义编码信息,所述时间向量用于表征相应的历史日志在所述训练样本中的时间间隔信息,所述位置向量用于表征相应的历史日志在所述训练样本中的位置信息。
19、上述方案中,所述基于所述训练好的文本编码器生成所述历史日志的第一嵌入向量,包括:
20、获取多个原始日志;
21、对各所述原始日志进行分词过滤,获得多个历史日志。
22、上述方案中,所述基于各第一嵌入向量与预存储的关键词库,确定各所述第一嵌入向量中子向量对应的权重系数,包括:
23、将所述第一嵌入向量中的词语与所述关键词库中的关键词进行匹配,若确定所述第一嵌入向量中的词语是所述关键词库中的关键词,则确定所述第一嵌入向量中相应词语的子向量的权重系数为第一权重系数;
24、若确定所述第一嵌入向量中的词语不是所述关键词库中的关键词,则确定所述第一嵌入向量中相应词语的子向量的权重系数为第二权重系数;
25、其中,所述第一权重系数大于所述第二权重系数。
26、本技术实施例还提供了一种日志异常检测方法,应用于如上述任一方案中所述的方法训练得到的训练好的检测模型,所述方法包括:
27、获取当前时刻之前的时间顺序连续的n个历史日志向量,所述n为大于1的自然数;
28、将所述n个历史日志向量输入至所述训练好的检测模型中,获得所述n个历史日志向量之后的预测日志向量;
29、基于所述n个历史日志向量之后的预测日志向量与待检测的日志向量之间的相似度,确定是否发生日志异常,所述待检测的日志向量用于表征所述n个历史日志向量之后的下一个历史日志。
30、本技术实施例还提供了一种用于日志异常检测的模型训练装置,所述装置包括:
31、第一数据获取模块,用于获取训练样本集,所述训练样本集中的训练样本包括时间顺序连续的n个历史日志向量,所述训练样本的标签为在所述n个历史日志向量之后的下一个历史日志向量;各所述历史日志向量基于相应的历史日志输入训练好的文本编码器进行向量转换得到,所述n为大于1的自然数;
32、模型训练模块,用于基于所述训练样本集对检测模型进行训练,直至获得训练好的检测模型。
33、本技术实施例还提供了一种日志异常检测装置,所述装置包括:
34、第二数据获取模块,用于获取当前时刻之前的时间顺序连续的n个历史日志向量,所述n为大于1的自然数;
35、预测日志获取模块,用于将所述n个历史日志向量输入至所述训练好的检测模型中,获得所述n个历史日志向量之后的预测日志向量;
36、日志异常判断模块,用于基于所述n个历史日志向量之后的预测日志向量与待检测的日志向量之间的相似度,确定是否发生日志异常,所述待检测的日志向量用于表征所述n个历史日志向量之后的下一个历史日志。
37、本技术实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器,用于运行计算机程序时,执行上述各用于日志异常检测的模型训练方法和/或日志异常检测方法的步骤。
38、本技术实施例还提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现上述各用于日志异常检测的模型训练方法和/或日志异常检测方法的步骤。
39、本技术实施例提供的技术方案,通过将历史日志输入训练好的文本编码器进行向量转换得到对应的历史日志向量,可以使历史日志向量学习到历史日志的词级别的语义特征,再通过n个历史日志向量预测n个历史日志向量之后的下一个历史日志向量,可以学习历史日志间的出现规律,充分利用历史日志的语义特征,从而可以提高日志异常检测的准确率。
1.一种用于日志异常检测的模型训练方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述训练样本集对检测模型进行训练,直至获得训练好的检测模型,包括:
3.根据权利要求2所述的方法,其特征在于,所述确定所述预测日志向量与所述训练样本的标签对应的历史日志向量之间的相似度,包括:
4.根据权利要求1所述的方法,其特征在于,所述获取训练样本集,包括:
5.根据权利要求4所述的方法,其特征在于,所述获取多个历史日志,包括:
6.根据权利要求4所述的方法,其特征在于,所述基于各第一嵌入向量与预存储的关键词库,确定各所述第一嵌入向量中子向量对应的权重系数,包括:
7.一种日志异常检测方法,其特征在于,应用于如权利要求1至6中任一项所述的方法训练得到的训练好的检测模型,所述方法包括:
8.一种用于日志异常检测的模型训练装置,其特征在于,所述装置包括:
9.一种日志异常检测装置,其特征在于,所述装置包括:
10.一种电子设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,
11.一种计算机存储介质,所述计算机存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至7任一项所述方法的步骤。