一、特征图去噪
2019CVPR-Feature Denoising for Improving Adversarial Robustness.
特征去噪提高对抗鲁棒性
-
背景
通过将对抗性图像(adversarial image) 的特征图(Feature Map) 和原始图像(clean image) 的特征图进行可视化对比,发现,对抗性图像的特征图存在着非常多的无关噪声,即使在图像中没有相关语义信息的区域依旧存在着激活(activation),即噪声(noise),使得DNN产生错误判断(incorrect prediction)。从另一个角度讲,对抗性扰动产生了大量噪声,影响到了干净图像原有的特征图中所含有的有意义的信息。
-
原理
Feature Denoising的作用是抑制了特征图上的大量多余噪声,并且使响应(即激活)集中在有意义的区域内容上。特征图中的激活代表着该位置存在语义信息。
总体上讲,文中设计的模型直接在特征上去噪 (而不是在高级特征(high-level)上去噪),并且可微分,使得攻击无法近似梯度。另外,在很强的白盒攻击(white-box attack)下,依然能够提高模型的对抗鲁棒性(Adversarial robustness)。
Feature Denoising的主要方式如下:
- 在卷积网络的中间层加入去噪模块以增强对抗的鲁棒性。
- 将去噪模块与其他网络层联合性的使用对抗性训练以端到端的方式进行训练。
- **端到端(End-to-End)**的对抗训练网络,从而实现部分消除依赖于数据的特征图噪声。
- 通过考虑前面层的变化如何影响后面的“特征 / 噪声分布”,去噪模块可以自然的处理通过多个网络层的噪声,从而解决了微小噪声会被层层放大的问题。
- Denoising Block
特征去噪的核心模块是Denoising Block,包括残差链接(skip connection)、denoising operation以及 1x1 conv。如图所示
具体处理的流程:
- denoising operation 首先使用非局部均值(non-local mean)对输出特征进行处理。
- 去噪后的特征再被1x1的卷积处理.
- 然后通过残差连接加入到块的输入中。
实际上,在该模块中只有非局部均值操作实现了去噪功能。而1x1 conv和残差连接主要用于特征合并,但有助于提高去噪模块的有效性。
- 对抗训练
论文采用了对抗训练对基线模型和特征去噪模型进行了训练。Distributed training with adversarial images分布式训练对抗性图像的基本技巧如下:
- 对于每个mini-batch,使用PGD来生成对抗性图片。
- 在扰动图像上执行单步SGD,并更新模型权重。
- mini-batch不包含clean image,SGD更新专门基于对抗性图片。
- SGD更新之前是n步的PGD。
- 在128个GPU上使用同步SGD执行分布式训练。
- 优点
- 去噪模块对于对抗鲁棒性的提高是很有用的(即便没有提高准确率)。
- 当clean model与对抗训练相结合时,特有的架构设计对于模拟潜在的对抗图片的分布是更恰当的。
- 缺点
Feature Denoise的一些问题:
- 纵然特征图可以很容易地被定性观察到,但很难定性地度量(measure) 特征图上的噪声。
- 很难比较不同模型间的特征噪声级别,尤其是当网络结构以及训练方法改变时,度量会变得异常艰难。
但不可否认的是,可观察到的特征噪声的出现反映了与对抗性图像有关的真实现象。
二、PNI参数噪声注入
2019CVPR-Parametric Noise Injection Trainable Randomness to Improve Deep Neural Network Robustness Against Adversarial Attack.
参数噪声注入(PNI): 可训练的随机性以提高DNN的对抗鲁棒性
-
背景
用高斯噪声训练网络是实现模型正则化的一种有效技术,从而提高了模型对输入变化的鲁棒性。 在这种经典方法的启发下,我们探索利用噪声注入的正则化特性来提高DNN对对抗性攻击的鲁棒性。最近,已有一些工作采用噪声注入的方法进行模型的正则化,但是通过手动配置注入噪声的。 -
原理
参数噪声注入(PNI),它通过求解Min-Max优化问题,在每一层的激活或权重上进行可训练的高斯噪声注入,并且加入对抗训练。 在我们提出的PNI方法中,噪声水平是由可训练的分层噪声标度系数和噪声注入位置的权重分布决定的。
1.定义
将高斯噪声注入到DNN中不同层可以用以下数学公式描述
其中, v l , i {v}_{l, i} vl,i是DNN中第 l l l层的无噪声张量 v l {v}_{l} vl的第 i i i个元素, η l , i \eta_{l, i} ηl,i是从高斯分布中采样的噪声项, α l \alpha_{l} αl是控制 η l \eta_{l} ηl量级的系数。如图所示
2.优化
论文中把 α l \alpha_{l} αl(the noise scaling coefficient)看成是可以通过反向传播优化的模型参数,其梯度计算可以描述为
其中, L \mathcal{L} L是模型的损失函数, ∑ i \sum_{i} ∑i计算 ∂ L ∂ α l , i \frac{\partial \mathcal{L}}{\partial \alpha_{l, i}} ∂αl,i∂L的梯度之和, ∂ L / ∂ f P N I ( v l , i ) \partial \mathcal{L} / \partial f_{\mathrm{PNI}}\left(v_{l, i}\right) ∂L/∂fPNI(vl,i)是从随后的层反向传播的梯度。另外,PNI函数的梯度计算为
值得注意的是,在反向传播期间,将随机采样的 η l , i \eta_{l, i} ηl,i视为常数。使用带有动量的梯度下降优化器,第 j j j步中的 α α α优化可以写为
其中, m m m是动量, ϵ \epsilon ϵ是学习率, V l V_{l} Vl是更新的梯度(the updating velocity)。 α l \alpha_{l} αl的初始值为0.25。
3.鲁棒性优化
论文通过PNI技术来改善模型的鲁棒性。但由于梯度下降趋向于使权重变得无噪声,从而过拟合训练集。因此,直接优化噪声缩放系数(the noise scaling coefficient)通常会使收敛于接近零的值。为了成功进行对抗防御,将PNI技术和对抗训练结合起来,从而提高扰动数据的准确性。给定输入 x x x和目标标签 t t t,对抗训练是针对以下min-max问题获得网络参数 θ \theta θ的最优解:
其中, arg max {\arg \max} argmax倾向于获取扰动数据 x ^ \hat{\boldsymbol{x}} x^,而 P ϵ ( x ) P_{\epsilon}(\boldsymbol{x}) Pϵ(x)是受 ϵ \epsilon ϵ约束的输入数据扰动集(比如, x − ϵ ⩽ x ^ ⩽ x + ϵ {x-\epsilon}\leqslant\hat{\boldsymbol{x}}\leqslant{x+\epsilon} x−ϵ⩽x^⩽x+ϵ)。
更进一步,为了在实际应用中平衡原始数据和干扰数据的准确率,我们需要最小化两者损失函数的加权和。最终的损失函数 L e n s \mathcal{L}_{\mathrm{ens}} Lens为其中, w c {w}_{c} wc和 w a {w}_{a} wa分别是原始数据损失项和对抗数据损失项的权重,默认情况下, w c = w a = 0.5 w_{c}=w_{a}=0.5 wc=wa=0.5。
-
效果
- 大量实验结果表明,我们提出的PNI技术有效提高了针对各种强大的白盒攻击和黑盒攻击的鲁棒性,如PGD、C&W、FGSM、可转移攻击和ZOO攻击。
- 与基于PGD的对抗训练相比,我们提出的PNI提高了白盒攻击下的干净和扰动数据精度
- 对比
最近的Adv-BNN也结合了对抗训练和对权重的噪声注入。PNI相比,它主要有以下缺点:1. 大量的计算和存储开销; 2. 潜在的梯度混淆(为了干扰数据的准确性牺牲掉原始数据的准确性)。
PNI胜过Adv-BNN的关键因素是:
- 逐层的噪声注入;
- 融合原始数据和干扰数据的损失函数
三、输入多样性
- 2019CVPR-Improving Transferability of Adversarial Examples With Input Diversity.
利用输入多样性提高对抗样本的可转移性
-
背景
像C&W、JSMA、One-pixel等攻击算法,都面临计算时间过长的问题,在应用到实际中时,无法满足时间限制。因此为了满足时间限制,通常采用梯度法(I-FGSM的变体)或者模型生成法(ATN等)。FGSM通常会碰到欠拟合问题,但反话能力强;而I-FGSM会过拟合于模型,泛化能力弱。 -
原理
这篇文章中,作者将数据增强(通过应用一组保持标签的转换,例如调整大小、裁剪和旋转等,以训练图像)引入生成对抗样本的过程,即在样本输入模型之前,以一定概率 p p p对其进行随机resize,padding等操作:
在I-FGSM的基础上引入了输入转换(Input Diversity)后,得到新的攻击方法Diverse Inputs Iterative Fast Gradient Sign Method,提高了对抗样本的迁移性。该方法,也就是 D I 2 DI^2 DI2-FGSM(即DI-I-FGSM)可以表达为:
进一步地,向算法中引入动量梯度更新,则算法可进化为MI-D2-FGSM:
几种算法之间的关系可用下图表示: