首页 / 利用对抗生成网络生成对抗样本的方法及装置

利用对抗生成网络生成对抗样本的方法及装置有效专利 发明

技术领域

[0001] 本说明书实施例涉及计算机技术领域,具体地,涉及利用对抗生成网络生成对抗样本的方法及装置。

相关背景技术

[0002] 对抗样本是指在数据集中故意添加细微的干扰所形成的,导致机器学习模型以高置信度输出错误结果的输入样本。例如,在文本分类场景下,原来被文本分类模型识别为违规的文本内容,在略作修改且在人类看来语义基本不变的情况下,被误分类为不违规。又例如,在图像识别场景下,原来被图像处理模型识别为熊猫的图片,在加入一点细微的甚至人眼无法察觉的改动后,被误分类为长臂猿。
[0003] 对抗样本可能被攻击者用于对机器学习模型进行攻击,导致机器学习模型的预测准确率低。因此,需要提前生成大量的对抗样本,并用这些对抗样本训练机器学习模型,以使模型能够对这些对抗样本进行正确分类,从而抵御外界攻击。
[0004] 然而,目前生成对抗样本通常需要较多的人工干预,并且,所生成对抗样本的数量和质量十分有限。因此,需要一种方案,可以快捷、高效地生成大批量的高质量对抗样本。

具体实施方式

