Feature Denoising for Improving Adversarial Robustness
Feature Denoising for Improving Adversarial Robustness
这篇文章是facebook提出的再特征层次进行降噪,端到端的对抗训练方法。这种方法可以同时抵抗黑盒和白盒攻击。在Imagenet数据集中,在10轮迭代的PGD攻击下,之前最优的方法仅仅有27.9%的准确率,这种特征降噪的方法可以达到55.7%的准确率。在2000轮PGD攻击下,仍然具有42.6%的准确率。本文的方法在CAAD2018年的挑战赛中,面对48种未知的对抗攻击,达到了50.6%的分类准确率。
特征噪声
现有的对抗样本一般都是在像素层次对噪声进行限制,比如通过使用 正则或者 正则,这样在保留攻击效果的同时可以达到一个比较好的视觉效果。但是在神经网络中间层或者特征层次,却没有攻击算法对对抗样本的特征噪声进行限制。而这种特征层次的噪声却是真实存在的!随着层数的增加,这些特征噪声在经过激活函数时会干扰原始图像特征的激活,而且这些噪声经过神经网络的层层传递,也会使得影响扩大。最终这些特征层次的噪声使得神经网络产生’'幻觉", 最终得到一个错误的分类结果。如下图所示:左侧为原图,右侧为特征层次噪声。
降噪块
本文通过在神经网络的中间层加入降噪块并进行对抗训练,以此来消除对抗样本在神经网络中间层的噪声。Figure 4展示了降噪块的一般形式:任何中间层的输入首先经过降噪操作,然后经过 卷积,最后通过残差链接与初始输入连接:
使用残差块是因为,降噪操作可能对那些积极的与对抗样本噪声无关的信号也产生影响。对于信号的保留与噪声的消除,由一个经过端到端训练的 卷积控制。
降噪操作
非局部均值. 非局部均值通过对输入特征图 的所有空间位置进行一个加权平均来得到一个降噪后的特征图 .
其中, 是一个关于特征的加权函数, 是一个正则化函数。
作者考虑了以下两种形式的非局部平均方法:
- 高斯(SoftMax)集合:令
,其中 和 为分别对输入 进行 卷积。而
其中, 恰好是softmax激活函数。整个公式的降噪操作其实就是输入图片经过两个不同的 卷积后点积,然后经过一个softmax激活函数后得到一个对应于空间位置 的权重。
- 点积集合。 ,而 , 是 中的像素数量。其中,点积加权平均的权重和并不等于1。在这个版本的非局部平均方法中, 卷积不是必要的。
双边滤波. 非局部均值方法是一种全局的加权平均,而双边滤波则考虑的是局部区域的加权平均,其余和非局部均值的两种具体方法一致。
作者接下来还考虑了均值滤波,虽然均值滤波会平滑特征结构,但是在本文中却有着很好的降噪效果(保留准确率)。作者还尝试了中值滤波,这种滤波对于椒盐噪声有着很好的效果。
对抗训练
对抗训练通过攻击当前训练参数的神经网络得到对抗样本,然后将该对抗样本作为神经网络训练过程的输入。本文选取PGD(映射梯度下降)作为攻击方法,PGD是一种 攻击方法,且在启动攻击时,会对输入加随机噪声。本文选取20%的干净图片(20%的训练batch)作为PGD的攻击对抗,其余80%采取限定在噪声 范围的随机噪声添加到干净图片作为输入。由于对抗训练在每次推理时需要进行(攻击次数+1)的迭代次数,因此本文采取在128块V100上进行分布式对抗训练。
实验结果
不同的降噪结果对比:
结果显示,非局部均值的高斯版本是最优的。
- 点赞
- 收藏
- 关注作者
评论(0)