一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于半监督学习的图数据异常检测方法与流程

2021-11-10 02:17:00 来源:中国专利 TAG:


1.本发明属于计算机软件技术领域,具体涉及一种基于半监督学习的图数据异常检测方法。


背景技术:

2.随着互联网技术与我们个人、社会、国家的联系日益紧密,一方面它极大地便利了我们的生活和工作,提高了我们的生活质量和工作效率。但是在另一方面,网络空间中的异常现象也日益频发,互联网上不断出现各种恶意事件,因此基于海量数据的异常检测成为当今研究的重点之一。目前的异常检测算法主要集中在深度学习领域和图计算领域。
3.传统的算法已被广泛发明用来识别人工指定的特征,如距离和密度。然而由于传统方法的效果在很大程度上依赖于特征工程,因此一旦特征选择不合理,异常检测的效果就极有可能不理想。
4.随着深度学习的发展,由于深度学习方法可以自动地学习数据之间复杂的非线性特征,避免了人工选择特征的困难。因此,目前的方法很多集中在深度学习领域。深度学习方法可以自动地将简单的特征组合成更复杂的特征,并使用这些特征来进行对异常的识别。这些方法大多首先根据属性特征学习数据新的表示,然后使用学习到的表示来定义异常分数,如基于重构误差或基于距离的度量。
5.然而,除了丰富的属性信息,数据之间往往还存在复杂的交互结构信息,这在异常数据的识别中非常重要。由于数据间这种复杂的交互可以很方便地在图数据中以节点间边的形式来表达,因此,目前的异常检测方法逐步开始向基于图的深度学习方向发展。与一般的深度学习相比,由于结构信息的引入与利用,基于图的深度学习方法的异常检测效果得到了进一步的提高。
6.目前的基于图的深度学习方法仍存在一些不足。首先,目前的方法主要集中在节点级别的异常检测上。例如,中国专利(申请号:cn202010925319.0,公开号:cn112073932a),该发明公开了一种无线传感网络的网络数据异常检测与定位方法,首先获取无线传感网络的观测数据;然后基于观测数据构建图数据,并且对所述图数据进行图滤波处理,得到输出图数据;其次基于所述输出图数据得到联合图变分值,并且通过所述图模型得到子图模型,进而基于所述子图模型与所述输出图数据得到子图数据,再基于所述子图数据得到子图联合图变分值;最终基于所述联合图变分值与所述子图联合图变分值判断子图的中心节点是否是疑似异常节点,通过疑似异常节点与子图的节点判断子图的中心节点是否是异常节点。在实际应用场景中,通常用图中的节点表示实体,用节点之间的边来表示实体之间的交互行为。然而,检测到的异常通常是由节点之间的某些相互作用引起的,如网络攻击发起主机(节点)之所以异常是因为该主机与其他主机间存在异常流量(边)。因此,当检测到实体之间的异常交互行为时,就找到了异常发生的直接原因。此外,在实际应用中,图的结构往往是无标度的,即图中节点的度呈幂律分布。因此,当节点的异常行为不够多,未达到显著水平时,会导致异常检测模型的漏报。相反,边级别的异常检测可以准确
定位异常行为,更具有说服力。虽然目前也有异常检测方法可以实现边上的异常检测,但这些方法依赖于将图中的边转换为图中的节点。此外,异常检测任务中有些异常意味着事故,如网络攻击样本的采集意味着攻击事件的发生,所以异常样本的获取成本相对较高。因此,在实际应用中,如何充分利用这些珍贵的已知异常样本成为关键。由于异常样本的稀缺性和异常种类的多样性,异常的规律并不容易掌握,因此目前的算法大多采用无监督方法对模型进行训练。例如,中国专利(申请号:cn202110103916.x,公开号:cn112434298a),该发明公开了一种基于自编码器集成的网络威胁检测系统,该系统首先从互联网或者本地文件中获取网络流量数据,同时提取流量特征生成特征向量,并根据相关性对特征进行分组,然后使用基于自编码器的集成模型检测流量异常,最终对网络威胁做出判断。该发明使用无监督的深度学习算法,实现了对未知威胁的检测。但这导致难以获取并且数量占比极低的异常样本没有能够得到充分利用,模型的针对性较差,使得模型的检测结果很可能是噪声数据。类似的半监督异常检测方法还有中国专利(申请号:cn202011585830.7,公开号:cn112529109a)等。


