对抗样本生成方法、装置及计算机设备转让专利

申请号 : CN202010062753.0

文献号 : CN111275106A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 皇甫志刚任彦昆林建滨梁琛

申请人 : 支付宝(杭州)信息技术有限公司

摘要 :

本说明书实施例提供一种对抗样本生成方法、装置及计算机设备。确定图数据样本中目标节点的关联元素,然后根据关联元素对图数据样本进行修改,将修改后的图数据样本输入到目标模型,根据目标模型输出的结果确定表征每个关联元素对于目标模型的干扰大小的干扰参数,然后选取干扰较大的目标元素对图数据进行修改,得到对抗样本。通过模型的前向计算将关联元素的扰动结果准确量化,避免了基于梯度信息计算扰动结果中的连续松弛问题及计算的扰动结果不准确的问题,通过贪心选取的策略为图结数据加入最少的扰动,以生成对抗样本。

权利要求 :

1.一种对抗样本生成方法,用于根据图数据样本为目标模型生成对抗样本,针对所述图数据样本中给定的任一目标节点,执行以下对抗样本生成方法:根据所述目标节点的各关联元素对所述图数据样本进行修改,得到修改后的图数据样本,所述关联元素包括:以所述目标节点为端点的边和/或以所述目标节点的邻近节点为端点的边;

将修改后的图数据样本输入到所述目标模型,并根据所述目标模型的输出结果确定表征所述关联元素对所述目标模型干扰大小的干扰参数;

根据所述干扰参数的大小从所述关联元素中确定目标元素;

根据所述目标元素和所述图数据样本生成对抗样本。

2.根据权利要求1所述的对抗样本生成方法,根据所述目标节点的各关联元素对所述图数据样本进行修改,得到修改后的图数据样本,将修改后的图数据样本输入到所述目标模型,并根据所述目标模型的输出结果确定表征所述关联元素对所述目标模型干扰大小的干扰参数,包括:针对每个所述关联元素,若所述图数据样本包含所述关联元素,则从所述图数据样本删除所述关联元素,得到所述修改后的图数据样本,并将所述修改后的图数据样本输入所述目标模型,以确定所述关联元素的干扰参数。

3.根据权利要求2所述的对抗样本生成方法,所述方法还包括:

若所述图数据样本不包含所述关联元素,则在所述图数据样本增加所述关联元素,得到所述修改后的图数据样本,并将所述修改后的图数据样本输入所述目标模型,以确定所述关联元素的干扰参数。

4.根据权利要求1所述的对抗样本生成方法,根据所述目标元素和所述图数据样本生成对抗样本,包括:遍历所述目标元素,删除所述图数据样本中的所述目标元素以及在所述图数据样本中增加所述目标元素,得到所述对抗样本。

5.根据权利要求1所述的对抗样本生成方法,所述关联元素还包括:所述目标节点的邻近节点,根据所述目标节点的各关联元素对所述图数据样本进行修改,得到修改后的图数据样本,将修改后的图数据样本输入到所述目标模型,并根据所述目标模型的输出结果确定表征所述关联元素对所述目标模型干扰大小的干扰参数,包括:针对每个所述邻近节点,分别执行以下操作:

从所述图数据样本中删除所述邻近节点以及以所述邻近节点为端点的边,得到所述修改后的图数据样本,并将所述修改后的图数据样本输入到所述目标模型,以确定所述邻近节点的干扰参数。

6.根据权利要求5所述的对抗样本生成方法,所述目标元素为从所述邻近节点筛选出的一个或多个节点,根据所述目标元素和所述图数据样本生成对抗样本,包括:遍历所述目标元素,删除所述图数据样本中的所述目标元素以及以所述目标元素为端点的边,得到所述对抗样本。

7.根据权利要求1-6任一项所述的对抗样本生成方法,所述目标元素为所述干扰参数大于指定阈值的关联元素,或将所述关联元素按照所述干扰参数由大到小的顺序排序,选取前N个关联元素作为所述目标元素,N为正整数。

