一种基于图纯化和决策边界的节点分类防御方法及其系统

文档序号:30494433发布日期:2022-06-22 03:30阅读:89来源:国知局
一种基于图纯化和决策边界的节点分类防御方法及其系统

1.本发明属于深度学习的攻击防御领域,具体涉及一种基于图纯化和决策边界的节点分类防御方法及其系统。


背景技术:

2.图是指一种数据结构,它将现实世界的复杂系统建模为一组实体(节点)和它们之间的关系(边)。由于图具有强大的表达能力,包括社交网络、知识图谱、时间序列、视觉数据等许多研究领域,积累了大量的图数据。近年来对图机器学习(gml)进行了广泛的研究,其中半监督节点分类是gml中的重要任务之一,它试图在通过给定少数节点的类标签来对图中的剩余未标记节点进行分类。目前,越来越多的关于半监督节点分类的方法被提出,传统的方法大致可分为基于局部分类器的方法和基于随机游走的方法两类。具体来说,基于局部分类器的方法根据已知的节点及其邻域信息构建节点的特征向量,并作为实例构建朴素贝叶斯、决策树等分类模型;然后,将训练后的分类器应用于图中的节点,迭代计算新标签,直到结果“稳定”。基于随机游走的方法使用链路结构来显式地进行标签传播,该方法背后的核心思想是,用标记标记v节点为标签c的概率是从v开始的随机游走到标记为c的节点结束的总概率。作为基于随机游走函数的基于高斯场和调和函数的节点标记方法,提出了具有局部和全局一致性的半监督学习模型。
3.现有的图防御算法中,大多数都是对特定的分类模型进行完善,即从模型层面上来改善模型性能,而没有充分考虑图数据本身的特征,对于复杂网络和社交网络中,图数据具有丰富的特征,如同质性、度相关性和层次结构,丰富特征会对节点的分类结果有着巨大的影响,如何对图数据本身的特征保护是对节点模型保护的重要手段;现有的防御方法对于决策空间的利用少,对其在防御方面的应用未作进一步的研究,因此本文通过自训练方式,从决策空间的角度来提出在前文方法的基础上来进一步提升图节点分类模型的准确率。


技术实现要素:

4.为解决以上现有技术存在的问题,本发明提出了一种基于图纯化和决策边界的节点分类防御方法,该方法包括:获取待分类节点的数据,并对获取的数据进行格式化处理;采用攻击算法对经过格式化后的数据添加扰动信息;对添加扰动信息的数据进行图纯化处理;将图纯化处理后的数据输入到训练好的第一图节点分类模型中,得到初始分类结果;构建决策边界,根据决策边界计算初始分类结果的伪标签;将所有带伪标签的初始分类结果输入到第二图节点分类模型中,得到节点分类结果,根据分类结果对节点进行保护;其中第一图节点分类模型和第二图节点分类模型的结构相同。
5.优选的,对获取的数据进行格式化处理包括:将获取的数据以稀疏矩阵的方式进行存储;对存储的数据进行切分,即以1:1:8的方式将数据划分为带标签数据集、验证集以及无标签数据集。
6.优选的,采用攻击算法对经过格式化后的数据添加扰动信息的过程包括:通过全局攻击来对格式化后的数据添加扰动信息,其中全局攻击使用的方法为mettack,其通过元梯度方法来生成将图数据视为超参数来生成新的含有恶意信息的图数据。
7.优选的,对添加扰动信息的数据进行图纯化处理的过程包括:计算图数据的jaccard相似度;设置相似度阈值;将计算出的jaccard相似度与设置的相似度阈值进行比较,将低于相似度阈值的节点的信息作为该节点对应的边的权值,直到所有的节点选择完成,将所有的权值进行集合,形成权重矩阵。
8.进一步的,jaccard相似度计算的公式为:
[0009][0010]
其中,u和v代表计算相似度的两个节点,m
11
代表两个节点u,v在同一特征上都为1的特征对数目;m
10
代表对应特征位节点u的特征为1而v的特征为0的特征对数目;m
01
代表对应特征位节点u的特征为0而v的特征为1的特征对数目。
[0011]
优选的,对第一图节点分类模型进行训练的过程包括:
[0012]
步骤1:构建第一图节点分类模型,并随机初始化模型参数;其中构建的图节点分类模型由两层图卷积神经网络构成;
[0013]
步骤2:获取原始数据,并对原始数据进行格式化处理,并将格式化后的数据添加扰动信息;
[0014]
步骤3:对添加扰动信息数据进行图纯化处理,得到权重矩阵;
[0015]
步骤4:将经过图纯化后数据生成的权重矩阵输入到图节点分类模型的卷积图神经网络中进行卷积处理,提取输入图像的特征;
[0016]
步骤5:将提取的特征输入到下一层图卷积神经网络,输入数据在经过两层图卷积神经网络的处理后,得到初始分类结果;
[0017]
步骤6:根据初始分类结果计算模型的损失函数,调整模型的参数,当损失函数收敛时,完成模型的初始训练。
[0018]
进一步的,模型的损失函数为:
[0019][0020]
其中,crossentropyloss代表交叉熵函数,relu表示激活函数,表示图数据的度矩阵,w表示学习权重矩阵,y表示节点集合的真实标签,表示权重矩阵。
[0021]
优选的,根据决策边界计算初始分类结果的伪标签的过程包括:根据第一图节点分类模型的训练参数梯度信息和初始分类结果计算各个类别中每个节点与决策边界的距离信息;筛选出各个类别节点的距离信息的最小值,并将该节点的最小值作为分类的标准;计算无标签节点与决策边界的距离,将计算出的距离与分类标准进行对比,将距离大于设置的分类标准的节点加入到该类别对应的伪标签节点集中。
[0022]
优选的,对第二图节点分类模型进行训练的过程包括:采用半监督学习的自训练方法对第二图节点分类模型进行训练,其具体的过程包括:
[0023]
步骤1:将不同类别的伪标签节点进行汇总,得到伪标签节点训练数据集;
[0024]
步骤2:将伪标签节点数据集中的节点从原有的测试数据集中删除;
[0025]
步骤4:将伪标签训练数据集和原有的训练数据集合并得到新的训练集;
[0026]
步骤5:构建第二图节点分类模型,并随机初始化模型参数;
[0027]
步骤6:将新形成的训练集和测试集输入到图节点分类模型,当所有的节点均经过第二图节点分类模型处理后,得到最终的分类结果。
[0028]
一种基于图纯化和决策边界的节点分类防御系统,该系统包括:数据获取模块、图纯化模块、第一图节点分类模块、决策边界模块、第二节点分类模块以及结果输出模块;
[0029]
所述数据获取模块用于获取待分类防御节点中的数据,并将数据输入到图纯化模块中;
[0030]
所述图纯化模块用于对输入的数据进行预处理,并将预处理后的数据进行图纯化处理;
[0031]
所述第一图节点分类模块用户对经过图纯化处理后的数据进行分类,得到初始分类结果;
[0032]
所述决策边界模块用于构建决策边界,并采用决策边界计算初始分类结果的伪标签;
[0033]
所述第二节点分类模块用于获取所有带伪标签的初始分类结果,并根据所有带伪标签的初始分类结果采用半监督学习的自训练方法对第二图节点分类模型进行训练,得到最终的分类结果;
[0034]
所述结果输出模块用于输出最终的分类结果。
[0035]
本发明的有益效果:
[0036]
本发明采用攻击算法对节点中的数据添加了扰动信息,使得恶意节点不能获得各个节点的数据信息,从而防止节点受到恶意节点的攻击;本发明通过构建决策边界的方式计算图节点分类模型的初始分类结果的伪标签,提高了模型分类的准确性;本发明采用半监督学习的自训练方法对图节点分类模型进行训练,提高了模型的训练效率,提高了节点分类的准确度。
附图说明
[0037]
图1为本发明的关于节点分类任务与对抗攻击的简要过程;
[0038]
图2为本发明的基于图纯化和决策边界的节点分类防御系统设计模块流程图;
[0039]
图3为本发明的基于图纯化与决策边界节点分类防御系统节点分类防御方法在受到不同攻击扰动量扰动下的实验结果图;
[0040]
图4为本发明的基于图纯化与决策边界节点分类防御系统节点分类防御方法在受到不同攻击扰动量扰动下的实验结果图。
具体实施方式
[0041]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0042]
本发明提出了一种基于图纯化和决策边界的节点分类防御方法,如图1所示,该方
法在现有技术的基础上进一步考虑攻击者对于图数据自身特征的破坏,来达到减弱这些恶意信息对节点模型的影响。即攻击者向数据添加扰动信息;数据收集者收集添加扰动信息的数据,并将数据输入到节点分类模型中,得到分类结果。
[0043]
一种基于图纯化和决策边界的节点分类防御方法,如图2所示,该方法包括:获取待分类节点的数据,并对获取的数据进行格式化处理;采用攻击算法对经过格式化后的数据添加扰动信息;对添加扰动信息的数据进行图纯化处理;将图纯化处理后的数据输入到训练好的第一图节点分类模型中,得到初始分类结果;构建决策边界,根据决策边界计算初始分类结果的伪标签;将所有带伪标签的初始分类结果输入到第二图节点分类模型中,得到节点分类结果,根据分类结果对节点进行保护;其中第一图节点分类模型和第二图节点分类模型的结构相同。
[0044]
获取的数据集为cora、citeseer,其中两个数据集的信息如下:
[0045]
cora:cora由2708篇科学出版物组成,被分为七个类之一。该引文网络由5429条边组成。数据集中的每个出版物都用一个0/1值的单词向量来描述,它表示字典中有相应的单词。该词典由1433个独特的单词组成。
[0046]
citeseer:citeseer由3312份科学出版物组成,分为六类之一。该引文网络由4732个边组成。数据集中的每个出版物都用一个0/1值的单词向量来描述,它表示字典中有相应的单词。该词典由3703个独特的单词组成。
[0047]
对获取的数据进行格式化处理,其处理的过程包括:将获取的数据以稀疏矩阵的方式进行存储;对存储的数据进行切分,即以1:1:8的方式将数据划分为带标签数据集、验证集以及无标签数据集。
[0048]
采用攻击算法对经过格式化后的数据添加扰动信息的过程包括:通过全局攻击来对格式化后的数据添加扰动信息,其中全局攻击使用的方法为mettack,其通过元梯度方法来生成将图数据视为超参数来生成新的含有恶意信息的图数据进而实现对图节点分类模型的中毒攻击。其具体的步骤包括:
[0049]
步骤1:构建图节点分类模型,随机初始化参数信息。
[0050]
步骤2:通过图节点分类模型对数据集进行分类,得到所有未分类节点的标签,以及损失函数l
unlabel
,设定攻击者的损失函数为l
atk
=-l
unlabel
;其中损失函数的为图节点分类模型的损失函数。
[0051]
步骤3:通过模型训练中的得到的参数梯度信息利用多元函数求导来推导图邻接矩阵或特征矩阵的元梯度信息。
[0052]
步骤4:设定更新步长及迭代次数并通过得到的元梯度信息梯度下降更新图结构,来得到含有对抗样本的图数据。
[0053]
在本方法中选取的图节点分类模型是两层图卷积神经网络(gcn),其中的第(k+1)层的卷积层被定义为:
[0054]h(k+1)
=f(h
(k)
,a)
[0055]
其中k是选取gcn的第几层卷积,a代表图数据的邻接矩阵。
[0056]
一个特例是h
(0)
=x,其中x代表图中数据的特征矩阵。更全面的模型公式为:h
(k+1)
=σ(ah
(k)w(k)
),其中σ指代激活函数,目的是为了给模型增加非线性。w则代表不同层的参数矩阵。随着网络层数的增加,特征也变得越来越抽象,图中节点通过边于邻居节点相连,在
网络层数增加的同时节点的特征中所融合的节点信息也越多,最终通过激活函数,得到不同节点最终的置信度,完成节点分类任务。最后,选择攻击方法metattack,一种全局攻击的方法用于对提出的防御做效果验证。
[0057]
一种图纯化防御策略,该策略包括:首先,对边缘的扰动比节点特征更有效;节点特征的扰动通常难以影响节点的预测结果。导致这种现象发生的原因是,节点部分特征的变化只会在特征聚合中影响到部分的特征。但是,将边进行反转后,在特征聚合时,将会影响整个维度的节点特征。因此,对边进行反转而不是对特征进行修改是对于攻击者来说更有效的方法对于防御也是亦然。其次,对抗攻击方法更倾向于添加边,而不是删除边,因为添加一些错误的信息比减少一些原始信息对于分类任务来说更有效。此外,攻击者增加一些误导信息相比起去修改一些原始的信息更容易且有较高的可行性。从不同节点的角度来看,扰动拥有大量邻居的节点比拥有少量邻居的节点更困难。这是因为拥有较多邻居的节点在特征聚合的过程中接收到的信息要更多,选择对这样的节点进行攻击往往需要更多的误导信息,对于攻击者来说得不偿失。最后,通过实验发现,攻击者倾向于对两个不同的节点添加边来注入误导信息。
[0058]
在gcn中,使用(词袋特征)只存在0或1的邻接矩阵来表示每条边的权重。这种现象导致连接不同节点的不同边在特征聚合中具有相同的影响。因此,为了消除对抗样本的影响,引入jaccard来直接计算节点相似度,它作用于每条边的特征来计算相似度。从节点层面来叙述计算过程如下:如果两个节点具有n维二进制0-1特征,则u,v表示节点u,v特征的位的集合。m
11
表示u为1,v为1,m
01
表示u为0,v为1,m
10
表示u为1,v为0,m
00
表示u为0,v为0。图中任意两个节点之间的jaccard值都可以通过简单的矩阵运算来得到。
[0059]
图本身有许多的分类,比如无向图、有向图、带权图等等,在本方法中选择无向无权图作为标准,给定两个节点u和v,有n个二进制特征,jaccard相似度得分衡量了u和v之间特征的相似程度。对于不同的数据集中的不同类型的特征,可能会使用不同的相似度度量方法。对于具有其他特征类型的图,如数字化的特征,其中每一个特征中有多个可能取值。对于其他特征类型的图,可以灵活采用不同的相似性度量。最后,为了便于计算,将其推广到矩阵计算形式。假定图被定义为g=(v,e),其中v代表节点集,e代表边集。定义邻接矩阵为a={0,1}
|v|
×
|v|
,特征矩阵为x∈{0,1}
|v|
×d,其中d代表节点特征向量的长度。
[0060]
对添加扰动信息的数据进行图纯化处理的过程包括:计算图数据的jaccard相似度;设置相似度阈值;将计算出的jaccard相似度与设置的相似度阈值进行比较,将低于相似度阈值的节点的信息作为该节点对应的边的权值,直到所有的节点选择完成,将所有的权值进行集合,形成权重矩阵。其中,jaccard相似度计算的公式为:
[0061][0062]
其中,u和v代表计算相似度的两个节点,m
11
代表两个节点u,v在同一特征上都为1的特征对数目;m
10
代表对应特征位节点u的特征为1而v的特征为0的特征对数目;m
01
代表对应特征位节点u的特征为0而v的特征为1的特征对数目。
[0063]
对第一图节点分类模型进行训练的过程包括:
[0064]
步骤1:构建第一图节点分类模型,并随机初始化模型参数;其中构建的图节点分类模型由两层图卷积神经网络构成;
[0065]
步骤2:获取原始数据,并对原始数据进行格式化处理,并将格式化后的数据添加扰动信息;
[0066]
步骤3:对添加扰动信息数据进行图纯化处理,得到权重矩阵;
[0067]
步骤4:将经过图纯化后数据生成的权重矩阵输入到图节点分类模型的卷积图神经网络中进行卷积处理,提取输入图像的特征;
[0068]
步骤5:将提取的特征输入到下一层图卷积神经网络,输入数据在经过两层图卷积神经网络的处理后,得到初始分类结果;
[0069]
步骤6:根据初始分类结果计算模型的损失函数,调整模型的参数,当损失函数收敛时,完成模型的初始训练。
[0070]
模型的损失函数为:
[0071][0072]
其中,crossentropyloss代表交叉熵函数,relu表示激活函数,表示图数据的度矩阵,w表示学习权重矩阵,y表示节点集合的真实标签,表示权重矩阵。
[0073]
一种基于图纯化和决策边界的节点分类防御方法的具体实施方式,构建决策边界的过程包括:将每条路径定义为一个三维向量(vi,rj,vk),其中vi,vk表示由该边连接的两个节点,rj表示该边的权重。对于不同的长度的路径,将权值矩阵定义为α
i,j


