首页> 中国专利> 基于条件标准流模型的黑盒对抗样本生成方法

基于条件标准流模型的黑盒对抗样本生成方法

摘要

本发明公开了一种基于条件标准流模型的黑盒对抗样本生成方法,首先使用白盒攻击方法生成原始图像对应的对抗样本,得到训练数据集,构建包括卷积神经网络和条件GLOW模型的条件标准流模型,其中卷积神经网络对原始样本提取图像特征作为条件变量,条件GLOW模型根据条件变量以及原始图像对应的对抗样本编码得到对应的隐空间表示;使用训练数据集对条件标准流模型进行训练,得到训练样本集隐空间表示的分布,然后以干净图像提取到的特征作为条件变量对隐空间表示的分布进行采样得到对抗样本输出,再进行裁剪后得到最终的对抗样本。本发明解决了黑盒攻击场景下,查询次数大、计算资源和时间消耗极其严重、不能批量生成对抗样本等问题。

著录项

  • 公开/公告号CN114898168A

    专利类型发明专利

  • 公开/公告日2022-08-12

    原文格式PDF

  • 申请/专利权人 云南大学;

    申请/专利号CN202210310612.5

  • 申请日2022-03-28

  • 分类号G06V10/771(2022.01);G06V10/82(2022.01);G06N3/04(2006.01);G06N3/08(2006.01);

  • 代理机构成都行之智信知识产权代理有限公司 51256;

  • 代理人温利平

  • 地址 650091 云南省昆明市翠湖北路2号

  • 入库时间 2023-06-19 16:20:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-30

    实质审查的生效 IPC(主分类):G06V10/771 专利申请号:2022103106125 申请日:20220328

    实质审查的生效

说明书

技术领域

本发明属于人工智能技术领域,更为具体地讲,涉及一种基于条件标准流模型的黑盒对抗样本生成方法。

背景技术

随着人工智能的快速发展,深度神经网络被广泛地应用于各个领域(例如:计算机视觉、自然语言处理、自动驾驶、信息安全等),取得了巨大的成功。深度神经网络的广泛应用使得深度神经网络自身的安全性日益受到关注。目前已经有研究者提出针对深度神经网络的对抗攻击方法,即:针对识别对象添加恶意的扰动,这些细微的扰动虽然人的视觉或听觉无法感知,但足以欺骗深度神经网络,使正常训练的模型输出置信度很高的错误预测结果,从而导致深度神经网络识别错误。这样的攻击,对于深度学习模型带来了巨大的威胁。

关于深度神经网络安全研究工作刚刚起步,虽然已经有了前人的前期探索工作,但还有一些地方有待深入研究。主要表现在:1)现在的大部分对抗攻击方法都是基于目标模型梯度的白盒攻击,而白盒攻击方法在现实世界中很难实现;2)尽管有一些黑盒攻击方法被提出,它们往往也是基于对抗样本的可转移性或者是对目标模型的梯度估计,而另外一类基于查询的黑盒攻击方法则需要对目标模型(系统)进行大量的查询和迭代优化操作来获取对抗样本,这需要大量计算资源和时间消耗;3)虽然基于查询的黑盒攻击方法在物理世界中可以实现,但仍面临在大量查询期间被目标系统所感知的风险,且不能快速、批量的生成对抗样本。

发明内容

本发明的目的在于克服现有技术的不足,提供一种基于条件标准流模型的黑盒对抗样本生成方法,设计了新的条件标准流模型,解决了黑盒攻击场景下,查询次数大、计算资源和时间消耗极其严重、不能批量生成对抗样本等问题,为人工智能安全性、鲁棒性研究提供一种快速、高效生成对抗样本的方法。

为了实现上述发明目的,本发明基于条件标准流模型的黑盒对抗样本生成方法包括以下步骤:

S1:根据实际需要获取若干图像以及对应标签,并将各图像归一化至预设尺寸作为原始样本,从而得到原始样本集合X;

采用收集到的原始样本集X对目标攻击模型进行训练,然后使用白盒攻击方法获取原始样本图像集X中每幅样本图像x的对抗样本x′,得到对抗样本集合X′;

最终,将原始样本集合X与对抗样本集合X′作为条件标准流模型的训练数据集;

S2:构建条件标准流模型,包括卷积神经网络和条件GLOW模型,其中:

卷积神经网络用于对输入图像提取图像特征,将得到的特征作为条件变量输入条件GLOW模型;

