基于逐层损失补偿深度自编码器的态势评估要素提取方法

文档序号:8724 发布日期:2021-09-17 浏览:84次 英文

基于逐层损失补偿深度自编码器的态势评估要素提取方法

技术领域

本发明涉及网络安全态势要素提取

技术领域

,尤其涉及一种基于逐层损失补偿深度自编码器的态势评估要素提取方法。

背景技术

当前网络环境下态势评估原始数据呈现多特征、高维度和非线性等特点,基于数学模型、知识推理和机器学习的态势评估要素提取方法,面对多特征、高维度的非线性数据处理能力有一定的局限性,导致态势评估要素提取不精准、效率不高等问题;采用深度神经网络对原始数据进行要素提取的过程中,随着数据维度降低,逐层的特征信息损失也不断加剧,最终影响态势评估要素提取的有效性。

发明内容

本发明的目的在于提供一种基于逐层损失补偿深度自编码器的态势评估要素提取方法,保证影响态势评估要素提取的有效性。

为实现上述目的,本发明提供了一种基于逐层损失补偿深度自编码器的态势评估要素提取方法,包括以下步骤:

将获取的网络安全数据集输入逐层损失补偿编码器进行降维与特征提取,并利用损失补偿模块对编码时的所述态势评估要素特征信息的损失进行补偿,生成逐层损失补偿深度自编码器;

利用对应的解码器对所述逐层损失补偿编码器的编码数据进行还原,同时,通过最小化MSE损失函数评估还原数据与原始数据差异,对所述逐层损失补偿深度自编码器进行训练;

利用训练好的所述逐层损失补偿深度自编码器对整体数据进行态势评估要素提取,得到评估因素集。

其中,所述方法还包括:

获取网络安全态势感知原始数据,对采集后的原始数据进行数据预处理,得到所述数据集。

其中,所述方法还包括:

判断所述数据集中的所有所述原始数据是否提取完成;

若是,则完成对所述逐层损失补偿深度自编码器的训练;

若否,则利用所述数据集中的下一个所述原始数据对所述逐层损失补偿深度自编码器进行训练,直至所有的所述原始数据使用完。

其中,将获取的网络安全数据集输入逐层损失补偿编码器进行降维与特征提取,并利用损失补偿模块对编码时的所述态势评估要素特征信息的损失进行补偿,生成逐层损失补偿深度自编码器,包括:

将获取的网络安全数据集中的任一个原始数据输入逐层损失补偿编码器进行降维和特征提取;

对编码后的态势评估要素特征信息传递给补偿模块中的解码器进行解码还原,得到与当前层编码器的原始输入数据维度相同大小的还原数据;

将所述还原数据与原始输入数据差异,并利用损失补偿模块对编码时的所述态势评估要素特征信息的损失进行补偿,生成逐层损失补偿深度自编码器。

其中,利用对应的解码器对所述逐层损失补偿编码器的编码数据进行还原,同时,通过最小化MSE损失函数评估还原数据与原始数据差异,对所述逐层损失补偿深度自编码器进行训练,包括:

利用与所述逐层损失补偿编码器相同数量的解码器对补偿后的编码数据进行还原,得到还原原始数据;

通过最小化MSE损失函数,将所述原始输入数据与所述还原原始数据进行均方误差计算,得到损失值,对所述逐层损失补偿深度自编码器进行训练。

本发明的一种基于逐层损失补偿深度自编码器的态势评估要素提取方法,将获取的部分网络安全数据集输入逐层损失补偿编码器进行降维与特征提取,并将编码后的态势评估要素特征信息传递给解码器进行解码还原,其中,编码器部分利用损失补偿模块对编码时的所述态势评估要素特征信息的损失进行补偿,生成逐层损失补偿深度自编码器;通过最小化MSE损失函数评估还原数据与原始输入数据差异实现模型训练;利用训练好的所述逐层损失补偿深度自编码器对整体数据进行态势评估要素提取,得到评估因素集,提高网络安全态势评估的性能,减少深度自编码器在层与层间的态势评估要素特征信息损失,保证影响态势评估要素提取的有效性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的一种基于逐层损失补偿深度自编码器的态势评估要素提取方法的步骤示意图。