技术实现要素:

7.针对当前异常检测领域存在的问题,本发明提出了一种基于半监督学习的图数据异常检测方法,该方法的主要目标是实现图数据中异常边的检测,细化异常检测的识别粒度,提高模型对异常行为的精确定位能力,本发明不仅能够判断当前时刻的网络数据是否存在异常节点,并且同时能够完成异常节点的准确定位。其主要工作是提出一种在图数据中检测异常边的方法;同时,通过充分利用已知标记的异常样本,设计了一种半监督的学习方式,提高模型的针对性,降低模型误报的可能性,减少模型识别结果中的噪音数据;此外,为了将模型方便地扩展到大规模图数据中应用,本发明在模型的可扩展性上做了一些研究,设计了一种针对图中边的邻居采样策略,该策略能够缩减每次迭代计算时所需要的邻域空间大小,使得模型的空间复杂度可控并且能够方便地扩展到大规模图数据。
8.本发明中的图数据可以是社交网络中的图数据,即以用户为节点,以用户间发送的消息为边,这就构成了一个社交媒体的图数据;或者为计算机网络中的图数据,即以主机为节点,以主机间的交互流量为边,这就构成了一个计算机流量网络的图数据;或者为学术领域的图数据,即以论文为节点,以论文间的引用关系为边,这就构成了一个学术领域的图数据;或者为金融交易系统中的图数据,即以账户为节点,以账户间的转账为边,这就构成了一个金融交易图数据;其他领域中的图数据同样适用。
9.本发明的技术方案为:
10.一种基于半监督学习的图数据异常检测方法,其步骤包括:
11.1)数据分批采样模块将图数据样本进行分批,然后对于每一批图数据样本,以每一图数据样本中的每个边为目标边,依据设定采样跳数h以及每跳所要选取的边数s
i
对该目标边的邻居进行采样,得到该目标边的h阶邻域信息;其中每一跳的采样结果对应一阶邻域信息,每一阶邻域信息为一阶子图;i=1~h;
12.2)利用边卷积神经网络依次对每一阶邻域信息进行加权求和,实现对目标边的邻域信息进行融合;然后对每一条目标边对应的融合后的h阶邻域信息中的边特征进行编码,并对编码结果进行解码,重构该目标边并计算重构误差;若该目标边的重构误差超过设定
阈值,则判定该目标边为异常,否则为正常;
13.3)基于所述重构误差设计小样本引导的损失函数作为异常检测模型的损失函数,并利用步骤2)处理后的结果对图数据样本的边进行标注后训练异常检测模型;其中α、β为超参数,用来控制异常数据与非异常数据的影响程度;r
abnormal
表示异常数据的平均重构误差,r
non

