论文题目: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)的权重,默认情况下,
。