条件GLOW模型用于根据卷积神经网络的条件变量对输入图像的对抗样本进行编码,得到对应的隐空间表示;条件GLOW模型由L-1个流组件、squeeze层和K个流块堆叠构成,其中流组件由一个squeeze层、K个流块以及一个split层堆叠构成,L和K的值根据需要确定;流块为条件流块,包括Actnorm层、1×1卷积层和仿射耦合层,其中:

Actnorm层用于对输入的特征进行激活标准化,将得到的特征输入1×1卷积层;

1×1卷积层用于对输入的特征进行1×1卷积处理,将得到的特征输入仿射耦合层;

仿射耦合层用于接收卷积层发送的特征以及卷积神经网络发送的条件变量,进行仿射耦合处理后进行输出;

S3:根据步骤S1所得到训练样本集,对条件标准流模型进行训练;

S4:在条件标准流模型训练完成后,将训练样本集中各个训练样本依次输入训练好的条件标准流模型,得到每个训练样本对应的隐空间表示,计算得到所有训练样本隐空间表示的均值μ和方差σ,得到隐空间表示的分布N(μ,σ

S5:当需要对新的输入图像生成对抗样本时,先将输入图像归一化至预设尺寸得到输入图像

其中,Clip()表示预设的裁剪函数,ε表示预设的扰动参数。

本发明基于条件标准流模型的黑盒对抗样本生成方法,首先使用白盒攻击方法生成原始图像对应的对抗样本,并将原始样本集与对应的对抗样本集进行整合得到训练数据集,而后构建包括卷积神经网络和条件GLOW模型的条件标准流模型,其中卷积神经网络以原始样本作为输入提取图像特征作为条件变量,条件GLOW模型根据条件变量以及原始图像对应的对抗样本作为输入编码得到对应的隐空间表示;使用训练数据集对条件标准流模型进行训练;训练完成后得到训练样本集隐空间表示的分布,然后以干净图像提取到的特征作为条件变量对隐空间表示的分布进行采样得到对抗样本输出,最后对输出的对抗样本进行裁剪后得到最终的对抗样本。

本发明在针对特定样本产生对应样本时,不依赖于大量的计算资源和计算时间且能批量生成对抗样本,极大程度上解决了现有的黑盒攻击方法需要高计算量、高时间等待、无法量产的问题,在攻击成功率、平均查询次数、生成的对抗样本的可迁移性等方面性能都有了较大提升。本发明所提出的基于条件标准流模型的黑盒对抗样本生成方法将为对抗样本社区的研究工作以及目前的人工智能系统的鲁棒性提升都有着重要的价值。

附图说明

图1是本发明基于条件标准流模型的黑盒对抗样本生成方法的原理图;

图2是本发明基于条件标准流模型的黑盒对抗样本生成方法的具体实施方式流程图;

图3是本发明中条件标准流模型的架构图;

图4本发明中条件流块的结构图;

图5是本实施例中条件标准流模型的训练流程图;

图6是本发明和对比方法在CIFAR-10数据集上的成功攻击查询次数分布对比图;

图7是本发明和对比方法在SVHN数据集上的成功攻击查询次数分布对比图;

图8是本发明和AdvFlow算法在CIFAR-10数据集上的对抗样本可转移性对比图;

图9是本发明和AdvFlow算法在SVHN数据集上的对抗样本可转移性对比图。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

实施例

为了更好地说明本发明的技术方案,首先对本发明所基于的原理进行简要说明。传统的攻击方法通过基于目标模型执行复杂的推理来产生对抗性扰动,然后将其添加到原始样本中,从而产生最终的对抗样本。此过程高度依赖于推理结果,这会消耗大量的计算成本,并且通常会根据某些标准生成单个“最佳”样本。而本发明认为,所有对抗样本都可以遵循与正态分布不一致的特定分布。这主要是由于不同深度模型的优化所涉及的训练数据是固定的。换句话说,训练数据分布表征了在训练期间由这些模型近似的固定分布,因此,训练中不可见的数据分布对于模型的影响也是存在的。这解释了对抗样本(其中大部分是在训练中对模型不可见的数据)遵循未对齐的分布。而正是因为正常样本与对抗样本数据表现出了相似的外观,因此认为两种分布相互重叠并且合理假设这两种分布可以相互转换。

基于以上分析,本发明提出了一种基于条件标准流模型的黑盒对抗样本生成方法。图1是本发明基于条件标准流模型的黑盒对抗样本生成方法的原理图。如图1所示,本发明通过现有的白盒攻击方法来收集大量对抗性样本。尽管这些样本看起来与普通样本相似,但这两种样本之间的直接转换仍然是困难的,甚至是令人望而却步的。这是因为小扰动可能会被普通样本中的复杂结构和纹理所淹没,因此对生成模型不敏感。为了缓解这个问题,认为小扰动应该以正常输入为条件,该条件为生成过程中提供线索。具体来说,条件标准流模型用于实现有条件的生成过程,该过程允许基于正常样本和随机变量合成对抗性样本。随机变量可以使生成的样本多样化,也就是说,当条件标准流模型训练好的时候,可以在隐空间中随机采样来生成一批噪声,这些噪声被条件标准流模型进行逆向推理,从而产生一批对抗样本。

图2是本发明基于条件标准流模型的黑盒对抗样本生成方法的具体实施方式流程图。如图2所示,本发明基于条件标准流模型的黑盒对抗样本生成方法的具体步骤包括:

S201:原始样本及其对应的对抗样本收集:

根据实际需要获取若干图像以及对应标签,并将各图像归一化至预设尺寸作为原始样本,从而得到原始样本集合X。

采用收集到的原始样本集X对目标攻击模型进行训练,然后使用白盒攻击方法获取原始样本图像集X中每幅样本图像x的对抗样本x′,得到对抗样本集合X′。

最终,将原始样本集合X与对抗样本集合X′作为条件标准流模型的训练数据集。

本实施例中原始样本集采用现有的数据集:CIFAR-10、SVHN和ImageNet。获取对抗样本的具体方法如下:对于CIFAR-10和SVHN数据集,采用其训练集来训练目标攻击模型,此处采用的目标攻击模型为ResNet-56网络,然后采用PGD(Projected gradient descent,投影梯度下降)算法来生成对抗样本。而对于ImageNet,从其验证集中选择了大约30,000张图像来训练模型,基于多模型集成的MI-FGSM(Momentum Iterative Fast Gradient SignMethod,动量迭代快速梯度符号法)方法,其中集成模型为InceptionV4、InceptionResnetV2和ResNetV2-101。本实施例中生成对抗模型时的扰动参数采用两种,分别是ε=8、ε=16。

S202:构建条件标准流模型:

为了提高处理图像纹理的能力,本实施例中基于GLOW模型构建了条件标准流模型。原始Glow模型在模型构建中涉及卷积、耦合和归一化操作,但是由于原始GLOW模型在概率建模中没有考虑条件,因此本发明对GLOW模型进行了改进,将图像内容适当地整合成了条件变量,从而得到条件标准流模型。

图3是本发明中条件标准流模型的架构图。如图3所示,本发明中的条件标准流模型包括卷积神经网络和条件GLOW模型,其中:

卷积神经网络用于对输入图像提取图像特征,将得到的特征作为条件变量输入条件GLOW模型。引入卷积神经网络是因为如果将原始的输入图像作为条件变量,只能提供非常低级的特征。而这些特征不足以进行特征建模,并且会给条件GLOW模型的仿射耦合层中的子网络带来负担,因此本发明通过卷积神经网络对原始的输入图像提取更高级的特征。本实施例中卷积神经网络采用预训练好的VGG-19模型,将最后一级卷积层输出的特征作为提取的特征。本实施例中训练卷积神经网络时所采用的数据集为CIFAR-10、SVHN和ImageNet。在整个GLOW模型训练过程中,卷积神经网络可以固定参数也可以一并训练优化。

条件GLOW模型用于根据卷积神经网络的条件变量对输入图像的对抗样本进行编码,得到对应的隐空间表示。如图3所示,本发明的条件GLOW模型与常规GLOW模型类似,由L-1个流组件、squeeze层(压缩层)和K个流块堆叠构成,其中流组件由一个squeeze层、K个流块以及一个split层(分裂层)堆叠构成,L和K的值根据需要确定。与常规GLOW模型不同的是,本发明中的流块考虑了条件,因此可称为条件流块。图4本发明中条件流块的结构图。如图4所示,本发明中条件流块包括Actnorm(activation normalization,激活标准化)层、1×1卷积层、仿射耦合层,其中:

Actnorm层用于对输入的特征进行激活标准化,将得到的特征输入1×1卷积层。

1×1卷积层用于对输入的特征进行1×1卷积处理,将得到的特征输入仿射耦合层。

仿射耦合层用于接收卷积层发送的特征以及卷积神经网络发送的条件变量,进行仿射耦合处理后进行输出。

S204:训练条件标准流模型:

根据步骤S201所得到的训练样本集,对条件标准流模型进行训练。

为了提高模型训练效果,本实施例中对条件标准流模型的训练过程进行了优化。图5是本实施例中条件标准流模型的训练流程图。如图5所示,本实施例中条件标准流模型的训练具体步骤包括:

S501:选取当前批次训练样本:

从训练样本集合中随机选择B个训练样本作为当前批次训练样本,B表示批次大小,其取值根据实际需要确定。

S502:判断迭代轮次t是否满足预设条件,如果是,进入步骤S503,否则进入步骤S504。本实施例中损失函数采用了两种计算方式交替执行,因此需要预设条件进行损失函数计算方式的切换,例如可以奇数轮次计算隐空间损失,偶数轮次计算图像损失。

S503:计算隐空间损失:

计算当前批次中每个训练样本的隐空间损失L(θ;z,x′,c),然后平均得到当前批次的隐空间损失,隐空间损失L(θ;z,x′,c)的计算公式如下:

其中,x、x′分别表示输入的原始样本和对应的对抗样本,c表示卷积神经网络对输入图像x提取得到的条件变量,p

S504:计算图像损失:

由于对抗样本攻击的任务是生成一个与输入的条件样本具有相似外观的对抗样本,因此须确保从隐空间表示z到输入图像x的生成过程不会带来令人意外的结果。为了实现这一点,本实施例还在训练过程中引入MSE(Mean Square Error,均方误差)损失。即从当前批次中随机抽取一批训练样本,计算所抽取每个训练样本的图像损失L

L

其中,f

S505:更新模型参数:

根据当前所计算得到的损失更新条件标准流模型的参数。本实施例中采用Adam优化算法对模型参数进行更新优化。

S506:判断是否达到训练结束条件,如果是,则训练结束,否则返回步骤S501。

训练结束条件一般有两种,一是达到最大迭代次数,或者条件标准流模型收敛,在实际应用中根据需要选择即可。

S204:生成隐空间表示的分布:

当条件标准流模型训练好之后,那么训练样本集中各个对抗样本的隐空间表示预计遵循假设的高斯分布N(0,1)。但在实践中发现这些隐空间表示已经改变了均值和标准差值。这可能是因为训练数据不足,图像损失可能会使高斯分布的中心产生偏差,但实验表明即使没有图像损失也会发生偏移。基于这一观察,与从N(0,1)采样相比,基于移位的均值和标准值来采样得到隐空间表示,可以带来更好的性能。

根据以上分析,本发明在条件标准流模型训练完成后,将训练样本集中各个训练样本依次输入训练好的条件标准流模型,得到每个训练样本对应的隐空间表示,计算得到所有训练样本隐空间表示的均值μ和方差σ,得到隐空间表示的分布N(μ,σ

S205:生成新的对抗样本:

当需要对新的输入图像生成对抗样本时,先将输入图像归一化至预设尺寸得到输入图像

其中,Clip()表示预设的裁剪函数,ε表示预设的扰动参数。

为了更好地说明本发明的技术效果,采用具体实例对本发明进行实验验证。本次实验验证中,采用SimBA算法和AdvFlow算法作为对比方法,和本发明在1)攻击成功率、2)平均查询次数、3)生成的对抗样本的可迁移性方面进行对比。

