Feature Denoising for Improving Adversarial Robustness论文阅读笔记

Feature Denoising for Improving Adversarial Robustness论文阅读

2019CVPR,He Kaiming大神,约翰霍普金斯和Facebook合作出来的工作。

摘要:

   因为图像分类上的对抗攻击相当于增加了图像特征上的噪声,所以自然而然地想到了特征去噪——denoise。在图像分类任务上,不管是白盒攻击还是黑盒攻击,denoise的方法都能达到SOTA的效果。在Image-Net数据集上,10次迭代的PGD白盒攻击,最好的效果只能达到27.9%的准确率,但是denoise方法能达到55.7%的准确率;甚至是2000次迭代的PGD攻击,准确率都能达到42.6%。

引言

   对抗攻击的成功意味这什么呢?不仅意味着卷积网络在现实世界中存在的安全威胁,更意味着网络执行的计算与人脑中的计算有着很大的不同。
   举个例子,看下面的图:

  在干净的图像和攻击样本上应用resnet-50(使用imagenet预训练过的)得到的特征图(feature map),可以看到干净的图像的特征集中在语义信息相关的地方,而攻击样本的特征也会活跃在与语义信息无关的地方。最终将电子钟识别成加热器。

  基于此发现,作者们开发了新的网络结构,加入了特征降噪的block。网络训练的是对抗生成的样本,训练它们学习减少特征图的噪声。
  应该是通过一系列的实验,发现最好的性能是使用非局部的方法进行降噪。消融实验表明使用均值滤波器、中值滤波器和双边滤波器都可以具有良好的效果,说明降噪这个思路是有效正确的。

何凯明的实验结果:
对于Imagenet的白盒攻击:
  10次迭代的PGD,accuracy=55.7%
  2000次迭代的PGD,accuracy=42.6%
对于黑盒攻击:(2018年的CAAD)
  accuracy=50.6%

相关工作

一些防御手段:

对抗性训练:
  是目前最SOTA的抵抗白盒攻击的防御方式,通过对抗性样本训练网络抵御这种对抗性的扰动。
Adversarial logit pairing(ALP)
   匹配的是干净样本x和它对应的对抗样本x ′ 间的logits。在一般地的对抗训练中,模型被训练成要将干净样本x 和对应的对抗样本x ′ 都分类成同样的类别,但是训练过程中,模型并没有接收到额外的信息,表明对抗样本x ′ 和干净样本x xx更相似。ALP提供了一个额外的正则项,鼓励在同一样本的干净样本和对抗样本中内嵌更多的相似信息,来帮助模型更好的对数据内进行表达。引自Adversarial Logit Pairing_CSDN
  ALP可以被解释为对对抗性样本的logit预测“去噪”,使用干净图像的logit作为“无噪声”的参考。

  其他的一些方法,比如pixel denoising,使用高层特征引导像素去噪,但是本文作者使用的方法是直接应用于特征进行去噪 feature denoising。还有一些不可微图像预处理对图像进行改变,image quilting、total variance minimization、quantization等,虽然这些防御对于黑盒攻击可能有效,但是对于白盒攻击,攻击者可以近似出这种不可微梯度。

特征噪声

  对抗样本,就是加入了一些限制了范数的扰动,这些干扰要么是人类不能发现的,或者是不影响人类识别的一些噪声。扰动虽然是限制在像素级别的,但是对于卷及网络的特征层却没有这样的限制。特征层上的扰动会随着网络逐渐增加,特征图上不存在的活跃也可能会压倒真实信号的活跃。
  虽然从图像上看很容易定性地描述这种变化,但是很难定量地去测量,下图是对抗样本的特征图和降噪后的特征图。所以比较不同模型之间的特征噪声水平是非常重要的,特别是当网络体系结构和/或训练方法(标准或对抗性)改变时。

特征图去噪

  在卷积网络的中间层加上denoising block,这个block和所有layers 一起进行对抗性训练。
denoising block:

  如图,输入可以是卷积网络中的任意的特征层,经过降噪的操作之后,再通过11的卷积,这里1x1的卷积可以降低通道的数量,具体参考这个详细解释:1x1的卷积核有什么作用?再通过一个resnet的残差连接,将原来输入的特征加上去。
  降噪是通过非局部方法实现的(non-local,一种图片降噪的方法,2005年的CVPR),1x1的卷积和残差连接都是为了特征结合。虽然不同的操作都可以降噪,但是也会作用于真实信号,所以需要一个残差连接保留真实信号,这个抑制噪声和保留真实信号的trade off就是通过1
1的卷积调节的。

去噪的操作

  作者使用了四种方法进行特征图降噪,将传统的图片降噪的方式应用到上面,分别如下:
一、non-local means

f是高斯计算,然后点乘,C(x)是一个归一化函数(一张图片上所有的像素)
二、双边滤波

与上面公式不同的地方在于,这里的j属于局部像素区域,是local的

三、均值滤波
  均值滤波是最简单的,使用局部像素的平均值来进行滤波,所以它不光减少噪声,还会平滑结构,也就是会使得图像变模糊,所以有理由认为它的效果不好,但是实验表明,它仍然能够提高鲁棒性。
四、中值滤波
  中值滤波很少用在神经网络上,很适合移除椒盐噪声,而且没有像均值滤波那样太过模糊。

对抗性训练:

PGD攻击的超参数:
  在对抗训练期间的超参数是:每个pixel的最大扰动= 16,攻击步长α = 1,攻击迭代次数n = 30。
  在对抗训练期间,作者从PGD攻击的两种初始化中随机选择:20%的训练批次使用干净的图像来初始化PGD,80%在允许最大扰动内的随机进行。

这个计算量太庞大了,太恐怖了。。。
还好模型可以直接下载,这里贴出地址:
https://github.com/facebookresearch/ImageNet-Adversarial-Training.

实验结果:

  baseline是resnet101/152,默认情况下,我们向ResNet添加4个去噪块:每个去噪块分别添加在res2、res3、res4和res5的最后一个残差块之后。
针对白盒攻击:
  在这之前,SOTA的防御是ALP,所以作者和ALP的结果做了比较:

针对黑盒攻击:
  为了获得一组无偏见但具有挑战性的攻击者,作者研究了NIPS 2017年CAAD竞赛的5名最佳攻击者[13],其代码是公开可用的。并且使用最新的CAAD 2018评估标准:只有当模型正确分类了所有攻击者创建的该图像的所有攻击版本时,才认为该图像被正确分类。

结论:

(1)特征去噪可以提高卷积网络的对抗鲁棒性。(核心思想)
(2)一些网络结构(去噪模块)对于对抗鲁棒性的提高是很有用的(即便没有提高准确率)。
(3)当clean model与对抗训练相结合时,特有的架构设计对于模拟潜在的对抗图片的分布是更恰当的。
(4)鼓励研究人员开始设计具有“先天”对抗鲁棒性的卷积网络架构。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值