一种基于虚拟对数的分布外检测方法

未命名 09-22 阅读:60 评论:0


1.本技术涉及分布外检测方法,尤其涉及一种基于虚拟对数的分布外检测方法,属于分布外检测技术领域。


背景技术:

2.分布外检测是通过比较观测数据与已知分布之间的差异来判断新样本是否属于已知分布,封闭环境下训练的神经网络分类模型应用于开放世界中会遇到训练期间没见过的分布外数据,模型对于分布外数据的错误分类会影响模型分类效果,已知的大多数方法依赖单一输入源进行分布外检测。基于max-softmax的方法使用模型分类的后验概率定义评分函数,已经被证明其存在后验分布过于自信的问题,同时该方法忽略了原始的特征因素,只关心模型输出结果,基于maxlogit的方法使用模型输出的logit定义评分函数,与上述方法存在相同的问题;基于mahalanobis的方法会计算输入样本与训练集样本特征之间的马氏距离,该方法定义输入样本到所有分布内的类质心之间最大距离定义评分函数,取得了一定的效果,但该方法忽略了具有类相关信息的模型分类权重。已知在一个特征向量空间维度远大于种类数目的网络中,从特征空间到logits的降维会造成信息损失,这部分损失的信息对于分布内的数据影响可能不大,但是却包含了对于分布外数据判断有用的部分;另一方面,logits中包含着的类相关信息对于判断分布外数据也起到一定的作用。


技术实现要素:

3.在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
4.鉴于此,为解决现有技术中存在依赖单一输入源,检测精确度不高的技术问题,本发明提供一种基于虚拟对数的分布外检测方法。
5.方案一、一种基于虚拟对数的分布外检测方法,包括以下步骤:
6.s1.对流量进行特征提取,作为样本特征;
7.s2.将样本特征输入到分类模型中,输出模型原始输出;
8.s3.对样本特征进行特征分解;
9.s4.令虚拟对数等于样本特征在主空间上的特征残差,加入到模型原始输出;
10.s5.结合模型原始输出计算softmax(l0,logits)函数值,将输入的多维向量的每一维映射到(0,1)区间的值,值的累积和为1;将虚拟对数l0所在维度对应的函数值,作为样本的分布外得分;
11.s6.设置分布外阈值,根据分布外阈值判断输入样本是否为分布外样本。
12.优选的,对流量进行特征提取的方法是:通过相同的五元组将流量划分为不同流,对每个流提取81维特征,每组特征为待检测的样本特征。
13.优选的,对样本特征进行特征分解的方法是:选取dim个最大特征值对应的特征向量张成投影特征子空间p,计算样本特征在主空间上的特征残差||x
p

||;以||x
p

||作为衡量ood分数的标准,dim《最大特征数;
14.x
t
x=qλq-1
15.其中,dim表示主空间维度,x
p

表示样本特征x在主空间p的补空间p

上的投影,x
t
x表示训练样本矩阵的转置矩阵x
t
与训练样本矩阵x的乘积矩阵,为一个方阵,qλq-1
表示q是由特征向量组成的矩阵,λ是对角矩阵,对角线上的元素是特征值;q-1
是矩阵q的逆矩阵。
16.优选的,计算样本特征在主空间上的特征残差||x
p

||的方法是:x
p

为样本特征x在主空间p的补空间p

上的投影,||x
p

||为x
p

的范数。
17.优选的,s5具体包括以下步骤:
18.s51.根据缩放参数α计算l0=α*||x
p

||;
[0019][0020]
s52.结合模型原始输出计算softmax(l0,logits)函数值的方法是:logits是c维向量,将虚拟对数l0作为一维加入到logits变为c+1维向量,计算c+1维向量的softmax函数值:
[0021][0022]
其中,zi表示第i个节点的输出值,c为输出节点的个数;
[0023]
优选的,分布外阈值为:常数,区间范围(0,1)。
[0024]
方案二、一种电子设备,包括存储器和处理器,存储器存储有计算机程序,所述的处理器执行所述计算机程序时实现方案一所述的一种基于虚拟对数的分布外检测方法的步骤。
[0025]
方案三、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现方案一所述的一种基于虚拟对数的分布外检测方法。
[0026]
本发明的有益效果如下:本发明首先计算模型输入样本在训练集主空间的特征残差,根据缩放参数α,将样本特征在主空间上的特征残差与训练集平均最大logits进行匹配转化为一个虚拟的logit l0,将该虚拟的logit与输入样本经模型输出的原始logits合并计算softmax概率,将该logit对应的概率值定义为样本的分布外评分,若评分超过某一预设阈值则定义该样本为分布外类。解决现有技术中存在依赖单一输入源,检测精确度不高的技术问题。本发明即能兼顾到输入样本原始特征又能充分利用深度学习模型学习到的知识,该算法属轻量级算法,不需要重新训练模型,计算成本低,检测环节耗时较短,满足实时检测的需求。
附图说明
[0027]
此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
[0028]
图1为一种基于虚拟对数的分布外检测方法流程示意图。
具体实施方式
[0029]
为了使本技术实施例中的技术方案及优点更加清楚明白,以下结合附图对本技术的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本技术的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
[0030]
实施例1、参照图1说明本实施方式,一种基于虚拟对数的分布外检测方法,包括以下步骤:
[0031]
一种基于虚拟对数的分布外检测方法,包括以下步骤:
[0032]
s1.对流量进行特征提取,作为样本特征,方法是:通过相同的五元组将流量划分为不同流,对每个流提取81维特征,每组特征为待检测的样本特征。
[0033]
具体的,使用开源工具cicflowmeter提取;
[0034]
具体的,特征包括数据包数量、数据包大小、数据包间隔时间等81维特征;
[0035]
s2.将样本特征输入到分类模型中,输出模型原始输出;
[0036]
s3.对样本特征进行特征分解;
[0037]
对样本特征进行特征分解的方法是:选取dim个最大特征值对应的特征向量张成投影特征子空间p,计算样本特征在主空间上的特征残差||x
p

||;以||x
p

||作为衡量ood分数的标准,dim《最大特征数;
[0038]
x
t
x=qλq-1
[0039]
其中,dim表示主空间维度,x
p

表示样本特征x在主空间p的补空间p

上的投影,x
t
x表示训练样本矩阵的转置矩阵x
t
与训练样本矩阵x的乘积矩阵,为一个方阵,qλq-1
表示q是由特征向量组成的矩阵,λ是对角矩阵,对角线上的元素是特征值,q-1
是矩阵q的逆矩阵。
[0040]
计算样本特征在主空间上的特征残差||x
p

||的方法是:x
p

为样本特征x在主空间p的补空间p

上的投影,||x
p

||为x
p

的范数。
[0041]
s4.令虚拟对数等于样本特征在主空间上的特征残差,加入到模型原始输出;
[0042]
s5.结合模型原始输出计算softmax(l0,logits)函数值,将输入的多维向量的每一维映射到(0,1)区间的值,值的累积和为1;将虚拟对数l0所在维度对应的函数值,作为样本的分布外得分;
[0043]
s5具体包括以下步骤:
[0044]
s51.如果虚拟对数l0与原始模型输出平均最大logit结果相差较多,则经过softmax函数后会近似噪声,从而达不到效果,因此将虚拟对数l0在训练集平均最大logit值的维度上进行一定的缩放。
[0045]
根据缩放参数α计算l0=α*||x
p

||;
[0046][0047]
s52.本发明定义一个额外的logit的概念,加入到模型原始输出的logit中共同计算softmax概率,将该类别作为ood类别,实现从c分类到c+1分类。
[0048]
结合模型原始输出计算softmax(l0,logits)函数值的方法是:logits是c维向量,将虚拟对数l0作为一维加入到logits变为c+1维向量,计算c+1维向量的softmax函数值:
[0049][0050]
其中,zi表示第i个节点的输出值,c为输出节点的个数,即分类的类别个数;e是常数,为zi的指数函数值,为zc的指数函数值;
[0051]
具体的,c分类模型训练后的模型权重为偏置则输入样本特征得到logits(x)=w
t
*x+bias,预测概率p(x)=softmax(logits(x))为模型分类输出。
[0052]
选择o:=(w
t
)
+
*bias作为该模型在特征空间的坐标原点,则上述logits计算公式可以转化成公式(1-1);
[0053][0054]
对给定的输入样本特征x,logits的每一维看作特征x与对应第几类向量的权重之间的内积;考虑空间投影,针对特征空间的每一个向量wi,有则则将结果推广至span{w1,

,wc}有x=xw⊥
+xw,有l=w
t
xw,可以看出分类模型的输出结果强关联xw,而抛弃了xw⊥
的所有信息,而这部分信息在判断样本是否为ood样本上有很大的效果。
[0055]
具体的,样本特征为模型输入的多维向量,多维向量为(l0,logits)结合后的多维向量,其中,logits为模型输出,l0为虚拟对数;
[0056]
s6.设置分布外阈值,根据分布外阈值判断输入样本是否为分布外样本。
[0057]
分布外阈值为:常数,区间范围(0,1)。
[0058]
实施例2、本发明的计算机装置可以是包括有处理器以及存储器等装置,例如包含中央处理器的单片机等。并且,处理器用于执行存储器中存储的计算机程序时实现上述的一种基于虚拟对数的分布外检测方法的步骤。
[0059]
所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0060]
所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0061]
实施例3、计算机可读存储介质实施例
[0062]
本发明的计算机可读存储介质可以是被计算机装置的处理器所读取的任何形式的存储介质,包括但不限于非易失性存储器、易失性存储器、铁电存储器等,计算机可读存储介质上存储有计算机程序,当计算机装置的处理器读取并执行存储器中所存储的计算机程序时,可以实现上述的一种基于虚拟对数的分布外检测方法的步骤。
[0063]
所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0064]
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

