CN113505855A - 一种对抗攻击模型的训练方法 - Google Patents
一种对抗攻击模型的训练方法 Download PDFInfo
- Publication number
- CN113505855A CN113505855A CN202110868192.8A CN202110868192A CN113505855A CN 113505855 A CN113505855 A CN 113505855A CN 202110868192 A CN202110868192 A CN 202110868192A CN 113505855 A CN113505855 A CN 113505855A
- Authority
- CN
- China
- Prior art keywords
- generator
- attack
- discrimination
- node
- loss
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012549 training Methods 0.000 title claims abstract description 61
- 238000009826 distribution Methods 0.000 claims abstract description 41
- 238000005070 sampling Methods 0.000 claims description 43
- 230000002159 abnormal effect Effects 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 238000011478 gradient descent method Methods 0.000 claims description 5
- 201000003723 learning disability Diseases 0.000 claims description 5
- 230000000694 effects Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 7
- 238000009795 derivation Methods 0.000 description 5
- 230000007123 defense Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/045—Combinations of 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Medical Informatics (AREA)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种对抗攻击模型的训练方法,对抗攻击模型包括生成器和判别器,该方法包括:S1、将异构图代入嵌入模型得到各节点的初始嵌入表示;S2、为异构图中的每种关系分别构建一组生成器和判别器;S3、针对每种关系,利用从异构图取样的真实连接节点对和从生成器取样的生成节点对,训练判别器生成指示关系真实性的判别分数,生成器基于判别分数更新自身参数以提高生成节点对的判别分数,重复该步骤以得到训练好的多个判别器;S4、针对每种关系,将扰动异构图代入嵌入模型获得各节点的新嵌入表示,以降低攻击目标节点对的判别分数作为目标训练生成器学习扰动分布,重复该步骤以得到训练好的多个生成器。
Description
技术领域
本发明涉及图机器学习安全领域,具体涉及一种对抗攻击模型的训练方法。
背景技术
异构图包含多种类型的节点和关系,在现实世界中无处不在,如电影关系图中通常包含电影、演员和导演等不同类型的节点以及“出演”和“观看”等不同类型的关系,期货交易关系图中通常包括投资者、股票和上市公司等不同类型的节点以及“买卖”和“发行”等不同类型的关系。相比节点和关系类型单一的同构图,异构图蕴含更多的语义和结构特征,更加贴合现实生活中的场景。
图嵌入模型可将节点特征嵌入至潜在空间中,从而学习出节点的低维表示。学习到的表示捕捉了隐藏在网络中的丰富的语义和结构信息,可用于后续的挖掘任务中,如节点分类、链路预测和推荐等。然而,虽然这类模型取得了越来越大的成功,他们的鲁棒性却没有被足够的分析。对输入实例施加轻微但精心设计的扰动(主要指拓扑扰动),即可导致模型的崩溃和结果的失真。脆弱性问题阻碍了图嵌入模型的落地应用,甚至在某些领域可能会被犯罪分子利用而实施违法犯罪活动。
目前存在的图嵌入模型的对抗攻击方法,大多局限于同构图和半监督学习设置,同时仅对攻击强度作出了扰动数量上的限制。
首先,现有针对同构图的对抗攻击方法,认为图中节点和关系的类型是单一的。尽管图的结构是离散的,但仍可以通过贪婪近似或凸松弛转化为连续优化问题,并通过梯度算法如投影梯度下降算法直接解决。然而,异构图中类型多样的节点和关系,导致攻击更受限制,节点之间的连接不能违反现实世界原则,即不是任意两个节点之间都能连接起来作为攻击实例。因此,在同构图上的攻击方法不能直接移植到异构图的攻击上来,异构图的特性加大了攻击的难度。
其次,现有针对半监督学习的对抗攻击方法,可以利用下游任务来指导攻击,如利用节点分类任务,以降低节点分类准确率为攻击目标,实现对图数据的扰动。然而,在实际环境中节点标注的成本比较高,并且只针对某一下游任务的攻击方法不易在其他下游任务的攻击上移植。而图嵌入模型通常以无监督学习的方式进行而不依靠某一具体下游任务,因此针对图嵌入模型的攻击更具通用性和普遍性。但同时,因为攻击无法用提高错误分类率或负交叉熵损失等指标来作为目标函数,无监督的特性也为攻击带来了难度。
最后,现有攻击方法,在攻击强度的限制上仅约束扰动的数量,远远不能达到攻击不被察觉的效果。从微观视角来看,由于扰动分布与真实分布明显不符,因此攻击能轻易的被目前的防御手段检测出来而失去了攻击的效果。因此,亟需一种对异构图嵌入模型的对抗攻击及相应的防御。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种对抗攻击模型的训练方法。
本发明的目的是通过以下技术方案实现的:
根据本发明的第一方面,提供一种对抗攻击模型的训练方法,所述对抗攻击模型包括生成器和判别器,所述方法包括:
S1、将异构图代入嵌入模型得到各节点的初始嵌入表示;
S2、为异构图中的每种关系分别构建一组生成器和判别器;
S3、针对每种关系,利用从异构图取样的真实连接节点对和从生成器取样的生成节点对,训练判别器生成指示关系真实性的判别分数,生成器基于所述判别分数更新自身参数以提高生成节点对的判别分数,重复该步骤直至每种关系达到预设迭代次数,得到训练好的多个判别器;
S4、针对每种关系,将生成器的生成节点对添加到异构图上得到扰动异构图,将扰动异构图代入嵌入模型获得各节点的新嵌入表示,以降低攻击目标节点对的判别分数作为目标训练生成器学习扰动分布,重复该步骤直至每种关系达到预设迭代次数,得到训练好的多个生成器。
在本发明的一些实施例中,所述S3包括:
针对每种关系,将从异构图中随机取样的真实连接节点对作为正样本,将从生成器中取样的生成节点对作为负样本;
利用正样本和负样本训练判别器,获得所述样本的判别分数,根据所述正样本的判别分数计算正样本判别损失,以及根据负样本的判别分数计算负样本判别损失,将正样本判别损失和负样本判别损失之和作为第一判别损失,以更新判别器参数;
基于负样本判别损失,更新生成器参数以提高负样本的判别分数;
重复上述过程至每种关系达到预设迭代轮次,获得训练好的多个判别器。
在本发明的一些实施例中,所述更新判别器参数和生成器参数包括:
最大化所述第一判别损失,采用批量梯度下降法以更新所述判别器参数;
最小化所述负样本判别损失,采用策略梯度的思想以更新所述生成器参数。
在本发明的一些实施例中,所述S4包括:
获取待攻击的目标节点和其邻居节点组成的攻击目标节点对,针对每种关系,从生成器中取样生成节点对;
以降低攻击目标节点对的判别分数为目标训练生成器,基于判别器获得所述攻击目标节点对的判别分数,根据所述判别分数获得对抗攻击结果,并根据所述判别分数计算对抗攻击损失;
利用判别器,获得所述生成节点对的判别分数,根据所述判别分数计算第二判别损失,以约束生成器;
基于对抗攻击损失和第二判别损失的加权求和构造目标损失,根据目标损失调整所述生成器参数,以学习扰动分布;
重复上述过程至每种关系达到预设迭代轮次,获得多个训练好的生成器。
在本发明的一些实施例中,所述从生成器取样生成节点对的取样方式为:
针对每种关系,生成器遍历所述关系对应的所有可能的生成节点对,获得所述生成节点对的取样分数,其中,取样分数为生成节点对在所述关系上被取样的概率;
以正比于取样分数的概率选择生成节点对作为取样结果。
在本发明的一些实施例中,所述根据目标损失调整所述生成器参数的目的是最小化所述目标损失,其中采用策略梯度的思想对生成器参数进行调整。
根据本发明的第二方面,提供一种基于异构图的对抗攻击方法,包括:
针对异构图中的每种关系,利用第一方面的对抗攻击模型的训练方法获得的所述多个生成器,输出多个生成节点对;
对每种关系均从多个生成节点对中取样预定数量的生成节点对并添加到原始异构图上,获得对抗异构图;
将对抗异构图作为对抗样本并用于攻击嵌入模型,获得真实连接节点对在所述判别器的判别分数,根据判别分数获得对抗攻击结果。
根据本发明的第三方面,提供一种针对异构图的嵌入模型的训练方法,包括:
针对异构图中的每种关系,利用第一方面的方法得到的多个生成器,获得多个生成节点对;
对每种关系均从多个生成节点对中取样预定数量的生成节点对并添加到原始异构图上,得到对抗异构图;
利用对抗异构图训练所述针对异构图的嵌入模型,以防御使用所述对抗异构图的对抗攻击。
根据本发明的第四方面,提供一种计算机可读存储介质,其上包含有计算机程序,所述计算机程序可被处理器执行以实现第一方面的方法的步骤以及利用第一方面的方法获得的对抗攻击模型实现第二方面和第三方面的方法步骤。
根据本发明的第五方面,提供一种电子设备,包括:
一个或多个处理器;以及
存储器,其中存储器用于存储一个或多个可执行指令;
所述一个或多个处理器被配置为经由执行所述一个或多个可执行指令以实现第一方面的方法的步骤以及利用第一方面的方法获得的对抗攻击模型实现第二方面和第三方面的方法步骤。
与现有技术相比,本发明的优点在于:
1、对抗攻击模型的训练方法中,对异构图中每种关系及其对应类型节点,都单独设置模型参数,对异构图中类型多样的关系分别建模解决了不同类型位于不同数据空间、不同空间不可混合建模的问题。
2、在学习真实分布阶段,在原始异构图的真实连接节点对作为正样本,生成器的生成节点对作为负样本,训练生成器,以提高生成节点对的分数作为目标训练自身参数。经过反复对抗迭代,最终,判别器具备良好的判断节点对是否为真实连接的能力。
3、在生成器学习扰动分布阶段,训练好的判别器起到限制生成器学习扰动分布,使生成器生成的对抗样本能尽量接近真实,使得攻击不易被察觉;当攻击前后的攻击目标节点对获得的判别分数明显下降,说明攻击有效。因此,可利用判别器判别攻击目标节点对的判别分数作为攻击质量的衡量标准,实现不借助下游任务的攻击。
4、针对生活中更加常见的异构图数据,本发明基于对抗攻击模型进行的对抗攻击方法可对嵌入模型实施通用的对抗攻击,使得嵌入模型对各节点学习到的低维表达失去结构和语义特征,进而导致下游任务如节点分类、链路预测等失去效果。同时,生成的对抗样本具隐蔽性,不易被防御方察觉。另一方面,利用该对抗样本训练嵌入模型,可提高嵌入模型的安全性和鲁棒性。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1为根据本发明实施例的对抗攻击模型的训练方法流程图;
图2为根据本发明实施例的对抗攻击模型的训练方法流程图;
图3为根据本发明实施例的对抗攻击模型学习真实连接分布的方法流程图;
图4为根据本发明实施例的对抗攻击模型学习扰动分布的方法流程图;
图5为根据本发明实施例的异构图的场景示意图;
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在对本发明的实施例进行具体介绍之前,先对其中使用到的部分术语作如下解释:
生成对抗网络(GAN,generative adversarial network),是一种深度学习模型,是近年来无监督学习最具前景的方法之一。生成对抗网络至少包括两个模块:生成模型(也称生成器,Generator)和判别模型(也称判别器,Discriminator),通过两模块的互相博弈学习真实分布,以生成符合真实分布的样本。
生成器,通过学习训练集数据的特征,在判别器的指导下,将随机生成的生成分布尽可能拟合为训练数据的真实分布,从而生成具有训练集特征的相似数据。如本发明中,生成器的作用是生成节点对,通过学习异构图的真实连接节点对的分布特征,在判别器的指导下将随机生成的生成节点对分布逐渐靠近真实连接节点对的真实分布,从而生成具有真实分布特征的生成节点对。
判别器,区分输入的数据是真实的数据还是由生成器生成的数据。如本发明中,判别器的作用是对输入的节点对的连接(关系)真实性进行打分,从而给出判别分数;并将生成节点对的判别分数反馈给生成器用以调整生成器参数,以提高生成器生成的节点对的真实性。
如背景技术中提到的,通常,同构图上的攻击方法不能直接移植到异构图的攻击上来,异构图的特性加大了攻击的难度。其次,现有针对半监督学习的对抗攻击方法,在实际环境中节点标注的成本比较高,并且只针对某一下游任务的攻击方法不易在其他下游任务的攻击上移植。而图嵌入模型通常以不依靠某一具体下游任务的无监督学习的方式进行,因此,针对图嵌入模型的攻击更具通用性和普遍性。但同时,因为攻击无法用提高错误分类率或负交叉熵损失等指标来作为目标函数,无监督的特性也为攻击带来了难度。最后,现有攻击方法,在攻击强度的限制上仅约束扰动的数量,远远不能达到攻击不被察觉的效果。从微观视角来看,由于扰动分布与真实分布明显不符,因此攻击能轻易的被目前的防御手段检测出来而失去了攻击的效果。
针对现有攻击方法的局限性和待解决难点,发明人基于生成对抗网络结构,从异构图的特征分布学习入手,训练判别器和生成器学习异构图的真实分布特征。如图1所示,首先,输入异构图,从真实连接节点对取样和从生成器生成的生成节点对取样,训练判别器和生成器,判别器和生成器互相博弈训练,使生成器生成的节点对较为接近真实连接节点对,判别器具备良好的判断节点对是否属于真实连接节点对的能力。其次,将生成器的生成节点对添加到异构图获得扰动异构图,基于扰动异构图再次训练生成器学习扰动异构图分布特征。即对生成器的生成节点对取样,将生成节点对作为扰动得到扰动异构图并重新训练嵌入模型,以降低目标节点及其邻居节点组成的攻击节点对在所述判别器的判别分数作为目标训练生成器学习扰动异构图分布,获得训练好的生成器,通过该训练好的生成器输出的最终生成节点对。
最后,将最终生成节点对作为扰动节点对与原始异构图结合,获得具有扰动能力又接近真实分布的对抗样本。此对抗样本即可实现有效的攻击。
基于上述研究,根据本发明的一个实施例,如图2所示,本发明提供一种对抗攻击模型的训练方法,其中,对抗攻击模型包括生成器和判别器,训练方法包括步骤S1、S2、S3、S4,下面详细说明每个步骤:
步骤S1、将异构图代入嵌入模型得到各节点的初始嵌入表示。
根据本发明的一个实施例,嵌入模型是指用于提取图数据中各个节点的嵌入表示(嵌入特征向量)的图神经网络模型。嵌入模型可以指被攻击的模型。嵌入模型可以是异构图游走模型(包括Methpath2Vec模型、Methpath2Vec++模型)和异构图神经网络模型(包括异构图注意力网络模型HAN、异构图神经网络模型HetGNN)。
步骤S2、为异构图中的每种关系分别构建一组生成器和判别器。即当一个异构图包含N种关系,则分别为生成器和判别器设置N组参数,实现对异构图中类型多样的关系分别建模,解决了不同类型位于不同数据空间、不同空间不可混合建模的问题。构建时,可随机初始化生成器和判别器的参数。
根据本发明的一个实施例,由于在异构图中节点和关系类型多种多样,因此生成器G和判别器D都是关系感知的,即对每种关系,都单独设置一组阈值对应的生成器G和判别器D,不同组生成器G和判别器D的参数不同。例如:对于关系r单独设置判别器参数同时对关系r单独设置生成器参数参照图5的异构图,包括四种类型的节点(即“用户”、“主机”、“程序”和“API接口”)和三种不同的关系(即“用户”和“主机”之间的关系、“主机”和“程序”间的关系以及“程序”和“API接口”间的关系)。
步骤S3、针对每种关系,利用从异构图取样的真实连接节点对和从生成器取样的生成节点对,训练判别器生成指示关系真实性的判别分数,生成器基于所述判别分数更新自身参数以提高生成节点对的判别分数,重复该步骤直至每种关系达到预设迭代次数,得到训练好的多个判别器。
根据本发明的一个实施例,判别器的目标是给真实连接节点对一个大的分数,给生成器生成的生成节点对一个小的判别分数,而生成器的目标却是让自己的生成节点对在判别器那得到一个大的判别分数,所以一直处于博弈对抗的过程,使判别器和生成器学习真实分布,最终两者达到纳什平衡状态,即生成器生成的生成节点对接近真实连接节点对,判别器能够对节点对是否为真实连接或接近真实连接作出判断。
其中,所述从生成器取样生成节点对的取样方式为:针对每种关系,生成器遍历所述关系对应的所有可能的生成节点对,获得所述生成节点对的取样分数,而取样分数为生成节点对在所述关系上被取样的概率;以正比于取样分数的概率选择生成节点对作为取样结果。取样分数可采用如下方式计算:
其中,candidate(r)表示在关系r上的所有可能的生成节点对集合,G(·)表示candidate(r)内的所有可能的节点对在生成器中得到的取样分数,表示节点对<vi,vj>在关系r的条件下被取样的概率,表示针对关系r的判别器参数,表示针对关系r的生成器参数,xi和xj分别表示节点vi和节点vj的初始嵌入表示,T表示转置,X表示初始嵌入表示集合。
其中,xi和xj分别表示节点vi和节点vj的初始嵌入表示,即无污染情况下的节点低维表示,D(·)表示所有可能的真实连接节点对在判别器中得到的判别分数,X表示初始嵌入表示集合。
在学习真实连接分布时,生成器和判别器的博弈函数表示如下:
其中,<vi,vj>~pT(·|r)表示真实连接节点对中针对关系r在异构图中的取样,表示生成节点对针对关系r在生成器中的取样,表示异构图中的所有关系,log D(vi,vj,X)表示真实连接节点对的判别损失,log(1-D(vi,vj,X))表示生成节点对的判别损失,表示来自真实分布的真实连接节点对<vi,vj>的期望;表示来自生成器的生成节点对<vi,vj>的期望,此公式中的V1(G,D)表示总判别损失,表示更新判别器D参数时,需最大化总判别损失,更新生成器G参数时需最小化总判别损失,X表示各节点的初始嵌入结果集合。
根据本发明的一个实施例,学习真实连接分布时,在原始异构图的真实连接节点对作为正样本,生成器的生成节点对作为负样本,训练生成器,以提高生成节点对的分数作为目标训练自身参数。经过反复对抗迭代,最终,判别器具备良好的判断节点对是否为真实连接的能力。参见图3,所述步骤S3可以包括:
S31、针对每种关系,将从异构图中随机取样的真实连接节点对作为正样本,将从生成器中取样的生成节点对作为负样本。
在一个实施例中,从生成器取样生成节点对的取样方式为:针对每种关系,生成器遍历所述关系对应的所有可能的生成节点对,获得所述生成节点对的取样分数,而取样分数为生成节点对在所述关系上被取样的概率;以正比于取样分数的概率选择生成节点对作为取样结果。例如:参见图5,针对当前的“用户”和“主机”对应的“存在”关系,选择真实连接节点对{<u1,h2>,<u4,h3>}作为正样本,生成器遍历该关系上所有可能的生成节点对,计算所有生成节点对的取样分数,如遍历可能的生成节点对包括{<u1,h1>,<u1,h2>…<u1,h3>…<u4,h3>}共12个生成节点对,12个生成节点对对应的分数为{0.021,0.123…0.293…0.008},其中,选择最大分数对应的生成节点对{<u2,h3>,<u4,h2>}作为判别器训练的负样本。
S32、利用正样本和负样本训练判别器,获得所述样本的判别分数,根据所述正样本的判别分数计算正样本判别损失,以及根据负样本的判别分数计算负样本判别损失,将正样本判别损失和负样本判别损失之和作为第一判别损失,以更新判别器参数。其中,更新判别器参数需最大化所述第一判别损失,采用批量梯度下降法以更新所述判别器参数;
根据本发明的一个实施例,对于判别器D,目标是训练判别器D生成指示关系真实性的判别分数,以使得V1(G,D)整个式子最大,这样最终的效果是使真实连接节点对的判别分数D(vi,vj,X)大,而生成器G的生成节点对<vi,vj>的判别分数D(vi,vj,X)小,即最大化总判别损失,采用批量梯度下降法以更新所述判别器参数例如:针对当前的“用户”和“主机”对应的“存在”关系,选择真实连接节点对{<u1,h2>,<u4,h3>}作为判别器训练的正样本,生成节点对{<u2,h3>,<u4,h2>}作为判别器训练的负样本时,此时需计算真实连接节点对{<u1,h2>,<u4,h3>}两个正样本的判别分数和生成节点对{<u2,h3>,<u4,h2>}两个负样本的判别分数,以及根据正样本判别分数和负样本判别分数分别计算正样本判别损失和负样本判别损失,正样本判别损失和负样本判别损失之和作为第一判别损失,最大化第一判别损失并采用上述的批量梯度下降法更新判别器参数更新方式可采用如下方式:
S33、基于负样本判别损失,更新生成器参数以提高负样本的判别分数。通过最小化所述负样本判别损失,并采用策略梯度的思想以更新所述生成器参数。
根据本发明的一个实施例,对于生成器G,目标是训练生成器G以提高生成节点对的判别分数,使得V1(G,D)整个式子最小,而生成器参数与相关的实际只有这一部分,即最小化生成节点对的判别损失,使最终的效果是生成器的生成节点对<vi,vj>的判别分数D(vi,vj,X)越来越大,由于生成器G输出是离散的,因此,对生成器G的参数采用策略梯度(Policy Gradient)的思想。例如:针对当前的“用户”和“主机”对应的“存在”关系,利用{<u2,h3>,<u4,h2>}负样本在判别器的判别分数训练生成器,调整生成器参数以使越接近真实连接分布的节点对越容易被生成器取样。生成节点对{<u2,h3>,<u4,h2>}作为训练的负样本时,获得两个负样本{<u2,h3>,<u4,h2>}的判别损失,最小化两个负样本的判别损失,采用上述策略梯度的思想更新生成器G参数。使生成器能生成接近真实连接的节点对。更新生成器G参数可采用如下方式:
直观地说,该公式表示生成器生成的节点对<vi,vj>在判别器中的分数越小,就越不接近真实样本,生成器参数会朝着使取样分数G(vi,vj)降低的趋势调整,即节点对<vi,vj>被取样的可能性降低。
S34、判断每种关系是否达到预设迭代轮次,若否,则跳转至步骤S31,重复上述步骤S31、S31、S33过程至每种关系达到预设迭代轮次,反之则停止训练。
S35、每种关系均达到预设的迭代轮次后,获得训练好的多个判别器。
步骤S4、针对每种关系,将生成器的生成节点对添加到异构图上得到扰动异构图,将扰动异构图代入嵌入模型获得各节点的新嵌入表示,以降低攻击目标节点对的判别分数作为目标训练生成器学习扰动分布,重复该步骤直至每种关系达到预设迭代次数,得到训练好的多个生成器。例如,针对关系r选择生成节点对<vi,vj>,将<vi,vj>添加到异构图上,得到扰动异构图,原来的异构图数据为扰动异构图数据更新为对应节点的新嵌入表示为
根据本发明的一个实施例,训练生成器学习扰动分布时,训练好的判别器起到限制生成器学习扰动分布(即接近真实连接的分布),使生成器生成的对抗样本能尽可能的接近真实,使得攻击不易被察觉;当攻击前后攻击的攻击目标节点对获得的判别分数明显下降,说明攻击有效。因此,可利用判别器判别攻击目标节点对的判别分数作为攻击质量的衡量标准,实现不借助下游任务的攻击。训练生成器学习扰动分布的方式可参见图4,步骤S4可以包括:
S41、获取待攻击的目标节点及其对应的邻居节点组成的攻击目标节点对,针对每种关系,从生成器中获取生成节点对。
根据本发明的一个实施例,从生成器获取生成节点对的方式为:针对每种关系,生成器遍历所述关系对应的所有可能的生成节点对,获得所述生成节点对的取样分数,而取样分数为生成节点对在所述关系上被取样的概率;选择取样分数靠前的一个或者多个生成节点对作为获取结果。例如:参照图5,针对当前的“用户”和“主机”对应的“存在”关系,从异构图中获取目标节点u3及其对应的邻居节点h1组成的攻击目标节点对<u3,h1>,生成器仍需遍历所述关系对应的所有可能的生成节点对,并获得所述生成节点对的取样分数,选择取样分数靠前的多个生成节点对{<u2,h1>,<u3,h3>},将这些生成节点对{<u2,h1>,<u3,h3>}添加到异构图中获得扰动异构图。
S42、以降低攻击目标节点对的判别分数为目标训练生成器,基于训练好的判别器获得所述攻击目标的判别分数,根据所述判别分数获得对抗攻击结果,并根据所述判别分数计算对抗攻击损失。
根据本发明的一个实施例,选择vt作为攻击的目标节点,目的是通过攻击使得vt的嵌入表达失去结构和语义特征,进而导致下游任务(如节点分类和链路预测)失去原有效果。即目标节点vt和其邻居节点组成的攻击目标节点对代入判别器所输出的判别分数尽可能的降低,当攻击目标节点对在判别器获得判别分数越低,表示发起攻击的破坏程度越大,其中,攻击目标节点对即为真实连接节点对,因为判别器的分数衡量了是否来自真实连接节点对,若真实连接节点对获得的分数低,则说明目标节点的嵌入表达遭到严重破坏。例如:针对当前关系,选择攻击目标节点对<u3,h1>和多个生成节点对{<u2,h1>,<u3,h3>},对于目标节点u3和其邻居节点h1组成的攻击目标节点,以降低攻击目标节点对<u3,h3>在判别器的判别分数D(u3,h1,E)为目标训练生成器。训练生成器的第一目标函数表示如下:
S43、利用训练好的判别器,获得所述生成节点对的判别分数,根据所述判别分数计算第二判别损失,以约束生成器。以便生成器生成的若干生成节点对在关系上尽可能的接近真实连接分布。如:利用上述生成节点对{<u2,h1>,<u3,h3>},在训练好的判别器上获得判别分数,根据生成节点对的判别分数计算第二判别损失。
S44、基于对抗攻击损失和第二判别损失的加权求和构造目标损失,根据目标损失调整所述生成器参数,以学习扰动分布。其中,所述根据目标损失调整所述生成器参数的目的是最小化所述目标损失,其中采用策略梯度的方式对生成器参数进行调整。即训练生成器最终的目标函数可表示为:
其中,α表示权重系数,V21(G)表示对抗攻击损失, 表示第二判别损失,表示更新生成器时需最小化目标损失V2(G)。其中,权重系数α可以是预先定义的超参数,具体的值可以由用户根据训练数据的实际情况按需设置和调整。
表示对生成器参数θG进行求导,求导变换过程与生成器学习真实连接分布相同,即结合策略梯度思想进行求导变换,log(1-D(vi,vj,X))表示生成节点对<vi,vj>的第二判别损失,表示攻击目标节点对的对抗攻击损失。
S45、判断每种关系是否达到预设迭代轮次,若否,则跳转至步骤S41,重复上述步骤S41、S42、S43、S44过程至每种关系达到预设迭代轮次,反之则停止训练。
S46、每种关系达到预设迭代轮次后,获得多个训练好的生成器。最终,每种关系对应的生成器学习到既具有扰动能力又接近真实连接的分布,凭借此分布取样节点对作为攻击样本,实现对异构图蓄意却又不易被察觉的扰动。
通过上述对抗攻击模型的训练方法获得的多个生成器,可用于生成最终的对抗样本,该对抗样本代入嵌入模型之后可使结果失真,甚至下游任务崩溃。根据本发明的一个实施例中,利用上述对抗攻击模型的训练方法获得的多个生成器,还提供一种基于异构图的对抗攻击方法,包括以下步骤A1、A2、A3:
步骤A1、针对异构图中的每种关系,利用上述对抗攻击模型的训练方法获得的多个生成器,输出多个生成节点对。
步骤A2、对每种关系均从多个生成节点对中取样预定数量的生成节点对并添加到原始异构图上,获得对抗异构图。
步骤A3、将对抗异构图作为对抗样本并用于攻击嵌入模型,获得真实连接节点对在判别器的判别分数,根据判别分数获得对抗攻击结果。
针对生活中更加常见的异构图数据,本发明利用对抗攻击模型,基于异构图进行的对抗攻击方法可对嵌入模型实施上述的对抗攻击方法,使得嵌入模型对各节点学习到的低维表达失去结构和语义特征,进而导致下游任务如节点分类、链路预测等失去效果。同时,生成的对抗样本更接近真实连接分布从而更具隐蔽性,不易被防御方察觉。
通过上述对抗攻击模型的训练方法获得的多个生成器,可用于生成最终的对抗样本,对抗样本对指导嵌入模型安全性、鲁棒性更新具有十分重要的意义,将该对抗样本作为嵌入模型的输入重新训练嵌入模型,可提高嵌入模型的安全性和鲁棒性。相比原始数据直接训练得到的嵌入模型,通过对抗异构图训练所述针对异构图的嵌入模型,使嵌入模型在抵御攻击上具有更好的效果。根据本发明的一个实施例中,利用对抗攻击模型的训练方法获得的多个生成器,还提供一种针对异构图的嵌入模型的训练方法,包括以下步骤:
步骤B1、针对异构图中的每种关系,利用上述对抗攻击模型的训练方法获得的多个生成器,获得多个生成节点对。
步骤B2、对每种关系均从多个生成节点对中取样预定数量的生成节点对并添加到原始异构图上,得到对抗异构图。
步骤B3、利用对抗异构图训练所述针对异构图的嵌入模型,以防御使用所述对抗异构图的对抗攻击。
根据上述针对异构图的嵌入模型的训练方法,即使在原始图数据上添加精心设计的扰动(如生成节点对)代入嵌入模型中,得到各节点的低维表示仍蕴涵着丰富的结构和语义特征,依靠各节点的低维表示的节点分类、链路预测等下游任务仍具有良好的效果。
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种对抗攻击模型的训练方法,所述对抗攻击模型包括生成器和判别器,其特征在于,所述方法包括:
S1、将异构图代入嵌入模型得到各节点的初始嵌入表示;
S2、为异构图中的每种关系分别构建一组生成器和判别器;
S3、针对每种关系,利用从异构图取样的真实连接节点对和从生成器取样的生成节点对,训练判别器生成指示关系真实性的判别分数,生成器基于所述判别分数更新自身参数以提高生成节点对的判别分数,重复该步骤直至每种关系达到预设迭代次数,得到训练好的多个判别器;
S4、针对每种关系,将生成器的生成节点对添加到异构图上得到扰动异构图,将扰动异构图代入嵌入模型获得各节点的新嵌入表示,以降低攻击目标节点对的判别分数作为目标训练生成器学习扰动分布,重复该步骤直至每种关系达到预设迭代次数,得到训练好的多个生成器。
2.根据权利要求1所述的方法,其特征在于,所述S3包括:
针对每种关系,将从异构图中随机取样的真实连接节点对作为正样本,将从生成器中取样的生成节点对作为负样本;
利用正样本和负样本训练判别器,获得所述样本的判别分数,根据所述正样本的判别分数计算正样本判别损失,以及根据负样本的判别分数计算负样本判别损失,将正样本判别损失和负样本判别损失之和作为第一判别损失,以更新判别器参数;
基于负样本判别损失,更新生成器参数以提高负样本的判别分数;
重复上述过程至每种关系达到预设迭代轮次,获得训练好的多个判别器。
3.根据权利要求2所述的方法,其特征在于,所述更新判别器参数和生成器参数包括:
最大化所述第一判别损失,采用批量梯度下降法以更新所述判别器参数;
最小化所述负样本判别损失,采用策略梯度的方式以更新所述生成器参数。
4.根据权利要求1所述的方法,其特征在于,所述S4包括:
获取待攻击的目标节点及其对应的邻居节点组成的攻击目标节点对,针对每种关系,从生成器中获取生成节点对;
以降低攻击目标节点对的判别分数为目标训练生成器,基于判别器获得所述攻击目标节点对的判别分数,根据所述判别分数获得对抗攻击结果,并根据所述判别分数计算对抗攻击损失;
利用判别器,获得所述生成节点对的判别分数,根据所述判别分数计算第二判别损失,以约束生成器;
基于对抗攻击损失和第二判别损失的加权求和构造目标损失,根据目标损失调整所述生成器参数,以学习扰动分布;
重复上述过程至每种关系达到预设迭代轮次,获得多个训练好的生成器。
5.根据权利要求1或2所述的方法,其特征在于,所述从生成器取样生成节点对的取样方式为:
针对每种关系,生成器遍历所述关系对应的所有可能的生成节点对,获得所述生成节点对的取样分数,其中,取样分数为生成节点对在所述关系上被取样的概率;
以正比于取样分数的概率选择生成节点对作为取样结果。
6.根据权利要求4所述的方法,其特征在于,所述根据目标损失调整所述生成器参数的目的是最小化所述目标损失,其中采用策略梯度的方式对生成器参数进行调整。
7.一种基于异构图的对抗攻击方法,包括:
针对异构图中的每种关系,利用权利要求1至6任一项所述的对抗攻击模型的训练方法获得的多个生成器,输出多个生成节点对;
对每种关系均从多个生成节点对中取样预定数量的生成节点对添加到原始异构图上,获得对抗异构图;
将对抗异构图作为对抗样本并用于攻击嵌入模型,获得真实连接节点对在所述判别器的判别分数,根据判别分数获得对抗攻击结果。
8.一种针对异构图的嵌入模型的训练方法,其特征在于,包括:
针对异构图中的每种关系,利用权利要求1至6任一项所述的方法训练得到的多个生成器,获得多个生成节点对;
对每种关系均从多个生成节点对中取样预定数量的生成节点对添加到原始异构图上,得到对抗异构图;
利用对抗异构图训练所述针对异构图的嵌入模型,以防御使用所述对抗异构图的对抗攻击。
9.一种计算机可读存储介质,其特征在于,其上包含有计算机程序,所述计算机程序可被处理器执行以实现权利要求1-8任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;以及
存储器,其中存储器用于存储一个或多个可执行指令;
所述一个或多个处理器被配置为经由执行所述一个或多个可执行指令以实现权利要求1-8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110868192.8A CN113505855B (zh) | 2021-07-30 | 2021-07-30 | 一种对抗攻击模型的训练方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110868192.8A CN113505855B (zh) | 2021-07-30 | 2021-07-30 | 一种对抗攻击模型的训练方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113505855A true CN113505855A (zh) | 2021-10-15 |
CN113505855B CN113505855B (zh) | 2023-09-08 |
Family
ID=78015258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110868192.8A Active CN113505855B (zh) | 2021-07-30 | 2021-07-30 | 一种对抗攻击模型的训练方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113505855B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114545255A (zh) * | 2022-01-18 | 2022-05-27 | 广东工业大学 | 基于竞争型生成式对抗神经网络的锂电池soc估计方法 |
CN114726636A (zh) * | 2022-04-19 | 2022-07-08 | 电子科技大学 | 一种异构跨域系统的攻击动态检测与识别方法 |
CN115604032A (zh) * | 2022-12-01 | 2023-01-13 | 南京南瑞信息通信科技有限公司(Cn) | 一种电力系统复杂多步攻击检测方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018028255A1 (zh) * | 2016-08-11 | 2018-02-15 | 深圳市未来媒体技术研究院 | 基于对抗网络的图像显著性检测方法 |
CN108520268A (zh) * | 2018-03-09 | 2018-09-11 | 浙江工业大学 | 基于样本选择和模型进化的黑盒对抗性攻击防御方法 |
US20200125897A1 (en) * | 2018-10-18 | 2020-04-23 | Deepnorth Inc. | Semi-Supervised Person Re-Identification Using Multi-View Clustering |
CN111310802A (zh) * | 2020-01-20 | 2020-06-19 | 星汉智能科技股份有限公司 | 一种基于生成对抗网络的对抗攻击防御训练方法 |
CN112085050A (zh) * | 2020-07-24 | 2020-12-15 | 中山大学 | 基于pid控制器的对抗性攻击与防御方法及系统 |
CN112115781A (zh) * | 2020-08-11 | 2020-12-22 | 西安交通大学 | 基于对抗攻击样本和多视图聚类的无监督行人重识别方法 |
CN112287997A (zh) * | 2020-10-27 | 2021-01-29 | 浙江工业大学 | 一种基于生成式对抗网络的深度图卷积模型防御方法 |
-
2021
- 2021-07-30 CN CN202110868192.8A patent/CN113505855B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018028255A1 (zh) * | 2016-08-11 | 2018-02-15 | 深圳市未来媒体技术研究院 | 基于对抗网络的图像显著性检测方法 |
CN108520268A (zh) * | 2018-03-09 | 2018-09-11 | 浙江工业大学 | 基于样本选择和模型进化的黑盒对抗性攻击防御方法 |
US20200125897A1 (en) * | 2018-10-18 | 2020-04-23 | Deepnorth Inc. | Semi-Supervised Person Re-Identification Using Multi-View Clustering |
CN111310802A (zh) * | 2020-01-20 | 2020-06-19 | 星汉智能科技股份有限公司 | 一种基于生成对抗网络的对抗攻击防御训练方法 |
CN112085050A (zh) * | 2020-07-24 | 2020-12-15 | 中山大学 | 基于pid控制器的对抗性攻击与防御方法及系统 |
CN112115781A (zh) * | 2020-08-11 | 2020-12-22 | 西安交通大学 | 基于对抗攻击样本和多视图聚类的无监督行人重识别方法 |
CN112287997A (zh) * | 2020-10-27 | 2021-01-29 | 浙江工业大学 | 一种基于生成式对抗网络的深度图卷积模型防御方法 |
Non-Patent Citations (1)
Title |
---|
刘恒;吴德鑫;徐剑;: "基于生成式对抗网络的通用性对抗扰动生成方法", 信息网络安全, no. 05, pages 57 - 64 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114545255A (zh) * | 2022-01-18 | 2022-05-27 | 广东工业大学 | 基于竞争型生成式对抗神经网络的锂电池soc估计方法 |
CN114726636A (zh) * | 2022-04-19 | 2022-07-08 | 电子科技大学 | 一种异构跨域系统的攻击动态检测与识别方法 |
CN114726636B (zh) * | 2022-04-19 | 2023-04-07 | 电子科技大学 | 一种异构跨域系统的攻击动态检测与识别方法 |
CN115604032A (zh) * | 2022-12-01 | 2023-01-13 | 南京南瑞信息通信科技有限公司(Cn) | 一种电力系统复杂多步攻击检测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113505855B (zh) | 2023-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110837850B (zh) | 一种基于对抗学习损失函数的无监督域适应方法 | |
CN113505855A (zh) | 一种对抗攻击模型的训练方法 | |
CN112364915B (zh) | 一种不可察觉的对抗补丁生成方法及应用 | |
CN110941794A (zh) | 一种基于通用逆扰动防御矩阵的对抗攻击防御方法 | |
CN108229682A (zh) | 一种基于反向传播攻击的图像检测对抗方法 | |
CN113254927B (zh) | 一种基于网络防御的模型处理方法、装置及存储介质 | |
CN112883874A (zh) | 针对深度人脸篡改的主动防御方法 | |
CN113033822A (zh) | 基于预测校正和随机步长优化的对抗性攻击与防御方法及系统 | |
CN114708479B (zh) | 一种基于图结构和特征的自适应防御方法 | |
CN115293235A (zh) | 建立风险识别模型的方法及对应装置 | |
CN115048983A (zh) | 数据流形拓扑感知的人工智能系统对抗样本防御方法 | |
CN113221388B (zh) | 一种视觉感知扰动约束的黑盒深度模型对抗样本生成方法 | |
CN113343123B (zh) | 一种生成对抗多关系图网络的训练方法和检测方法 | |
Deng et al. | Towards benchmarking and evaluating deepfake detection | |
Lai et al. | Gm-df: Generalized multi-scenario deepfake detection | |
CN116978096A (zh) | 一种基于生成对抗网络的人脸对抗攻击方法 | |
Zhou et al. | Network unknown‐threat detection based on a generative adversarial network and evolutionary algorithm | |
CN111737688A (zh) | 基于用户画像的攻击防御系统 | |
CN116824237A (zh) | 一种基于两阶段主动学习的图像识别分类方法 | |
CN113487506B (zh) | 基于注意力去噪的对抗样本防御方法、装置和系统 | |
CN116232699A (zh) | 细粒度网络入侵检测模型的训练方法和网络入侵检测方法 | |
CN112598662B (zh) | 一种基于隐藏信息学习的图像美学描述生成方法 | |
Xiong et al. | Image Aesthetics Assessment Via Learnable Queries | |
CN113673581A (zh) | 硬标签黑盒深度模型对抗样本的生成方法、存储介质 | |
CN112529772A (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 |