Adversarial Training for Free
adversarial training for free, NeurIPS 2019
Introduction
- 首先是鲁棒性的定义:
A robust classifier is one that correctly labels adversarially perturbed images.
- 其次是实现鲁棒性的方法:
- 检测并剔除对抗样本(
detecting and rejecting Adv. Examp.
)
- 检测并剔除对抗样本(
- 然后是对抗训练的问题,
- 首先,有工作表明对抗训练是目前为止仍然能有效防御住对抗攻击的少数方法之一;
- 其次,对抗训练是一个非常耗时的过程,体现在两方面:1. 更新网络模型参数 ;2. 在每个
SGD
迭代步内生成对抗样本的过程。(与传统的模型训练过程相比较,计算量取决于用于生成对抗样本时梯度的计算步(迭代步),例如FGSM
和PGD
的区别)。
- 再然后是用于加速对抗训练的方法:
- 使用参数化的生成网络来代替对抗训练过程中的扰动生成。但是此方法不适用复杂数据集问题(例如
ImageNet
),另外此方法很难生成覆盖整个图片空间的具有高度表达能力的GANs
; - 另一个比较流行的方法是使用标签平滑(
label smoothing
)、逻辑压缩(logit squeezing
)、雅可比正则化(Jacobian regularization
)对训练的loss进行正则化。但是这些方法同样没有应用到大规模问题中(ImageNet
),同时,这些方法可以结合对抗训练一起使用。
- 使用参数化的生成网络来代替对抗训练过程中的扰动生成。但是此方法不适用复杂数据集问题(例如
- 近期,“认证防御”(certified defenses)发展的比较迅猛。这些方法一般用于小网络、低分辨率数据集,并且扰动也较小的情况。(small networks, low-res datasets, and relatively small perturbation budgets)
- 有随机平滑的方法;
- …
Contributions
- 提出了一种快速对抗训练算法来训练得到鲁棒模型,而且在训练花销和自然训练接近情况下(比标准对抗训练快3-30倍),能得到和标准训练相近(甚至更好)的鲁棒性效果;
- 该方法的关键是在一个迭代步内(
backward-propagation
)同时更新模型的参数和图片的扰动; - 此外,本文的方法因为效率较高,因此可用于训练
ImageNet
模型,也是第一次用在ImageNet
数据集上,在non-targetd PGD
攻击下可取得40%的鲁棒性效果。
3. Adversarial Training
- 对抗训练是将训练集用相应地对抗训练替代并直接训练模型,模型的鲁棒效果取决于使用的对抗样本的强度;
- 基于快速非迭代式的攻击方法(例如
FGSM
)对抗训练得到的模型只对非迭代式攻击方法有效,对攻击较强的攻击方法(迭代式攻击)无效。
- 本文基于
Madry
提出的鞍点问题求解,该方法已经从理论和经验上都得到了验证; - 该方法分为内外两层(inner-outer loop),其中内层基于模型对输入的梯度信息生成对抗样本,计算量和外层更新模型参数相当;
- 与自然训练相比,自然训练没有内层对输入数据求梯度过程,因此最终(
K-PGD
)对抗训练的计算量是自然训练的K+1
倍。
Motivations
- 对抗训练是目前用于提高模型鲁棒性(
resistant to attacks
)、研究神经网络可解释性的重要方法; - 然后,对抗训练是一个很耗时的过程(
time-consuming
),需要加速。
4 “Free” adversarial training
**简而言之:**就是同步更新扰动和模型的参数。如上图所示,在使用上升法计算扰动同时使用下降法计算模型的梯度信息。
本文与之前训练不一样的地方体现在:
- 为了使得总的训练时间和常规网络训练时间相同(相近),将总
epoch
除以m
; - 在内层循环的时候,虽然是模型参数和扰动同时更新,也正因为如此得到的对抗样本也是攻击型较强的样本,因此训练效果较好(对抗训练的效果一定程度上取决于使用对抗样本的强度);
- 关于扰动,上一个
mini-batch
生成的扰动会作为下一个mini-batch
的warm-start
。
**需要特别注意:这种情况下的训练数据集都是对抗样本,没有干净样本!!!**具体可参考PGD paper
Towards Deep Learning Models Resistant to Adversarial Attacks.
The effect of mini-batch replay on natural training
问题的提出:
- 首先是,随着模型的鲁棒性提高,但是仍然希望模型对自然样本的表现不能太差,即随着算法中
m
的增大,模型的泛化性可能会变差; - 问题:那么
m
是如何影响泛化性的?
- 训练的cost和之前的对抗训练是差不多的;
- 使用不同的m进行训练,然后使用不同的
K-ierations
PGD方法和CW方法进行攻击; - 红框中的数据可表示泛化性,随着m的增加,模型泛化性逐渐变差;但是鲁棒性并不是单调的(这样对m的设置就有要求);
- 在
10
≥
m
>
2
10 \ge m >2
10≥m>2情况下和
7-PGD
取得的精度差不多,但是时间上却大大少于它。
- 可以看出,不管是在自然图片上还是对抗图片上,
free-training
的方法精度都超过了K-PGD adversarial training
; free-AT
与K-PGD AT
在增加迭代步上的规律是一样的,即增大m
或K
模型的鲁棒性会增加,但是泛化性会变差;(但是对于Free AT
而言,增大m
并不会增加时间成本)
5 Robust models on CIFAR-10 and 100
使用PGD对抗训练得到模型的特性
- 对抗训练得到的模型的梯度更具有解释性;
- 使得landscape更加平坦和光滑。
6. Does “free” training behave like standard adversarial training?
即根据之前的研究分析,使用PGD
作为对抗训练的时候,模型表现出来两种特性:
- 模型梯度更具有可解释性;
- 模型的
loss surface
更加的平坦。
本节分析free AT
对抗训练得到的模型是否也具有这样的特性。
Generative behavior for largely perturbed examples
- 有研究表明:强化分类器的梯度信息更具有可解释性。即从
PGD
对抗训练得到的模型生成的对抗样本往往看起来和误分类的类别会很像。
- 第二、三列是根据对抗训练得到的模型基于原始图片生成的对抗样本;(
7-PGD attack
和8-Free AT
) - 对抗生成的图片看起来和他们分类得到的图片“很像”,
Free AT
训练模型得到的对抗样本更具有生成特性,即看起来集成了目标类别;(万一真就改变了labels呢?)即鲁棒的分类器似乎可以一定程度上做一些之前只有生成模型才能做到的事; - 鲁棒模型的梯度更具有解释性,更能代表特征。
Smooth and flattened loss surface
- 在防御方法中,有一类就是通过隐藏loss的gradients的方法,这样使得基于gradients的攻击方法失效(但是这种方法不怎么被认可)。
- 对抗训练的另一个特征就是对使得loss的landscape更加平坦和光滑,及对于对抗训练而言,并不是隐藏梯度或使得landscape的梯度很乱。
7. Robust ImageNet classifiers
本文的算法针对非目标攻击提出,有研究表明非目标攻击比目标攻击更加重要,且较目标攻击更具挑战性,基于此原因,一般选择较小的 ϵ \epsilon ϵ。
为什么无目标攻击比目标攻击更具挑战性?
为什么无目标攻击就要选择较小的 ϵ \epsilon ϵ?
是因为无目标攻击能提供的特征更少?
在ImageNet
实验中,step-size=1(1./255)
。
- 最大扰动量 ϵ = 2. / 255 \epsilon = 2./255 ϵ=2./255;
- 自然训练得到的模型易受PGD的攻击(第一行):
Free AT
训练得到的鲁棒模型相对PGD-attack
具有一定的鲁棒性;- 通过比较
PGD-50
和PGD-100
,一定程度后再增加PGD
中的迭代步并不会再提高攻击成功率(同一行)。(因为这种实验规律性,因此对于更多PGD
迭代步的攻击不再实验)
疑问:训练和测试的攻击方法是不是一样的?
- 每条曲线代表不同的对抗训练(m不同,
m=1
表示正常训练过程); - 对于正常的数据,所有曲线都随着 ϵ \epsilon ϵ的增加模型的精度下降;
- 对于
Free-AT
方法训练得到的模型,同样随着 ϵ \epsilon ϵ的增加模型的精度下降,其中 m = 4 m=4 m=4情况下模型性能最好; - 对于ImageNet模型,在大的 ϵ \epsilon ϵ下很难训练得到鲁棒的模型。
疑问,为什么较大的扰动 ϵ \epsilon ϵ难以训练得到有效的鲁棒模型?
Comparison with PGD-trained models/model’s capacity
相同模型(结构和超参)、最终的bound相同的情况比较两种方法。
- 二者的精度相近,但是训练时间差了差不多
3.46X
; - 若提高模型的容量(复杂度),则性能接近。(但是模型更复杂后,训练时间也会增加)但是
ResNet-101
和ResNet-152
的训练时间分别是ResNet50
的1.7X
和2.4X
下,相较于3.46X
还是有差距。
比较方法的有效性: 精度和效率
Free training on models with more capacity
之前的研究已经表明,模型的capacity
对对抗训练得到模型的鲁棒性有较大的影响。通过将设置
ϵ
=
4.
/
255
\epsilon=4./255
ϵ=4./255,比较ResNet-50、ResNet-101和ResNet-150
对效果的影响。
Conclusion
- 对抗训练是研究神经网络可解释性和鲁棒性的重要方法;
未来的可能点:
- 如何加速对抗训练;
- 如何提高鲁棒模型的泛化性。
./255$,比较ResNet-50、ResNet-101和ResNet-150
对效果的影响。
[外链图片转存中…(img-5rotX9Gi-1608197740002)]
Conclusion
- 对抗训练是研究神经网络可解释性和鲁棒性的重要方法;
未来的可能点:
- 如何加速对抗训练;
- 如何提高鲁棒模型的泛化性。