abnormal
表示非异常数据的平均重构误差;
14.4)利用步骤3)训练后的异常检测模型对待检测的图数据进行检测,识别其中是否存在异常边,如果存在异常边则判定该图数据为异常图数据。
15.进一步的,其中,e
异常
表示已知标记的异常边集合,e
非异常
表示除e
异常
外的其他边集合,x
e
表示边e的原始输入特征向量,表示边e对应的重构边的特征向量。
16.进一步的,采用公式计算边e的重构误差;其中,x
ai
和x
bi
分别表示向量x
a
和向量x
b
在第i个维度上的值,向量x
a
为边e特征向量,向量x
b
为边e对应的重构边的特征向量。
17.进一步的,重构该目标边的方法为:首先采用h层边卷积神经网络层对该目标边的特征进行编码,获得该目标边的高质量低维表示,然后利用h层边卷积神经网络层对编码后的特征进行解码,使其特征映射回原始维度空间得到该目标边对应的重构边。
18.进一步的,所述边卷积神经网络的计算公式为h
(/ 1)
=σ(ad

1/2
(d

1/2
)
t
a
t
h
(/)
w
(/)
);其中,a为边的邻接点矩阵,n
e
和n
v
分别表示边的数目和顶点的数目,若边i与顶点j相连,则矩阵a中的元素a
ij
=1,否则a
ij
=0;d为顶点度数的对角矩阵,h
(l)
是边在第l层边卷积神经网络层的特征表示,w
(l)
是第l层边卷积神经网络层的参数矩阵。
19.进一步的,距离目标边的跳数越大,对应跳数所要选取的边数越少。
20.进一步的,所述边卷积神经网络包括h个边卷积层,每一边卷积层实现目标边一跳邻域信息融合,h个边卷积层通过堆叠的方式实现对h阶邻域信息进行汇聚融合。
21.一种服务器,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行上所述方法中各步骤的指令。
22.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上所述方法的步骤。
23.为了解决模型在大规模数据上训练困难的问题,本发明中针对边专门设计了一种邻域采样策略,通过对数据的分批以及邻域采样,将模型每次计算的数据量使得模型训练过程中的空间复杂度可控,减小了每次更新模型参数时所需要计算的样本数量,实现了基于边的小批量训练,提高了模型的可扩展性。
24.为了解决节点级别的异常检测粒度过大的问题,我们设计了边卷积神经网络层,基于结构信息对边的邻域信息进行融合,实现了对边特征的学习,增强了边的表示能力。
25.为了应对异常检测应用中异常样本占比过小的问题,我们受到自动编码器的启发,采用多个边卷积神经网络层重叠的方法构造一个自动编码器,完成对边的编码解码,以
重构误差作为异常的评估标准。然后,在模型训练过程中,我们利用少数具有已知标签的异常样本来指导参数优化过程,实现了半监督学习。这样既达到检测图中异常边的目的,又实现了对少量异常样本的应用。在保证模型泛化能力的同时,也提高了对特定异常的针对性。
26.本发明提出的基于半监督学习的图数据异常检测方法,提供了一个完整的异常检测架构,图1为本发明的整体流程图,本发明方法主要由数据分批采样模块、基于边卷积神经网络的自编码器模块和基于小样本的半监督参数训练模块组成。
27.步骤一:数据分批采样模块是为了解决模型在大规模图数据上的应用问题,我们首先将大规模图数据进行分批,然后以每批样本中的每个边为中心,对中心数据的邻居进行采样,采样时依据跳数h和每跳采样所要选取的边数s
i
来进行。由于之后会涉及边的邻域信息融合,一次邻域信息融合需要一跳邻居数据,因此若有h次邻域信息融合,则需要每批数据的h阶邻域作为输入。同时我们考虑到真实世界中图数据节点的度往往呈现幂律分布,节点之间的度数跨度较大,因此一部分节点的度会非常大,这使得当一条边的其中一个顶点的度非常大的时候,这条边的邻域就会随之非常大,这样邻域的子图数据规模就会由于度的大小呈幂律分布变得不可控。另外,随着邻域阶数的增加,h阶子图的规模会随层数指数增长。综合以上两点,遍历子图的时间代价、模型训练的计算代价与存储代价都会变得十分不受控制,一旦子图的规模过大,模型就难以完成计算。针对这个问题,为控制子图规模,本发明采用了限制每层采样数目si的方式,将h阶子图的大小限制在阶乘级别。若边卷积层数目为h,则采样后子图所涉及的边的数目可以表示为公式1。具体来讲,s0是指分批后每一批次边的数目,即中心边或目标边的数目,对于一阶邻域的选择,我们为每个边选择s1个邻边,相应的对于二阶邻域的选择,我们为每个边选择s2个邻边。s
i
的具体数值根据计算机计算空间大小确定,由于较近邻居的信息与较远邻居的信息相比更重要,因此整体而言,距离中心边的跳数越多,所要选取的该跳邻居数目就越少。
[0028][0029]
步骤二:基于边卷积神经网络的自编码器模块是为了实现对采样得到的子图数据中边信息的充分利用,我们设计了边卷积神经网络,其公式可以表示为公式2,该公式实现了一跳邻域信息的融合,综合考虑了数据对邻居的影响。在边卷积操作过程中,本质上是通过对邻域信息的加权求和来实现对边的邻域信息进行融合,而邻居的权重取决于与这条目标边以及该邻边都相连的顶点的度数,并且权重与度数呈反比例关系。目标边与邻边都相连的顶点的度数越大认为该邻边通过这个顶点(即共有节点)对目标边的影响就越小,相反共有节点的度数越小邻边对目标边的影响就越大。一个边卷积层可以实现目标边一跳邻域的信息融合,多层边卷积网络堆叠的方式可以对边的多跳邻域信息进行汇聚。在本方法中我们还采用了自动编码器的思想,在采用多层边卷积实现对多跳邻域信息融合的同时,对边的特征进行编码和解码,即首先采用h层边卷积神经网络层对边的特征进行编码,获得边的高质量低维表示,然后再利用h层边卷积神经网络层对编码后的特征进行解码,使其特征映射回原始维度空间,如此便可以通过求边的重构误差的方式对目标边进行异常性评估及判定。重构误差越大表明该边为异常边的概率越大,具体则通过与阈值进行比较的方式进行判定,重构误差超过阈值的边被判定为异常边,否则被判定为正常边。阈值的具体值需通过多次实验观察确定。
[0030]
h
(/ 1)
=σ(ad

1/2
(d

1/2
)
t
a
t
h
(/)
w
(/)
)
ꢀꢀꢀꢀꢀꢀꢀ
(2)
[0031]
其中为边的邻接点矩阵,n
e
和n
v
分别表示图数据中边的数目和顶点的数目,矩阵a中每行表示一条边,若边i与顶点j相连,则矩阵a中a
ij
=1,否则a
ij
=0。为顶点度数的对角矩阵,即d
ii
=∑
j
a
ji
。是边在第l层边卷积神经网络层的特征表示。是第l层边卷积神经网络层的参数矩阵。
[0032]
步骤三:基于小样本的半监督参数训练模块是为了充分利用珍贵的已知异常样本,通过引入少量的数据,以提高模型的针对性。在异常检测领域,相对于正常数据,异常数据的占比通常非常小。我们考虑到虽然实际应用中异常样本获取成本较高,但并不是完全获取不到。虽然相对于正常数据而言异常数据的占比非常小,但这部分已知异常的信息在一定程度上也能够对异常检测工作起到启发与指导的积极作用。因此对异常样本的充分利用能够降低异常检测算法的误报率,因此我们引入异常数据对模型的优化进行指导。步骤二可以得到解码后的输出与原始输入特征的重构误差,基于该误差我们设计了一种小样本引导的损失函数,其优化目的是促使无标记数据的重构误差逐渐减小,而异常样本的重构误差逐渐增大。至此,我们完成了小样本引导的模型优化过程。我们设计的小样本引导的损失函数可表示为公式3:
[0033][0034]
其中α、β为超参数,用来控制异常数据与非异常数据的影响程度。r
abnormal
和r
non

