一种基于VAE和COD-SNN的异常网络流量识别方法技术

技术编号:35267015 阅读:15 留言:0更新日期:2022-10-19 10:31
本发明专利技术提供了一种基于VAE和COD

【技术实现步骤摘要】
一种基于VAE和COD

SNN的异常网络流量识别方法


[0001]本专利技术涉及网络安全及机器学习
,具体但不限于涉及一种基于VAE和COD

SNN的异常网络流量识别方法。

技术介绍

[0002]随着科技水平的迅猛发展,网络中的数据流量呈指数增长。传统的机器学习/深度学习方法对数据标记的依赖性很强,而且需要充足的样本进行训练,而现实情况往往无法具备该条件,一方面网络数据流的标记耗时耗力且不准确;另一方面有些异常流量是小样本,既难采集,也难标记;针对可获得的样本非常小且数据难标记的情况,我们需要开发出通过使用小样本数据也能够高效、准确的检测出网络流量的类型的方法。
[0003]有鉴于此,需要提供一种新的方法,以期解决上述至少部分问题。

技术实现思路

[0004]针对现有技术中的一个或多个问题,本专利技术提出了一种基于VAE和COD

SNN的异常网络流量识别方法,利用VAE和孪生网络结合无监督和小样本学习的优势,大大减少对有标记样本的依赖,实现仅用少量有标记样本就可以训练精度较高的模型,然后使用训练好的模型去对网络流量进行检测。
[0005]实现本专利技术目的的技术解决方案为:
[0006]一种基于VAE和COD

SNN的异常网络流量识别方法,包括:
[0007]步骤1:获取真实应用的网络流量数据,进行数据预处理,将数据的特征转换为符合模型输入的格式,再将数据集分为训练集和测试集;
>[0008]步骤2:构建变分自编码器VAE模型,VAE模型用于自动提取样本流量特征和扩充流量样本,利用训练集数据训练VAE模型;
[0009]步骤3:构建一维卷积孪生神经网络模型(COD

SNN),COD

SNN模型用于流量分类,将训练好的VAE模型与COD

SNN模型串联组合得到半监督分类模型,其中,训练好的VAE模型作为COD

SNN模型的输入前置,利用训练集数据训练半监督分类模型;
[0010]步骤4:将测试集数据输入训练好的半监督分类模型中,输出网络流量分类结果。
[0011]进一步的,本专利技术的基于VAE和COD

SNN的异常网络流量识别方法,步骤1中的数据预处理具体包括:
[0012]去除样本中存在特征值缺失的实例数据,对数据进行数值化、归一化、One

Hot编码、正则化,将处理好的数据集的80%作为训练集,余下的20%作为测试集。
[0013]进一步的,本专利技术的基于VAE和COD

SNN的异常网络流量识别方法,步骤2中构建VAE模型包括:
[0014]假设原始数据集X作为输入变量,产生的中间变量为Z,生成的数据样本集合为其中,X是一个高维的随机向量,Z是一个相对低维的随机向量,是一个高维的随机向量;
[0015]推断网络即编码器根据输入变量X假设后验分布P((Z|X))是正态分布,构建神经
网络μk=f1(X)和log
σ 2=f2(X)计算输入变量X的均值和标准差,得到输入变量X的专属正态分布;
[0016]生成网络即解码器从专属正态分布中采样得到中间变量Z,将中间变量Z输入到生成器中生成新的数据样本集合
[0017]采用KL散度衡量输入变量X和数据样本集合两个分布之间的相似度,并通过优化约束参数和使KL散度最小化:
[0018][0019]其中,指推断网络的所有参数,θ指生成网的所有参数,x指输入,z指潜变量,称为变化下界,是高斯分布,p
θ
是正态分布,D
KL
指与p
θ
(z|x)之间的KL距离。
[0020]进一步的,本专利技术的基于VAE和COD

SNN的异常网络流量识别方法,步骤2中训练VAE模型包括:
[0021]将训练集中的无标记流量样本X输入到VAE模型的编码器模块中,对无标记流量样本X进行降维,得到加密流量隐藏变量Z;
[0022]将加密流量隐藏变量Z输入到VAE模型的解码器模块中,对加密流量隐藏变量Z进行升维,得到重建样本
[0023]进一步的,本专利技术的基于VAE和COD

SNN的异常网络流量识别方法,步骤3中构建COD

