AdvFlow:一种基于标准化流的黑盒攻击新方法,产生更难被发觉的对抗样本 | NeurIPS 2020
极市导读
本文提出一种新的黑盒对抗攻击方法AdvFlow,通过利用标准化流来建模对抗样本的数据分布,使得生成的对抗样本的分布和正常样本接近,从而让对抗样本更难被检测出来,打破了对抗样本和正常样本的分布大不相同的固有认知。 >>加入极市CV技术交流群,走在计算机视觉的最前沿
论文地址:https://arxiv.org/abs/2007.07435
论文代码:https://github.com/hmdolatabadi/AdvFlow
引言
虽然神经网络在很多机器学习任务上都取得了非凡的表现,但是通过对输入样本添加微小的扰动,就能使其分类错误(这也就是对抗攻击)。神经网络对对抗攻击的脆弱性,大大限制了它们在现实生活中的广泛应用。因此,设计出有效的对抗攻击方法来模拟现实世界中可能出现的各种威胁,有利于我们不断改进神经网络模型,使得模型对这些攻击更加鲁棒。一般来说,对抗攻击的方法可以分为两大类:白盒攻击和黑盒攻击。在白盒攻击中,攻击者对要攻击的模型(目标模型)了如指掌,比如目标模型的结构,参数等等都可以获得。而在黑盒攻击中,攻击者对目标模型的内部一无所知,只能通过不断询问模型,给定输入,观察模型的输出,来和模型进行互动。因此,黑盒攻击更加贴近现实场景。在本文中,作者提出了一种有效的黑盒攻击方法,借助流模型的思想来建模对抗样本的数据分布,使之接近正常样本,从而生成了更难被检测出来的对抗样本。
论文贡献
该论文的贡献可以总结为以下三点:
作者提出了一种新的黑盒攻击方法AdvFlow, 首次将流模型应用到对抗攻击方法中。
作者理论上证明了AdvFlow生成的对抗扰动各成分之间具有依赖性,而类似的攻击方法NATTACK[1]则不具有这个性质。
AdvFlow生成的对抗样本的数据分布和正常样本接近,从而更难被对抗样本检测器发现。
模型介绍
1.黑盒攻击
给定输入样本和目标模型,则的对抗样本可由如下公式生成:
这里表示分类器输出的第个元素,表示的对抗样本的定义域。
2. 标准化流(NF)
标准化流(NF)是一种生成模型,目标在于建模给定数据集的概率分布。假设分别为两个随机向量,从到的转换函数为, 可逆并且可微。若已知的概率分布为, 则的概率分布为:
流模型一般使用可逆神经网络(INN)来建模转换函数,从而得到的数据分布。在本文中,作者假设随机向量服从正态分布。
标准化流(NF)利用极大似然估计作为目标函数来训练可逆神经网络(INN)的参数,具体公式为:
3.AdvFlow
令表示在正常样本上预训练的满足可逆和可微性质的标准化流(NF)模型,则AdvFlow生成对抗样本的公式为:
这里 表示一个映射规则,限制生成的对抗样本在定义域内。为服从均值为,方差为的正态分布的随机向量。通过前面介绍的标准化流的思想,我们可知的分布和正常样本的分布接近,从而生成的对抗样本的分布也就接近正常样本。
AdvFlow生成的对抗扰动的唯一性:
假设为一个可逆并且可微的函数,为一个小的扰动,则有
作者证明发现AdvFlow生成的对抗扰动各成分之间具有依赖性,而NATTACK生成的对抗扰动各成分之间互相独立。如下图所示,(c)为正常样本,(b)和(d)分别为AdvFlow和NATTACK生成的对抗样本,(a)和(e)分别为AdvFlow和NATTACK生成的对抗扰动。我们可以发现AdvFlow生成的对抗扰动捕获了原始图片的结构信息,而不仅仅是噪声。
实验结果
1.可检测性
利用预训练好的对抗样本检测器来检测不同方法生成的对抗样本,检测准确率越低,说明生成的对抗样本越难被发现。
如上表所示,AdvFlow (un.)表示NF模型的权重没有经过预训练,是随机的。AdvFlow (tr.)表示NF模型的权重是预训练好的。相比于NATTACK方法,我们可以看到AdvFlow(tr.)模型生成的对抗样本更难被检测器发现。
此外,如下图所示,我们可以发现AdvFlow生成的对抗样本的分布更加接近原始正常样本的分布,为其更难被检测出来提供了有力的依据。
2.对抗攻击成功率
如上表所示,在四种对抗攻击方法中,AdvFlow的性能基本超越了其他三种方法。
3.迁移性
如上图所示,混淆矩阵中每个数值表示用对应行的分类器生成的对抗样本去攻击对应列的分类器所得到的成功率。可以看到,在不同的网络结构和数据集上,AdvFlow比NATTACK具有更好的迁移性。
发展应用
基于本文工作的另一篇工作Black-box Adversarial Example Generation with Normalizing Flows [2]发表在了ICML 2020 Workshop上。为了使AdvFlow算法更快地收敛,该篇论文给出了如下生成对抗样本的流程图。
给定原始输入样本,预训练的标准化流模型,首先将样本通过映射为分布空间的表征,然后将扰动向量, 加到上得到对抗样本在分布空间的表征,最后将通过流模型再映射回输入样本空间,得到对抗样本。得益于标准化流模型所具有的良好性质(可逆性和可微性),在该种方法中,对抗样本和原始样本在分布空间的表征足够接近,因而生成的对抗样本和原始样本也十分相似。
此外,近几个月,作者在博客中介绍了将AdvFlow应用到高分辨率图像上的方法。由于高分辨率图像需要更大计算开销,为了解决这个问题,作者提出了如下的设计方案:
首先对原始高分辨率图像进行下采样,然后在下采样后的低维空间中,应用AdvFlow生成对抗样本,再计算低维空间中下采样图片和对抗样本之间的差异,将该差异上采样后加到原始的高分辨率图像上,从而得到高分辨率对抗样本,进一步拓宽了AdvFlow的应用场景。
参考:
[1] Li, Y., Li, L., Wang, L., Zhang, T., and Gong, B. (2019). NATTACK: learning the distributions of adversarial examples for an improved black-box attack on deep neural networks. In Proceedings of the 36th International Conference on Machine Learning (ICML), pages 3866–3876
[2]Dolatabadi, H.M., Erfani, S., & Leckie, C. (2020). Black-box Adversarial Example Generation with Normalizing Flows. ArXiv, abs/2007.02734.
[3]https://github.com/hmdolatabadi/AdvFlow
[4]https://hmdolatabadi.github.io/posts/2020/10/advflow