abnormal
分别表示异常数据的平均重构误差和非异常数据的平均重构误差,具体计算细节分别为公式4和公式5:
[0035][0036][0037]
其中e
异常
表示已知标记的异常边集合,e
非异常
表示除e
异常
外的其他边集合。x
e
表示边e的原始输入特征向量,表示边e经过自动编码器编码解码后的特征向量。函数dev表示计算重构误差,本发明中的重构误差采用的是欧式距离,其具体公式可以表示为公式6:
[0038][0039]
其中x
ai
和x
bi
分别表示向量x
a
和向量x
b
在第i个维度上的值。
[0040]
可以看出通过对公式3中的损失函数的不断最小化,异常数据的重构误差会逐渐减小而非异常数据的重构误差会逐渐增大。并且可以通过控制超参数α和β的值来调整异常数据与非异常数据的影响,进而平衡模型优化过程中对两类数据的侧重,最终达到最佳的异常检测性能指标。
[0041]
本发明的优点如下:
[0042]
本发明针对现有图数据异常检测中,数据规模较大,造成实际模型运行时显存需求过大的问题,提出了大规模图数据分批与采样策略,通过减小每次训练时的数据规模来
增强模型在大规模数据上的可用性。
[0043]
本发明针对现有图数据异常检测中,基于gcn的算法仅能实现对图数据中节点的特征学习,不能实现对图中边特征的学习,进而不能对边上的异常进行检测的问题,提出了边卷积神经网络,通过对边的邻域信息进行加权融合,实现了边特征的学习,也正是由于邻居信息的引入,边的特征包含了更丰富的信息。
[0044]
本发明针对现有图数据异常检测中,已知异常数据占比较小,并且异常数据的模式多变,导致异常模式难以学习的问题,提出了基于小样本的半监督参数训练策略,通过引入少量已知标签的异常数据,对模型的参数优化进行引导,提高了模型的异常检测效果。
附图说明
[0045]
图1为本发明方法的流程示意图。
[0046]
图2为本发明方法的一个具体实例示意图。
具体实施方式
[0047]
为更好的表达本发明中提出的基于半监督学习的图数据异常检测方法,下面结合附图和具体实施方式,对本发明进行进一步的说明。
[0048]
图2为本发明的一个具体的算法流程图,包括数据分批采样处理,基于边卷积神经网络的数据编码与解码,基于小样本的半监督参数训练,基于重构误差的异常评估四个部分,本实例中边卷积神经网络层数为4层,即每条边所需要的邻居最远为4跳邻居。
[0049]
步骤1:数据分批采样处理。首先结合显存大小将大规模图数据分成大小为s0的若干批次,然后对于需要聚合4跳邻域信息的模型,我们以每批数据为中心进行4阶子图采样,具体的我们为每个边取s1个一跳邻居,s2个二跳邻居,s3个三跳邻居,s4个四跳邻居。如此一来我们得到了若干个s0*s1*s2*s3*s4大小的子图。
[0050]
步骤2:基于边卷积神经网络的数据编码与解码。为综合考虑异常数据对其他数据的影响,本发明构造了边卷积神经网络。在边卷积操作过程中,本质上是通过对邻域信息的加权求和来实现对边的邻域信息进行融合,而邻居的权重取决于与这条目标边以及该邻边都相连的顶点的度数,权重与度数呈反比例关系。顶点的度数越大认为该邻边通过这个共有节点对目标边的影响就越小,相反共有节点的度数越小邻边对该目标边的影响就越大。一个边卷积层可以实现目标边一跳邻域的信息融合,多层边卷积网络堆叠的方式可以对边的多跳邻域信息进行汇聚。在本发明中我们采用自动编码器的思想,在采用多层边卷积实现对多跳邻域信息融合的同时,对边的特征进行编码和解码,在本实例中通过控制卷积层的权重矩阵维度,首先利用两层边卷积神经网络将边特征嵌入到低维空间,然后再利用两层边卷积神经网络将边的特征映射回原维度空间,最后基于解码后的输出以及原始输入特征计算目标边的重构误差。若边的重构误差超过设定的阈值,则该边被判定为异常,否则被判定为正常。
[0051]
步骤3:基于小样本的半监督参数训练。步骤二中我们得到了图数据中边特征的重构误差,基于该重构误差我们设计了小样本引导的损失函数,其优化目的是促使无标记数据的重构误差逐渐减小,而异常样本的重构误差逐渐增大。这样便可以通过重构误差这一指标对数据的异常性进行评估。具体损失函数为公式3所示,其中参数α与β分别进行取值。
[0052]
尽管为说明目的公开了本发明的具体实施例,其目的在于帮助理解本发明的内容并据以实施,本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献