8.根据权利要求1所述的对抗样本生成方法,所述目标模型为图数据节点分类模型,所述干扰参数根据所述目标模型将所述目标节点划分为指定类别的概率确定。

9.根据权利要求8所述的对抗样本生成方法,所述指定类别为所述目标节点对应的正确类别,所述干扰参数为所述目标模型将所述目标节点划分为所述指定类别的概率的相反数。

10.根据权利要求9所述的对抗样本生成方法,所述邻近节点为所述目标模型计算所述目标节点的分类结果相关的节点。

11.根据权利要求1所述的对抗样本生成方法,所述图数据样本中的节点用于表征目标对象,所述图数据样本中的边用于表征所述目标对象之间的关联关系,所述目标模型用于对所述目标对象进行分类。

12.根据权利要求11所述的对抗样本生成方法,所述目标对象为社交网络中的用户,所述目标模型用于检测所述社交网络中的异常用户。

13.一种对抗样本生成装置,用于针对图数据样本中给定的任一目标节点,为目标模型生成对抗样本,所述装置包括:修改模块,用于根据所述目标节点的各关联元素对所述图数据样本进行修改,得到修改后的图数据样本,所述关联元素包括:以所述目标节点为端点的边和/或以所述目标节点的邻近节点为端点的边;

干扰参数确定模块,用于将修改后的图数据样本输入到所述目标模型,并根据所述目标模型的输出结果确定表征所述关联元素对所述目标模型干扰大小的干扰参数;

目标元素确定模块,用于根据所述干扰参数的大小从所述关联元素中确定目标元素;

对抗样本生成模块,用于根据所述目标元素和所述图数据样本生成对抗样本。

14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至12任意一项所述的方法。

说明书 :

对抗样本生成方法、装置及计算机设备

技术领域

[0001] 本说明书涉及人工智能技术领域,尤其涉及一种对抗样本生成方法、装置以及计算机设备。

背景技术

[0002] 随着人工智能的发展,机器学习在越来越多的场景中都有广泛的应用,比如采用神经网络模型对文本、图片分类,通过分类模型从社交网络中检测出异常的用户等。虽然,对于有些模型,其预测结果的准确度已经非常高。但是当被输入一些基于正常样本恶意构造的对抗样本时,模型还是会做出错误的预测。采用对抗样本对模型进行攻击可以检测出神经网络模型潜在的漏洞,从而可以对模型进行优化,提升模型性能。因而有必要对抗样本的生成方法加以改进,以便生成扰动较小,并且比较有效的对抗样本,以对模型进行优化。

发明内容

[0003] 基于此,本说明书提供了一种对抗样本生成方法、装置以及计算机设备。
[0004] 根据本说明书实施例的第一方面,提供一种对抗样本生成方法,用于根据图数据样本为目标模型生成对抗样本,针对所述图数据样本中给定的任一目标节点,执行以下对抗样本生成方法:
[0005] 根据所述目标节点的各关联元素对所述图数据样本进行修改,得到修改后的图数据样本,所述关联元素包括:以所述目标节点为端点的边和/或以所述目标节点的邻近节点为端点的边;
[0006] 将修改后的图数据样本输入到所述目标模型,并根据所述目标模型的输出结果确定表征所述关联元素对所述目标模型干扰大小的干扰参数;
[0007] 根据所述干扰参数的大小从所述关联元素中确定目标元素;
[0008] 根据所述目标元素和所述图数据样本生成对抗样本。
[0009] 根据本说明书实施例的第二方面,提供一种对抗样本生成装置,用于针对图数据样本中给定的任一目标节点,为目标模型生成对抗样本,所述装置包括:
[0010] 修改模块,用于根据所述目标节点的各关联元素对所述图数据样本进行修改,得到修改后的图数据样本,所述关联元素包括:以所述目标节点为端点的边和/或以所述目标节点的邻近节点为端点的边;
[0011] 干扰参数确定模块,用于将修改后的图数据样本输入到所述目标模型,并根据所述目标模型的输出结果确定表征所述关联元素对所述目标模型干扰大小的干扰参数;
[0012] 目标元素确定模块,用于根据所述干扰参数的大小从所述关联元素中确定目标元素;
[0013] 对抗样本生成模块,用于根据所述目标元素和所述图数据样本生成对抗样本。
[0014] 根据本说明书实施例的第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一实施例所述的对抗样本生成方法。
[0015] 应用本说明书实施例方案,确定图数据样本中目标节点的关联元素,然后根据关联元素对图数据样本进行修改,将修改后的图数据样本输入到目标模型,根据目标模型输出的结果确定表征每个关联元素对于目标模型的干扰大小的干扰参数,然后选取干扰较大的目标元素对图数据进行修改,得到对抗样本。通过模型的前向计算将关联元素的扰动结果准确量化,避免了基于梯度信息计算扰动结果中的连续松弛问题及计算的扰动结果不准确问题,通过贪心选取的策略为图结数据加入最少的扰动,以生成对抗样本。
[0016] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。