图2是本发明提供的基于LC-DAE态势评估要素提取方法流程图。

图3是本发明提供的LC-DAE态势评估要素提取方法架构图。

图4是本发明提供的损失补偿模块结构图。

图5是本发明提供的原始DAE与LC-DAE算法loss图。

图6是本发明提供的基于不同态势评估要素提取方法的BP神经网络分类性能对比图。

图7是本发明提供的BP神经网络分类对比实验时间。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

请参阅图1至图3,本发明提供一种基于逐层损失补偿深度自编码器的态势评估要素提取方法,包括以下步骤:

S101、将获取的网络安全数据集输入逐层损失补偿编码器进行降维与特征提取,并利用损失补偿模块对编码时的所述态势评估要素特征信息的损失进行补偿,生成逐层损失补偿深度自编码器。

具体的,将处理后的部分数据输入逐层损失补偿编码器进行降维与特征提取;将编码后的态势评估要素特征信息传递给解码器进行解码还原:

LC-DAE态势评估要素提取方法主要由两部分组成:带损失补偿的编码器和解码器。编码器部分的输入可表示为X=[X1,X2,…,Xl]T∈Rl×1,权重可表示为编码层输出可表示为解码器的解码层输出可表示为权重可表示为输出可表示为X'=[X′1,X'2,…,X′l]T∈Rl×1,其中,l表示数据的维度,n表示编码器的层数。

深度自编码器第i层的编码。当第i-1层输出数据进入第i层编码层,会得到维数为Mi的输出数据其表达式如下:

数据的解码还原。为了得到编码后的数据在编码过程中的损失,首先需要对第i层编码层的输出数据利用对应的解码层进行还原,得到维数与第i-1层编码层维数相同的输出数据。其中,decXi表示第i层编码层还原的数据,该数据维度与相等,Mi-1代表了第i-1层编码层的数据维度。其表达式如下:

为了得到编码层要素提取过程中的损失,本发明考虑了现有的一些损失函数计算方法,由于这里所得到的损失需要补偿回对应的编码层,因此需要尽可能地直观。L1损失函数是一种利用绝对误差求解损失的方法,即对数据作差运算求绝对值,与其他损失函数相比,该方法能够直接反应层与层之间的态势评估要素特征信息损失,因此,本发明借鉴L1损失函数对要素特征信息损失进行计算。由于在编码层间的损失差异允许负值的存在,如果单纯的使用L1损失函数则会造成原本负值数据信息丢失,因此,采用第i层编码层的输入数据与decXi作差,并使用第i层编码层对作差运算后的数据进行编码,得到对应损失值lossXi,其表达式如下:

损失补偿。此时将第i层编码层在编码过程中的对应损失值lossXi补偿回第i层编码层的输出数据中。这里补偿的方式参考了残差神经网络,采用了加和的方式,假设该损失补偿模块的第i层编码层表示为encoderi,对应的解码层表示为decodern-i+1,Mi表示对应i层的维数,n表示编码器总层数,dec表示作差运算,结合图4,其表达式如下:

特别需要说明的是,为了保证解码后的数据尽可能的准确,使用编码层中对应的解码层进行解码还原,即decodern-i+1对应解码层第n-i+1层。如果随意定义一个初始化的解码层,无法保证在训练中解码层的权重能够有效更新,那么在解码的过程中可能会使用随机权重解码,导致补偿时包含的损失不再是对应的层与层间的要素特征信息损失,因此,这里对特定解码层的选择使用尤为重要。

当当前训练的数据在所有的编码器中损失补偿完成后,即完成了逐层损失补偿深度自编码器的构建。

S102、利用对应的解码器对所述逐层损失补偿编码器的编码数据进行还原,同时,通过最小化MSE损失函数评估还原数据与原始数据差异,对所述逐层损失补偿深度自编码器进行训练。

