摘要
对图像分类系统的对抗攻击,给卷积网络带去挑战的同时,也提供了一个理解他们的机会。
对抗扰动使得网络提取的特征包含噪声。受这个观察启发,我们执行feature denoising。具体来说,本文使用non-local means或其他滤波器模块来去噪。
当和对抗训练结合时,我们的方法在白盒和黑盒攻击中取得了SOTA。在ImageNet上,10-iteration PGD白盒攻击,前人工作是27.9%,我们提高到了55.7%,即使是在2000-iteration PGD白盒攻击,我们的方法叶取得了42.6%的正确率。我们的方法在CAAD 2018上取得了第一名:在48种unkown attackers下,取得了50.6%的分类正确率。
代码开源在:https://github.com/facebookresearch/ ImageNet-Adversarial-Training。
1. 引言
对抗攻击和它造成的影响。
对抗扰动虽在像素空间上变化不大,但会导致网络feature map上产生大量“噪声”。
本文探索feature denoising方法用于改善卷积网络面对对抗攻击的鲁棒性。本文给卷积网络增加了用于denoise feature maps。网络经过对抗训练,学习如何减少feature-map的扰动。
总的来说,本文发现,使用non-local means[2]的网络denosing最好,使得模型很接近self-attention[23]和non-local networks[24]。消融实验发现,使用mean filters, median filters和bilateral filters用于feature denosing,也改善了对抗鲁棒性。说明特征降噪是个很好的设计想法。
2. 近期工作
对抗训练 [6,10,16]。训练时,在线生成对抗攻击图片,用作训练数据。对抗训练是目前防御白盒攻击的SOTA。Adversarial logit paring (ALP) [10]是一种对抗训练,鼓励网络对干净图片和攻击图片的logit predicitons相似。ALP可以解释为:使用clean image的logit prediction作为参考,对攻击图片的logit prediciton去噪。
其他方法。pixel denoising [15]提出使用high-level features指导pixel denoiser;与之相对的,我们的方法是直接对特征去噪。[8]通过不可微图像处理转换图片,例如:image quilting [4],total variance minimization(总方差最小)[17]和量化。这些防御在黑盒攻击中是有效的,但在白盒攻击中,他们可以被绕过,因为攻击者可以近似他们不可微计算[1]。不同于[8],本文的方法是可微的,但是仍然可以提高对白盒攻击的鲁棒性。
3. Feature Noise
对抗攻击通过增加扰动生成对抗图片,使用范式限制扰动的大小,使得人类无法察觉这些轻微的扰动。
虽然在像素层面这种扰动被限制得很小,但是在特征层面并没有这样的限制。因此在伴随着前向传播,特征的扰动逐渐增加,导致本不应该存在的激活出现。
In other words, the transformations performed by the layers in the network exacerbate the perturbation, and the hallucinated activations can overwhelm the activations due to the true signal, which leads the network to make wrong predictions.
对抗图像的特征图,在没有相关视觉内容而是噪声的区域中被激活。假如strong activations表示语义信息的存在,这解释了为什么模型的预测被修改。
4. Denosing Feature Maps
在卷积网络的中间层增加denosing blocks。端到端的对抗训练使得网络可以(部分)消除依赖数据的特征图噪声,即由攻击者产生的噪声。
效果最好的denosing blocks是受self-attention transformers [23]启发,它通常用于机器翻译和视频分类的non-local网络。除了non-local means,我们还实验了bilateral filtering, mean filtering和median filtering。
4.1 Denosing Block
图4的设计受self-attention和non-local blocks的启发。denosing block中只有non-local means在降噪,1x1卷积和残差连接是为了feature combination。残差结构是为了保存signal。
4.2 Denoising Operations
(1)Non-local mean:
non-local neural networks参考:https://zhuanlan.zhihu.com/p/33345791。用下面这张图很好理解。f(.)计算i与每个点的相似性,g(.)如果有可以看作是特征映射,C(.)是归一化函数。
包含Gaussian (softmax) sets和Dot product sets。
这里,θ(.)是1x1的卷积,而attention中是全连接。
(2)Bilateral filter:这里的Ω是i点邻域。
(3)Mean filter:average pooling with a stride of 1
(4)Median filter:通常用于去除salt-and-pepper噪声和outliers of similar kind。
5. Adversarial Training
本文使用PGD作为白盒攻击来生成对抗训练的图片。
采用分布式训练,128张GPUs,每个GPU包含32张图片。
6. Experiments
baselines是ResNet-101/152,增加了4个denosing blocks,每个都增加在last residual block of res2, res3, res4和res5后面。
效果最好的是non-local with gaussian。