1)攻击成功率与平均查询次数

本发明方法旨在降低查询次数的时保持较高的攻击成功率。本次实验验证中,将最大查询数分别设置为100、200、300、400、500和1000,攻击仅在预定义的查询数内则为成功,否则发生失败。表1是扰动ε=8时本发明和对比方法在CIFAR-10数据集的攻击成功率和平均查询次数对比表。

表1

表2是扰动ε=16时本发明和对比方法在CIFAR-10数据集的攻击成功率和平均查询次数对比表。

表2

表3是扰动ε=8时本发明和对比方法在SVHN数据集的攻击成功率和平均查询次数对比表。

表3

表4是扰动ε=16时本发明和对比方法在SVHN数据集的攻击成功率和平均查询次数对比表。

表4

从表1至表4可以看出,在大多数情况下,本发明的的攻击成功率都高于2个对比方法,可见本发明所提出的生成模型可以生成有效的对抗样本。需要特别注意的是,本发明所需的平均查询数远小于2个对比方法所需的平均查询数。

ImageNet数据集上的实验具有更高的挑战性,因为其数据比CIFAR-10数据集和SVHN数据集复杂得多。表5是扰动ε=16时本发明和对比方法在ImageNet数据集的攻击成功率和平均查询次数对比表。

表5

如表5所示,可以看到本发明在ImageNet数据集上的攻击成功率与平均查询次数均具有明显优势。