具体的,利用与所述逐层损失补偿编码器相同数量的解码器对补偿后的编码数据进行还原,得到还原原始数据;通过最小化MSE损失函数,将所述原始输入数据与所述还原原始数据进行均方误差计算,得到损失值,对所述逐层损失补偿深度自编码器进行训练,其中,MSE损失函数表达式如下:

其中,X表示输入变量,X'表示输出变量,L(X,X')表示损失函数,k代表样本数量。

然后,判断是否利用部分所属原始网络安全数据完成对逐层损失补偿深度自编码器的训练;若是,则利用训练的逐层补偿深度自编码器对整体原始网络安全数据集进行态势评估要素提取;若否,则继续逐层损失补偿深度自编码器的训练,直至满足训练周期,其中,判断所述数据集中的所有所述原始数据是否提取完成;若是,则完成对所述逐层损失补偿深度自编码器的训练;若否,则利用所述数据集中的下一个所述原始数据对所述逐层损失补偿深度自编码器进行训练,直至所有的所述原始数据使用完。

S103、利用训练好的所述逐层损失补偿深度自编码器对整体数据进行态势评估要素提取,得到评估因素集。

具体的,利用训练完成后的所述逐层损失补偿深度自编码器对整体数据进行态势评估要素提取,得到评估因素集。选取分类的性能指标为准确率(Accuracy)、查准率(Precision)、召回率(Recall)和F1综合指标

所述方法还包括:

获取网络安全态势感知原始数据,对采集后的原始数据进行数据预处理,如分割标签、归一化等;实验使用的数据集是由澳大利亚网络安全中心利用IXIA PerfectStorm工具创建的UNSW-NB15数据集。IXIAPerfectStorm工具支持245种以上的应用程序协议和35000种以上的恶意攻击,模拟数百万个现实世界的最终用户环境,并用于生成大规模网络流量数据,这是目前网络安全领域公认的网络入侵检测公开数据集。UNSW-NB15数据集涵盖了9类现代常见的网络攻击类型,每条记录由47个不同的特征和2个标签构成,总共2540044条数据,被分别存放在4个csv文件中。其中,共有30万条异常记录。

为了满足实验需求,去除了原始数据中IP、端口等特征(官网给出的示例数据集去除了这部分特征),对数据集中所有非数值化数据进行数值化处理。然后,将处理好的数据进行归一化。处理后的每条数据包含43个特征。最后,对数据标签进行了统一处理,正常流量标签用0表示,其余9中异常标签依次使用1~9表示。由于原始数据规模庞大,因此从中截取60万条数据进行试验。

1.不同态势评估要素提取方法loss对比试验

为了验证LC-DAE态势评估要素提取模型的收敛性,本发明通过模型训练的loss值对原始DAE和LC-DAE模型进行了对比试验,其收敛曲线如图5所示。

由图5可知,LC-DAE态势评估要素提取方法的loss有着更好的起点,同时在梯度下降的过程中,loss曲线表现的更为平稳,下降速度比原始DAE更快,最终在200个周期达到收敛,收敛结果如表1所示,说明LC-DAE方法在态势评估要素提取的训练过程中有着更好的收敛性。经分析,这是由于原始DAE在进行要素提取的过程中,编码层的层与层之间存在着大量非线性变换,这些非线性变换造成了要素特征信息的损失,这在神经网络训练过程中是难以避免的。LC-DAE使用了逐层损失补偿的方式将态势评估要素特征信息损失大幅度降低,因此,LC-DAE态势评估要素提取方法能够充分保留原始数据的要素特征信息,在训练过程中实现更好的loss收敛。

表1原始DAE与LC-DAE态势评估要素提取方法训练200周期的收敛值

2.基于不同要素提取方法的BP神经网络分类性能对比实验