[0019] 下面结合附图,对本说明书披露的多个实施例进行描述。
[0020] 如前所述,目前生成对抗样本通常需要较多的人工干预,并且,所生成对抗样本的数量和质量十分有限。比如,在自然语言领域中,目前主要通过对原文中的个别单词进行替换来生成对抗样本。在一个例子中,图1示出根据一个例子的文本对抗样本的内容示意图,其中被划掉的文字为原文,其被替换成其他文字后,得到文本对抗样本(或称自然语言对抗样本)。这种替换不会考虑待替换单词的上下文,因此替换后的句子常常变得不符合语法规则并且阅读起来不通顺。此外,修改单词后,可能会使得文本的含义发生巨大变化,使得人类对修改后文本的分类也发生改变,这是违背对抗样本生成原则的,因此,当前的这种替换方式下生成的对抗样本质量欠佳。并且,采用这种替换方式生成对抗样本时,往往需要大量的尝试和验证,却只能得到少量的文本对抗样本。
[0021] 再比如,目前在图像处理领域,主要通过快速梯度法或迭代梯度法,生成对抗样本。具体地,其中快速梯度法包括给定一张图像,将其输入意图攻击的模型,得到预测结果,然后用梯度下降法修改原图使得预测结果变差,而迭代梯度法是指针对一张图像,多次重复快速梯度法的过程后,将最后一次修改得到的图片作为对抗样本。然而,其中快速梯度法得到的对抗样本质量不高,虽然其被分到正确类别的置信度降低,但也难以以较高置信度输出为其他类别,而迭代梯度法生成对抗样本需要的计算量偏大。
[0022] 此外,发明人还发现,目前生成对抗样本的方式,难以快速生成指定真实类别(对应于人脑的分类结果)的优质对抗样本。
[0023] 基于以上观察,发明人设计一种特定的对抗生成网络,进而提出一种利用该对抗生成网络生成对抗样本的方法,用以实现快捷、高效地生成大批量的高质量对抗样本。需要注意,对抗生成网络中的“对抗”和对抗样本中的“对抗”是两个不同的概念。
[0024] 具体地,图2示出根据一个实施例的对抗生成网络的应用架构示意图,其中对抗生成网络用于处理与业务对象相关的数据,如图2所示,该对抗生成网络中包括预先训练的用于执行N(为大于1的正整数)分类任务的分类器,和用于生成业务对象样本的生成器,以及对应于N个类别的N个判别器,其中各个判别器用于判别输入样本是对应类别下的真实样本还是生成器生成的假样本。基于上述对抗生成网络进行训练,可得到训练后的生成器和训练后的N个判别器,进一步地,利用其中训练后的生成器,可生成与N个类别中任意指定类别的真实样本具有高相似度,但会被上述分类器识别为其他类别的对抗样本。
[0025] 为了便于理解,下面先对上述对抗生成网络进行具体介绍。
[0026] 在一个实施例中,上述对抗生成网络针对的上述业务对象可以为文本,相应地,上述分类器、生成器和判别器分别为文本分类器、文本生成器和文本判别器,利用训练后的生成器生成的对抗样本为文本对抗样本。在一个具体的实施例中,上述文本可以包括社交平台中的用户发布文本,相应的分类任务可以为识别该用户发布文本中是否包含违规内容,且对应设定的N个类别中可以包括违规和不违规等,或者,相应的分类任务可以为识别文本中蕴含的用户情感,且对应设定的N个类别中可以包括开心、生气和平静等。在另一个具体的实施例中,上述文本可以包括内容资讯平台中的资讯文本,相应的分类任务可以为确定资讯文本所属的领域类别,对应设定的N个类别中可以包括体育类、娱乐类、科普类等,或者,相应的分类任务可以为识别用户对资讯文本的感兴趣程度,对应设定的N个类别中可以包括不感兴趣、非常感兴趣等。
[0027] 在另一个实施例中,上述业务对象可以为图片,相应地,上述分类器、生成器和判别器分别为图片分类器、图片生成器和图片判别器,利用训练后的生成器生成的对抗样本为图片对抗样本。在一个具体的实施例中,上述图片可以包括动植物图片,相应的分类任务可以为确定动植物所属的种类,对应设定的N个类别中可以包括熊猫、老虎、狮子等。在另一个具体的实施例中,上述图片可以包括人脸图像,相应的分类任务可以为识别人脸图像中的人脸身份,对应设定的N个类别可以为N个不同的用户身份,其中用户身份可以用手机号、身份证号等进行唯一标识。
[0028] 在又一个实施例中,上述业务对象可以为音频,相应地,上述分类器、生成器和判别器分别为音频分类器、音频生成器和音频判别器,利用训练后的生成器生成的对抗样本为音频对抗样本。在一个具体的实施例中,上述音频可以为客服服务中录制的用户咨询语音,相应的分类任务可以为确定用户咨询语音对应的标准用户问题,对应设定的N个类别中可以包括对应于怎么开通花呗,怎么调整花呗额度等用户标问。在另一个具体的实施例中,上述音频可以是用作登录密码的验证语音,相应的分类任务可以为识别验证语音对应的用户身份。
[0029] 在还一个实施例中,上述业务对象还可以为用户、商户、商品、业务事件等。在一个具体的实施例中,其中业务事件可以包括社交事件(如通过即时通讯软件发起的会话,或通过支付平台发起的转账)、登录事件等。
[0030] 由上可知,上述对抗生成网络可用于处理文本、图片、音频、用户、商户、业务事件等业务对象的相关数据。
[0031] 另一方面,在一个实施例中,上述对抗生成网络中的分类器、生成器和判别器可以基于卷积神经网络(ConvolutionalNeuralNetworks,CNN)或深度神经网络(DeepNeuralNetworks,DNN)而实现。在一个实施例中,上述N个判别器所具有的网络结构可以相同,也可以不同。
[0032] 以上对对抗生成网络进行介绍。下面结合实施例,描述利用该对抗生成网络生成对抗样本方法。具体地,图3示出根据一个实施例的利用对抗生成网络生成对抗样本的方法流程示意图,所述方法的执行主体可以为任何具有计算、处理能力的装置或设备或系统或平台等。如图3所示,所述方法包括以下步骤:步骤S310,获取第一噪声向量,以及获取对应于第i个类别的第i个类别向量,其中i为不大于N的正整数;步骤S320,将该第一噪声向量和第i个类别向量共同输入所述生成器中,得到对应第i个类别真实样本的第一模拟样本;步骤S330,将所述第一模拟样本输入所述第i个判别器中,得到该第一模拟样本属于第i类别下真实样本的第一概率;步骤S340,将获取的属于第i个类别的第一真实样本输入所述第i个判别器中,得到该第一真实样本为第i个类别下真实样本的第二概率;步骤S350,以减小第一概率,增大第二概率为目标,训练所述第i个判别器;步骤S360,将所述第一模拟样本输入所述分类器中,得到该第一模拟样本属于第i个类别的第三概率;步骤S370,以增大第一概率,减小第三概率为目标,训练该生成器,训练后的生成器用于生成目标对抗样本,其模拟目标类别真实样本但被所述分类器预测为其他类别。
[0033] 针对以上步骤,首先需要说明的是,其中“第一噪声向量”、“第一模拟样本”等中的“第一”,“第二概率”中的“第二”,以及其他类似用语,仅用于区分同类事物,不具有其他限定作用。
[0034] 以上步骤具体如下:首先,在步骤S310,获取第一噪声向量,以及获取对应于所述第i个类别的第i个类别向量,其中i为不大于N的正整数。
[0035] 为便于描述,将本步骤中获取到的某个噪声向量称为第一噪声向量。具体地,可以对符合特定分布的噪声空间进行随机采样,得到第一噪声向量。在一个实施例中,其中特定分布可以为高斯分布(或称标准正态分布)。在另一个实施例中,其中特定分布可以为拉普拉斯分布。
[0036] 另一方面,对于上述第i个类别向量的获取,在一个实施例中,可以包括:首先,获取N个类别标签,并对所述N个类别标签进行独热编码,对应得到N个独热编码向量;然后,将所述N个独热编码向量作为N个类别向量,其中包括所述第i个类别向量。
[0037] 在一个具体的实施例中,上述N个类别标签可以为N个类别标识,其中各个类别标识用于唯一标识对应类别。在一个例子中,类别标签可以由字母、数字或符号等组成。在另一个具体的实施例中,上述N个类别标签可以为N个类别的类别名称,如“低风险”、“中风险”和“高风险”等。
[0038] 需要理解,上述独热编码,即 One-Hot 编码,又称一位有效编码,其编码方法是使用M(为正整数)位状态寄存器来对M个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。基于此,可以将获取的各个类别标签编码为N维向量,其中有一个维度的数值与其余维度的数值不同。在一个例子中,假定上述N个类别标签包括类别编号1、2和3,则可以依次将这3类标签编码为(1,0,0)、(0,1,0)和(0,0,1)这三个独热编码向量。
[0039] 在另一个实施例中,可以随机地为N个类别分配N个类别向量,只需N个类别向量之间互不相同即可。如此可以得到N个类别对应地N个类别向量,进而从中获取第i个类别对应的第i个类别向量。
[0040] 在以上获取第一噪声向量和第i个类别向量后,接着在步骤S320,将所述第一噪声向量和第i个类别向量共同输入所述生成器中,得到对应第i个类别真实样本的第一模拟样本。
[0041] 具体地,可以对第一噪声向量和第i个类别向量进行融合处理,得到融合向量,再将该融合向量输入生成器中。在一个实施例中,其中融合处理可以为拼接处理,相应得到的融合向量为拼接向量。在另一个实施例中,其中融合处理可以为加和处理,相应得到的融合向量为加和向量。
[0042] 在一种实施方式中,在上述业务对象为文本的情况下,生成器可以采用循环神经网络(Recurrent Neural Network,RNN),图4示出根据一个实施例的RNN网络的结构示意图,如图4所示,RNN网络基于隐层状态向量ht和输入单词wordt,可以预测下一个单词wordt+1,其中t为自然数。特别地,如果给定一个初始状态向量h0,以及使用一个通配符(表示句子开始的特殊符号)作为句子的第一个单词word1,那么RNN网络在经过训练后可以依次生成一个句子的每个单词,得到一段自然语言的句子,并且该句子符合真实世界的自然语言。
[0043] 基于此,本步骤中可以包括:给定上述融合向量作为RNN网络中隐层的上述初始状态向量,并将针对文本字符的通配符(如上述通配符)作为RNN网络的初始输入,得到RNN网络输出的一段自然语言文本,即上述第一模拟样本。将如此得到的模拟文本作为文本对抗样本,会使得该文本对抗样本更加符合人类的语言习惯,更加符合语法、更加通顺。
[0044] 需要说明,在业务对象为文本的情况下,生成器还可以采用基于RNN网络改进得到的其他神经网络,如长短期记忆(Long Short-Term Memory,LSTM)网络或门循环单元(Gat e Recurrent Unit,GRU)网络。
[0045] 以上,可以得到模拟第i个类别真实样本的第一模拟样本。然后,在步骤S330,将所述第一模拟样本输入所述第i个判别器中,得到该第一模拟样本属于第i类别下真实样本的第一概率。并且,在步骤S340,将获取的属于第i个类别的第一真实样本输入所述第i个判别器中,得到该第一真实样本为第i个类别下真实样本的第二概率。在一个实施例中,可以从第i个类别对应的真实样本集中随机采样,得到该第一真实样本。在另一个实施例中,可以从N个类别对应的真实样本总集中,获取属于第i个类别的若干真实样本,作为上述第一真实样本。
[0046] 需要说明,第i个判别器的目的在于,尽可能区分第i个类别的真实样本和生成器生成的模拟第i个类别真实样本的模拟样本(或称假样本)。在一个实施例中,判别器输出的是输入其中的样本属于真实样本的概率,相应地,可以将判别器的输出概率直接作为对应样本属于真实样本的概率。在另一个实施例中,判别器输出的是输入其中的样本属于假样本的概率,相应地,将利用1减去判别器的输出概率而得到的数值,作为对应样本属于真实样本的概率。据此在步骤S350,以减小上述第一概率,增大上述第二概率为目标,训练所述第i个判别器。
[0047] 具体地,根据第一概率和第二概率,确定第i个判别器的判别训练损失,再利用该判别训练损失调整该第i个判别器中的模型参数。在一个实施例中,其中判别训练损失可以通过下式确定:        (1)
其中, 表示第i个判别器对应的判别函数,和 分别表示上述第一真实样本和第
一模拟样本, 和 分别表示上述第二概率和第一概率, 表示 符合第i个
类别真实样本的真实样本分布 , 表示 符合针对第i个类别的模拟样本的模拟
样本分布 , 表示求取期望值。
[0048] 需要说明,其中判别训练损失还可以通过计算Wasserstein距离来确定,具体不作赘述。
[0049] 以上可以实现对第i个判别器的训练,以此类推,可以实现对N个判别器中各个类别器的训练。
[0050] 另一方面,还需训练生成器。需要说明,生成器的目的在于,尽可能欺骗判别器,使得判别网络将生成器输出的模拟样本判别为真实样本。如此判别器和生成器相互对抗,不断调整参数,最终使判别器无法判断生成器输出的模拟样本是否真实。此外,希望生成的模拟第i类别真实样本的第一模拟样本,尽可能被分类器分为除第i个类别以外的其他类别。据此,在步骤S360,将所述第一模拟样本输入所述分类器中,得到该第一模拟样本属于第i个类别的第三概率。然后,在步骤S370,以增大上述第一概率,减小上述第三概率为目标,训练所述生成器。
[0051] 具体地,根据第一概率和第三概率,确定生成器的生成训练损失,再利用该生成训练损失调整生成器中的模型参数。在一个实施例中,其中生成损失可以通过下式确定:        (2)
其中,表示上述第一噪声向量, 表示上述第i个类别向量,表示生成器对应的生
成函数, 表示上述第一模拟样本, 表示第i个判别器对应的判别函数,
表示上述第一概率, 表示 符合上述噪声空间 的空间分布,表示上
述分类器对应的分类函数, 表示上述第i个类别, 表示第一模拟样本
被分类为 的上述第三概率, 表示求取期望值。
[0052] 需要说明,还可以采用其他形式的损失函数,确定生成训练损失。
[0053] 由上,重复上述步骤S310-步骤S370,可以实现对上述对抗生成网络中判别器和生成器的多轮迭代训练。进一步地,可以利用经过多轮迭代训练后训练好的生成器,生成模拟目标类别的真实样本、而被分类器预测为其他类别的目标对抗样本。具体地,在一个实施例中,在上述步骤S370之后,所述方法还包括:获取第二噪声向量,以及获取对应于目标类别的目标类别向量,所述目标类别属于所述N个类别;再将该第二噪声向量和目标类别向量共同输入所述训练后的生成器中,得到上述目标对抗样本。如此,可以实现生成具有指定真实类别的对抗样本。
[0054] 此外需要说明,对于上述判别器和生成器的训练,可以使用端到端的训练方法,每次训练中对判别器和生成器均进行调参;或者,也可以先固定其中生成器中的模型参数,多次训练判别器,再固定判别器中的模型参数,训练生成器,如此循环迭代,完成多轮迭代训练。并且,迭代次数可以是人工设定的超参,也可以不预先设定迭代次数,而是迭代至模型收敛。
[0055] 在以上实施方式中,第一概率和第二概率,都是指对应样本属于真实样本的概率。在其他实施方式中,第一概率和第二概率还可以指对应样本属于假样本的概率,需理解,此种实施方式也涵盖在前述权利要求的保护范围内。
[0056] 综上,通过采用本说明书实施例提供的利用对抗生成网络生成对抗样本的方法,可以实现生成具有指定真实类别,但会被分类器预测为其他类别的对抗样本。并且,利用上述训练后的生成器,可以实现高效、快捷地生成大批量优质对抗样本。
[0057] 与上述生成方法相对应的,本说明书实施例还披露一种生成装置。具体地,图5示出根据一个实施例的利用对抗生成网络生成对抗样本的装置结构示意图,其中对抗生成网络包括预先训练的分类器,用于针对业务对象执行N个类别的分类任务;所述对抗生成网络还包括生成器和对应于所述N个类别的N个判别器,其中N为大于1的正整数。
[0058] 上述装置可以通过任何具有计算能力的处理平台、服务器集群等实现,如图5所示,所述装置500包括:噪声向量获取单元510,配置为获取第一噪声向量;类别向量获取单元520,配置为获取对应于第i个类别的第i个类别向量,其中i为不大于N的正整数;模拟样本生成单元530,配置为将所述第一噪声向量和第i个类别向量共同输入所述生成器中,得到对应第i个类别真实样本的第一模拟样本;模拟样本判别单元540,配置为将所述第一模拟样本输入所述第i个判别器中,得到该第一模拟样本属于第i类别下真实样本的第一概率;真实样本判别单元
550,配置为将获取的属于第i个类别的第一真实样本输入所述第i个判别器中,得到该第一真实样本为第i个类别下真实样本的第二概率;判别器训练单元560,配置为以减小第一概率,增大第二概率为目标,训练所述第i个判别器;模拟样本分类单元570,配置为将所述第一模拟样本输入所述分类器中,得到该第一模拟样本属于第i个类别的第三概率;生成器训练单元580,配置为以增大第一概率,减小第三概率为目标,训练该生成器,训练后的生成器用于生成目标对抗样本,其模拟目标类别真实样本但被所述分类器预测为其他类别。
[0059] 在一个实施例中,噪声向量获取单元510具体配置为:对符合高斯分布的噪声空间进行随机采样,得到所述第一噪声向量。
[0060] 在一个实施例中,类别向量获取单元520具体配置为:获取N个类别标签,并对所述N个类别标签进行独热编码,对应得到N个独热编码向量;将所述N个独热编码向量作为N个类别向量,其中包括所述第i个类别向量。
[0061] 在一个实施例中,模拟样本生成单元530具体配置为:对所述第一噪声向量和所述第i个类别向量进行拼接,得到拼接向量,并将所述拼接向量输入所述生成器中,得到所述第一模拟样本;或,对所述第一噪声向量和所述第i个类别向量进行加和,得到加和向量,并将所述加和向量输入所述生成器中,得到所述第一模拟样本。
[0062] 在一个实施例中,所述业务对象为文本,所述生成器为循环神经网络RNN;模拟样本生成单元530具体配置为:对所述第一噪声向量和第i个类别向量进行融合处理,得到融合向量,作为RNN网络中隐层的初始状态向量;将针对文本字符的通配符作为所述RNN网络的初始输入,得到所述第一模拟样本。
[0063] 在一个实施例中,所述业务对象为文本或图片或音频,所述训练后的生成器用于生成文本对抗样本或图片对抗样本或音频对抗样本。
[0064] 在一个实施例中,所述装置500还包括对抗样本生成单元590,配置为:获取第二噪声向量,以及获取对应于目标类别的目标类别向量,所述目标类别属于所述N个类别;将所述第二噪声向量和所述目标类别向量共同输入所述训练后的生成器中,得到所述目标对抗样本。
[0065] 综上,通过采用本说明书实施例提供的利用对抗生成网络生成对抗样本的装置,可以实现生成具有指定真实类别,但会被分类器预测为其他类别的对抗样本。并且,利用上述训练后的生成器,可以实现高效、快捷地生成大批量优质对抗样本。
[0066] 如上,根据又一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图3所描述的方法。
[0067] 根据又一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图3所描述的方法。
[0068] 本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书披露的多个实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
[0069] 以上所述的具体实施方式,对本说明书披露的多个实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书披露的多个实施例的具体实施方式而已,并不用于限定本说明书披露的多个实施例的保护范围,凡在本说明书披露的多个实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书披露的多个实施例的保护范围之内。

当前第1页 第1页 第2页 第3页
相关技术
对抗样本相关技术
对抗生成相关技术
任彦昆发明人的其他相关专利技术