最近提出的AdvGAN是一种基于GAN的方法,它将输入图像作为生成对手以瞄准模型的先验。在本文,我们通过提出AdvGAN++,展示了潜在特征如何比输入图像更好地作为对抗样本生成的先验。
AdvGAN++是AdvGAN的一个版本,它实现了比AdvGAN更高的攻击率,同时在MNIST和CIF AR10数据集上生成感知逼真的图像。
尽管AdvGAN能够生成真实的例子,但它未能利用潜在特征作为先验,而潜在特征作为先验最近被证明更容易受到对抗性扰动的影响
1.我们表明,与无目标攻击的整个输入图像相比,潜在特征是对抗性生成的更好先验,同时消除了生成器遵循基于编码器-解码器的架构的需要,从而减少了训练/推断开销。
2.由于已经发现GANs在条件设置中工作良好,我们表明,我们可以直接使生成器学习从潜在特征空间到对抗性图像的转换,而不是从整个输入图像。
3.最后,通过定量和定性评估,我们发现我们的示例在感知上与真实示例非常相似,并且与AdvGAN相比具有更高的攻击成功率。
给定将从分布pdatea采样的图像x精确映射到其对应标签t的模型M,我们训练生成器G使用其潜在特征图(从特征提取器提取)生成图像x的对手xadv。
数学上表示成:生成xadv 即
使得:
其中1≤p<∞,ε>0,f表示特征提取器,并且ε是允许的最大幅值||.||p扰动。
图1显示了我们提出的网络的体系结构。它包含目标模型M、特征提取器f、生成器网络G和鉴别器网络D。生成器G接收图像x的特征f(x)和噪声向量z(作为级联向量),并生成对应于x的对手xadv。
1.鉴别器D用实际分布pdatea来区分生成器输出的分布。
2.为了欺骗目标模型M,生成器最小化Mt(xadv),它表示攻击实例xadv属于t类的softmax概率。(即使M(xadv)越来越≠t)
3.为了限制扰动的大小,我们还最小化了对手xadv和x之间的L2损失。
最终损失函数表示为:
其中:
其中,α、β是控制每个目标权重的超参数。特征f(.)是从目标模型M的一个中间卷积层中提取的。通过求解最小-最大对策
我们得到了G和D的最优参数
对比一下AdvGAN和AdvGAN++的损失函数
1.
AdvGAN:
AdvGAN++:
两个损失几乎一样,但是AdvGAN由生成器生成的是x+G(x),AdvGAN++由生成器生成的是G(z|f(x))
2.
AdvGAN:
AdvGAN++:
AdvGAN中的t是目标类别,AdvGAN++中的t是对应的标签
AdvGAN中的Lf-adv用于生成对抗性示例,即让f(x+G(x))和f(t)越来越接近(有目标攻击)
AdvGAN++中的Ladv希望Mt(G(z|f(x)))很小。(即希望M(G(z|f(x)))≠t)(无目标攻击)
3.
AdvGAN:
AdvGAN++:
AdvGAN中铰链损失目的是使x和x+G(x)尽可能接近
AdvGAN++中Lpert目的是使x和G(z|f(x))尽可能接近
而两个模型的x+G(x)和G(z|f(x))表示的都是生成器生成的对抗样本。
因此,该训练过程确保我们学习生成接近输入分布的对抗性图像。
利用潜在特征对对抗性扰动的敏感性,算法1总结了AdvGAN++的训练过程。
对上述算法解释如下:
对于训练迭代次数:
对来自噪声先验pg(z)的m个噪声样本{z(1),…z(m)}的小批量进行采样;
从数据生成分布pdatea(x)中采样一小批m个示例{x(1),…x(m)};
提取潜在特征{f(x(1)),…f(x(m)))};
通过提升鉴别器的随机梯度来更新鉴别器;
对来自噪声先验pg(z)的m个噪声样本{z(1),z(2)…z(m)}的小批量进行采样;
通过降低生成器的随机梯度来更新生成器;
数据集和模型架构:我们在MNIST[10]和CIFAR-10[8]数据集上进行实验,其中我们使用训练集训练AdvGAN++,并在测试集上进行评估。我们遵循[16]中MNIST[10]的Lenet架构C作为我们的目标模型。对于CIFAR-10[8],我们在Resnet-32[5]和Wide-Resnet-34-10[20]上显示了我们的结果。
我们分别使用鉴别器D和生成器G的基于编码器和解码器的架构。对于特征提取器f,我们使用目标模型M的最后一个卷积层。Adam优化器用于优化生成器和鉴别器,学习率为0.01,β1=0.5,β2=0.99。
我们从正态分布中采样噪声向量,并使用标签平滑来稳定训练过程。
无防御下的攻击:我们比较了AdvGAN和AdvGAN++生成的示例在不使用任何防御策略的情况下对目标模型的攻击成功率。表2中的结果表明,在训练/推理开销小得多的情况下,AdvGAN++的性能优于AdvGAN。
表2:AdvGAN和AdvGAN++在无防御情况下的攻击成功率
防御下的攻击:我们进行实验,比较当使用各种防御机制(如FGSM[2]、迭代FGSM[9]和集成对抗性训练[16])训练目标模型M时,AdvGAN++和AdvGAN的攻击成功率。
为此我们首先使用原始模型M作为目标(没有任何防御)评估对抗性示例,然后评估这些对抗性示例在同一模型上的攻击成功率,现在使用上述防御策略之一进行训练。表1显示,在各种防御环境下,AdvGAN++的表现优于AdvGAN
表1:当目标模型处于防御状态时,AdvGAN++生成的对抗性示例的攻击成功率。
可视化结果:图2显示了AdvGAN++在MNIST[10]和CIFAR-10[8]数据集上生成的对抗性图像。它展示了AdvGAN++生成感知逼真的对抗性图像的能力。
图2:AdvGAN++为MNIST和CIFAR-10数据集生成的对抗性图像。第1行:原始图像,第2行:生成对抗性示例。
表3显示了AdvGAN++生成的对抗性示例的攻击成功率,并在执行相同任务的不同模型M上进行了评估。从表中我们可以看出,AdvGAN++产生的对手可以显著转移到执行相同任务的其他模型,这些模型也可以用来以黑盒方式攻击模型。
表3:AdvGAN++生成的对抗性示例的可转移性
在我们的工作中,我们研究了AdvGAN[17]留下的空白,主要集中在观察[14]上,即与输入图像相比,潜在特征更容易被对抗性噪声改变。这不仅减少了训练时间,而且提高了进攻成功率。
潜在特征的这种脆弱性使它们成为生成起点的更好候选者,并使我们能够提出一种可以直接将潜在特征转换为对抗性图像的生成器。