Feature Denoising for Improving Adversarial Robustness

举报
柠檬柚子茶加冰 发表于 2021/04/17 12:07:19 2021/04/17
【摘要】 Feature Denoising for Improving Adversarial Robustness这篇文章是facebook提出的再特征层次进行降噪,端到端的对抗训练方法。这种方法可以同时抵抗黑盒和白盒攻击。在Imagenet数据集中,在10轮迭代的PGD攻击下,之前最优的方法仅仅有27.9%的准确率,这种特征降噪的方法可以达到55.7%的准确率。在2000轮PGD攻击下,仍然具...

Feature Denoising for Improving Adversarial Robustness

这篇文章是facebook提出的再特征层次进行降噪,端到端的对抗训练方法。这种方法可以同时抵抗黑盒和白盒攻击。在Imagenet数据集中,在10轮迭代的PGD攻击下,之前最优的方法仅仅有27.9%的准确率,这种特征降噪的方法可以达到55.7%的准确率。在2000轮PGD攻击下,仍然具有42.6%的准确率。本文的方法在CAAD2018年的挑战赛中,面对48种未知的对抗攻击,达到了50.6%的分类准确率。

特征噪声

现有的对抗样本一般都是在像素层次对噪声进行限制,比如通过使用 l 2 l_2 正则或者 l inf l_{\inf} 正则,这样在保留攻击效果的同时可以达到一个比较好的视觉效果。但是在神经网络中间层或者特征层次,却没有攻击算法对对抗样本的特征噪声进行限制。而这种特征层次的噪声却是真实存在的!随着层数的增加,这些特征噪声在经过激活函数时会干扰原始图像特征的激活,而且这些噪声经过神经网络的层层传递,也会使得影响扩大。最终这些特征层次的噪声使得神经网络产生’'幻觉", 最终得到一个错误的分类结果。如下图所示:左侧为原图,右侧为特征层次噪声。

feature_noise.png

降噪块

本文通过在神经网络的中间层加入降噪块并进行对抗训练,以此来消除对抗样本在神经网络中间层的噪声。Figure 4展示了降噪块的一般形式:任何中间层的输入首先经过降噪操作,然后经过 1 × 1 1\times1 卷积,最后通过残差链接与初始输入连接:

denoise_block.png

使用残差块是因为,降噪操作可能对那些积极的与对抗样本噪声无关的信号也产生影响。对于信号的保留与噪声的消除,由一个经过端到端训练的 1 × 1 1\times1 卷积控制。

降噪操作

非局部均值. 非局部均值通过对输入特征图 x x 的所有空间位置进行一个加权平均来得到一个降噪后的特征图 y y .

none_local_means.png

其中, f ( x i , y i ) f(x_i,y_i) 是一个关于特征的加权函数, C ( x ) C(x) 是一个正则化函数。

作者考虑了以下两种形式的非局部平均方法:

  • 高斯(SoftMax)集合:令gaussian softmax.png
    ,其中 θ ( x i ) \theta(x_i) ϕ ( x i ) \phi(x_i) 为分别对输入 x x 进行 1 × 1 1\times1 卷积。而
    C(x).png

其中, f / c f/c 恰好是softmax激活函数。整个公式的降噪操作其实就是输入图片经过两个不同的 1 × 1 1\times 1 卷积后点积,然后经过一个softmax激活函数后得到一个对应于空间位置 x j x_j 的权重。

  • 点积集合。 f ( x i , x j ) = x i T x j f(x_i,x_j)=x_i^Tx_j ,而 c ( x ) = N c(x)=N , N N x x 中的像素数量。其中,点积加权平均的权重和并不等于1。在这个版本的非局部平均方法中, 1 × 1 1\times1 卷积不是必要的。

双边滤波. 非局部均值方法是一种全局的加权平均,而双边滤波则考虑的是局部区域的加权平均,其余和非局部均值的两种具体方法一致。

作者接下来还考虑了均值滤波,虽然均值滤波会平滑特征结构,但是在本文中却有着很好的降噪效果(保留准确率)。作者还尝试了中值滤波,这种滤波对于椒盐噪声有着很好的效果。

对抗训练

对抗训练通过攻击当前训练参数的神经网络得到对抗样本,然后将该对抗样本作为神经网络训练过程的输入。本文选取PGD(映射梯度下降)作为攻击方法,PGD是一种 l inf l_{\inf} 攻击方法,且在启动攻击时,会对输入加随机噪声。本文选取20%的干净图片(20%的训练batch)作为PGD的攻击对抗,其余80%采取限定在噪声 ϵ \epsilon 范围的随机噪声添加到干净图片作为输入。由于对抗训练在每次推理时需要进行(攻击次数+1)的迭代次数,因此本文采取在128块V100上进行分布式对抗训练。

实验结果

不同的降噪结果对比:

denoise_results.png

结果显示,非局部均值的高斯版本是最优的。

【版权声明】本文为华为云社区用户翻译文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容, 举报邮箱:cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。