为了验证本发明提出的LC-DAE态势评估要素提取方法的有效性,本发明使用了BP神经网络对原始数据、基于LC-DAE、原始DAE和主成分分析(Principal ComponentAnalysis,PCA)方法要素提取后的数据进行了分类对比实验,这几种分类方法分别记为:原始数据-BP、LC-DAE-BP、DAE-BP、PCA-BP。

本实验采用的数据集有多个标签类别,因此采用的交叉熵损失函数如下式所示。

其中,N表示总共的样本个数,k表示标签个数,y是真实标签,yi,k表示第i个样本的第k个标签的真实值,pi,k表示第i个样本预测为k标签的概率。

本章选取分类的性能指标为准确率(Accuracy)、查准率(Precision)、召回率(Recall)和F1综合指标,其中的一些概念定义如下:

TP:表示真阳性,即预测为正样本,实际为正样本;

FP:表示假阳性,即预测为正样本,实际为负样本;

TN:表示真阴性,即预测为负样本,实际为负样本;

FN:表示假阴性,即预测为负样本,实际为正样本。

对应的混淆矩阵如表2所示。

表2混淆矩阵

则性能指标计算表达式如下:

其中,Precision代表了被正确识别的样本数与被识别到的样本总数之比;Recall代表了被正确识别的样本数与应当被识别到的样本数之比。但是,如果只是从Precision或Recall评价模型性能的优劣是不合理的,为了使评价更具有说服力,一般需要使用结合了Precision和Recall的F1综合指标值作为模型评价标准。

本发明将数据集中的异常攻击设定为正样本,实验结果如图6所示,从图6可以看到经过LC-DAE方法进行要素提取后,BP神经网络分类后的准确率、召回率、F1综合指标均优于其他三种方法,这是由于LC-DAE-BP方法能从原始数据中较好地提取了要素特征信息,去除了冗余数据,这使得BP神经网络在分类时可以更好地学习数据的特征信息,提升分类性能。

在查准率这一指标中,LC-DAE-BP方法略微低一点,而查准率与召回率是一对矛盾的变量,召回率高时,往往查准率较低,LC-DAE-BP方法相较于其他三种方法有着较高的召回率,因此,查准率指标略微低一点。

除了以上指标,本发明还对BP神经网络分类效率方面进行了对比,BP神经网络中某一层的时间复杂度可以看作O(m×n),其中,m为输出神经元个数,n为输出神经元个数。因此,数据的输入维度对BP神经网络的时间复杂度影响较为明显。图7的实验结果给出了原始数据-BP与LC-DAE-BP分类实验的效率对比。

本发明设定每50训练周期做一次分类实验的效率对比实验,从图7可以看到,在50、100和150这三个训练周期中,直接使用原始数据-BP方法进行分类实验的耗时较短,这是因为使用LC-DAC-BP方法进行分类实验时,需要计算数据要素提取的时间,因此在较小的训练周期下,使用LC-DAE-BP方法进行分类实验的时间高于直接使用原始数据-BP方法进行分类实验的时间。随着训练周期的增大,可以明显看到LC-DAE-BP方法进行分类实验所需的时间开始小于原始数据-BP方法进行分类实验所需的时间,这是由于在要素提取的过程中降低了数据的维数,从而减少了BP神经网络时间复杂度O(m×n)中输入的m,因此随着训练周期的增加或者数据样本的增大,态势评估要素提取方法会大大提升分类的效率。

本发明的一种基于逐层损失补偿深度自编码器的态势评估要素提取方法,借鉴残差神经网络与图像融合中拉普拉斯金字塔的思想,在深度自编码器的每个编码层都添加一个损失补偿模块,该模块首先利用解码器对当前层编码后的数据进行还原,其次,将还原数据与编码前数据对比得到的特征信息损失值再次进行编码,最后将得到的损失值补偿到对应的编码层输出数据中,为了网络安全态势评估要素有效提取,提高网络安全态势评估的性能,减少深度自编码器在层与层间的态势评估要素特征信息损失。

以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:一种面向遥感应用的卷积神经网络剪枝和量化同步压缩方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!