附图说明

[0017] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
[0018] 图1是本说明书一个实施例的一种对抗样本生成方法的流程图。
[0019] 图2是本说明书一个实施例的一种图数据样本的示意图。
[0020] 图3a-3b是本说明书一个实施例的一种根据图数据样本生成的对抗样本的示意图。
[0021] 图4是本说明书一个实施例的一种对抗样本生成装置的逻辑结构框图。
[0022] 图5是本说明书一个实施例的用于实施本说明书方法的计算机设备的结构示意图。

具体实施方式

[0023] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
[0024] 在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0025] 应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0026] 随着人工智能的发展,机器学习在越来越多的场景中都有广泛的应用,比如采用神经网络模型对文本、图片分类,通过分类模型从用户社交网络中检测出异常的用户等。虽然,对于有些模型,其预测结果的准确度已经非常高。但是当被输入一些基于正常样本恶意构造的对抗样本时,模型还是会做出错误的预测。比如,当攻击者能够获得被攻击模型相关的数据集、模型、模型参数、模型输出时,攻击者可以根据正常样本构造恶意的模型输入,即对抗样本,使得模型输出其期望的结果。举个例子,假设有一个异常用户检测模型,可以从用户社交网络中检测出异常的用户,由于模型是根据社交网络中用户之间的关联关系来判定用户是否异常,因此,攻击者可以对用户社交网络中用户关联关系进行修改,从而使得模型无法检测出异常用户。采用对抗样本对模型进行攻击可以检测出神经网络模型潜在的漏洞,从而可以对模型进行优化,提升模型性能。
[0027] 图节点分类模型是目前广泛使用的一种模型,用于对图数据中的节点进行分类,比如,针对一个用于表征用户关联关系的图数据,其中,图数据中的节点表示不同的用户,图数据中的边表示用户之间的关联关系,可以通过图节点分类模型对图数据中的用户节点进行分类,比如区分出异常用户和非异常用户。相关技术在为图节点分类模型构建对抗样本时,可以采用基于梯度信息的贪心选取策略,但是对于图节点分类模型这种非线性程度很高的模型,梯度信息并不能准确的量化每个扰动的影响,存在很大的偏差,以至于构建的对抗样本不太准确。还有的技术采用连续化松弛的方式,在[0,1]连续空间内进行搜索,这种方式忽略了图数据构的传播特性,当对边施加一个很小的扰动,其影响随之扩散,从而使得最终搜索结果难于从连续空间向离散空间过渡。
[0028] 基于此,本说明书实施例提供一种对抗样本生成方法,用于根据一个给定的图数据样本为目标模型生成对抗样本,其中,针对所述图数据样本中给定的任一目标节点,可以执行以下对抗样本生成方法,具体的,如图1所示,包括以下步骤:
[0029] S102、根据所述目标节点的各关联元素对所述图数据样本进行修改,得到修改后的图数据样本,所述关联元素包括:以所述目标节点为端点的边和/或以所述目标节点的邻近节点为端点的边;
[0030] S104、将修改后的图数据样本输入到所述目标模型,并根据所述目标模型的输出结果确定表征所述关联元素对所述目标模型干扰大小的干扰参数;
[0031] S106、根据所述干扰参数的大小从所述关联元素中确定目标元素;
[0032] S108、根据所述目标元素和所述图数据样本生成对抗样本。
[0033] 本说明书实施例中提供的对抗样本生成方法可以用于各种构建对抗样本的电子设备,比如,手机、平板、笔记本电脑或者云端服务器。
[0034] 其中,在某些实施中,所述图数据样本的节点可以表征某一类目标对象,图数据样本的边可以表征目标对象之间的关联关系,比如,目标对象可以是用户,可以是企业、可以设备、商品或者是术语等各种对象,而图数据样本可以用于表征各种目标对象之间关联关系,图数据样本可以是表征用户之间关联关系、企业之间关联关系、企业与股东之间关联关系、商品之间的关联关系或者是一些术语之间的关联关系的图数据,本说明书实施例不作限制。而目标模型则可以是用于对目标对象进行分类的分类模型,比如从用户关系网络中检测出目标类型的用户,比如异常用户,从企业与股东关系网络中检测出风险企业等。
[0035] 如图2所示,为一个表征用户之间关联关系的图数据,节点为用户,节点之间的边为用户之间的关联关系。所述目标模型可以是图节点分类模型,用于为图数据中的各个节点进行分类。比如,所述图数据样本可以是企业与企业,企业与股东之间的关系图谱,所述目标模型可以是一个企业风险预测模型,用于根据企业之间的关联关系为图数据样本中各个企业节点分类,判断它是属于高风险企业、中风险企业、还是低风险企业。
[0036] 在某些实施例中,目标对象可以是社交网络中的用户,而目标模型可以是社交网络中对异常用户进行检测的模型,用于检测社交网络中的用户是否为异常用户,所述图数据样本即为表征社交网络中用户之间关联关系的图数据。图数据样本中每一个节点表示一个用户,边为用户之间的关联,比如一个用户是否关注另一个用户,或者是否与另一个用户之间存在互动等,社交网络中异常用户检测模型根据该图数据样本来预测每个节点用户是否为异常用户。
[0037] 本说明书实施例中的目标节点可以是被攻击的节点,该目标节点可以是图数据样本中给定的任一节点。举个例子,假设图数据样本为表征社交网络中用户关联关系的图数据,目标模型为检测社交网络中异常用户的模型,假设图数据样本中某个节点为用户A,用户A为异常用户,但是希望构建对抗样本,使得目标模型将A分类成非异常用户,因而需要针对A去构建对抗样本,这时,用户A这个节点即为目标节点,当然,如果想针对用户B去构建对抗样本,使得模型对B的预测结果为预期结果,则用户B为目标节点。当然,图数据样本中每个节点都可以是目标节点。
[0038] 在确定目标节点后,可以根据目标节点的关联元素对图数据样本进行修改,得到修改后的图数据样本,其中,关联元素可以是与目标节点紧密联系的节点连边,比如,在某些实施例中,这些关联元素可以是以目标节点为端点的边、以目标节点的邻近节点为端点的边中的一种或多种,这些节点连边表征了节点之间的关联,这些节点连边的改动对目标节点有着较大影响,对节点连边进行修改也是用户在对模型进行攻击时,构建对抗样本比较容易的一种方式,具体的,在实际应用中,针对表征用户关联关系的图数据,用户可以通过关注某个用户或者取消关注某个用户,从而增加或删除用户节点之间的连边,实现节点连边的改动。在某些实施例中,关联元素还可以包括目标节点的邻近节点,比如可以删除图数据中与目标节点邻近的某个节点,在实际应用中,户可以注销某个用户或者注册某个用户,并构建该用户的属性,当然,实际应用中,对邻近节点的改动,相对来说复杂些。其中,邻近节点可以是目标节点的一阶连接节点、二阶连接节点或者是更多阶连接节点,具体可以实际场景来确定。在某些实施例中,所述目标模型为图分类模型,则邻近节点可以是与目标模型计算该目标节点分类结果相关的节点,即所述目标节点的计算图中的节点。比如,在某些实施例中,图上分类模型为神经网络模型,则与目标模型计算该目标节点分类结果相关的节点可以根据图分类模型的隐藏层的层数来确定,比如目标模型是隐藏层数为一层的模型,则与目标模型计算该目标节点分类结果相关的节点为目标节点的一阶连接节点,目标模型是隐藏层数为二层的模型,则与目标模型计算该目标节点分类结果相关的节点为目标节点的二阶连接节点。
[0039] 以下结合图2具体说明,假设图中的用户A为目标节点,而与目标模型计算该目标节点分类结果相关的节点为目标节点的一阶连接节点,即用户B、用户C和用户D,则目标节点的关联元素可以是以下节点:用户B、用户C、用户D,也可以是以节点用户A、用户B、用户C、用户D为端点的边:AB、AC、AD、BC、BD、CD、AE、DE、CE、BE、AF、BF、CF、DF。其中,AB表示用户A和用户B之间的连边,其他类似。
[0040] 确定目标节点的关联元素后,可以根据关联元素对图数据样本进行修改,当然每次修改可以基于一个关联元素对图数据样本进行修改,并根据修改后的图数据样本确定每个关联元素的干扰参数,也可以每次基于多个关联元素对图数据进行修改,然后得到修改后的样本,并根据修改后的图数据样本得到每个关联元素的干扰参数。针对关联元素为节点或者是节点连边两种情况,可以采用不同的处理方式。
[0041] 比如,在某些实施例中,关联元素为节点连边,根据关联元素对图数据样本进行修改的到修改后的图数据样本,以及将修改后的图数据样本输入到目标模型中,以便根据目标模型的输出结果确定表征这个关联元素对目标模型干扰大小的干扰参数。针对每个关联元素分别采用如下方式确定该元素的干扰参数:可以判断图数据样本是否包含该关联元素,如果包含,则从所述图数据样本删除该关联元素,即删除这条节点连边,得到所一个修改后的图数据样本,并将该述修改后的图数据样本输入到目标模型中,以便根据目标模型的输出结果确定表征这个关联元素对目标模型干扰大小的干扰参数中。
[0042] 当然,在某些实施例中,如果图数据样本不包含该关联元素,则在所述图数据样本中增加该关联元素,即增加这条节点连边,得到一个修改后的图数据样本,并将修改后的图数据样本输入所述目标模型,以确定所述关联元素的干扰参数。遍历每条节点连边,重复上述步骤,即可以得到每条节点连边的干扰参数。如图2所示,假设用户A为目标节点,图数据样本中包含目标元素AB边,则可以从图数据样本中删除AB边,得到一个修改后的图数据,并将修改后的图数据样本输入到目标模型,以确定AB边的干扰参数。图数据样本中不包含目标元素BC边,则可以在图数据样本中增加AB边,得到另一个修改后的图数据样本,并将修改后的图数据样本输入到目标模型,以确定BC边的干扰参数。
[0043] 在某些实施例中,关联元素还可以包括目标节点的邻近节点,则针对关联元素为节点的情况,可以针对每个邻近节点,采用如下方式来确定关联元素的干扰参数:可以从图数据样本中删除该邻近节点以及以该邻近节点为端点的边,得到一个修改后的图数据样本,并将所述修改后的图数据样本输入到所述目标模型,以确定所述邻近节点的干扰参数。可以从所述图数据样本中删除所述邻近节点以及以所述邻近节点为端点的边,得到所述修改后的图数据样本,并将所述修改后的图数据样本输入到所述目标模型,以确定所述邻近节点的干扰参数。同样的,遍历每个邻近节点,重复上述操作,即可以确定出每个邻近节点的干扰参数。
[0044] 当然,为了比较方便的确定出每个相关元素对目标节点的干扰的大小,每次可以只根据一个目标元素对图数据修改,将修改后的图数据样本输入到目标模型,根据模型的输出结果来确定该目标元素对目标模型预测目标节点的结果的干扰。当然,本说明书实施例也不排除每次基于两个或更多个目标元素对图数据样本进行修改,然后确定两个或更多个目标元素组合对目标模型预测目标节点结果的影响,然后基于目标元素组合对目标节点的影响分别估算出每个目标元素对目标模型预测目标节点结果的影响。
[0045] 在根据各关联元素对图数据样本进行修改后,可以得到各关联元素对应的修改后的图数据样本,然后将修改后的图数据样本输入到目标模型,根据目标模型的输出结果确定表征各关联元素对目标模型干扰大小的干扰参数。比如,在某些实施例中,如果目标模型为图分类模型,可以根据目标模型将目标节点划分为指定类别的概率来确定干扰参数,其中指定类别可是目标节点对应的正确类别,也可以是是错误类别。假设指定类别为目标节点对应的正确类别,则概率越大,说明该关联元素的对目标模型的干扰越小。其中,如果指定类别为错误类别,则概率越大,说明该关联元素的对目标模型的干扰越大。在某些实施例中,干扰参数可以直接用目标模型将目标节点划分为指定类别的概率来表征。当然,在某些实施例中,所述指定类别可以是目标节点对应的正确类别,则可以用目标模型将目标节点划分为指定类别的概率的相反数来表征,此时,干扰参数越大,则目标元素对目标模型的干扰越大。当然,干扰参数还可以采用目标模型将目标节点划分为对应的正确类别的概率的倒数等表征,具体可以根据实际需求去设置,本说明书实施不作限制。
[0046] 在确定各相关元素的干扰参数后,可以根据干扰参数的大小从相关元素中确定若干个目标元素,其中,目标元素为对目标模型干扰较大的元素。目标元素可以是一个,也可以是多个,具体数量可以依据允许对图数据样本的改动幅度确定。在某些实施例中,如果干扰参数越大,表示目标元素对目标模型的干扰越大,则可以取干扰参数最大一个关联元素作为目标元素,也可以取干扰参数最大的多个关联元素作为目标元素。比如,可以预先设置一个干扰参数阈值,将干扰参数大于指定阈值的关联元素作为目标元素。当然,也可以预先设置目标元素的个数,假设为N,然后将关联元素按照干扰参数由大到小的顺序排序,取干扰参数最大的前N个关联元素作为目标元素。目标元素的确定原则为选取对目标模型干扰较大的关联元素,具体确定方式可以根据实际需求设定,本说明书实施例不做限制。
[0047] 确定目标元素后,即可以根据目标元素和图数据样本生成对抗样本。在某些实施例中,如果目标元素为节点连边,则在生成对抗样本时,可以遍历每个目标元素,将图数据样本中包含的目标元素删除以及在图数据样本中增加不包含的目标元素。依然以图2为例,假设目标节点为用户A,确定的目标元素为边AB和边AE,由于图数据样本中不包含边AE,因而可以在图数据样本中增加边AE,并且将边AB删除,即得到了对抗样本,对抗样本如图3a所示。在某些实施例中,如果目标元素为从邻近节点确定出的节点,则在生成对抗样本时,可以遍历所述目标元素,删除图数据样本中的目标元素以及目标元素为端点的边,得到所述对抗样本。以图2为例,假设目标节点为用户A,目标元素为节点C和节点D,则可以删除节点C、D,以及边AC、AD,得到最终的对抗样本,如图3b所示。在生成对抗样本后,即可以将对抗样本输入到目标模型当中,以检测目标模型的漏洞,以对目标模型进行优化,提高模型的性能。
[0048] 本说明书实施例通过确定图数据样本中目标节点的关联元素,然后根据关联元素对图数据样本进行修改,将修改后的图数据样本输入到目标模型,根据目标模型输出的结果确定表征每个关联元素对于目标模型的干扰大小的干扰参数,然后选取干扰较大的目标元素对图数据进行修改,得到对抗样本。通过模型的前向计算将关联元素的扰动结果准确量化,避免了基于梯度信息计算扰动结果中的连续松弛问题及扰动结果不准确的问题,通过贪心选取的策略为图结数据加入最少的扰动,以生成对抗样本。
[0049] 为了进一步解释本说明书实施例中的对抗样本生成方法,以下再以一个具体的实施例加以解释。
[0050] 社交网络中包括海量的用户,在网络空间中构筑起一个虚拟的社会。同时,社交网络庞大的用户基数吸引了大量的攻击者。攻击者通过创建大量的虚假账号和盗用正常的账户,在社交网络中或散发谣言,或发布广告、钓鱼、色情信息等,或通过这些账号来恶意增加其他账号的信誉,如批量关注、恶意点赞等。这些攻击者统称为社交网络中的异常用户。社交网络中用户之间关联关系可以通过图数据结构来存储,比如图数据中的各个节点代表一个用户账户,节点之间的连边表示各用户账户之间的关联,比如是否加入关注列表,是否有互动记录等等。为了检测社交网络中的异常用户,可以通过社交网络异常用户检测模型,该模型通过图数据中用户之间的关联来预测图数据中各节点用户是否为异常用户,由于攻击者可以通过对表征用户之间关联关系的图数据进行改动,比如取消对某些用户的关注,构建一个对抗样本,使得模型分类错误,将异常用户判定为非异常用户。为了提升模型的性能,可以构建对抗样本来检测模型的漏动。本实施例提出了一种对抗样本生成方法,可以通过对图数据加入最少的扰动生成对抗样本。为了尽可能减小对图数据样本的改动,本实施例主要通过改动图数据样本中表征用户之间关联关系的连边来生成对抗样本。
[0051] 其中,假设社交网络异常用户检测模型记为模型A;表征社交网络中用户之间关联关系的图数据样本记为图数据样本B0;目标节点为图数据样本B0中的一节点V0;最大代价为3,其中最大代价是指允许改动的图数据样本中的边的数量。对抗样本具体生成方法如下:
[0052] (1)确定候选边集,候选边集为对目标节点V0影响较大的节点连边,其中可以根据模型A和图数据样本B0确定候选边集,候选边集可以是以目标节点V0的计算图中包含的节点为端点的边,其中,计算图为与模型A预测目标节点V0的分类结果相关的节点构成的子图。假设,计算图中包含目标节点V0、节点V1、V2和V3,则将所有以节点V0、V1、V2和V3为端点的边作为候选边集。
[0053] (2)从候选边集中选出一条边,假设为e,判断图数据样本B0中是否包含该条边e,如果包含,则从图数据样本B0中删除边e,如果不包含,则在图数据样本增加边e,得到一个修改后的图数据样本B1。
[0054] (3)将图数据样本B1输入都模型A中,得到模型A将目标节点V0分类正确的概率,然后取概率的相反数作为表征e对模型干扰大小的分值;
[0055] (4)遍历候选边集中的每一条边,重复步骤2和步骤3中的操作,即可得到候选边集中的各条边对应的分值,最终得到表征各条候选边集对模型干扰大小的分值矩阵。
[0056] (5)由于最大代价为3,即可以改动的边最多为3条,因而可以选取分值排在前3的三条边作为扰动边,得到扰动边集。
[0057] (6)判断图数据样本B0中是否包含扰动边集中的边,如果包含,则删除,如果不包含,则增加,得到最终的对抗样本。
[0058] 由于本实施例中没有利用模型的梯度信息,而是通过模型的前向计算将候选边集的扰动结果准确量化,避免了梯度求解中的连续松弛问题及计算的扰动结果不准确的问题,通过贪心选取的策略为图数据样本加入最少的扰动,以生成对抗样本。
[0059] 以上实施例中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本说明书公开的范围。
[0060] 如图4所示,是本说明书一个实施例的对抗样本生成装置,用于针对图数据样本中给定的任一目标节点,为目标模型生成对抗样本,所述装置40包括:
[0061] 修改模块42,用于根据所述目标节点的各关联元素对所述图数据样本进行修改,得到修改后的图数据样本,所述关联元素包括:所述目标节点的邻近节点、以所述目标节点为端点的边、和/或以所述邻近节点为端点的边;
[0062] 干扰参数确定模块44,用于将修改后的图数据样本输入到所述目标模型,并根据所述目标模型的输出结果确定表征所述关联元素对所述目标模型干扰大小的干扰参数;
[0063] 目标元素确定模块46,用于根据所述干扰参数的大小从所述关联元素中确定目标元素;
[0064] 对抗样本生成模块48,用于根据所述目标元素和所述图数据样本生成对抗样本。
[0065] 在某些实施例中,所述装置用于根据所述目标节点的各关联元素对所述图数据样本进行修改,得到修改后的图数据样本时,包括:
[0066] 若所述图数据样本包含所述关联元素,则删除所述关联元素;
[0067] 若所述图数据样本不包含所述关联元素,则增加所述关联元素。
[0068] 在某些实施例中,所述目标元素为所述干扰参数大于指定阈值的关联元素,或[0069] 将所述关联元素按照所述干扰参数由大到小的顺序排序,选取前N个关联元素作为所述目标元素,N为正整数。
[0070] 在某些实施例中,所述装置用于根据所述目标元素和所述图数据样本生成对抗样本时,包括:
[0071] 删除所述图数据样本中的所述目标元素以及在所述图数据样本中增加所述目标元素,得到所述对抗样本。
[0072] 在某些实施例中,所述目标模型为图数据节点分类模型,所述干扰参数根据所述目标模型将所述目标节点划分为指定类别的概率确定。
[0073] 在某些实施例中,所述指定类别为所述目标节点对应的正确类别,所述干扰参数为所述目标模型将所述目标节点划分为所述指定类别的概率的相反数。
[0074] 在某些实施例中,所述邻近节点为所述目标模型计算所述目标节点的分类结果相关的节点。
[0075] 在某些实施例中,所述目标模型为社交网络中异常用户检测型,所述图数据样本为表征社交网络中用户之间关联关系的图数据。
[0076] 上述装置中各个模块的功能和作用的实现过程具体详情见上述方法中对应步骤的实现过程,在此不再赘述。
[0077] 对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0078] 本说明书装置的实施例可以应用在计算机设备上,例如服务器或智能终端。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在文件处理的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本说明书装置所在计算机设备的一种硬件结构图,除了图5所示的处理器502、内存504、网络接口506、以及非易失性存储器508之外,实施例中装置所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。其中,所述非易失式存储器508中存储有计算机程序,所述处理器502执行所述计算机程序时实现本说明书实施例中任一项所述对抗样本生成方法。
[0079] 相应地,本说明书实施例还提供一种计算机存储介质,所述存储介质中存储有程序,所述程序被处理器执行时实现上述任一实施例中的方法。
[0080] 本说明书实施例可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0081] 本领域技术人员在考虑说明书及实践这里公开的说明书后,将容易想到本说明书实施例的其它实施方案。本说明书实施例旨在涵盖本说明书实施例的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书实施例的一般性原理并包括本说明书实施例未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书实施例的真正范围和精神由下面的权利要求指出。
[0082] 应当理解的是,本说明书实施例并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书实施例的范围仅由所附的权利要求来限制。
[0083] 以上所述仅为本说明书实施例的较佳实施例而已,并不用以限制本说明书实施例,凡在本说明书实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书实施例保护的范围之内。