一种基于小样本学习的三元CCT网络的入侵检测方法技术

技术编号:35261001 阅读:51 留言:0更新日期:2022-10-19 10:20
本发明专利技术涉及一种基于小样本学习的三元CCT网络的入侵检测方法,采用的步骤如下:构建小样本学习的数据集;将数据集中的网络流量存储在二维数组中,将二维数组转换为灰度图像;搭建基于小样本学习的三元CCT网络的入侵检测模型;训练入侵检测网络模型;检测网络流量并确定入侵类型;本发明专利技术对transformer编码器进行了改进,在每个残差连接之前加入了可学习的通道加权,由此来优化更深层次的CCT网络,使之收敛更快,精度更高;条件位置编码以输入为条件,使位置编码更灵活,在图像分类任务中保持所需的平移不变性,从而提高分类精度;本发明专利技术基于三元损失函数度量方法,能够获得比单点损失和成对的损失更高检测入侵的准确率。成对的损失更高检测入侵的准确率。成对的损失更高检测入侵的准确率。

【技术实现步骤摘要】
一种基于小样本学习的三元CCT网络的入侵检测方法


[0001]本专利技术涉及一种基于小样本学习的三元CCT网络的入侵检测方法,属于网络安全


技术介绍

[0002]随着科技的快速发展,计算机网络已经成为人们生活中不可或缺的组成部分。计算机网络人们提供了丰富多彩的服务,使得人们对计算机网络越来越依赖,以至于网络成为了犯罪的主要攻击目标。网络犯罪试图通过不同的网络入侵来达到窃取机密等不良目的。入侵检测系统通过监控和分析在线流量区分正常和恶意的流量。当入侵检测系统部署在网络中识别基于网络的入侵时,它们被称为基于网络的入侵检测系统。这些系统捕获在线网络流量并对其进行分析以检测攻击的存在。尽管已经取得了重大进展,但在设计网络入侵检测系统方面还存在着训练数据的不平衡、小样本学习精确度差以及未知攻击频繁发生现象,所以仍有各种创新的检测方法不断地被提出。

技术实现思路

[0003]本专利技术要解决的技术问题是提供一种使训练数据平衡、未知攻击减少且提高小样本学习精确度的基于小样本学习的三元CCT网络的入侵检测方法。
[0004]为解决上述问题,本专利技术采用的技术方案如下:
[0005]本专利技术基于小样本学习的三元CCT网络的入侵检测方法,采用如下步骤:
[0006]步骤一、构建小样本学习的数据集;
[0007]步骤二、将数据集中的网络流量存储在二维数组中,将二维数组转换为灰度图像;
[0008]步骤三、搭建基于小样本学习的三元CCT网络的入侵检测模型;
[0009]步骤四、训练入侵检测网络模型;
[0010]步骤五、检测网络流量并确定入侵类型。
[0011]本专利技术方法的步骤一中采用无监督子类型采样方法对数量充足的攻击类样本和正常类样本进行重新采样,具体如下:
[0012]1.1).将数量充足的攻击类样本和正常类样本采用k

mean++算法聚类为各个类型的子类型;
[0013]1.2).对每个子类型逐一进行随机抽取一个样本,以获得代表每个类型可用于训练的集合;
[0014]1.3).将经过与所述无监督子类型重新采样的样本集合与数量稀少的攻击类样本合在一起,构建模型训练所需的小样本训练数据集;
[0015]1.4).每种类型有k个样本,不同的类型设置不同的k值;k值根据轮廓系数S(i)自适应确定,计算公式如下:
[0016][0017]式中:a(i)表示聚类中的样本i到聚类中所有其他样本的距离的平均值, b(i)表示聚类中的样本i到距离该样本最近的聚类中所有样本的平均距离的最小值,max{}是求最大值的函数,

表示逐元素相减;
[0018]轮廓系数的计算结果在

1和1之间,再设置一组初始k值并使用 k

mean++算法对每种类型中的数据进行聚类后,最终不同类型的k值根据以下公式选择,其代表前n大轮廓系数中最小的簇数:
[0019]K=min{argmax
n
{S(2),S(3),

,S(i)}}
ꢀꢀꢀꢀꢀ
(2)
[0020]式中:min{}是求最小值的函数,n通常设置为10,argmax
n
表示前n 大的轮廓系数分别对应的簇数,S(i)表示样本i对应的轮廓系数。
[0021]本专利技术方法的步骤三中所述三元CCT网络由3个并行的具有相同结构的 CCT网络组成,并且它们使用相同的特征权重,将样本μ嵌入的CCT网络表示为CCTNet(μ);
[0022]所述CCT网络包括依次设置的卷积层、Reshape、位置嵌入、Transformer 编码器层和序列池层;
[0023]所述Transformer编码器层由L层编码器块堆叠而成;每个L层编码器块均由多头自注意力(MSA)和多层感知机(MLP)块两个子层组成,多层感知机(MLP)块包括线性层、GELU激活函数和Dropout;每个子层之前都有一个层归一化(LN),然后是到下一个子层的残差连接;在原有的残差连接之前加入一个可学习的通道加权,即对角矩阵diag(α1,α2,


d
),表示每个残差块产生的向量的通道权重,从而将与同一输出通道相关的权重更新分组;加入可学习的对角矩阵后在单个编码器块的计算公式如下:
[0024]x

l
=x
l
‑1+diag(α
l,1
,


l,d
)
×
MSA(LN(x
l
‑1))
ꢀꢀꢀ
(3)
[0025]x
l
=x

