论文题目:Parametric Noise Injection: Trainable Randomness to Improve Deep Neural Network Robustness against Adversarial Attack
论文地址:He_Parametric_Noise_Injection_CVPR_2019_paper.pdf
开源代码:https://github.com/elliothe/CVPR_2019_PNI
摘要
深度学习领域的最新发展揭露了深度神经网络(DNN)抵抗对抗样本的潜在脆弱性。在图像分类中,一个对抗样本是经过精心(carefully)修改的图像,该图像在视觉上对原始图像而言是不可察觉的,但仍会导致DNN模型将其分类错误。用高斯噪声训练网络是模型正则化的有效技术,所以可以提高模型抵抗输入变化的鲁棒性。受到这种经典方法的启发,我们探索利用噪声注入的正则化特性来提高DNN针对对抗攻击的鲁棒性。在这项工作中,我们提出了参量噪声注入(Parametric-Noise-Injection, PNI),其中涉及通过解决最小-最大优化问题(the Min-Max optimization problem)并嵌入对抗训练,在激活或权重的每一层上进行可训练的高斯噪声注入。对这些参数进行明确训练,以提高鲁棒性。大量的实验结果表明,我们提出的PNI技术有效地提高了针对各种强大的白盒和黑盒攻击(如PGD, C & W, FGSM, transferable attack, 和 ZOO attack)的鲁棒性。最后但并非最不重要的一点是,与最先进的防御方法相比,PNI方法提高了在原始数据和扰动数据中测试的准确率。使用ResNet-20架构,PNI方法在原始和扰动测试数据中的准确率比当前未攻破的PGD防御方法分别高出了1.1%和6.8% 。
Motivation
最近有人通过正则化提高神经网络的鲁棒性来防御对抗样本。一个众所周知的正则化方法便是噪声注入(noise injection),其大多是对权重或激活进行dropout的变体。为了进一步提高DNN抵抗攻击的性能,许多工作将随机性引入DNN(such as randomly pruning some activation during the inference [37], randomizing the input layer [42], inserting a noise-layer right before the convolution layers[27, 26].)。然而,他们性能的改善(perturbed-data accuracy)来自于随机梯度(the stochastic gradient)而不是正则化所改善的鲁棒性。根据梯度混淆(the gradient obfuscation)的标准,这被认为是脆弱的防御方法。为了验证梯度混淆的对抗防御方法,一个替代并且直接的方法就是检测the clean- (attack free) and perturbed-data (under attack) accuracy。如果采用的方法主要执行模型正则化,则可以在不牺牲原始数据准确性的情况下提高扰动数据的准确性。
最近的Adv-BNN也结合了对抗训练和对权重的噪声注入。Adv-BNN与PNI相比,它主要有以下缺点:
1). 大量的计算和存储开销;
2). 潜在的梯度混淆(为了干扰数据的准确性牺牲掉原始数据的准确性)。
PNI胜过Adv-BNN的关键因素是:
a). 逐层的噪声注入(等式(5));
b). 融合原始数据和干扰数据的损失函数(等式(10))。
Parametric Noise Injection (PNI)
Definition.
将高斯噪声注入到DNN中不同层可以用以下数学公式描述:其中,是DNN中第层的无噪声张量的第个元素,是从高斯分布中采样的噪声项,是控制量级的系数。如果还没有看懂这个公式,可以看如下所示的图例。
Optimization.
论文中把(the noise scaling coefficient)看成是可以通过反向传播优化的模型参数,其梯度计算可以描述为:其中,是模型的损失函数,计算的梯度之和,是从随后的层反向传播的梯度。另外,PNI函数的梯度计算为:值得注意的是,在反向传播期间,将随机采样的视为常数。使用带有动量的梯度下降优化器,第j步中的α优化可以写为:其中, 是动量,是学习率,是更新的梯度(the updating velocity)。的初始值为0.25。
Robust Optimization.
作者希望使用PNI技术来改善模型的鲁棒性。然而,由于梯度下降趋向于使权重变得无噪声从而过拟合训练集,直接优化噪声缩放系数(the noise scaling coefficient)通常会使收敛于接近零的值。为了成功进行对抗防御,将PNI技术和对抗训练(a.k.a.Robust Optimization)结合起来,从而提高扰动数据的准确性。给定输入-和目标标签-,对抗训练是针对以下最小-最大问题获得网络参数θ的最优解:其中,倾向于获取扰动数据,而是受约束的输入数据扰动集(比如,)。
更进一步,为了在实际应用中平衡原始数据和干扰数据的准确率,我们需要最小化两者损失函数的加权和。最终的损失函数为:其中,和分别是原始数据损失项( clean data loss term)和对抗数据损失项(adversarial data loss term)的权重,默认情况下,。
Experiments
PNI against white-box attacks
Not incorporating the PNI-W in generation indeed leads to the failure of PNI optimization, and the large value ( = 5.856 in Table 1) is not converged due to the probable gradient explosion. So, keeping the noise term in the model for both adversarial example generation (Eq. (11)) and model parameter update is also the critical factor for the PNI optimization with adversarial training.
表格2是比较在模型中不同位置使用PNI方法的实验结果。可以看到,PNI-W的结果是最好的。
1). PNI-W: injecting noise on the weight
2). PNI-I: injecting noise on the input
3). PNI-A-a: injecting noise on the output tensor of the convolution/fully-connected layer
4). PNI-A-b: injecting noise on the input tensor of the convolution/fully-connected layer(includes the PNI-I)
此外,还观察到,在测试阶段禁用PNI会导致防御PGD和FGSM的准确率大大下降,而原始数据却保持相同水平。于是作者提出疑问,1)PNI方法之所以能提升原始/干扰数据的准确率是否来自于攻击强度的降低(potential gradient obfuscation [4])?也就是说,添加噪声是不是在一定程度上抵消了对抗攻击强度?2)PNI是微不足道的技巧还是执行模型正则化以构建更强大的模型?答案当然是否定的,这两个疑问将会在Discussion部分探讨。
更进一步,作者研究了network capacity (i.e., number of trainable parameters)和robustness improvement by PNI之间的关系。表格3的结果表明,增大模型的容量确实提高了网络抵抗白盒对抗攻击的鲁棒性。
Our method of training the noise parameter becomes more effective for a more redundant network.
PNI against black-box attack
上面的一系列实验针对的是白盒攻击,接下来是防御黑盒攻击的实验。在黑盒攻击中,作者主要测试transferable adversarial attack [29]和ZOO attack。表格5中Transferable attack这一组实验结果,表明PNI的存在对PGD攻击强度的影响可忽略不计。另外,ZOO attack的实验,说明仅在激活前添加噪声并不一定能获得期望的鲁棒性。
Comparison to competing methods
表格6就是表明自己的方法有多好。作者尤其highlight:
our proposed PNI improves both clean-and perturbed data accuracy under white-box attack, in comparison to PGD-based adversarial training [30].
Discussion
为了说明PNI的防御性能并非来自the stochastic gradients,作者从下面两个角度进行说明:
a). PNI方法通过了用来鉴别梯度混淆(gradient obfuscation)的表格7中的每一项;
b). 在PGD攻击下,通过增加攻击步骤,PNI鲁棒优化方法仍然优于普通对抗训练(在[4]中被证明为non-obfuscated gradients)。
论文作者作了表格7中的五项检查。只要不符合这五条,那么就表明不是the stochastic gradients。
- 对于第1项:表2和表3中的所有实验均报告说,FGSM攻击(单步执行)比PGD攻击(迭代)执行得差。
- 对于第2项:表5中的黑盒攻击实验表明,黑盒攻击强度比白盒攻击要差。
- 对于第3项:如Figure 3所示,无限制增加会导致%0的准确率。
- 对于第4项:先决条件是基于梯度的攻击(例如PGD和FGSM)无法找到对抗样本,但是图3中的实验表明,当增加失真范围()时,我们的方法仍然可以被攻破。
- 对于第5项:再次如图3所示,增加失真范围会提高攻击成功率。
如图3所示,当逐步增加攻击步数时,准确率均下降,但PNI方法始终优于vanilla adversarial training;并且,当步数大于40时,所有方法的准确率趋于饱和。所以,作者的结论是:
Even if PNI does include gradient obfuscation, the stochastic gradient is not the dominant role in PNI for the robustness improvement.
Conclusion
最后,把作者的总结摆出来吧!
In this paper, we present a parametric noise injection technique where the noise intensity can be trained through solving the min-max optimization problem during adversarial training. Through extensive experiments, the proposed PNI method can outperform the state-of-the-art defense method in terms of both clean-data accuracy and perturbed-data accuracy.
这篇论文总算解读完了,如果你觉得还算通俗易懂,那么麻烦点个赞。如有错误,还请在评论区指出,感激不尽。