2)查询次数分布

为了更好地观察本发明在查询次数上的优势,本次实验验证绘制了在CIFAR-10数据集和SVHN数据集上执行成功攻击的查询数的直方图,其中ShuffleNetV2和VGG-16分别被用作CIFAR-10和SVHN的目标攻击模型,最大查询数限制为500。图6是本发明和对比方法在CIFAR-10数据集上的成功攻击查询次数分布对比图。图7是本发明和对比方法在SVHN数据集上的成功攻击查询次数分布对比图。如图6和图7所示,在所有情况下,本发明只需一次就可以基于大多数样本执行成功的攻击。在扰动ε=16下,本发明对CIFAR-10数据和SVHN数据集的查询次数中位数分别仅为19.41和23.67。值得注意的是,在目标攻击模型ShuffleNetV2上,当ε=8和ε=16时,本发明在少数查询次数内分别具有88%和90%的攻击成功率。相比之下,AdvFlow算法和SimBA算支通常需要数百次查询才能攻击成功,而少量查询(例如≤100)则无法让这些方法正常工作。结果表明,本发明中位数在所有情况下都是1,这充分验证了本发明的先进性。

3)生成的对抗样本的可转移性

目前的黑盒攻击在很大程度上依赖于对抗样本的可转移性假设,即根据特定模型生成的对抗样本可以用来攻击其他不同的模型。为了证明这个假设是有效的,本次实验验证探索了生成的对抗样本在CIFAR-10数据集和SVHN数据集上基于不同模型的可迁移性。

具体来说,本次实验验证选择了8个模型,包括ResNet-56、VGG-16、VGG-19、ShuffleNetV2、MobileNetV2、InceptionV3、DenseNet-169和GoogLeNet。在每个模型案例中,首先训练模型,直到在测试集上获得最佳性能(一般在90%以上)。然后从测试集中随机选择1000张图像,这些图像被模型正确分类,而相应的对抗样本被错误分类。生成的对抗样本用于攻击他模型。为了公平比较,设置ε=16、最大查询数为500。本发明在无目标黑盒攻击中与AdvFlow算法进行了比较。图8是本发明和AdvFlow算法在CIFAR-10数据集上的对抗样本可转移性对比图。图9是本发明和AdvFlow算法在SVHN数据集上的对抗样本可转移性对比图。如图8和图9所示,其中每一行代表在生成对抗样本时针对哪个模型,而每一列代表生成的样本攻击了哪个模型。可以看到本发明在CIFAR-10数据集上的可迁移性ASR从33.6%到79.6%,而AdvFlow算法是3.4%到13.0%。这意味着本发明生成的样本在其它模型上产生的ASR比AdvFlow算法更高(在大多数情况下大约高30%-66%),验证了本发明的卓越可迁移性。这是因为AdvFlow算法在每次查询期间严重依赖目标模型的反馈,无法提取可迁移的特征。相比之下,本发明学习了不会拟合到某个特定模型的对抗性样本分布。

4)图像无关性攻击

为了评估本发明在具有不同语义的样本上的性能,对训练ImageNet数据集以外的其他数据集进行了攻击实验。具体来说,测试数据集包括VOC 2007、VOC 2012、PlasceS565、Caltech101和Caltech256。目标攻击模型包括VGG-19、InceptionV3、ResNet-152和WideResNet-50,所有这些模型都在PyTorch中有实现。表6是本发明在不同测试数据集、不同目标攻击模型的攻击结果统计表。

表6

如表6所示,在ImageNet数据集上训练的本发明可用于在其他数据集上生成有效的对抗样本,而无需重新训练。在某些情况下,攻击成功率可以超过90%,其中最大查询大小限制为100。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号