Smooth Adversarial Training
写了AdvProp的这些人又提了一个SAT
写AdvProp主要是朝着提升accuracy的目标去的,说是比AT更好
写SAT则以提升robustness的目标,AT的方法不够smooth,SAT在AT的基础上进行改进,提了准确率又提鲁棒性,amazing
摘要
一般认为网络不能同时准确又鲁棒,获得鲁棒性就意味着失去精度。
也有一般认为除非让网络变大,否则网络架构元素在提高对抗性鲁棒性方面没有多大影响。?
我们的关键发现是广泛使用的ReLU激活函数极大地减弱了对抗训练因为它不平滑smooth的本质。
因此,我们提出了smooth adversarial training SAT,也就是把ReLU换成了它平滑的近似
让对抗训练可以发现更难的对抗样本 计算更好的梯度更新
和标准的对抗训练相比,SAT没有精度的丢失也不用增加额外的计算。for free
1 介绍
广泛认为,准确率和鲁棒性之间的trade off是不可避免的,除非额外的计算budgets被引入来增加网络的能力。
梯度掩码防御的历史启发了我们去重新思考梯度质量和对抗鲁棒性的关系。
在对抗训练的时候,相比于标准训练,梯度被应用的更加频繁,使用梯度去更新网络参数,又需要梯度去生成对抗训练样本。
提出:广泛使用的ReLU激活函数极大地减弱了对抗训练因为它不平滑smooth的本质。smooth adversarial training SAT,也就是把ReLU换成了它平滑的近似,来改善梯度的质量。
有了平滑的激活函数,SAT可以使用更难的对抗训练样本,并且计算更好的梯度更新用于网络优化。
for free :没有精度的丢失也不用增加额外的计算
2 相关工作
对抗训练:no free lunch in adversarial robustness 然而本文 for free
梯度掩码
3 ReLU Weakens Adversarial Training
我们在此进行了一系列的控制实验来研究ReLU是如何减弱的,以及它的平滑近似是如何加强对抗训练的。
in the backward pass of gradient 在梯度的回传的过程中
3.1 对抗训练
包含了两个步骤:1内部的max 2.外部的min
选择resnet-50作为backbone,应用PGD攻击来生成对抗样本。
尤其是使用了最廉价的版本的PGD,single-step PGD(PGD-1)来降低训练成本
最大的per-pixel的改变=4 step size
= 4
当评价对抗鲁棒性时,我们测量了模型的top-1准确率对抗200-step的PGD,=4 并且
= 1
200 attack 迭代是足够让PGD攻击覆盖。
3.2 How Gradient Quality Affects Adversarial Training?
ReLU在输入为0的时候不平滑,有一个突然的改变,这严重降低了梯度的质量。
我们认为这严重伤害了训练过程尤其是进行对抗训练的时候,这是因为,相比于标准训练只计算梯度用于更新网络参数,对抗训练需要额外的计算来用于内部的max的步骤去制造扰动
。
首先提出了一个平滑的近似,叫做Parametric Softplus
求导
为了更好的近似,设置 = 10
图1所示
为了清楚地衡量效果,我们只在反向传播时用方程(2)代替ReLU,而不改变前向传播。
Improving gradient quality for the adversarial attacker.
第二行 证明生成了更强的对抗攻击样本
Improving gradient quality for network parameter updates.
第三行 更好的鲁棒性 更好的精度
Improving gradient quality for both the adversarial attacker and network parameter updates.
在两个step的反向传播时一起replace
只提了0.1%精度
我们推测,这主要是由于计算更好的梯度更新(提高精度)对精度的正面影响稍微超过了在本实验中创建更难的训练样本(损害精度)对精度的负面影响。
(突然需要玄学操作)
控制变量法结果
3.3 Can Other Training Enhancements Remedy ReLU’s Gradient Issue?
其他的训练增强能补偿ReLU的梯度问题吗?
更多的攻击迭代次数 可以产生更强的对抗攻击样本 需要更多计算量 可以补偿ReLU在内部步骤的问题
训练更长的时间 不能弥补外部步骤
结论:我们发现关键是ReLU的poor 梯度
以上第三章通过控制变量实验说明了问题是ReLU的梯度质量。
下面开始正式开始探索SAT。
4 Smooth Adversarial Training
4.1 Adversarial Training with Smooth Activation Functions
实验表明前向后向都应用平滑的激活函数鲁棒性能够进一步提升
4.2 Ruling Out the Effect From x < 0
除了平滑,以上函数在x<0区域有非0的响应,这也有可能影响对抗训练。
为了排除这个因素,我们提出SmoothReLU
只修改x>=0的部分
是可学习的变量,约束为正
当趋近于0的时候,SmoothReLU收敛到ReLU
被初始化为一个足够大的值,例如400,来避免在训练初始阶段梯度消失问题
依然是图3,实验证明了函数平滑的的重要性,排除了x<0有响应的影响。
4.3 Case Study: Stabilizing Adversarial Training with ELU using CELU
一个辅助实验,继续说明smooth的重要
5 Exploring the Limits of Smooth Adversarial Training
默认使用Swish作为激活函数,从网络的深度,宽度,图像分辨率三个方面增加ResNet的性能。
2-5行 更深 更宽的网络表现更好
6-7行 更大的分辨率表现更好
加在一起更好。
这些手段对于标准对抗训练也有提升,但是没有单靠SAT提升的多。
5.2 SAT with EfficientNet
在EfficientNet上效果也很好
超越state of art
讨论
最后,我们强调了在大型网络中,对抗训练模型和标准训练模型之间的精度差距大大缩小。
例如,通过上面的训练设置(增强),EfficientNet-L1在标准训练中达到84.1%的准确率,而在SAT中这一准确率略微下降到82.2%(-1.9%)。请注意,这个差距远远小于ResNet-50的7.1%(标准训练为76.8%,SAT为69.7%)
6 结论
SAT在不牺牲标准精度或增加计算成本的情况下提高了对抗鲁棒性。借助EfficientNet-L1,SAT报告了ImageNet上最先进的对抗性鲁棒性,其在精确度和鲁棒性方面大大优于现有技术,为9.5%和11.6%。
总之,论证了激活函数对于鲁棒性的影响。
因为之前一直是盯着acc去做网络结构的优化,很多网络结构都没有论证对于鲁棒性的影响。
however,鲁棒性和准确率的博弈客观存在,SAT是在AT的基础上for free,只是减少了GAP。
在目前的研究情况下,还能继续去探索网络架构,去利用上对抗样本、失真样本,以增加准确率和鲁棒性为目标。