i,j


i,j
等。在不同长度的路径中选择不同的阈值threshold

i,j
,threshold

i,j
,以此来为边选择适当的权重即计算出的相似度度量。
[0074]
对于长度为1的路径,根据数据集中特征的数量选取一个较低的阈值作为threshold

i,j
,将小于等于该阈值节点之间的边权更正为计算得到的jaccard值,以此来降低低相似度节点之间的边在特征聚合中起到的作用。对于长度不为一的路径,通过其边jaccard值来计算路径头部与尾部节点相似度的最大值p
max
,将其与threshold

i,j
相乘来得到新的判定阈值。计算路径头部与尾部节点相似度,通过新的阈值进行同样的筛选,将其用于设置在路径中拥有最低jaccard值的边的权重。设定长度为2的路径上节点分别为:a,b,c,则上界的计算公式如下:
[0075][0076]
具体实验结果如图3(a)所示。可以看到经过图纯化的操作过后节点分类的准确率得到了明显的提升且对于通过攻击方法添加的恶意边的处理也取得到了一定的效果。
[0077]
根据决策边界计算初始分类结果的伪标签的过程包括:根据第一图节点分类模型的训练参数梯度信息和初始分类结果计算各个类别中每个节点与决策边界的距离信息;筛选出各个类别节点的距离信息的最小值,并将该节点的最小值作为分类的标准;计算无标签节点与决策边界的距离,将计算出的距离与分类标准进行对比,将距离大于设置的分类标准的节点加入到该类别对应的伪标签节点集中。
[0078]
在节点分类任务中,以二分类为例,一条决策边界将基础向量空间划分为两个集合,决策边界一侧的节点分为一类,而将另一侧的所有点分为另一类。在多分类任务中因为要对基础向量空间进行多次划分,因此拥有多条决策边界。在对抗攻击方法中,往往要求以最小的代价来扰动节点的分类标签。在决策边界中便体现为节点在向量空间中越过某条决
策边界,对于多分类问题往往是跨过节点距离最近的决策边界来改变节点的分类结果。
[0079]
接下来开始探讨如何去粗略计算节点到最近决策边界的度量并借助得到的信息来进行相应的半监督学习的自训练(self-training)过程。在深度学习中,分类模型所形成的决策边界往往是非线性的,而且对于不同模型而言各有不同,通过数学形式来表示非线性模型相应的决策边界基本是不可能的,因此从线性决策边界的角度出发,来近似代替非线性的决策边界,进而来进行相应的度量的计算。
[0080]
一种二分类决策边界,设定二分类的决策边界,该决策边界线性近似为其中解析式定义为f(x)=w
t
x+b。通过点到超平面的距离计算公式计算点各个节点到决策边界的距离,其计算公式为:
[0081][0082]
其中,x0表示目标节点。
[0083]
对于多分类的决策边界,设定决策边界线性近似为其中解析式定义为i为节点的分类标签,fk(x)表示节点分类模型对节点x输出结果的第k维度,fi(x)表示节点分类模型对节点x输出结果输出结果的第i维度。对于任意节点的分类距离计算为:
[0084][0085]
其中,wk表示节点分类模型输出梯度信息的第k维度,wi表示节点分类模型输出梯度信息第i维度。最终近似得到不同节点到不同决策边界的最短距离。
[0086]
如图4(a)中图纯化操作对于攻击方法添加的恶意边的处理效果,随着攻击扰动量的提高,添加到gcn中的扰动边也会越多,处理效果也表现的越好。
[0087]
对第二图节点分类模型进行训练的过程包括:采用半监督学习的自训练方法对第二图节点分类模型进行训练,其具体的过程包括:
[0088]
步骤1:将不同类别的伪标签节点进行汇总,得到伪标签节点训练数据集;
[0089]
步骤2:将伪标签节点数据集中的节点从原有的测试数据集中删除;
[0090]
步骤4:将伪标签训练数据集和原有的训练数据集合并得到新的训练集;
[0091]
步骤5:构建第二图节点分类模型,并随机初始化模型参数;
[0092]
步骤6:将新形成的训练集和测试集输入到图节点分类模型,当所有的节点均经过第二图节点分类模型处理后,得到最终的分类结果。
[0093]
对于半监督学习,通过选取节点的分类置信度作为指标,取大于一定阈值节点的分类结果打上伪标签来作为新一轮的训练集进行训练;其中阈值的选取为使用训练集中的决策边界度量来选取。对于不同类别的决策边界通过对每条决策边界进行逐一计算,且同一类别使用同一类别的阈值。以此为依据,从中选取一定量的节点选为鲁棒节点,信任其分类标签将其打上伪标签加入训练集中进行训练测试,得到最终的节点分类结果。
[0094]
表1
[0095][0096]
如表1所示,在中毒图中进行伪标签节点的选取得到的节点集的准确率比测试集中的准确率高,但这种方法不将其单独使用,原因在于中毒图中大量的对抗样本在不断影响节点的分类效果。如果在自训练之前不对这些对抗样本采取相应的措施,即使找到的伪标签节点的准确率再高,对抗样本的存在都将会严重影响到自训练过程,降低模型的防御性能。因此,不单独使用自训练方式来提升模型的防御效果,而是将其与前文提到的图纯化方法结合以得到具有更鲁棒的节点分类模型。
[0097]
表2
[0098][0099]
从表2中可以看出在图纯化操作之后得到的伪标签节点数据集具有更高的准确度.在两种情况下伪标签增加的数量如图4(b),图4(c)所示。具体的防御效果如图3(b)所示,将两者结合起来不仅提升了伪标签的准确度而且也进一步提升了图节点分类模型的防御性能。最后为了对比防御方法的效果,可以将扰动数据集加入到两层图卷积神经网络中,得到实验结果来对比显示扰动数据集对模型分类效果的影响和所提出防御方法所起到的作用。
[0100]
一种基于图纯化和决策边界的节点分类防御系统,该系统包括:数据获取模块、图纯化模块、第一图节点分类模块、决策边界模块、第二节点分类模块以及结果输出模块;
[0101]
所述数据获取模块用于获取待分类防御节点中的数据,并将数据输入到图纯化模块中;
[0102]
所述图纯化模块用于对输入的数据进行预处理,并将预处理后的数据进行图纯化处理;
[0103]
所述第一图节点分类模块用户对经过图纯化处理后的数据进行分类,得到初始分类结果;
[0104]
所述决策边界模块用于构建决策边界,并采用决策边界计算初始分类结果的伪标签;
[0105]
所述第二节点分类模块用于获取所有带伪标签的初始分类结果,并根据所有带伪标签的初始分类结果采用半监督学习的自训练方法对第二图节点分类模型进行训练,得到最终的分类结果;
[0106]
所述结果输出模块用于输出最终的分类结果。
[0107]
系统的具体实施方式与本发明的方法的具体实施方式相同。
[0108]
以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1