本技术涉及图表示学习,尤其涉及针对图卷积网络的星形对抗补丁攻击方法及装置。
背景技术:
1、图是一种通用的表示形式,可用于来自生物学、化学、社会网络、推荐系统和金融系统等的数据建模。图表示学习是机器学习的关键领域之一,涉及到多个广泛研究的下游任务,如节点分类,图分类,链路预测等。对于节点分类任务,图神经网络作为一类专门针对图结构数据设计的深度模型,已经实现了最先进的性能。其中,图卷积神经网络(gcn)作为最具代表性的图神经网络模型,通过聚合邻居节点的特征对目标节点的表示进行更新,在此任务上取得了更好的结果。近年研究表明,尽管深度模型在预测准确度方面取得了很高的成就,但对于对抗性操纵的输入却很脆弱,图神经网络也继承了这个缺点。攻击者可以通过操纵图的结构或节点特征或注入新节点来产生图的对抗性扰动,从而欺骗图神经网络模型。图神经网络模型缺乏对抗性鲁棒性的固有挑战将延续到与安全相关的领域。例如,在信用评分系统中,欺诈者可以伪造与几个高信用客户的联系,以逃避欺诈检测模型。维基百科的虚假文章可以通过适当修改其链接来有效地伪装。
2、先前的绝大多数研究通过修改测试数据以误导训练模型,或者通过毒化训练数据以削弱训练,从而降低图中所有节点的分类准确性。然而,在许多实际场景中,控制现有数据被证明是具有挑战性的。相比之下,在图数据中注入新节点更具有现实意义。但是,大多数现有的图注入攻击并非旨在进行普遍的对抗攻击,它产生的扰动针对的是某个单独节点,无法保证对所有节点对抗的有效性。并且这些虚假节点通常彼此独立,缺乏结构关联,这使得它们的攻击效果较为局限。
技术实现思路
1、本技术旨在至少在一定程度上解决相关技术中的技术问题之一。
2、为此,本技术的第一个目的在于提出一种针对图卷积网络的星形对抗补丁攻击方法,解决了现有方法攻击效果较为局限的技术问题,实现了对图数据的通用攻击。
3、本技术的第二个目的在于提出一种针对图卷积网络的星形对抗补丁攻击装置。
4、本技术的第三个目的在于提出一种计算机设备。
5、本技术的第四个目的在于提出一种非临时性计算机可读存储介质。
6、为达上述目的,本技术第一方面实施例提出了一种针对图卷积网络的星形对抗补丁攻击方法,包括:
7、步骤s1:基于具有空特征的虚假节点构建星形结构补丁,并将星形结构补丁注入无向图中,在注入时将从无向图中选取的属于目标类别的节点作为连接节点连接到星形结构补丁的中心节点,形成注入补丁的扰动图;
8、步骤s2:从扰动图中选取属于非目标类别的节点作为辅助节点,计算每个辅助节点连接到星形结构补丁的中心节点后的损失函数特征梯度,并聚合所有损失函数特征梯度,得到聚合梯度;
9、步骤s3:通过多轮迭代对虚假节点进行特征更新,直至达到最大扰动次数,在每轮迭代时,重复执行步骤s2,累计该过程产生的聚合梯度,直至达到预设的步数阈值,对累积聚合梯度中最大梯度对应的虚假节点进行特征更新;
10、步骤s4:从扰动图中选取受害节点连接到星形结构补丁的中心节点,使用图卷积网络对受害节点进行节点分类,输出分类结果,基于受害节点被分类为目标类别的比例确定攻击成功率和攻击效果。
11、可选地,在本技术的一个实施例中,基于具有空特征的虚假节点构建星形结构补丁,包括:
12、将具有空特征的虚假节点之间以星形拓扑进行连边,形成以中心节点为核心,其他节点连接到中心节点的星形结构补丁。
13、可选地,在本技术的一个实施例中,步骤s2,包括:
14、从扰动图中选取属于非目标类别的辅助节点vs,ns为辅助节点数量;
15、根据辅助节点计算出虚假节点的扰动特征,使得连接到中心节点的任意受害者节点都将被图卷积网络分类成目标类别,在计算时,将求解过程转换为对优化问题的求解,优化问题为:
16、
17、s.t.‖e‖0+‖xf‖0≤δ
18、其中,‖e‖0表示虚假节点之间以及中心节点与连接节点之间的边数,‖xf‖0表示虚假节点特征的数量,xf为虚假节点特征,δ为攻击预算,为辅助节点的交叉熵损失函数,
19、
20、其中,f(a′,x′)为图卷积网络对扰动图(a′,x′)的输出,是目标类别ct的指示函数;
21、对优化问题进行求解,在求解时计算每个辅助节点的交叉熵损失函数关于虚假节点特征的梯度,并对所有辅助节点的梯度进行聚合,得到聚合梯度gradcum,聚合梯度表示为:
22、
23、其中,vs为辅助节点。
24、可选地,在本技术的一个实施例中,对目标虚假节点进行特征更新,包括:
25、步骤s31:初始化累积梯度变量;
26、步骤s32:重复执行步骤s2,将产生的关于虚假节点特征的聚合梯度累积到累积梯度变量中,直至达到预设的步数阈值;
27、步骤s33:确定累积梯度变量中最大值的特征索引位置,并对该位置的目标虚假节点进行特征更新。
28、可选地,在本技术的一个实施例中,将聚合梯度累积到累加梯度变量中,表示为:
29、gacc=gacc+gradcum
30、其中,gacc为累计梯度变量,gradcum为聚合梯度;
31、特征更新的公式为:
32、
33、其中,(i,j)为特征索引位置,i∈1,2,…,nt×nf,j∈1,2,…,d。
34、可选地,在本技术的一个实施例中,步骤s4,包括:
35、从扰动图中选取受害节点,并将其与星形结构补丁的中心节点连接,更新扰动图的邻接矩阵,形成扰动后的图结构;
36、通过图卷积网络对扰动后的图结构进行节点分类,输出每个节点被分类为各个类别的概率;
37、基于受害节点被分类为目标类别的比例计算攻击成功率,并基于攻击成功率评估星形结构补丁的攻击效果。
38、为达上述目的,本发明第二方面实施例提出了一种针对图卷积网络的星形对抗补丁攻击装置,包括:
39、星形结构补丁构建模块,用于基于具有空特征的虚假节点构建星形结构补丁,并将星形结构补丁注入无向图中,在注入时将从无向图中选取的属于目标类别的节点作为连接节点连接到星形结构补丁的中心节点,形成注入补丁的扰动图;
40、梯度计算模块,用于从扰动图中选取属于非目标类别的节点作为辅助节点,计算每个辅助节点连接到星形结构补丁的中心节点后的损失函数特征梯度,并聚合所有损失函数特征梯度,得到聚合梯度;
41、累计梯度与特征更新模块,用于通过多轮迭代对虚假节点进行特征更新,直至达到最大扰动次数,在每轮迭代时,重复调用梯度计算模块,累计该过程产生的聚合梯度,直至达到预设的步数阈值,对累积聚合梯度中最大梯度对应的虚假节点进行特征更新;
42、攻击执行模块,用于从扰动图中选取受害节点连接到星形结构补丁的中心节点,使用图卷积网络对受害节点进行节点分类,输出分类结果,基于受害节点被分类为目标类别的比例确定攻击成功率和攻击效果。
43、为达上述目的,本发明第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现上述针对图卷积网络的星形对抗补丁攻击方法。
44、为了实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器被执行时,能够执行上述针对图卷积网络的星形对抗补丁攻击方法。
45、本技术实施例的针对图卷积网络的星形对抗补丁攻击方法,通过构建星形对抗补丁,将虚假节点以星形结构注入图数据中,星形结构确保了虚假节点之间的紧密连接,提高了扰动的传播效果,并结合辅助节点梯度聚合技术,从而实现广泛有效的攻击。同时在更新特征扰动时采用多步累积梯度策略平滑梯度波动,提高攻击的稳定性。
46、本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。