技术特征:
1.一种基于虚拟对数的分布外检测方法,其特征在于,包括以下步骤:s1.对流量进行特征提取,作为样本特征;s2.将样本特征输入到分类模型中,输出模型原始输出;s3.对样本特征进行特征分解;s4.令虚拟对数等于样本特征在主空间上的特征残差,加入到模型原始输出;s5.结合模型原始输出计算softmax(l0,logits)函数值,将输入的多维向量的每一维映射到(0,1)区间的值,值的累积和为1;将虚拟对数l0所在维度对应的函数值,作为样本的分布外得分;s6.设置分布外阈值,根据分布外阈值判断输入样本是否为分布外样本。2.根据权利要求1所述的一种基于虚拟对数的分布外检测方法,其特征在于,对流量进行特征提取的方法是:通过相同的五元组将流量划分为不同流,对每个流提取81维特征,每组特征为待检测的样本特征。3.根据权利要求2所述的一种基于虚拟对数的分布外检测方法,其特征在于,对样本特征进行特征分解的方法是:选取dim个最大特征值对应的特征向量张成投影特征子空间p,计算样本特征在主空间上的特征残差以作为衡量ood分数的标准,dim<最大特征数;x
t
x=qλq-1
其中,dim表示主空间维度,表示样本特征x在主空间p的补空间p

上的投影,x
t
x表示训练样本矩阵的转置矩阵x
t
与训练样本矩阵x的乘积矩阵,为一个方阵,qλq-1
表示q是由特征向量组成的矩阵,λ是对角矩阵,对角线上的元素是特征值;q-1
是矩阵q的逆矩阵。4.根据权利要求3所述的一种基于虚拟对数的分布外检测方法,其特征在于,计算样本特征在主空间上的特征残差的方法是:为样本特征x在主空间p的补空间p

上的投影,为的范数。5.根据权利要求4所述的一种基于虚拟对数的分布外检测方法,其特征在于,s5具体包括以下步骤:s51.根据缩放参数α计算s51.根据缩放参数α计算s52.结合模型原始输出计算softmax(l0,logits)函数值的方法是:logits是c维向量,将虚拟对数l0作为一维加入到logits变为c+1维向量,计算c+1维向量的softmax函数值:其中,z
i
表示第i个节点的输出值,c为输出节点的个数。6.根据权利要求5所述的一种基于虚拟对数的分布外检测方法,其特征在于,分布外阈值为:常数,区间范围(0,1)。7.一种电子设备,其特征在于,包括存储器和处理器,存储器存储有计算机程序,所述
的处理器执行所述计算机程序时实现权利要求1-6任一项所述的一种基于虚拟对数的分布外检测方法的步骤。8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的一种基于虚拟对数的分布外检测方法。

技术总结
本发明提出一种基于虚拟对数的分布外检测方法,属于分布外检测技术领域。包括:S1.对流量进行特征提取,作为样本特征;S2.将样本特征输入到分类模型中,输出模型原始输出;S3.对样本特征进行特征分解;S4.令虚拟对数等于样本特征在主空间上的特征残差,加入到模型原始输出;S5.结合模型原始输出计算softmax函数值,将输入的多维向量的每一维映射到(0,1)区间的值,值的累积和为1;将虚拟对数所在维度对应的函数值,作为样本的分布外得分;S6.设置分布外阈值,判断输入样本是否为分布外样本。解决依赖单一输入源,检测精确度不高的问题。兼顾样本原始特征又利用深度学习模型学习到的知识,不需要重新训练模型。不需要重新训练模型。不需要重新训练模型。


技术研发人员:胡智超 余翔湛 冯帅 刘立坤 史建焘 葛蒙蒙 孔德文 羿天阳 龚家兴 李竑杰 刘奉哲 王钲皓 郭一澄 张森 程明明 高展鹏
受保护的技术使用者:哈尔滨工业大学
技术研发日:2023.06.21
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