CN117592550B - 一种图神经网络模型黑盒攻击方法及装置 - Google Patents
一种图神经网络模型黑盒攻击方法及装置 Download PDFInfo
- Publication number
- CN117592550B CN117592550B CN202410078661.XA CN202410078661A CN117592550B CN 117592550 B CN117592550 B CN 117592550B CN 202410078661 A CN202410078661 A CN 202410078661A CN 117592550 B CN117592550 B CN 117592550B
- Authority
- CN
- China
- Prior art keywords
- disturbance
- iteration
- graph
- gradient
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000003062 neural network model Methods 0.000 title claims abstract description 50
- 238000012549 training Methods 0.000 claims abstract description 76
- 238000012360 testing method Methods 0.000 claims abstract description 50
- 230000008485 antagonism Effects 0.000 claims abstract description 10
- 239000011159 matrix material Substances 0.000 claims description 61
- 230000006870 function Effects 0.000 claims description 40
- 238000010586 diagram Methods 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 17
- 238000005070 sampling Methods 0.000 claims description 10
- 238000009825 accumulation Methods 0.000 claims description 5
- 238000000547 structure data Methods 0.000 claims description 5
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 description 19
- 238000004590 computer program Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000008260 defense mechanism Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/094—Adversarial learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0985—Hyperparameter optimisation; Meta-learning; Learning-to-learn
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提出了一种图神经网络模型黑盒攻击方法及装置,该方法包括:获取原始图数据并选择代理模型,根据原始图数据与代理模型,得到预测标签;将原始图数据初始化作为初始化后的对抗图,将对抗图输入到代理模型进行训练,得到目标代理模型;根据预测标签与目标代理模型,计算本次迭代的测试集损失,并基于两次迭代测试集损失值之差判断扰动是否满足预设条件,如果不满足预设条件,对扰动进行校正;在扰动满足预设条件时,根据损失函数构建增强动量梯度对当前对抗图进行更新,生成本次迭代的对抗图;当迭代次数达到预设迭代次数时,利用最终生成的对抗图对其他图神经网络模型进行攻击。本申请能够欺骗图神经网络模型,攻击基于图数据的应用系统。
Description
技术领域
本申请涉及图神经网络安全领域,尤其涉及一种图神经网络模型黑盒攻击方法及装置。
背景技术
图数据是一种表示对象及对象之间关系的数据结构,被广泛应用于各种领域,从社交网络、交通网络、知识图谱到推荐系统都可以表示为图数据。图神经网络模型将基于深度学习的方法应用至图数据上,来学习图数据中深层次的结构信息和语义信息,已成为图学习的主流方法,被广泛应用于各种与图数据相关的下游任务,如节点分类、链路预测、图分类等,并取得了最先进的性能。虽然图神经网络模型在各种图数据分析任务中具有出色的性能,但在实践中也引起了迫切的安全问题。近年研究表明,深度学习模型往往缺乏鲁棒性,图神经网络模型很容易受到对抗性攻击,攻击者只需在图上添加微小的扰动(如添加或删除有限的边),就能轻松欺骗GNN模型,从而使应用于实际场景的图神经网络模型算法存在明显漏洞,严重影响了实际应用系统的可靠性和安全性。例如,在社交网络中,用户之间的关系通常被表示为图。攻击者可以创建大量虚假账户,这些假冒账户在图中模拟社交关系。这些虚假账户可能会与真实用户建立虚假的友谊关系,以获得更多的关注和信任。这可以用于虚假宣传、舆论操纵或其他恶意目的。因此,针对图神经网络模型对抗攻击的研究是非常有必要的,它不仅有助于深入理解图神经网络模型的工作原理和脆弱性,而且对于提高图神经网络模型的鲁棒性和安全性具有重要意义。
现有的图对抗攻击方法主要分为基于梯度的方法和基于非梯度的方法。其中,基于非梯度的方法,攻击者更偏向采用强化学习的方法,通过频繁查询目标模型的输出结果以修改图数据。这种方法计算量大,成本高且容易引起防御机制的察觉。相比于此,基于梯度的方法,即攻击者利用模型的目标损失对图结构的梯度信息迭代地指导对抗扰动的生成,最终生成对抗样本对图神经网络模型进行对抗性攻击,这种方法更简单、更高效、更容易实现,是目前的主流攻击策略。
但是它也面临了一定的问题。目前基于梯度的方法由于直接利用目标损失在图结构上的梯度往往存在较大的梯度波动,使模型在攻击迭代中生成不稳定的结构梯度,进而导致生成的扰动不稳定,损害攻击性能。此外,由于图结构的离散性,基于梯度的方法无法保证生成的扰动是有效可靠的扰动,目前存在生成一些攻击结果与预期相反的恶意扰动,这类方法没有考虑生成扰动的可靠性。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一个目的在于提出一种图神经网络模型黑盒攻击方法,用于解决现有攻击技术生成的扰动不稳定、不可靠,攻击结果不理想的问题。
本申请的第二个目的在于提出一种图神经网络模型黑盒攻击装置。
本申请的第三个目的在于提出一种电子设备。
为达上述目的,本申请第一方面实施例提出一种图神经网络模型黑盒攻击方法,包括以下步骤:
获取原始图数据并选择代理模型,将所述原始图数据划分为训练集与测试集,根据所述训练集训练所述代理模型,并将所述测试集输入到训练好的所述代理模型中,得到所述测试集的预测标签;
将所述原始图数据初始化作为初始化后的对抗图,将初始化后的所述对抗图输入到所述代理模型进行训练,训练结束后,得到目标代理模型;
根据所述预测标签与所述目标代理模型,计算本次迭代的测试集损失,并基于两次迭代测试集损失值之差判断前一次迭代的扰动是否满足预设条件,如果不满足预设条件,对所述扰动进行校正;
在所述扰动满足预设条件时,根据所述目标代理模型的损失函数构建增强动量梯度,根据所述增强动量梯度对所述对抗图进行更新,生成本次迭代的对抗图,其中,将本次迭代的对抗图作为下次迭代的输入;
当迭代次数达到预设迭代次数时,利用最终生成的对抗图对其他图神经网络模型进行攻击。
可选的,所述获取原始图数据并选择代理模型,包括:
选择图结构数据集作为所述原始图数据,其中,所述原始图数据包括原始图的邻接矩阵及特征矩阵,表示为,/>表示所述原始图的邻接矩阵,/>表示所述原始图的特征矩阵;
选择图神经网络模型作为所述代理模型,其中,所述图神经网络模型的递归表达式和输出表达式分别为:
其中,和/>分别为所述原始图的邻接矩阵和特征矩阵,/>表示/>层的隐藏特征矩阵,/>和/>分别经过单位矩阵进行自循环的邻接矩阵和度矩阵,/>是可训练的权重矩阵,表示非线性激活函数,/>为所述图神经网络模型的预测输出,/>为所述图神经网络模型学习的映射函数,/>为经过拉普拉斯正则操作后的稀疏邻接矩阵。
可选的,所述将初始化后的所述对抗图输入到所述代理模型进行训练,训练结束后,得到目标代理模型,包括:
选择交叉熵损失函数作为所述代理模型的损失函数,其中,所述交叉熵损失函数的表达式为:
其中,为由所述对抗图构成的训练集的节点,/>为将节点分配为类/>的概率;
使用Adam优化器训练所述代理模型,直至所述代理模型在所述训练集上收敛,训练结束后,得到所述目标代理模型。
可选的,所述基于两次迭代测试集损失值之差判断前一次迭代的扰动是否满足预设条件,包括:
将两次迭代测试集损失值之差作为前一次迭代生成扰动的扰动判断分数,其中,所述扰动判断分数的计算公式为:
其中,和/>分别为经过第k次和第k-1次生成的对抗图的邻接矩阵,和/>分别为第k次和第k-1次迭代的测试集节点的交叉熵损失函数值;
比较所述扰动判断分数与分数阈值,若所述扰动判断分数不小于所述分数阈值,则前一次迭代的扰动满足预设条件,否则,判断其为恶意扰动。
可选的,所述交叉熵损失函数值的计算公式为:
其中,是模型/>在上/>的预测,/>是所述预测标签,/>为所述测试集节点。
可选的,在所述扰动被判断为恶意扰动时,对所述扰动进行校正,包括:
根据恶意扰动对应的节点对/>的一阶邻居构造候选集/>利用余弦相似度计算所述候选集中候选边的余弦相似度值;
选择所述余弦相似度值最大的对应连边,替代所述恶意扰动。
可选的,所述在所述扰动满足预设条件时,根据所述目标代理模型的损失函数构建增强动量梯度,根据所述增强动量梯度对所述对抗图进行更新,生成本次迭代的对抗图,包括:
利用所述目标代理模型的训练损失,根据反向传播规则,求解训练损失于输入邻接矩阵的梯度,并在每次梯度计算时,先利用前一次迭代的梯度预先确定更新方向,即:
其中,表示第/>次迭代时的归一化邻接矩阵,/>是衰减因子,/>是在区间/>中采样的第/>个系数,/>是前一次迭代的归一化的平均梯度;
沿所述更新方向上采样多次并进行梯度计算,得到采样的平均梯度,即:
其中,是采样数量,/>为根据/>对/>求梯度;
对所述采样的平均梯度进行动量累计,得到本次迭代的增强动量梯度,计算公式为:
其中,为第/>次的增强动量梯度,/>为第/>次迭代的采样的平均梯度;
根据本次迭代的所述增强动量梯度,确定当前对抗图中各条边的梯度值,选择梯度值最大的元素对应的连边进行翻转,得到本次迭代的对抗图
可选的,所述选择梯度值最大的元素对应的连边进行翻转,包括:
若所选的边为,根据这条边的梯度符号及在所述对抗图中是否存在,决定是否添加/删除这条边,计算公式为:
其中,为第k次迭代时边/>的邻接矩阵。
为达上述目的,本申请第二方面实施例提出了一种图神经网络模型黑盒攻击装置,包括:
输入模块,用于获取原始图数据并选择代理模型,将所述原始图数据划分为训练集与测试集,根据所述训练集训练所述代理模型,并将所述测试集输入到训练好的所述代理模型中,得到所述测试集的预测标签;
训练模块,用于将所述原始图数据初始化作为初始化后的对抗图,将初始化后的所述对抗图输入到所述代理模型进行训练,训练结束后,得到目标代理模型;
扰动判断模块,用于根据所述预测标签与所述目标代理模型,计算本次迭代的测试集损失,并基于两次迭代测试集损失值之差判断前一次迭代的扰动是否满足预设条件,如果不满足预设条件,对所述扰动进行校正;
更新模块,用于在所述扰动满足预设条件时,根据所述目标代理模型的损失函数构建增强动量梯度,根据所述增强动量梯度对所述对抗图进行更新,生成本次迭代的对抗图,其中,将本次迭代的对抗图作为下次迭代的输入;
攻击模块,用于当迭代次数达到预设迭代次数时,利用最终生成的对抗图对其他图神经网络模型进行攻击。
为达上述目的,本申请第三方面实施例提出了一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如上述第一方面中任一项所述的方法。
为达上述目的,本申请第四方面实施例提出了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述第一方面中任一项所述的方法。
为达上述目的,本申请第五方面实施例提出了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项所述的方法。
本申请的实施例提供的技术方案至少带来以下有益效果:
通过多次迭代对对抗图进行更新,在每次迭代中对上一次的扰动进行校正,并通过梯度计算,构建增强动量梯度,以进行添加扰动处理,生成最终的对抗图对其他图神经网络模型进行攻击,从而通过修改图结构或节点特征,以欺骗图神经网络模型等算法,对基于图数据的应用系统造成影响,解决现有攻击技术生成的扰动不稳定、不可靠,攻击结果不理想的问题。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本申请实施例示出的一种图神经网络模型黑盒攻击方法的流程图;
图2是根据本申请实施例示出的对扰动进行判断处理的流程图;
图3是根据本申请实施例示出的一种图神经网络模型黑盒攻击装置的框图;
图4是一种电子设备的框图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的图神经网络模型黑盒攻击方法和装置。
图1是根据本申请实施例示出的一种图神经网络模型黑盒攻击方法的流程图。
如图1所示,该方法包括以下步骤:
步骤101,获取原始图数据并选择代理模型,将原始图数据划分为训练集与测试集,根据训练集训练代理模型,并将测试集输入到训练好的代理模型中,得到测试集的预测标签。
本申请实施例中,需要进行原始图数据的获取以及代理模型的选择。
可以理解的是,网络上有各种公开的原始图数据集,从其中选择某些论文的图结构数据集作为本申请中原始图数据,其中,原始图数据包括原始图的邻接矩阵及特征矩阵,表示为,/>表示原始图的邻接矩阵,/>表示原始图的特征矩阵。
需要说明的是,本申请中原始图数据的获取方式并不局限于公开的图结构数据集,部分未公开的图结构数据集也可以作为本申请原始图数据的获取来源。
在本申请实施例中,选取图神经网络模型作为代理模型,其中,图神经网络模型的递归表达式和输出表达式分别为:
其中,和/>分别为原始图的邻接矩阵和特征矩阵,/>表示/>层的隐藏特征矩阵,和/>分别经过单位矩阵进行自循环的邻接矩阵和度矩阵,/>是可训练的权重矩阵,/>表示非线性激活函数,/>为图神经网络模型的预测输出,/>为图神经网络模型学习的映射函数,/>为经过拉普拉斯正则操作后的稀疏邻接矩阵。
由此,将原始图输入图神经网络模型,能够获得预测标签。
可以理解的是,本步骤所进行的是数据的准备工作,在此步骤中,对超参数进行设定。
本申请实施例中,超参数包括迭代次数,衰减因子/>和阈值/>,迭代次数为步骤S2-S4的重复次数,衰减因子/>在后续确定更新方向时发挥作用,影响攻击效果,阈值/>则是判断扰动是否符合预设条件的依据,可以限制损失的变化程度。
能够理解的是,根据预设比例将原始图数据划分为训练集与测试集,根据训练集训练代理模型,并将测试集输入到训练好的代理模型中,得到测试集的预测标签是比较常规的训练过程,划分的预设比例根据实际场景而决定。
能够理解的是,模型的训练是个重复迭代的过程,通过不断地调整模型的网络参数进行训练,直到模型整体的损失函数值小于预设值,或者模型整体的损失函数值不再变化或变化幅度缓慢,模型收敛,得到训练好的模型。
可选地,还可为达到预设的训练次数,则可认为训练结束。
可选地,还可为达到预设的训练时间,则可认为训练结束。
步骤102,将原始图数据初始化作为初始化后的对抗图,将初始化后的对抗图输入到代理模型进行训练,训练结束后,得到目标代理模型。
本申请实施例中,对抗图初始化就是将对抗图初始化为原始图,然后每次迭代修改一条边,对应就是对对抗图的邻接矩阵做一个位置修改,也即是每次迭代对抗图都更新一次。最后通过T次迭代,修改T条边,利用最终生成的对抗图来攻击其他图神经网络模型。
可以理解的是,迭代前,将原始图初始化作为输入的对抗图,而在迭代过程中输入的对抗图为上次迭代中生成的。
本申请实施例中,对于对抗图,将其输入到代理模型进行训练,在此过程中,选择交叉熵损失函数作为代理模型的损失函数,并使用Adam优化器训练代理模型,直至代理模型在训练集上收敛,训练结束后,得到目标代理模型。
其中,交叉熵损失函数的表达式为:
其中,为由对抗图构成的训练集的节点,/>为将节点分配为类/>的概率。
能够理解的是,模型的训练是个重复迭代的过程,通过不断地调整模型的网络参数进行训练,直到模型整体的损失函数值小于预设值,或者模型整体的损失函数值不再变化或变化幅度缓慢,模型收敛,得到训练好的模型。
可选地,还可为达到预设的训练次数,则可认为训练结束。
可选地,还可为达到预设的训练时间,则可认为训练结束。
可以理解的是,在训练前,对代理模型的测试集损失值进行初始化。
步骤103,根据预测标签与目标代理模型,计算本次迭代的测试集损失,并基于两次迭代测试集损失值之差判断前一次迭代的扰动是否满足预设条件,如果不满足预设条件,对扰动进行校正。
本申请实施例中,为了保证所选扰动的可靠性,每次迭代需要对前一次迭代的扰动进行判断,判断过程如图2所示。
具体的,将两次迭代测试集损失值之差作为前一次迭代生成扰动的扰动判断分数,其中,扰动判断分数的计算公式为:
其中,和/>分别为经过第k次和第k-1次生成的对抗图的邻接矩阵,和/>分别为第k次和第k-1次迭代的测试集节点的交叉熵损失函数值;
其中,交叉熵损失函数值的计算公式为:
其中,是模型/>在上/>的预测,/>是预测标签,/>为测试集节点。
随后,比较扰动判断分数与分数阈值,若扰动判断分数不小于分数阈值,则前一次迭代的扰动满足预设条件,否则,判断其为恶意扰动
当扰动满足预设条件时,无需对扰动进行修改,
当扰动被判断为恶意扰动时,需要对其进行修改,记该恶意扰动表示为。
本申请实施例中,根据恶意扰动对应的节点对/>的一阶邻居构造候选集利用余弦相似度/>计算候选集中候选边的余弦相似度值。
由于余弦相似度值可以反应候选集中候选边的重要性,值越高,说明对应的边越重要,因此本申请实施例中,选择余弦相似度值最大的对应连边,来替代恶意扰动。
步骤104,在扰动满足预设条件时,根据目标代理模型的损失函数构建增强动量梯度,根据增强动量梯度对对抗图进行更新,生成本次迭代的对抗图。
本申请实施例中,通过模型的损失函数对当前对抗图进行梯度计算,构建增强动量梯度,并基于增强动量梯度进行添加扰动处理,生成本次迭代的对抗扰动,其中,将本次迭代的对抗图作为下次迭代的输入。
具体的,步骤104的实施步骤为:
(1)利用目标代理模型的训练损失,根据反向传播规则,求解训练损失于输入邻接矩阵的梯度,并在每次梯度计算时,先利用前一次迭代的梯度预先确定更新方向,即:
其中,表示第/>次迭代时的归一化邻接矩阵,/>是衰减因子,/>是在区间/>中采样的第/>个系数,/>是前一次迭代的归一化的平均梯度;
然后沿更新方向上采样多次并进行梯度计算,得到采样的平均梯度,即:
其中,是采样数量,/>为根据/>对/>求梯度。
(2)进一步对采样的平均梯度进行动量累计,得到本次迭代的增强动量梯度,计算公式为:
其中,为第/>次的增强动量梯度,/>为第/>次迭代的采样的平均梯度。
(3)根据本次迭代的增强动量梯度,确定当前对抗图中各条边的梯度值,选择梯度值最大的元素对应的连边进行翻转,得到本次迭代的对抗图,从而更新对抗图的邻接矩阵。
翻转的具体过程是:
设所选的边为,根据这条边的梯度符号及在当前对抗图中是否存在,决定是否添加/删除这条边,即:
其中,为第k次迭代时边/>的邻接矩阵。
由此,得到本次迭代最终生成的对抗图。
步骤105,当迭代次数达到预设迭代次数时,利用最终生成的对抗图对其他图神经网络模型进行攻击。
本申请实施例中,在迭代次数达到预先设置的迭代次数时,停止整个迭代过程,并利用最后一次迭代生成的对抗图对其他图神经网络模型进行攻击。
本申请实施例通过多次迭代对对抗图进行更新,在每次迭代中对上一次的扰动进行校正,并通过梯度计算,构建增强动量梯度,以进行添加扰动处理,生成最终的对抗图对其他图神经网络模型进行攻击,从而通过修改图结构或节点特征,以欺骗图神经网络模型等算法,对基于图数据的应用系统造成影响,解决现有攻击技术生成的扰动不稳定、不可靠,攻击结果不理想的问题。
图3是根据本申请实施例示出的一种图神经网络模型黑盒攻击装置10的框图,包括:输入模块100、训练模块200、扰动判断模块300、更新模块400和攻击模块500。
输入模块100,用于获取原始图数据并选择代理模型,将原始图数据划分为训练集与测试集,根据训练集训练代理模型,并将测试集输入到训练好的代理模型中,得到测试集的预测标签;
训练模块200,用于将原始图数据初始化作为初始化后的对抗图,将初始化后的对抗图输入到代理模型进行训练,训练结束后,得到目标代理模型;
扰动判断模块300,用于根据预测标签与目标代理模型,计算本次迭代的测试集损失,并基于两次迭代测试集损失值之差判断前一次迭代的扰动是否满足预设条件,如果不满足预设条件,对扰动进行校正;
更新模块400,用于在扰动满足预设条件时,根据目标代理模型的损失函数构建增强动量梯度,根据增强动量梯度对对抗图进行更新,生成本次迭代的对抗图,其中,将本次迭代的对抗图作为下次迭代的输入;
攻击模块500,用于当迭代次数达到预设迭代次数时,利用最终生成的对抗图对其他图神经网络模型进行攻击。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图4示出了可以用来实施本申请的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图4所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如语音指令响应方法。例如,在一些实施例中,语音指令响应方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的语音指令响应方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行语音指令响应方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称 "VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (9)
1.一种图神经网络模型黑盒攻击方法,其特征在于,包括:
获取原始图数据并选择代理模型,将所述原始图数据划分为训练集与测试集,根据所述训练集训练所述代理模型,并将所述测试集输入到训练好的所述代理模型中,得到所述测试集的预测标签;
将所述原始图数据初始化作为初始化后的对抗图,将初始化后的所述对抗图输入到所述代理模型进行训练,训练结束后,得到目标代理模型;
根据所述预测标签与所述目标代理模型,计算本次迭代的测试集损失,并基于两次迭代测试集损失值之差判断前一次迭代的扰动的有效性,如果为无效扰动,对所述扰动进行校正;
在所述扰动为有效扰动时,根据所述目标代理模型的损失函数构建增强动量梯度,根据所述增强动量梯度对所述对抗图进行更新,生成本次迭代的对抗图,其中,将本次迭代的对抗图作为下次迭代的输入;
当迭代次数达到预设迭代次数时,利用最终生成的对抗图对其他图神经网络模型进行攻击;
所述基于两次迭代测试集损失值之差判断前一次迭代的扰动的有效性,包括:
将两次迭代测试集损失值之差作为前一次迭代生成扰动的扰动判断分数,其中,所述扰动判断分数的计算公式为:
其中,和/>分别为经过第k次和第k-1次生成的对抗图的邻接矩阵,和/>分别为第k次和第k-1次迭代的测试集节点的交叉熵损失函数值;
比较所述扰动判断分数与分数阈值,若所述扰动判断分数不小于所述分数阈值,则前一次迭代的扰动为有效扰动,否则,判断其为无效扰动;
所述在所述扰动为有效扰动时,根据所述目标代理模型的损失函数构建增强动量梯度,根据所述增强动量梯度对所述对抗图进行更新,生成本次迭代的对抗图,包括:
利用所述目标代理模型的训练损失,根据反向传播规则,求解训练损失于输入邻接矩阵的梯度,并在每次梯度计算时,先利用前一次迭代采样的平均梯度预先确定邻接矩阵更新方向,即:
其中,表示第/>次迭代时的归一化邻接矩阵,/>是衰减因子,/>是在区间/>中采样的第/>个系数,/>是前一次迭代的归一化的平均梯度;
沿所述更新方向上采样多次邻接矩阵并进行梯度计算,得到采样的平均梯度,即:
其中,是采样数量,/>为根据/>对/>求梯度;
对所述采样的平均梯度进行动量累积,得到本次迭代的增强动量梯度;
根据本次迭代的所述增强动量梯度,确定当前对抗图中各条边的梯度值,选择梯度值最大的元素对应的连边进行翻转,得到本次迭代的对抗图
2.根据权利要求1所述的方法,其特征在于,所述获取原始图数据并选择代理模型,包括:
选择图结构数据集作为所述原始图数据,其中,所述原始图数据包括原始图的邻接矩阵及特征矩阵,表示为,/>表示所述原始图的邻接矩阵,/>表示所述原始图的特征矩阵;
选择图神经网络模型作为所述代理模型,其中,所述图神经网络模型的递归表达式和输出表达式分别为:
其中,和/>分别为所述原始图的邻接矩阵和特征矩阵,/>表示/>层的隐藏特征矩阵,和/>分别经过单位矩阵进行自循环的邻接矩阵和度矩阵,/>是可训练的权重矩阵,/>表示非线性激活函数,/>为所述图神经网络模型的预测输出,/>为所述图神经网络模型学习的映射函数,/>为经过拉普拉斯正则操作后的稀疏邻接矩阵。
3.根据权利要求2所述的方法,其特征在于,所述将初始化后的所述对抗图输入到所述代理模型进行训练,训练结束后,得到目标代理模型,包括:
选择交叉熵损失函数作为所述代理模型的损失函数,其中,所述交叉熵损失函数的表达式为:
其中,为由所述对抗图构成的训练集的节点,/>为将节点分配为类/>的概率;
使用Adam优化器训练所述代理模型,直至所述代理模型在所述训练集上收敛,训练结束后,得到所述目标代理模型。
4.根据权利要求1所述的方法,其特征在于,所述交叉熵损失函数值的计算公式为:
其中,是模型/>在上/>的预测,/>是所述预测标签,/>为所述测试集节点。
5.根据权利要求1所述的方法,其特征在于,在所述扰动被判断为无效扰动时,对所述扰动进行校正,包括:
根据无效扰动对应的节点对/>的一阶邻居构造候选集/>利用余弦相似度/>计算所述候选集中候选边的余弦相似度值;
选择所述余弦相似度值最大的对应连边,替代所述无效扰动。
6.根据权利要求1所述的方法,其特征在于,所述对所述采样的平均梯度进行动量累积,得到本次迭代的增强动量梯度,计算公式为:
其中,为第/>次的增强动量梯度,/>为第/>次迭代的采样的平均梯度。
7.根据权利要求1所述的方法,其特征在于,所述选择梯度值最大的元素对应的连边进行翻转,包括:
若所选的边为,根据这条边的梯度符号及在所述对抗图中是否存在,决定是否添加/删除这条边,计算公式为:
其中,为第k次迭代时边/>的邻接矩阵。
8.一种图神经网络模型黑盒攻击装置,其特征在于,包括:
输入模块,用于获取原始图数据并选择代理模型,将所述原始图数据划分为训练集与测试集,根据所述训练集训练所述代理模型,并将所述测试集输入到训练好的所述代理模型中,得到所述测试集的预测标签;
训练模块,用于将所述原始图数据初始化作为初始化后的对抗图,将初始化后的所述对抗图输入到所述代理模型进行训练,训练结束后,得到目标代理模型;
扰动判断模块,用于根据所述预测标签与所述目标代理模型,计算本次迭代的测试集损失,并基于两次迭代测试集损失值之差判断前一次迭代的扰动的有效性,如果为无效扰动,对所述扰动进行校正;
更新模块,用于在所述扰动为有效扰动时,根据所述目标代理模型的损失函数构建增强动量梯度,根据所述增强动量梯度对所述对抗图进行更新,生成本次迭代的对抗图,其中,将本次迭代的对抗图作为下次迭代的输入;
攻击模块,用于当迭代次数达到预设迭代次数时,利用最终生成的对抗图对其他图神经网络模型进行攻击;
所述基于两次迭代测试集损失值之差判断前一次迭代的扰动的有效性,包括:
将两次迭代测试集损失值之差作为前一次迭代生成扰动的扰动判断分数,其中,所述扰动判断分数的计算公式为:
其中,和/>分别为经过第k次和第k-1次生成的对抗图的邻接矩阵,和/>分别为第k次和第k-1次迭代的测试集节点的交叉熵损失函数值;
比较所述扰动判断分数与分数阈值,若所述扰动判断分数不小于所述分数阈值,则前一次迭代的扰动为有效扰动,否则,判断其为无效扰动;
所述在所述扰动为有效扰动时,根据所述目标代理模型的损失函数构建增强动量梯度,根据所述增强动量梯度对所述对抗图进行更新,生成本次迭代的对抗图,包括:
利用所述目标代理模型的训练损失,根据反向传播规则,求解训练损失于输入邻接矩阵的梯度,并在每次梯度计算时,先利用前一次迭代采样的平均梯度预先确定邻接矩阵更新方向,即:
其中,表示第/>次迭代时的归一化邻接矩阵,/>是衰减因子,/>是在区间/>中采样的第/>个系数,/>是前一次迭代的归一化的平均梯度;
沿所述更新方向上采样多次邻接矩阵并进行梯度计算,得到采样的平均梯度,即:
其中,是采样数量,/>为根据/>对/>求梯度;
对所述采样的平均梯度进行动量累积,得到本次迭代的增强动量梯度;
根据本次迭代的所述增强动量梯度,确定当前对抗图中各条边的梯度值,选择梯度值最大的元素对应的连边进行翻转,得到本次迭代的对抗图
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410078661.XA CN117592550B (zh) | 2024-01-19 | 2024-01-19 | 一种图神经网络模型黑盒攻击方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410078661.XA CN117592550B (zh) | 2024-01-19 | 2024-01-19 | 一种图神经网络模型黑盒攻击方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117592550A CN117592550A (zh) | 2024-02-23 |
CN117592550B true CN117592550B (zh) | 2024-04-30 |
Family
ID=89910318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410078661.XA Active CN117592550B (zh) | 2024-01-19 | 2024-01-19 | 一种图神经网络模型黑盒攻击方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117592550B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112149609A (zh) * | 2020-10-09 | 2020-12-29 | 中国人民解放军空军工程大学 | 一种针对电能质量信号神经网络分类模型的黑盒对抗样本攻击方法 |
-
2024
- 2024-01-19 CN CN202410078661.XA patent/CN117592550B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112149609A (zh) * | 2020-10-09 | 2020-12-29 | 中国人民解放军空军工程大学 | 一种针对电能质量信号神经网络分类模型的黑盒对抗样本攻击方法 |
Non-Patent Citations (2)
Title |
---|
A Black-Box Adversarial Attack Method via Nesterov Accelerated Gradient and Rewiring Towards Attacking Graph Neural Networks;Shu Zhao 等;《IEEE Transactions on Big Data》;20231231;第9卷(第6期);第1587-1591页和图1-3 * |
Are Gradients on Graph Structure Reliable in Gray-box Attacks?;Zihan Liu 等;《2022 Association for Computing Machinery》;20221231;第5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117592550A (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113408743B (zh) | 联邦模型的生成方法、装置、电子设备和存储介质 | |
CN112907552B (zh) | 图像处理模型的鲁棒性检测方法、设备及程序产品 | |
CN112580733B (zh) | 分类模型的训练方法、装置、设备以及存储介质 | |
CN112214775A (zh) | 对图数据的注入式攻击方法、装置、介质及电子设备 | |
CN112580728B (zh) | 一种基于强化学习的动态链路预测模型鲁棒性增强方法 | |
CN113360580A (zh) | 基于知识图谱的异常事件检测方法、装置、设备及介质 | |
CN111401521A (zh) | 神经网络模型训练方法及装置、图像识别方法及装置 | |
CN111291760A (zh) | 图像的语义分割方法、装置及电子设备 | |
CN114677565A (zh) | 特征提取网络的训练方法和图像处理方法、装置 | |
CN115330579B (zh) | 模型水印的构建方法、装置、设备及存储介质 | |
CN116383708A (zh) | 一种交易账号的识别方法及装置 | |
CN117057258B (zh) | 基于权重分配相关系数的黑启动过电压预测方法及系统 | |
CN113011155B (zh) | 用于文本匹配的方法、装置、设备和存储介质 | |
CN112364198B (zh) | 一种跨模态哈希检索方法、终端设备及存储介质 | |
CN113657468A (zh) | 预训练模型的生成方法、装置、电子设备和存储介质 | |
CN117592550B (zh) | 一种图神经网络模型黑盒攻击方法及装置 | |
CN115170919B (zh) | 图像处理模型训练及图像处理方法、装置、设备和存储介质 | |
CN116720009A (zh) | 一种社交机器人检测方法、装置、设备及存储介质 | |
CN115346072A (zh) | 图像分类模型的训练方法及装置、电子设备和存储介质 | |
CN112784967B (zh) | 信息处理方法、装置以及电子设备 | |
CN113361719A (zh) | 基于图像处理模型的增量学习方法和图像处理方法 | |
CN113591095B (zh) | 一种标识信息处理方法、装置及电子设备 | |
CN115935027B (zh) | 目标对象拓扑图的数据处理方法及图分类模型的训练方法 | |
CN114495236B (zh) | 图像分割方法、装置、设备、介质及程序产品 | |
CN115086054B (zh) | 基于自注意力生成对抗网络的恶意域名检测方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |