CN114707661A - 一种对抗训练方法和系统 - Google Patents

一种对抗训练方法和系统 Download PDF

Info

Publication number
CN114707661A
CN114707661A CN202210383948.4A CN202210383948A CN114707661A CN 114707661 A CN114707661 A CN 114707661A CN 202210383948 A CN202210383948 A CN 202210383948A CN 114707661 A CN114707661 A CN 114707661A
Authority
CN
China
Prior art keywords
training
sample
samples
information gain
training samples
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
Application number
CN202210383948.4A
Other languages
English (en)
Other versions
CN114707661B (zh
Inventor
范洺源
王力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202210383948.4A priority Critical patent/CN114707661B/zh
Publication of CN114707661A publication Critical patent/CN114707661A/zh
Application granted granted Critical
Publication of CN114707661B publication Critical patent/CN114707661B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书实施例公开了一种对抗训练方法和系统。所述方法包括:基于多个训练样本,对目标模型进行多轮迭代的对抗训练。其中一轮迭代包括:根据训练样本的信息增益,从所述多个训练样本中选取参与当前轮对抗训练的当前轮训练样本,其中,训练样本的信息增益与基于该训练样本生成的对抗样本对目标模型的威胁强度正相关;基于所述当前轮训练样本对目标模型进行对抗训练,以提高目标模型抵御对抗攻击的能力。

Description

一种对抗训练方法和系统
技术领域
本说明书涉及信息技术领域,特别涉及一种对抗训练方法和系统。
背景技术
对抗训练(Adversarial Training,AT)是增强机器学习模型(如神经网络)鲁棒性的有效手段。在对抗训练的过程中,原始样本会被加入微小的扰动/噪声(改变很小,但是很可能造成模型预测错误),然后使模型适应这种改变(尽可能保持正确的预测),即,使模型对加扰/加噪后得到的对抗样本(Adversarial Example,AE)具有鲁棒性,也即提高了模型抵御对抗攻击的能力。
目前,希望提供一种高效的对抗训练方案。
发明内容
本说明书实施例之一提供一种对抗训练方法,包括:基于多个训练样本,对目标模型进行多轮迭代的对抗训练。其中一轮迭代包括:根据训练样本的信息增益,从所述多个训练样本中选取参与当前轮对抗训练的当前轮训练样本,其中,训练样本的信息增益与基于该训练样本生成的对抗样本对目标模型的威胁强度正相关;基于所述当前轮训练样本对目标模型进行对抗训练,以提高目标模型抵御对抗攻击的能力。
本说明书实施例之一提供一种对抗训练系统,包括当前轮训练样本选取模块和对抗训练模块。所述系统用于基于多个训练样本,对目标模型进行多轮迭代的对抗训练。对于其中一轮迭代:所述当前轮训练样本选取模块用于根据训练样本的信息增益,从所述多个训练样本中选取参与当前轮对抗训练的当前轮训练样本,其中,训练样本的信息增益与基于该训练样本生成的对抗样本对目标模型的威胁强度正相关;所述对抗训练模块用于基于所述当前轮训练样本对目标模型进行对抗训练,以提高目标模型抵御对抗攻击的能力。
本说明书实施例之一提供一种对抗训练装置,包括处理器和存储设备,所述存储设备用于存储指令。其中,当所述处理器执行指令时,实现如本说明书任一实施例所述的对抗训练方法。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的对抗训练的原理示意图;
图2是根据本说明书一些实施例所示的基于当前轮训练样本对目标模型进行对抗训练的示例性流程图;
图3是根据本说明书一些实施例所示的信息增益的示例性计算方法;
图4是根据本说明书一些实施例所示的对抗训练系统的示例性模块图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
对抗攻击可以使模型产生意料之外的输出。对抗攻击可通过在模型输入数据(如预测样本或预测样本的特征值)中添加难以察觉的扰动/噪声来实现。以分类模型为例,将加扰/加噪后的识别对象输入分类模型,可能导致模型输出错误的分类结果。例如,在人脸识别场景中,攻击者(如张三)通过佩戴镜框可能导致人脸识别系统将其误分类为其他身份者(如李四),进而造成不良影响(如张三冒用李四的身份非法闯入)。应当理解,佩戴镜框是一种在识别的人脸图像中添加微小扰动/噪声的具体做法。又如,在语音识别场景中,在一条音频中加入噪声,尽管加噪前后的两条音频人耳听不出差别,但语音识别系统可能会给出语义完全不同的识别结果。
对抗训练被认为是增强机器学习模型鲁棒性,即提高模型抵御对抗攻击能力的有效手段之一。图1是根据本说明书一些实施例所示的对抗训练的原理示意图。如图1所示,在对抗训练的过程中,基于原始训练样本对应的模型输入x(即原始输入x)以及扰动数据z,得到对抗样本对应的模型输入x'(即混合输入x')。在一些场景中,样本对应的模型输入也被称作样本的特征。在一些实施例中,加扰可以通过掩膜(mask)的方式实现,即用扰动数据z去替换模型输入x的特定部分以获得加扰后的模型输入。沿用前文中的例子,当模型输入为人脸图像时,可以用镜框覆盖人脸眼部区域,得到加扰后的人脸图像。对抗训练的目标在于使目标模型适应扰动(尽可能保持正确的分类),具体而言,就是使得目标模型将对抗样本正确分类为原始训练样本的标签k。应当理解,标签k反映的是原始训练样本的真实类别。
对抗训练通常采用多轮迭代的方式进行。具体地,每轮迭代中,可从大批量的训练样本(如训练集)中抽取小批量的训练样本参与当前轮的对抗训练,如此可以避免单次训练的计算负载过大。在一些对抗训练方法的具体实施例中,可以预先划分大批量的训练样本得到多个小批量的训练样本,依次对模型进行对抗训练,或者采用随机采样策略抽取参与每轮对抗训练的训练样本。可以认为这些对抗训练的实施例中,每个训练样本参与对抗训练的概率或频次基本是相等的。本说明书实施例提供了一种基于训练样本的信息增益的采样策略。训练样本的信息增益可以指示该训练样本对目标模型的对抗训练的重要性。实际上,不同的训练样本对目标模型的对抗训练的重要性可能存在差异。具体而言,一个训练样本在设定对抗训练目标下能够为目标模型的对抗训练(或者说学习)带来更多的信息增益,意味着该训练样本对目标模型的对抗训练就越重要。为了帮助理解,这里举一个直观的例子。假设:训练样本A的标签为k1,训练样本B的标签为k2;当前的目标模型对于训练样本A对应的对抗样本A'的预测类别为k1,对于训练样本B对应的对抗样本B'的预测类别为k3。显然,当前的目标模型对训练样本A已经具有良好的鲁棒性,而对训练样本B的鲁棒性有待加强。这可以进一步理解为当前的目标模型对训练样本A更加“熟悉”,而训练样本B能够为目标模型的训练带来更多的有用信息。因此,训练样本B相比于训练样本A对当前的目标模型的对抗训练更重要。换个角度,也可以将训练样本对目标模型的对抗训练的重要性理解为基于该训练样本生成的对抗样本对目标模型的威胁强度,这是因为,目标模型对训练样本的鲁棒性越强,该训练样本对目标模型的威胁强度就越低。
可以理解,在设定对抗训练目标下,用于训练目标模型的训练样本中信息增益较大的训练样本所占比重更多的话,目标模型的收敛速度就越快,即越快得到满足设定对抗训练目标的目标模型。有鉴于此,在基于训练样本的信息增益的采样策略中,在单轮迭代中,可以根据训练样本的信息增益,从多个训练样本中选取高重要性的训练样本参与当前轮次的对抗训练,如此可以加速目标模型的收敛,从而更快地完成对抗训练。参考前文,训练样本的信息增益可以与基于该训练样本生成的对抗样本对目标模型的威胁强度呈正相关。
下面示例几种具体的基于训练样本的信息增益的采样策略。
在一些实施例中,可以将训练样本的信息增益作为抽样权重,对多个训练样本进行一次或多次抽样,以获得当前轮训练样本。具体地,抽样权重越大,对应的训练样本被抽到的概率可以越大。例如,训练样本A的信息增益为g1,训练样本B的信息增益为g2。若g1大于g2,则训练样本A相较于训练样本B更有可能被抽中参与当前轮对抗训练。若g1小于g2,则训练样本B相较于训练样本A更有可能被抽中参与当前轮对抗训练。若g1=g2,则训练样本A和训练样本B被抽中参与当前轮对抗训练的概率相等。
在一些实施例中,本说明书提及的抽样可以是放回抽样或不放回抽样。当采用放回抽样时,可能会出现同一训练样本(尤其是高信息增益的训练样本)被重复抽中的情况。可以理解,训练样本的多样性同样有助于高效完成模型训练,因为重复的训练样本既占用训练成本又无法为模型训练提供新的价值/信息。为了提高训练样本的多样性,可以引入重复样本检测机制。具体地,在对所述多个训练样本进行所述一次或多次抽样的过程中,若当前次抽出的训练样本与已抽出的训练样本重复,则丢弃所述当前次抽出的训练样本,以使得当前轮训练样本中不存在重复的训练样本。例如,已抽出的训练样本有训练样本A、训练样本B等,当前次抽出的训练样本为训练样本A,则可以丢弃重复的训练样本A,并重新抽样,直到抽出满足当前轮训练所需数量的训练样本,同时保证同一小批量的训练样本各异。通过引入重复样本检测机制,可以进一步提高模型收敛速度、节省训练成本。
类似地,训练样本的类别均衡也有助于高效完成模型训练。为了促成训练样本的类别均衡,可以引入类别均衡机制。以分类模型为例,在根据训练样本的信息增益选取当前轮训练样本时,可以从各分类类别下的训练样本中选取预设数量的训练样本作为当前轮训练样本,以使得当前轮训练样本中各分类类别下的训练样本数量均衡。可以理解,这里的分类类别是指训练前就已知的样本标签,即样本真实类别。仅作为示例,分类类别包括k1、k2、k3,可以设定每个分类类别下选取100个训练样本作为当前轮训练样本的目标,即希望当前轮训练样本包括100个k1类别的训练样本、100个k2类别的训练样本以及100个k3类别的训练样本。更具体地,对于放回抽样,当抽到的任一类别(不妨记为k1)的训练样本数量已经达到预设数量时,若后续抽到的训练样本仍为k1,则可以舍弃该训练样本。当然,也可以从各分类类别下的训练样本中选取信息增益最高的100个训练样本作为当前轮训练样本。
在一些实施例中,各训练样本的信息增益可能随着目标模型的训练而更新,每一轮迭代的对抗训练中,都先基于各训练样本(当前最新)的信息增益进行抽样,获得参与当前轮对抗训练的训练样本,为了区别,或者成为当前轮训练样本。
图2是根据本说明书一些实施例所示的基于当前轮训练样本对目标模型进行对抗训练的示例性流程图。如图2所示,流程200可以包括以下步骤。
步骤210,基于当前轮训练样本获得当前轮对抗样本。
参考前文,对抗样本的特征可基于其对应的训练样本的特征和扰动数据生成。对抗样本的标签依然等于与其对应的训练样本的标签。
可以理解,扰动数据的大小可以控制在一定范围内,以保证扰动的不易察觉。在一些实施例中,可以根据目标模型对训练样本的预测误差生成扰动数据,将扰动数据添加到训练样本中得到该训练样本对应的对抗样本。在一些实施例中,可以利用目标模型处理训练样本或者训练样本的特征值,得到预测结果。再确定预测结果与训练样本标签之间的差异相对训练样本特征值的梯度信息,将梯度信息作为所述扰动数据。本说明书对采用的对抗样本生成算法不作具体限制,仅作为示例,可以采用Box-constrained L-BFGS、FGSM等已知的对抗样本生成算法,将来新提出的对抗样本生成算法亦适用于本文提供的对抗训练方法。在一些实施例中,还可以基于训练样本对应的对抗样本通过目标模型迭代的再次生成对抗样本,将再次生成的对抗样本一并作为该训练样本对应的对抗样本。可以理解,某一当前轮训练样本可以对应生成多个对抗样本。
步骤220,基于所述当前轮对抗样本对目标模型进行对抗训练。
对抗训练的目标简单来说就是增强目标模型的鲁棒性,其可以包括两个方面:一是保持目标模型对原始的训练样本的预测精度,即控制训练样本的预测结果与标签之间的差异;二是提高目标模型对加扰得到的对抗样本的预测精度,即控制对抗样本的预测结果与标签之间的差异。在一些实施例中,对抗训练的目标可以仅包括控制对抗样本的预测结果与标签之间的差异。
在一些实施方式中,任一轮迭代中,可以基于所述多个训练样本生成对应的多个对抗样本,即制作全量的对抗样本。进而,基于所述多个对抗样本以及(待进行当前轮对抗训练的)目标模型,可以获得所述多个训练样本的信息增益。根据所述多个训练样本的信息增益,可以从所述多个训练样本中选取参与当前轮对抗训练的当前轮训练样本。进而,可以从所述多个对抗样本中确定所述当前轮训练样本对应的当前轮对抗样本。
上述实施方式中,在基于对抗样本进行对抗训练前需要制作全量的对抗样本,计算成本较高。有鉴于此,本说明书还提供另一种实施方式,可以预先对所述多个训练样本的信息增益进行初始化,每个训练样本的初始化信息增益用于选取第一轮迭代中的当前轮训练样本。在第一轮对抗训练中,可以对第一轮迭代中的当前轮训练样本的信息增益进行更新,如可以基于所述当前轮训练样本的初始化信息增益,获得该训练样本更新后的信息增益,用于选取下一轮迭代中的当前轮训练样本。
在一些实施例中,各训练样本的信息增益可以预先设置为相同的预设值(例如,将所述多个训练样本的信息增益初始化为1),此时可以认为各训练样本对目标模型的对抗训练的重要性相同,因此可以从所述多个训练样本中随机选取参与第一轮对抗训练的当前轮训练样本。
在一些实施例中,一轮迭代对抗训练还包括在基于所述当前轮对抗样本对目标模型进行对抗训练之后,基于所述当前轮对抗样本以及经过当前轮对抗训练后的目标模型确定对应训练样本的当前轮信息增益,并基于所述对应训练样本的当前轮信息增益更新该训练样本的信息增益,具体可以是将所述对应训练样本的当前轮信息增益作为该训练样本的信息增益。考虑到训练样本的信息增益与基于该训练样本生成的对抗样本对目标模型的威胁强度正相关,因此在一些实施例中,可以利用当前轮对抗样本对经过当前轮对抗训练后的目标模型进行对抗攻击测试,以得到各当前轮训练样本生成的对抗样本对经过当前轮对抗训练后的目标模型的威胁强度。示例性的,利用某一当前轮训练样本生成的多个对抗样本对经过当前轮对抗训练后的目标模型进行攻击测试,其中攻击成功(模型预测结果与对应标签不同)的对抗样本占该训练样本生成的对抗样本总数的比例可以作为该训练样本的当前轮信息增益。
在研究中我们发现,利用目标模型对不同轮次(如相邻轮次)的迭代中基于同一训练样本生成的对抗样本的预测结果(即输出)之间具有相似度较高的特点,可以认为同一训练样本的信息增益在不同轮次迭代中具有一定程度的稳定性,因此在所述一轮迭代对抗训练中,可以基于训练样本在当前轮中重新确定的信息增益与其已有的(如在历史迭代轮次中确定的)信息增益联合更新该训练样本的信息增益,进而在一定程度上保证训练样本信息增益的稳定,提高模型训练效率。在一些替代性实施例中,所述一轮迭代对抗训练还包括基于所述当前轮对抗样本以及经过当前轮对抗训练后的目标模型确定对应训练样本的初始信息增益;再基于所述对应训练样本的信息增益(即已有的信息增益)以及所述初始信息增益获得所述对应训练样本的当前轮信息增益,并基于所述对应训练样本的当前轮信息增益更新该训练样本的信息增益。其中,在一些实施例中,确定对应训练样本的初始信息增益的方式可以与前一实施例中确定对应训练样本的当前轮信息增益的方式相类似。而在本实施例中,可以将所述对应训练样本的信息增益(即已有的信息增益)以及其初始信息增益进行加权求和,得到本实施例中对应训练样本的当前轮信息增益。具体计算方式可以表示如下:
Figure BDA0003593950820000071
其中,
Figure BDA0003593950820000072
表示第i轮迭代中训练样本i的当前轮信息增益,
Figure BDA0003593950820000073
表示该训练样本i已有的信息增益,wi表示训练样本i的初始信息增益,α表示取值在0到1之间的平衡系数。
对于多分类模型(总共有三个或以上类别),所述初始信息增益还可以按图3所示的具体流程计算。可以理解的是,图3所示的流程还可以作为前一实施例中,当前轮信息增益的计算方式。以当前轮的其中一个对抗样本为例,如图3所示,流程300可以包括以下步骤。
步骤310,利用经过当前轮对抗训练后的目标模型处理所述对抗样本的特征,得到预测结果。
预测结果可以是各种形式的。例如,预测结果可以指示预测对象属于哪个类别(以下称为预测类别)。又如,预测结果可以指示预测对象属于各类别的概率(以下称为预测概率,也可称为置信度),具体地,预测结果可以是向量(以下称为预测向量)形式,预测向量的每一位对应一个类别,且反映预测对象属于该类别的概率。
步骤320,获得所述预测结果与所述对抗样本的标签的第一相似度。
参考有关预测结果的说明,第一相似度可以直接描述目标模型对所述对抗样本的预测类别与标签是否相同(例如用“1”表示相同,用“0”表示不同),或者也可以用预测结果中所述对抗样本的标签类别对应的预测概率来表征。
步骤330,获得所述预测结果与除所述对抗样本的标签以外的一个或多个其他类别标签的一个或多个第二相似度。
类似地,第二相似度可以直接描述目标模型所述对抗样本的预测类别与所述其他类别标签是否相同,或者也可以用预测结果中所述其他类别标签对应的预测概率来表征。
步骤340,基于所述一个或多个第二相似度分别与第一相似度的差值中的最大值,获得所述对抗样本对应的训练样本的初始信息增益。
具体的,对于二分类模型,可以直接将第二相似度减去第一相似度的差值作为所述初始信息增益,对于多分类模型,则可以将多个差值中的最大值作为所述初始信息增益。
可以理解,这里的差值可以指是正数也可以是负数。当第二相似度大于第一相似度时,差值为正,反之为负。
所述最大值反映了目标模型对正确分类所述对抗样本的确定性(或目标模型误分类所述对抗样本的可能性),目标模型对正确分类所述对抗样本的确定性越大,相应地,所述对抗样本对目标模型的威胁强度越低。所述最大值越大,意味着当前目标模型将所述对抗样本分类到除标签以外的某一类别(即误分类)的置信度越大,所述对抗样本对目标模型的威胁强度越大,因此所述对抗样本对应的当前轮训练样本的初始信息增益就越大;最大值越小,意味着当前目标模型将所述对抗样本分类到除标签以外的某一类别的置信度越小,所述对抗样本对目标模型的威胁强度越低,即所述对抗样本对应的当前轮训练样本的初始信息增益越小。
在一些实施例中,所述初始信息增益的具体计算方式可以表示如下:
Figure BDA0003593950820000081
其中,wi表示编号为i的训练样本(简称训练样本i)的初始信息增益,xi为训练样本i的特征,δi表示添加给训练样本i的扰动数据,xii表示对训练样本i加扰后得到的对抗样本的特征,yi表示训练样本i的标签(亦为其对应的对抗样本的标签),k表示除yi外的其他类别标签。Fθ表示目标模型,可以是经过当前轮对抗训练的目标模型,Fθ()[]表示训练样本i的预测向量中第[]个类别标签对应的预测概率(置信度)。max表示求最大值,log表示求对数,1到K用于区分多个(如三个或以上)类别标签。可以看出,在对训练样本i生成的对抗样本进行预测时,若目标模型对其他类别标签k输出高置信度(如概率接近1)而对标签yi输出低置信度(如概率接近0),即目标模型误分类所述对抗样本的可能性很大,则wi的值较大,相应地,表明训练样本i的对抗样本对目标模型的威胁强度较高。
对于二分类模型,对于所述对抗样本而言其他类别标签k只有一个,相应地,可以直接基于计算式(1)中两个对数值的差值(即无需求最大值),获得所述对抗样本对应的当前轮训练样本的初始信息增益。
在一些实施例中,在所述一轮迭代对抗训练中,一个当前轮训练样本可以生成多个对抗样本,进而根据图3所示的流程可以得到多个wi,可以对多个对抗样本计算而来的wi进行融合,如计算均值等,得到所述轮训练样本的初始信息增益。
应当注意的是,上述有关流程的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图4是根据本说明书一些实施例所示的对抗训练系统的模块图。
如图4所示,系统400可以包括当前轮训练样本选取模块410和对抗训练模块420。
系统400可以用于基于多个训练样本,对目标模型进行多轮迭代的对抗训练。
对于其中一轮迭代:当前轮训练样本选取模块410可以用于根据训练样本的信息增益,从所述多个训练样本中选取参与当前轮对抗训练的当前轮训练样本,其中,训练样本的信息增益与基于该训练样本生成的对抗样本对目标模型的威胁强度正相关;对抗训练模块420可以用于基于所述当前轮训练样本对目标模型进行对抗训练,以提高目标模型抵御对抗攻击的能力。
关于系统400及其模块的更多细节,可以参考前述实施例。
应当理解,图4所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,当前轮训练样本选取模块410可以进一步划分为信息增益确定模块和抽样模块两个子模块。诸如此类的变形,均在本说明书的保护范围之内。
本说明书实施例可能带来的有益效果包括但不限于:(1)根据训练样本的信息增益选取参与对抗训练的训练样本,可以加速模型迭代,提高对抗训练的效率;(2)利用历史迭代轮次中生成的对抗样本来更新训练样本的信息增益,无需在每轮迭代的初始为每个训练样本生成对抗样本,节省了训练成本;(3)通过引入重复样本检测机制,提高参与对抗训练的样本的多样性,有助于高效完成模型训练;(4)通过引入类别均衡机制,促成参与对抗训练的训练样本的类别均衡,有助于高效完成模型训练。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书实施例的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书实施例进行各种修改、改进和修正。该类修改、改进和修正在本说明书实施例中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书实施例的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书实施例的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书实施例的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书实施例各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书实施例所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书实施例流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书实施例披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书实施例对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本申请中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书实施例的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

Claims (11)

1.一种对抗训练方法,包括,基于多个训练样本,对目标模型进行多轮迭代的对抗训练,其中一轮迭代包括:
根据训练样本的信息增益,从所述多个训练样本中选取参与当前轮对抗训练的当前轮训练样本;其中,训练样本的信息增益与基于该训练样本生成的对抗样本对目标模型的威胁强度正相关;
基于所述当前轮训练样本对目标模型进行对抗训练,以提高目标模型抵御对抗攻击的能力。
2.如权利要求1所述的方法,所述基于所述当前轮训练样本对目标模型进行对抗训练,包括:
基于当前轮训练样本生成对抗样本;对抗样本的特征基于其对应的训练样本的特征和扰动数据生成,对抗样本的标签等于其对应的训练样本的标签;
基于所述对抗样本对目标模型进行对抗训练。
3.如权利要求2所述的方法,所述其中一轮迭代还包括:
基于所述对抗样本以及经过当前轮对抗训练后的目标模型确定对应训练样本的当前轮信息增益,并基于所述对应训练样本的当前轮信息增益更新该训练样本的信息增益。
4.如权利要求2所述的方法,所述其中一轮迭代还包括:
基于所述对抗样本以及经过当前轮对抗训练后的目标模型确定对应训练样本的初始信息增益;
基于所述对应训练样本的信息增益以及所述初始信息增益获得所述对应训练样本的当前轮信息增益,并基于所述对应训练样本的当前轮信息增益更新该训练样本的信息增益。
5.如权利要求4所述的方法,所述目标模型为分类模型;所述基于所述对抗样本以及经过当前轮对抗训练后的目标模型确定对应训练样本的初始信息增益,包括:
利用经过当前轮对抗训练后的目标模型处理对抗样本的特征,得到预测结果;
获得所述预测结果与所述对抗样本的标签的第一相似度;
获得所述预测结果与除所述对抗样本的标签以外的一个或多个其他类别标签的一个或多个第二相似度;
基于所述一个或多个第二相似度分别与所述第一相似度的差值中的最大值,获得对应训练样本的初始信息增益。
6.如权利要求1所述的方法,其中,所述根据训练样本的信息增益,从所述多个训练样本中选取参与当前轮对抗训练的当前轮训练样本,包括:
将训练样本的信息增益作为抽样权重,对所述多个训练样本进行一次或多次抽样,以获得当前轮训练样本,其中,抽样权重越大,对应的训练样本被抽到的概率越大。
7.如权利要求6所述的方法,其中,在对所述多个训练样本进行一次或多次抽样的过程中,若当前次抽出的训练样本与已抽出的训练样本重复,则丢弃所述当前次抽出的训练样本,以使得当前轮训练样本中不存在重复的训练样本。
8.如权利要求1所述的方法,其中,所述目标模型为分类模型;所述根据训练样本的信息增益,从所述多个训练样本中选取参与当前轮对抗训练的当前轮训练样本,包括:根据训练样本的信息增益,从各分类类别下的训练样本中选取预设数量的训练样本作为所述当前轮训练样本,以使得当前轮训练样本中各分类类别下的训练样本数量均衡。
9.如权利要求1所述的方法,其中,当所述其中一轮迭代为第一轮迭代时,训练样本的信息增益为相同的预设值;所述根据训练样本的信息增益,从所述多个训练样本中选取参与当前轮对抗训练的当前轮训练样本,包括:从所述多个训练样本中随机选取参与当前轮对抗训练的当前轮训练样本。
10.一种对抗训练系统,包括当前轮训练样本选取模块和对抗训练模块;
所述系统用于基于多个训练样本,对目标模型进行多轮迭代的对抗训练;
对于其中一轮迭代:
所述当前轮训练样本选取模块用于根据训练样本的信息增益,从所述多个训练样本中选取参与当前轮对抗训练的当前轮训练样本;其中,训练样本的信息增益与基于该训练样本生成的对抗样本对目标模型的威胁强度正相关;
所述对抗训练模块用于基于所述当前轮训练样本对目标模型进行对抗训练,以提高目标模型抵御对抗攻击的能力。
11.一种对抗训练装置,包括处理器和存储设备,所述存储设备用于存储指令,其中,当所述处理器执行指令时,实现如权利要求1~9中任一项所述的方法。
CN202210383948.4A 2022-04-13 2022-04-13 一种对抗训练方法和系统 Active CN114707661B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210383948.4A CN114707661B (zh) 2022-04-13 2022-04-13 一种对抗训练方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210383948.4A CN114707661B (zh) 2022-04-13 2022-04-13 一种对抗训练方法和系统

Publications (2)

Publication Number Publication Date
CN114707661A true CN114707661A (zh) 2022-07-05
CN114707661B CN114707661B (zh) 2024-10-18

Family

ID=82174476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210383948.4A Active CN114707661B (zh) 2022-04-13 2022-04-13 一种对抗训练方法和系统

Country Status (1)

Country Link
CN (1) CN114707661B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109598281A (zh) * 2018-10-11 2019-04-09 阿里巴巴集团控股有限公司 一种业务风险防控方法、装置及设备
US20190220755A1 (en) * 2018-01-18 2019-07-18 Google Llc Systems and Methods for Improved Adversarial Training of Machine-Learned Models
CN110084002A (zh) * 2019-04-23 2019-08-02 清华大学 深度神经网络攻击方法、装置、介质和计算设备
CN110728297A (zh) * 2019-09-04 2020-01-24 电子科技大学 一种基于gan的低代价对抗性网络攻击样本生成方法
CN111325337A (zh) * 2019-08-19 2020-06-23 大连理工大学 一种基于自编码神经网络与最优传输的生成模型
WO2021189364A1 (zh) * 2020-03-26 2021-09-30 深圳先进技术研究院 一种对抗图像生成方法、装置、设备以及可读存储介质
CN113537630A (zh) * 2021-08-04 2021-10-22 支付宝(杭州)信息技术有限公司 业务预测模型的训练方法及装置
CN113822443A (zh) * 2021-11-17 2021-12-21 支付宝(杭州)信息技术有限公司 一种对抗攻击和生成对抗样本的方法
US20220036187A1 (en) * 2019-08-28 2022-02-03 Tencent Technology (Shenzhen) Company Limited Sample generation method and apparatus, computer device, and storage medium
CN114187483A (zh) * 2021-10-25 2022-03-15 北京邮电大学 生成对抗样本的方法、检测器的训练方法及相关设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190220755A1 (en) * 2018-01-18 2019-07-18 Google Llc Systems and Methods for Improved Adversarial Training of Machine-Learned Models
CN109598281A (zh) * 2018-10-11 2019-04-09 阿里巴巴集团控股有限公司 一种业务风险防控方法、装置及设备
CN110084002A (zh) * 2019-04-23 2019-08-02 清华大学 深度神经网络攻击方法、装置、介质和计算设备
CN111325337A (zh) * 2019-08-19 2020-06-23 大连理工大学 一种基于自编码神经网络与最优传输的生成模型
US20220036187A1 (en) * 2019-08-28 2022-02-03 Tencent Technology (Shenzhen) Company Limited Sample generation method and apparatus, computer device, and storage medium
CN110728297A (zh) * 2019-09-04 2020-01-24 电子科技大学 一种基于gan的低代价对抗性网络攻击样本生成方法
WO2021189364A1 (zh) * 2020-03-26 2021-09-30 深圳先进技术研究院 一种对抗图像生成方法、装置、设备以及可读存储介质
CN113537630A (zh) * 2021-08-04 2021-10-22 支付宝(杭州)信息技术有限公司 业务预测模型的训练方法及装置
CN114187483A (zh) * 2021-10-25 2022-03-15 北京邮电大学 生成对抗样本的方法、检测器的训练方法及相关设备
CN113822443A (zh) * 2021-11-17 2021-12-21 支付宝(杭州)信息技术有限公司 一种对抗攻击和生成对抗样本的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张晓辉;于双元;王全新;徐保民;: "基于对抗训练的文本表示和分类算法", 计算机科学, no. 1, 15 June 2020 (2020-06-15) *

