一种基于生成式对抗网络的对抗样本生成方法与流程

文档序号:18887628发布日期:2019-10-15 21:11阅读:2374来源:国知局
一种基于生成式对抗网络的对抗样本生成方法与流程

本发明涉及机器学习领域,更具体地,涉及一种基于生成式对抗网络的对抗样本生成方法。



背景技术:

对抗攻击是当前机器学习领域研究的一个热点问题。对抗攻击的原理是通过对抗样本(向原数据样本中添加经过精心训练的人眼不易察觉的微小扰动得到的新样本)来欺骗深度神经网络,使其做出错误判定。

目前大多数基于深度神经网络的攻击算法(如基于梯度和基于优化的方法)都是针对测试过程或测试数据集的,且需要一直对模型的体系结构和参数进行白盒访问(如获取与输入相关的梯度就需要知道目标网络的权重)。但是,当前的深度学习系统通常出于安全原因不允许对模型进行白盒访问,只允许对模型进行查询访问,即将模型视作黑盒。针对这种情况的攻击被称为黑盒攻击,但当前大多数黑盒攻击的成功率都不高,因为大部分黑盒攻击方法都是基于对抗样本的可迁移性(transferability)。可迁移性是对抗样本的一个常见属性,指依据有限样本生成的对抗样本对其他变量域也有良好的攻击效果。

在无法获取目标网络结构和训练数据集的黑盒攻击中,可迁移性至关重要。如何高效地生成可迁移性强、攻击性能稳定的对抗样本,是一个极有意义且极具挑战性的问题。

综上所述,虽然已有研究证明了现有攻击方法在不同数据训练的相同结构神经网络之间,以及同一任务训练的不同结构神经网络之间具有一定的迁移性,如文献[1]goodfellowij,shlensj,szegedyc,etal.explainingandharnessingadversarialexamples[j].internationalconferenceonlearningrepresentations,2015、文献[2]kurakina,goodfellowij,bengios,etal.adversarialexamplesinthephysicalworld[j].arxiv:computervisionandpatternrecognition,2017、文献[3]moosavidezfoolis,fawzia,frossardp,etal.deepfool:asimpleandaccuratemethodtofooldeepneuralnetworks[j].computervisionandpatternrecognition,2016:2574-2582和文献[4]xiaoc,lib,zhujy,etal.generatingadversarialexampleswithadversarialnetworks[j].2018;但仍存在对抗样本过于依赖目标模型而引起对抗样本可迁移性差、攻击成功率低、攻击效率低等问题。



技术实现要素:

本发明提供一种基于生成式对抗网络的对抗样本生成方法,实现为不同输入样本自适应产生具备可迁移性和鲁棒性对抗样本。

为解决上述技术问题,本发明的技术方案如下:

一种基于生成式对抗网络的对抗样本生成方法,包括以下步骤:

s1:将原样本x输入生成器g中,所述生成器g输出扰动g(x),生成器g的损失函数为lg,扰动g(x)叠加到原样本x中得到对抗样本x′=x+g(x),与一般的gan不同,生成器的目标是产生扰动而不是最终的图像,即输出图像等于输入图像加生成器g的输出图像,生成的对抗样本的细节和纹理是从输入图像中复制的,极大地保留了原图像的细节;

s2:将s1得到的对抗样本x′输入鉴别器d中,所述鉴别器d区分对抗样本x′和原样本x,得到鉴别器d的损失函数ld;

s3:将s1得到的对抗样本x′输入到增强模块st中,所述增强模块st基于空间变换,对对抗样本x′进行空间变换操作,增强模块st输出经过仿射变换处理后的对抗样本x′st=tθ(x+g(x)),式中tθ为变换函数;

s4:将经过仿射变换处理后的对抗样本x′st输入目标分类模型f,得到目标分类模型f的损失函数lf;

s5:根据生成器g的损失函数为lg、鉴别器d的损失函数ld和目标分类模型f的损失函数lf构建目标函数lgan用于训练攻击模型gan,得到训练好的生成器g;

s6:利用训练好的生成器g为不同输入样本产生自适应的对抗样本。

优选地,生成器g的损失函数使用l2范数作为距离度量损失,具体表示如下:

lg=max(0,||g(x)||2-c)

其中,c是自定义的常数,它允许用户指定添加的扰动量,能够生成各种各样的对抗样本,可以帮助更好地理解对抗样本的特征空间。该损失也可以稳定gan的训练。

优选地,所述鉴别器d为二元神经网络分类器。

优选地,所述鉴别器d的损失函数具体为:

ld=logd(x)+log(1-d(x+g(x)))。

优选地,目标分类模型f的损失函数在有目标的攻击中为:

lf=l(f(tθ(x+g(x))),y′)

表示预测类与目标类y′之间的距离,式中,l是交叉熵损失函数;

目标分类模型f的损失函数在无目标的攻击中为:

lf=-l(f(tθ(x+g(x))),y)

表示预测类与原始标签类y之间的负距离,式中,l是交叉熵损失函数。

优选地,目标函数lgan表示为:

lgan=lf+αld+β·lg

式中,α和β是常数,用于控制各目标函数的相对重要性,lg用于生成微小扰动,ld用于鼓励生成的对抗样本显示类似于原样本,而lf用于优化对抗样本,提高攻击成功率,通过最小化生成器损失函数最大化鉴别器损失函数argmingmaxdlgan求解得到生成器g和鉴别器d。

优选地,步骤s5还包括对训练好的生成器g进行测试,具体包括以下步骤:

s5.1:利用训练好的生成器g生成扰动,从而生成测试对抗样本,将测试对抗样本输入不同结构的目标分类网络,使其分类错误;

s5.2:对s5.1的测试对抗样本进行空间变换,产生新测试对抗样本,新测试对抗样本输入目标分类网络,使其分类错误。

与现有技术相比,本发明技术方案的有益效果是:

与已有攻击算法相比,本发明提出的方法不需要访问原始目标分类模型就可以有效地为不同输入样本产生攻击样本,查询与生成效率高,攻击模型泛化能力和鲁棒性强,能有效提高对抗样本的可迁移性与鲁棒性,进而提高黑盒攻击成功率。本发明方法的适用性较广,通用性较强,在不同类型的数据集与不同结构的模型上的攻击成功率都较高。

附图说明

图1为一种基于生成式对抗网络的对抗样本生成方法流程图。

图2为一种基于生成式对抗网络的对抗样本生成方法模型示意图,图中虚线代表训练过程,实线代表测试过程。

图3为黑盒攻击鲁棒性实施流程图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

一种基于生成式对抗网络的对抗样本生成方法,如图1至2,包括以下步骤:

s1:将原样本x输入生成器g中,所述生成器g输出扰动g(x),生成器g的损失函数为lg,扰动g(x)叠加到原样本x中得到对抗样本x′=x+g(x),与一般的gan不同,生成器的目标是产生扰动而不是最终的图像,即输出图像等于输入图像加生成器g的输出图像,生成的对抗样本的细节和纹理是从输入图像中复制的,极大地保留了原图像的细节,生成器g的损失函数使用l2范数作为距离度量损失,具体表示如下:

lg=max(0,||g(x)||2-c)

其中,c是自定义的常数;

s2:将s1得到的对抗样本x′输入鉴别器d中,所述鉴别器d区分对抗样本x′和原样本x,所述鉴别器d为二元神经网络分类器,得到鉴别器d的损失函数ld=logd(x)+log(1-d(x+g(x)));

s3:将s1得到的对抗样本x′输入到增强模块st中,所述增强模块st基于空间变换,对对抗样本x′进行空间变换操作,增强模块st输出经过仿射变换处理后的对抗样本x′st=tθ(x+g(x)),式中tθ为变换函数;

s4:将经过仿射变换处理后的对抗样本x′st输入目标分类模型f,得到目标分类模型f的损失函数lf,目标分类模型f的损失函数在有目标的攻击中为:

lf=l(f(tθ(x+g(x))),y′)

表示预测类与目标类y′之间的距离,式中,l是交叉熵损失函数;

目标分类模型f的损失函数在无目标的攻击中为:

lf=-l(f(tθ(x+g(x))),y)

表示预测类与原始标签类y之间的负距离,式中,l是交叉熵损失函数;

s5:根据生成器g的损失函数为lg、鉴别器d的损失函数ld和目标分类模型f的损失函数lf构建目标函数lgan用于训练攻击模型gan,得到训练好的生成器g和鉴别器d,目标函数lgan表示为:

lgan=lf+αld+β·lg

式中,α和β是常数,用于控制各目标函数的相对重要性,lg用于生成微小扰动,ld用于鼓励生成的对抗样本显示类似于原样本,而lf用于优化对抗样本,提高攻击成功率;

还包括对训练好的生成器g进行测试,具体包括以下步骤:

s5.1:利用训练好的生成器g生成扰动,从而生成测试对抗样本,将测试对抗样本输入不同结构的目标分类网络,使其分类错误;

s5.2:对s5.1的测试对抗样本进行空间变换,产生新测试对抗样本,新测试对抗样本输入目标分类网络,使其分类错误。

s6:利用训练好的生成器g为不同输入样本产生自适应的对抗样本。

在具体实施过程中,以黑盒攻击为例进行鲁棒性测试,具体流程如图3所示。

1)选择攻击目标f。利用cifar-10数据集训练resnet-18、resnet-34和vgg-16利用gtsrb数据集训练vgg-16和multi-scalecnn,得到两组共五个攻击目标模型f={f1,f2,f3,f4,f5}。其中,resnet-34和vgg-16分别作为测试对抗样本的灰盒和黑盒模型。

2)数据预处理。为了排除网络本身的性能所导致的分类错误的影响,将目标分类网络能正确分类的样本筛选出来,作为生成对抗样本的原样本。

3)生成对抗样本。根据图2的训练过程生成攻击模型,并利用其生成对抗样本。

4)测试对抗样本的有效性。若生成的对抗样本可以成功欺骗目标分类网络f使其分类错误,说明本实施例攻击方法有效。

5)测试对抗样本的可迁移性。若生成的对抗样本能够同时欺骗不同结构的目标分类网络f1和f2,使其分类错误,则说明对抗样本迁移性强,反之,则说明对抗样本迁移性差。与fgsm、bim、deepfool和advgan方法生成的对抗样本相比,提高攻击的成功率,则说明本实施例方法能有效提高对抗样本的迁移性。

测试对抗样本的鲁棒性。对步骤3)生成的对抗样本进行空间变换,产生新对抗样本,仍然能成功欺骗步骤1)的目标分类网络f2,则说明生成的对抗样本鲁棒性强。与fgsm、bim、deepfool和advgan方法生成的对抗样本相比,提高攻击的成功率,则说明本实施方法能有效提高对抗样本的鲁棒性。

cifar-10数据集实验结果如表1所示:

表1

gtsrb数据集实验结果如表2所示:

表2

相同或相似的标号对应相同或相似的部件;

附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1