SNN模型包括:
[0024]使用两个权值共享的卷积子网络分别接收两个输入样本x1、x2,分别计算两个输入样本的低维特征f(x1)和f(x2),再计算两个输入样本之间的距离变量输出两个输入样本的相似度其中sigmoid指激活函数;对每个隐藏层j的激活过程a进行稀疏性惩罚约束,在代价函数中加入数据先验。
[0025]进一步的,本专利技术的基于VAE和COD

SNN的异常网络流量识别方法,数据先验公式为:
[0026][0027]代价函数公式为:
[0028][0029]其中,w指权重,‖w‖1表示所有参数的绝对值求和,L为KL距离,x为输入量,为样本,λ控制惩罚因子的权重。
[0030]7.根据权利要求5所述的基于VAE和COD

SNN的异常网络流量识别方法,其特征在于,所述COD

SNN模型包括4个卷积层、2个池化层、1个展平层和1个随机失活层。
[0031]进一步的,本专利技术的基于VAE和COD

SNN的异常网络流量识别方法,训练半监督分类模型包括:
[0032]将训练集中的有标记流量样本输入至半监督分类模型的VAE模块中,VAE模块的输
出作为COD

SNN模块的输入;
[0033]使用交叉熵作为孪生神经网络的损失函数,得到单次训练的损失函数如下:
[0034]Loss(x1,x2,y)=ylog(P(x1,x2))+(1

y)log((1

P(x1,x2)))
[0035]其中,x1,x2为输入,y为输入x
i
的标签值,p为sigmoid函数的预测概率。
[0036]利用梯度下降算法更新模型参数,当模型收敛或达到设定训练次数时,停止训练并保存模型。
[0037]本专利技术采用以上技术方案与现有技术相比,具有以下技术效果:
[0038]本专利技术的基于VAE和COD

SNN的异常网络流量识别方法,通过变分自编码机VAE在隐藏特征非线性拟合方面的优异表现,将VAE运用于流量特征自动提取的机理,在此基础上,将卷积孪生网络的小样本学习与VAE结合,建立半监督的流量识别深度学习模型,利用VAE和孪生网络结合无监督和小样本学习的优势,大大减少对有标记样本的依赖,最终实现对仅用少量有标记的异常流量的检测。
附图说明
[0039]附图用来提供对本专利技术本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于VAE和COD

SNN的异常网络流量识别方法,其特征在于,包括:步骤1:获取真实应用的网络流量数据,进行数据预处理,将数据的特征转换为符合模型输入的格式,再将数据集分为训练集和测试集;步骤2:构建变分自编码器VAE模型,VAE模型用于自动提取样本流量特征和扩充流量样本,利用训练集数据训练VAE模型;步骤3:构建一维卷积孪生神经网络模型COD

SNN,COD

SNN模型用于流量分类,将训练好的VAE模型与COD

SNN模型串联组合得到半监督分类模型,其中,训练好的VAE模型作为COD

SNN模型的输入前置,利用训练集数据训练半监督分类模型;步骤4:将测试集数据输入训练好的半监督分类模型中,输出网络流量分类结果。2.根据权利要求1所述的基于VAE和COD

SNN的异常网络流量识别方法,其特征在于,步骤1中的数据预处理具体包括:去除样本中存在特征值缺失的实例数据,对数据进行数值化、归一化、One

Hot编码、正则化,将处理好的数据集的80%作为训练集,余下的20%作为测试集。3.根据权利要求1所述的基于VAE和COD

SNN的异常网络流量识别方法,其特征在于,步骤2中构建VAE模型包括:假设原始数据集X作为输入变量,产生的中间变量为Z,生成的数据样本集合为其中,X是一个高维的随机向量,Z是一个相对低维的随机向量,是一个高维的随机向量;推断网络即编码器根据输入变量X假设后验分布P((Z|X))是正态分布,构建神经网络μk=f1(X)和log
σ
2=f2(X)计算输入变量X的均值和标准差,得到输入变量X的专属正态分布;生成网络即解码器从专属正态分布中采样得到中间变量Z,将中间变量Z输入到生成器中生成新的数据样本集合采用KL散度衡量输入变量X和数据样本集合两个分布之间的相似度,并通过优化约束参数和使KL散度最小化:其中,指推断网络的所有参数,θ指生成网的所有参数,x指输入,z指潜变量,称为变化下界,是高斯分布,p
θ
是正态分布,D
KL
指与p
θ
(z|x)之...

【专利技术属性】
技术研发人员:陈雪娇黄武斌
申请(专利权)人:南京信息职业技术学院
类型:发明
国别省市:

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

1