这是一篇cvpr20的文章,属于对对抗攻击的防御方法。
涉及的问题
深度神经网络在cv领域的应用如日中天,但是神经网络自身具有脆弱性,即通过很小的扰动就能使得最终的结果出现错误。例如现在非常流行的FGSM,BIM,PGD,C&W等攻击手段,都能很大程度上对神经网络进行攻击和破坏。因此研究神经网络的防御机制是非常有必要的。
目前比较流行的防御机制有adversarial training,defensive distillation,Magnet以及feature squeezing。但是这些方法在一些白盒的强攻击(如PGD)下,其performance会大大降低,特别是一些多次迭代产生的对抗本发起的攻击。因此防御机制还有待提高,用以在强攻击下表现出更好的performance。
解决的方法
解决的方法很直观,一句话来说:就是通过一个网络,去除掉对抗攻击中那种高级的噪声模式,以还原出原本干净的图像。这个生成模型的结构和处理流程如下图所示:
概括来说分为三个部分:(1)Transformed Deadzone:这部分主要用于消灭掉一些sophisticated的噪声信息;(2)蓝色区域:这是一个循环迭代的网络,由两部分组成,其中Generative Cleaning Network负责产生一系列对干净图像的估计,而Accumulative Image Fusion负责将这些估计通过不断迭代的方式融合起来,生成干净的图像。
下图为更加细节的流程:
首先经过一个卷积层p,随后将feature maps喂入到第一个核心部分(图中黄色区域)。这个操作包括两部分,首先采用离散余弦变换,将图像中的能量集中到很小的一部分区域上,这样大部分区域的参数都非常接近于0。我们知道扰动相对于原像素是一个很小的值,因此当某个pixel很小的时候,其对应的扰动就更加接近于0。然后在经过一个deadzone激活函数,就可以将很小的噪声过滤掉。因此通过这种方式就可以初步的去除掉一些对抗攻击的噪声模式。deadzone激活函数示意图如下:
随后需要处理残余的噪声模式,由于很多对抗样本都是迭代生成的(如PGD,BIM),因此作者认为也需要迭代的去除掉这些高级的噪声攻击模式。因此Generative Cleaning Network和Accumulative Fusion Network都是一个迭代k次的过程,来一步步地还原出干净图像。U,V,W这三层全卷积网络的作用是在两个图像融合之前,将这些来自不同网络的feature标准化。