l
+diag(α

l,1
,



l,d
)
×
MLP(LN(x

l
))
ꢀꢀꢀꢀꢀꢀꢀ
(4)
[0026]公式中:+表示逐元素求和,
×
表示元素相乘,l表示编码器块的当前层数,l∈{1,2,...,L},α
l,1
和α

l,1
表示可学习的权重,对角矩阵的对角线值都被初始化为固定的小值ε:设置为ε=0.1,直到深度18,对于深度24,ε=10
‑5,对于更深的网络,ε=10
‑6;MSA表示多头自注意力操作,LN表示层归一化操作。
[0027]本专利技术所述序列池层Pooling整个数据序列,包含输入图像不同部分的相关信息,序列池层的操作可看作为映射T:R
b
×
n
×
d

R
b
×
d
,其计算公式如下:
[0028]x
L
=f(x0)∈R
b
×
n
×
d
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0029]x

L
=softmax(g(x
L
)
T
)∈R
b
×1×
n
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0030]z=x

L
x
L
=softmax(g(x
L
)
T
)
×
x
L
∈R
b
×1×
d
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0031]公式中:x
L
表示L层编码器块的输出,b表示mini

batch大小,n表示序列长本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于小样本学习的三元CCT网络的入侵检测方法,其特征在于采用如下步骤:步骤一、构建小样本学习的数据集;步骤二、将数据集中的网络流量存储在二维数组中,将二维数组转换为灰度图像;步骤三、搭建基于小样本学习的三元CCT网络的入侵检测模型;步骤四、训练入侵检测网络模型;步骤五、检测网络流量并确定入侵类型。2.根据权利要求1所述的一种基于小样本学习的三元CCT网络的入侵检测方法,其特征在于:步骤一中采用无监督子类型采样方法对数量充足的攻击类样本和正常类样本进行重新采样,具体如下:1.1).将数量充足的攻击类样本和正常类样本采用k

mean++算法聚类为各个类型的子类型;1.2).对每个子类型逐一进行随机抽取一个样本,以获得代表每个类型可用于训练的集合;1.3).将经过与所述无监督子类型重新采样的样本集合与数量稀少的攻击类样本合在一起,构建模型训练所需的小样本训练数据集;1.4).每种类型有k个样本,不同的类型设置不同的k值;k值根据轮廓系数S(i)自适应确定,计算公式如下:式中:a(i)表示聚类中的样本i到聚类中所有其他样本的距离的平均值,b(i)表示聚类中的样本i到距离该样本最近的聚类中所有样本的平均距离的最小值,max{}是求最大值的函数,

表示逐元素相减;轮廓系数的计算结果在

1和1之间,再设置一组初始k值并使用k

mean++算法对每种类型中的数据进行聚类后,最终不同类型的k值根据以下公式选择,其代表前n大轮廓系数中最小的簇数:K=min{argmax
n
{S(2),S(3),...,S(i)}}
ꢀꢀꢀꢀꢀ
(2)式中:min{}是求最小值的函数,n通常设置为10,argmaxn表示前n大的轮廓系数分别对应的簇数,S(i)表示样本i对应的轮廓系数。3.根据权利要求2所述的一种基于小样本学习的三元CCT网络的入侵检测方法,其特征在于:步骤三中所述三元CCT网络由3个并行的具有相同结构的CCT网络组成,并且它们使用相同的特征权重,将样本μ嵌入的CCT网络表示为CCTNet(μ);所述CCT网络包括依次设置的卷积层、Reshape、位置嵌入、Transformer编码器层和序列池层;所述Transformer编码器层由L层编码器块堆叠而成;每个L层编码器块均由多头自注意力(MSA)和多层感知机(MLP)块两个子层组成,多层感知机(MLP)块包括线性层、GELU激活函数和Dropout;每个子层之前都有一个层归一化(LN),然后是到下一个子层的残差连接;在原有的残差连接之前加入一个可学习的通道加权,即对角矩阵diag(α1,α2,...,α
d
),表示每个残差块产生的向量的通道权重,从而将与同一输出通道相关的权重更新分组;加入可学习的对角矩阵后在单个编码器块的计算公式如下:
x

l
=x
i
‑1+diag(α
l,1
,...,α
l,d
)
×
MSA(LN(x
l
‑1))
ꢀꢀꢀꢀ
(3)x
l
=x

l
+diag(α

l,1
,...,α

l,d
)
×
MLP(LN(x

l
))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)公式中:+表示逐元素求和,
×
表示元素相乘,l表示编码器块的当前层数,l∈{1,2,...,L},α
l,1
和α

l,1
表示可学习的权重,对角矩阵的对角线值都被初始化为固定的小值ε:设置为ε=0.1,直到深度18,对于深度24,ε=10
‑5,对于更深的网络,ε=10
‑6;MSA表示多头自注意力操作,LN表示层归一化操作。4.根据权利要求3所述的一种基于小样本学习的三元CCT网络的入侵检测方法,其特征在于:所述序列池层Pooling整个数据序列,包含输入图像不同部分的相关信息,序列池层的操作可看作为映射T:R
b
×
n
×
d

R
b
×
d
,其计算公式如下:x
L
=f(x0)∈R
b
×
n
×
d
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)x

L
=softmax(g(x
...

【专利技术属性】
技术研发人员:王长广刘嘉静王方伟李青茹赵冬梅
申请(专利权)人:河北师范大学
类型:发明
国别省市:

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

1