Also Published As

Publication number Publication date
CN114707661B (zh) 2024-10-18

Similar Documents

Publication Publication Date Title
CN107346448B (zh) 基于深度神经网络的识别装置、训练装置及方法
CN111753881B (zh) 一种基于概念敏感性量化识别对抗攻击的防御方法
EP3582150A1 (en) Method of knowledge transferring, information processing apparatus and storage medium
CN108694443B (zh) 基于神经网络的语言模型训练方法和装置
CN114531274B (zh) 通信信号调制识别的智能对抗方法、系统、介质及设备
CN111062036A (zh) 恶意软件识别模型构建、识别方法及介质和设备
CN111027717A (zh) 一种模型训练方法和系统
CN113541985B (zh) 物联网故障诊断方法、模型的训练方法及相关装置
CN113822443A (zh) 一种对抗攻击和生成对抗样本的方法
Alexandridis et al. Long-tailed instance segmentation using gumbel optimized loss
CN112884059A (zh) 一种融合先验知识的小样本雷达工作模式分类方法
CN113850300A (zh) 训练分类模型的方法和装置
CN110705640A (zh) 一种基于黏菌算法构建预测模型的方法
CN110110734B (zh) 开集识别方法、信息处理设备以及存储介质
CN114330652A (zh) 一种目标检测攻击方法和装置
CN117940936A (zh) 用于评估对抗鲁棒性的方法和装置
CN117454187B (zh) 一种基于频域限制目标攻击的集成模型训练方法
Nam et al. Decoupled training for long-tailed classification with stochastic representations
CN111950579A (zh) 分类模型的训练方法和训练装置
CN111046380B (zh) 一种基于对抗样本增强模型抗攻击能力的方法和系统
KR20220058189A (ko) 뉴럴 네트워크를 이용한 분류 방법 및 장치
CN110941824B (zh) 一种基于对抗样本增强模型抗攻击能力的方法和系统
CN114707661A (zh) 一种对抗训练方法和系统
Sewak et al. LSTM hyper-parameter selection for malware detection: Interaction effects and hierarchical selection approach
CN113971442A (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