一种基于卷积神经网络特征压缩的异常检测方法与流程

文档序号:21105258发布日期:2020-06-16 21:13阅读:181来源:国知局
一种基于卷积神经网络特征压缩的异常检测方法与流程

本发明属于深度学习入侵检测技术领域,具体涉及一种基于卷积神经网络特征压缩的异常检测方法。



背景技术:

近年来,在网络技术快速发展的同时,在工业,教育和医疗等领域中对网络通信系统的入侵行为也变得越来越普遍。在这种趋势下,许多学者在异常检测方面做出了大量努力,这些成果主要可以概括为两个类别:利用传统数学模型进行入侵检测和利用深度学习模型进行入侵检测。传统数学模型进行入侵检测的手段主要是利用概率模型构建网络关联图,并通过该图表进行概率推断以及判断入侵。国外学者曾利用贝叶斯模型去构建威胁攻击图,最终通过这个图去检测攻击链。另外一些学者则更进一步的建立了一个服务依赖图,通过动态迭代解决局部威胁,然后去推测全局威胁链。国内学者也进行了该方面的努力,他们曾建立了一个通过收集内存,线程,文件之间信息流的时间依赖网络,然后通过贝叶斯网络去推测入侵路径。

而利用深度学习模型检测异常入侵的手段主要是通过一种启发式算法,去表征网络异常行为的特征,然后尝试通过使用深度学习模型进行多次迭代训练将数据拟合到高维平面来近似估算全局最优解。最终,通过训练这个网络,使该模型可以识别不正常的行为或特征。在数据量较少的情况下,利用生成对抗网络去检测入侵的结果要明显优于传统的机器学习模型。另外,也有学者利用双向长短记忆网络和循环神经网络来检测入侵,然而这些方法在涉及到大规模网络环境异常检测的情况下就不是那么有效了,因为随着网络规模和数据的增加,现有的模型很难在短时间内快速收敛。因此,针对这个问题,可以利用嵌入式模型去压缩稀疏特征,这样可以在减少模型训练时间的同时保证入侵检测的正确率。



技术实现要素:

本发明的目的在于提供克服现有系统中,深度学习模型训练时间过长,无法有效对大规模数据量进行异常检测,深度学习模型数据失真率较高等问题的一种基于卷积神经网络特征压缩的异常检测方法。

本发明的目的通过如下技术方案来实现:包括以下步骤:

步骤1:输入待检测的数据集,将训练集分成测试集和训练集;

步骤2:利用独热编码将待检测的数据集中数据的特征数字化;

步骤3:将待检测的数据集中数据标准化;

由于数据集中的特征值之间的差异比较大,卷积神经网络模型会更关注较高的数字指标,而忽略较低的数字指标,此时通过离差标准化对原始数据进行线性变换,使变换结果落入[0,1]区间之间,并且不改变原始数据之中的线性关系,其公式如下:

其中,是变换前的向量;是变换后的向量;

步骤4:建立卷积神经网络模型;

所述的卷积神经网络模型包含1个嵌入层、4个1维卷积层和4个全连接层,其中嵌入层是前馈型神经网络,对于嵌入层的每个神经单元,表述为:假设有一个信号向量集合s,嵌入层中节点j权重和偏移为θj和bj,其公式如下:

其中,act代表激活函数,oj代表第j个神经元的输出;基于上述表述,对嵌入层定义为:假设转换之后的向量,输入和输出节点的数量分别是m和n,则存在一个n×m维的矩阵θ=[θt]和一个n维向量满足以下公式:

步骤5:通过嵌入层将经过独热编码的稀疏向量压缩为密集向量;在压缩之后,模型的卷积过程公式如下:

其中,为卷积神经网络的第i层输入向量;代表第i层卷积核函数;符号表示卷积运算;是第i层的偏差向量;act为激活函数;

步骤6:将训练集输入到卷积神经网络模型中训练;

利用混淆矩阵来评估卷积神经网络模型在入侵检测中的性能;数据集中的所有数据分为以下四类:tp,tn,fp和fn,其中t(和f分别代表分类结果是正确还是错误,p和n(分别代表模型预测结果中的正例和负例;

采用准确率ac,检测率dr和错误报警率far评估卷积神经网络模型的功能;

ac代表正确的分类编号在分类结果中占总样本的比例;

dr表示模型在入侵出现时正确探测的概率;

far代表模型将某些正常行为误判为入侵的概率;

当ac≥98%、dr≥98%且far<0.6%时,判定卷积神经网络模型符合要求,停止训练;

步骤7:将测试集输入到训练好的卷积神经网络模型中,得到检测结果;对于测试集中每一项数据经过卷积神经网络模型计算后,得到一个长度为5的向量,从1到5位分别为正常记录的可能性、拒绝服务攻击的可能性、监视和其他探测活动的可能性、来自远程机器的非法访问的可能性、普通用户对本地超级用户特权的非法访问的可能性。

本发明的有益效果在于:

本发明设计了一种基于卷积神经网络特征压缩的异常检测方法,采用独热编码以及离差标准化的技术,将数据特征进行预处理,使得深度学习模型可以更有效的识别数据集的特征,从而减少数据的失真率;通过嵌入层将独热编码的稀疏矢量压缩为密集矢量,减少每次模型的训练时间;通过离差标准化来对原始数据进行线性变换,使得数据在变幻之后仍然保持原有的线性关系,这样可以提高模型在入侵检测之中的精度。本发明的入侵检测准确率较高,训练时间短,预测精度高,可以广泛应用于网络入侵检测等方面。

附图说明

图1是一种基于卷积神经网络特征压缩的异常检测方法的流程图。

图2是嵌入式卷积神经网络结构图。

图3是不同学习率的对比图。

图4是不同系统的对比图。

具体实施方式

下面结合附图对本发明做进一步描述。

本发明设计了一种基于卷积神经网络特征压缩的异常检测方法,其主要原理是利用嵌入式模型去压缩稀疏特征,最终通过卷积神经网络把数据拟合。其主要用途是在大规模数据的情况下,利用一个嵌入深度学习模型的系统去改善入侵检测成功率,降低深度学习模型的训练时间,最终得到一个长度为5的向量,由此判断数据是否异常该发明的主要结构有一个嵌入层用来压缩稀疏特征,四个一维卷积层进行卷积运算,4个全连接层来对提纯后的特征进行整合,获取数据特征具有的高层含义,最后用于数据分类。本发明的入侵检测准确率较高,训练时间短,预测精度高,可以广泛应用于网络入侵检测等方面。

本发明涉及了深度学习入侵检测领域,通过使用深度学习中的卷积神经网络模型来对入侵进行检测,利用嵌入式模型去压缩稀疏特征,提高检测精度。本发明描述的是一种基于卷积神经网络特征压缩的异常检测方法。

一种基于卷积神经网络特征压缩的异常检测方法,本发明通过嵌入式模型去压缩稀疏矩阵特征,根据所压缩的特征去识别与检测入侵,从而提高入侵检测的准确率和降低深度学习模型的训练时间,具有一定的研究和实用价值。该发明主要包括以下步骤:

步骤1:输入待检测的数据集,将训练集分成测试集和训练集;

步骤2:利用独热编码将待检测的数据集中数据的特征数字化;

步骤3:将待检测的数据集中数据标准化;

由于数据集中的特征值之间的差异比较大,卷积神经网络模型会更关注较高的数字指标,而忽略较低的数字指标,此时通过离差标准化对原始数据进行线性变换,使变换结果落入[0,1]区间之间,并且不改变原始数据之中的线性关系,其公式如下:

其中,是变换前的向量;是变换后的向量;

步骤4:建立卷积神经网络模型;

所述的卷积神经网络模型包含1个嵌入层、4个1维卷积层和4个全连接层,其中嵌入层是前馈型神经网络,对于嵌入层的每个神经单元,表述为:假设有一个信号向量集合s,嵌入层中节点j权重和偏移为θj和bj,其公式如下:

其中,act代表激活函数,oj代表第j个神经元的输出;基于上述表述,对嵌入层定义为:假设转换之后的向量,输入和输出节点的数量分别是m和n,则存在一个n×m维的矩阵θ=[θt]和一个n维向量满足以下公式:

步骤5:通过嵌入层将经过独热编码的稀疏向量压缩为密集向量;在压缩之后,模型的卷积过程公式如下:

其中,为卷积神经网络的第i层输入向量;代表第i层卷积核函数;符号表示卷积运算;是第i层的偏差向量;act为激活函数;

步骤6:将训练集输入到卷积神经网络模型中训练;

利用混淆矩阵来评估卷积神经网络模型在入侵检测中的性能;数据集中的所有数据分为以下四类:tp,tn,fp和fn,其中t(和f分别代表分类结果是正确还是错误,p和n(分别代表模型预测结果中的正例和负例;

采用准确率ac,检测率dr和错误报警率far评估卷积神经网络模型的功能;

ac代表正确的分类编号在分类结果中占总样本的比例;

dr表示模型在入侵出现时正确探测的概率;

far代表模型将某些正常行为误判为入侵的概率;

当ac≥98%、dr≥98%且far<0.6%时,判定卷积神经网络模型符合要求,停止训练;

步骤7:将测试集输入到训练好的卷积神经网络模型中,得到检测结果;对于测试集中每一项数据经过卷积神经网络模型计算后,得到一个长度为5的向量,从1到5位分别为正常记录的可能性、拒绝服务攻击的可能性、监视和其他探测活动的可能性、来自远程机器的非法访问的可能性、普通用户对本地超级用户特权的非法访问的可能性。

利用嵌入式模型去压缩稀疏特征,最终达到提高预测精度和减少训练时间的目的,对嵌入层每个神经单元的描述如下:假设有一个信号向量集合s,嵌入层中节点j权重和偏移为θj和bj,其公式如下:

在公式中,act代表激活函数,oj代表第j个神经元的输出,基于上述表述,对嵌入层可以这样定义:假设转换之后的向量,输入和输出节点的数量分别是m和n,则存在一个n*m维的矩阵θ=[θt]和一个n维向量满足以下公式:

通过这些公式,我们可以通过嵌入层来将经过独热编码的稀疏向量压缩为密集向量。

通过独热编码将数据特征中符号特征转换为数值数据,更方便系统中的模型识别并检测入侵。

数据标准化,由于数据集中特征值差异较大,在系统处理中,更重视较大的特征值,而容易忽略较小的特征值,所以应用离差标准化的方法来对原始数据进行转换,从而使结果落入[0,1]之间,并且不改变原始数据的线性关系,其公式如下

为了克服现有系统中,深度学习模型训练时间过长,无法有效对大规模数据量进行异常检测,深度学习模型数据失真率较高等问题。本发明提出了一种基于卷积神经网络特征压缩的异常检测方法,本发明利用嵌入式模型去压缩稀疏特征,最终通过卷积神经网络将数据拟合,然后在训练模型时,对模型的学习率进行改进,以达到快速收敛的目的,当达到训练终止条件时,再通过测试数据集来评估系统的性能,最终得到长度为5的向量作为判据,由此验证是否为异常行为,主要包括如下步骤:

(1)数据预处理:特征数字化与数据标准化

(2)建立模型:模型主要包含一个嵌入层,4个1维卷积层和4个全连接层。

(3)训练模型,把学习率设定为0.01,0.001和0.0001,通过卷积运算,分别对模型进行训练。

(4)将模型训练结果与其余对比模型结果进行比较。

(5)将本系统用于nsl-kdd数据集,得出其中异常数据的结果。

本发明与现有系统相比,具有的有益效果是:

1.减少数据失真率:采用独热编码以及离差标准化的技术,将数据特征进行预处理,使得深度学习模型可以更有效的识别数据集的特征,从而减少数据的失真率。

2.减少模型的训练时间:本发明通过嵌入层将独热编码的稀疏矢量压缩为密集矢量,减少每次模型的训练时间。

3.在数据规模较大的情况下提高入侵检测精度:通过离差标准化来对原始数据进行线性变换,使得数据在变幻之后仍然保持原有的线性关系,这样可以提高模型在入侵检测之中的精度。

实施例1:

首先对数据集进行预处理,第一步,利用独热编码将数据的特征数字化,第二步,将数据标准化,由于数据集中的特征值之间的差异比较大,卷积神经网络模型会更关注较高的数字指标,而忽略较低的数字指标,此时通过离差标准化对原始数据进行线性变换,使变换结果落入[0,1]区间之间,并且不改变原始数据之中的线性关系。其公式如下:

公式中是变换前的向量,是变换后的向量。

在对数据进行预处理后,本发明建立了一个基于卷积神经网络的模型,该模型包含一个嵌入层,4个1维卷积层和4个全连接层,其中嵌入层是前馈型神经网络,对于嵌入层的每个神经单元,可以表述为:假设有一个信号向量集合s,嵌入层中节点j权重和偏移为θj和bj,其公式如下:

在公式中,act代表激活函数,oj代表第j个神经元的输出,基于上述表述,对嵌入层可以这样定义:假设转换之后的向量,输入和输出节点的数量分别是m和n,则存在一个n*m维的矩阵θ=[θt]和一个n维向量满足以下公式:

通过这些公式,我们可以通过嵌入层来将经过独热编码的稀疏向量压缩为密集向量。在压缩之后,模型的卷积过程公式如下:

其中,我们假设卷积神经网络的第i层输入向量为ti,代表第i层卷积核函数,符号表示卷积运算,是第i层的偏差向量,act为激活函数。通过卷积运算这一训练步骤,

最终得出一个长度为5的向量,从1到5位分别为正常记录的可能性,拒绝服务攻击的可能性,监视和其他探测活动的可能性,来自远程机器的非法访问的可能性,普通用户对本地超级用户特权的非法访问的可能性。例如,最终结果为(0.7,0.05,0.05,0.1,0.1),由此结果我们可以判定,此条数据有70%的可能是正常行为数据,有5%可能是拒绝服务攻击,5%可能是监视和其他探测活动的可能性。10%可能是来自远程机器的非法访问,10%可能是普通用户对本地超级用户特权的非法访问。由此,我们可以判定该条数据是正常行为数据。

最后我们再通过在训练过程中不断调整模型参数,使系统的性能更好。在实验过程中,我们利用混淆矩阵来评估系统在入侵检测中的性能,数据集中的所有数据必须分为以下四类:tp,tn,fp和fn,其中t(true)和f(false)分别代表分类结果是正确还是错误,p(正)和n(负)分别代表模型预测结果中的正例和负例,例如,tp表示入侵行为在实际条件下发生,并且被模型检测到,此外,以下三个指标用于评估我们系统中的模型的功能:准确率(ac),检测率(dr)和错误报警率(far)。其计算公式如下:

(1)ac代表正确的分类编号在分类结果中占总样本的比例。

(2)dr表示模型在入侵出现时正确探测的概率

(3)far代表模型将某些正常行为误判为入侵的概率

我们的实验环境如下:

intel(r)core(tm)i7-7700hq2.80ghz

gpu:nvidiageforcegtx1060

ram:16gb

为了评估我们的系统的识别入侵的能力,我们选择nsl-kdd数据集来训练和测试我们的系统,这个数据集包含125973个记录,对于每条记录,都有41个特征和1个标签:其中7个是符号特征,而34个是连续特征。如图3所示,图3是不同学习率的对比图,lr为学习率,accuracy为准确率,epoch为训练周期。我们进行了三个实验,我们可以看到,当学习率为0.0001时,该系统在训练过程中准确率波动较大,当学习率为0.001时,该系统似乎更加稳定,当我们将学习率设置为0.01时,该系统表现最好,因为,我们认为学习率的最佳值为0.01。

我们也比较了一些其他系统,由图4所示,图4是不同系统的对比图,ac为准确率,dr为模型在入侵出现时正确探测的概率,far是模型将某些正常行为误判为入侵的概率。bayesian为贝叶斯模型,svm为支持向量机,cnn-ids为传统卷积神经网络,lstm-rnn为长短期记忆网络和循环神经网络,gan为生成对抗网络。我们的系统在准确定和误报率方面比传统基于机器学习的系统表现更好,由结果表明,传统基于机器学习的系统在数据量较大时,难以保证识别的准确性,但基于深度学习的系统则具有良好的性能,基于cnn-ids的系统使用数据降维来显著降低数据预处理中的误报率,但检测率略微逊于我们的方法,此外,基于gan和cnn-ids的系统会造成一定程度的数据失真,因此其准确定和检测率比我们的系统稍差。基于lstm-rnn的方法具有比我们系统更高的检测率,但是我们的方法在误报率方面表现要优于上述系统。综上所述,我们的系统在检测数据入侵的准确率(ac)上,要优于其他检测系统,可以达到98.03%的准确率,而我们的检测系统在检测数据入侵时的误报率也要低于其他系统,该误报率只有0.54%。所以,我们的系统在入侵检测方面要优于其他系统。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1