Adversarial Examples Improve Image Recognition
对抗样本普遍被看作卷积网络的威胁。
Here we present an opposite perspective:
adversarial examples can be used to improve image recognition models if harnessed in the right manner.
对抗样本可以被用于改进图像识别模型如果用正确方式来利用的话。
AdvProp
我们方法的关键是一个对于对抗样本单独的辅助batch norm的使用,因为它们与正常样本具有不同的底层分布。
1 介绍
之前的工作展现了使用对抗样本训练可以增强模型泛化但是限制于某些条件:1.小数据集 mnist 监督学习 2.大数据集 半监督
最近的工作也提出在大数据集如ImageNet使用对抗样本训练,使用监督学习的方式会在干净图像上的表现退化。
总之,这留下了一个开放式的问题关于怎么对抗样本可以被用于有效地帮助视觉模型。
我们观察到所有之前的结合干净图像和对抗样本的方法都没有进行区分,尽管他们来自不同的底层分布。
本文提出AdvProp缩写 Adversarial Propagation,一种新的训练方案,可以用简单但是高效的两个batchnorm方法来弥补分布不匹配。两个batchnorm适当地分离了两个分布。我们展示了这种分布分离是至关重要的,它使我们能够通过对抗样本成功地改进而不是降低模型性能。
据我们所知,我们的工作是第一个展现了在监督学习的设定下在大规模ImageNet数据集上对抗样本是可以改善模型的性能的。
2 相关工作
Adversarial Training
VAT 、deep co-training 半监督的方法
adversarial robustness和 standard accuracy之间的trade off证明是不可避免的
然和本文从相反的角度出发使用对抗样本提高standard accuracy
Benefits of Learning Adversarial Features
许多工作证实了对抗训练为卷积网络带来了更多的特性:
- 与干净图像相比,对抗性示例使网络表示更符合显著数据特征和人类感知
- 这样训练的模型对高频噪声更具鲁棒性
- 这些对抗学习出的特征表示对纹理失真不太敏感,更关注形状信息。
我们提出的AdvProp可以被描述为一种训练范式,充分利用了干净图像和相应的对抗性例子之间的互补性。
Data augmentation.
数据增强 一系列不改变label的图像变换
作为重要且高效的阻止过拟合的方法
传统的数据增强方法:水平翻转、随机裁剪......
不同的增强方法已经出现:masking out、加高斯噪声、mix up
甚至自动学习数据增强策略
本文的工作可以看作是一种数据增强:通过注入噪声创造额外的训练样本
所以,对抗样本和传统数据增强样本的差别在哪里?
为什么传统数据增强方法可以阻止过拟合?传统数据增强会对clean images有负作用吗?
3. A Preliminary Way to Boost Performance
验证了adversarial training导致clean images上的表现下降
假设这种表现的下降是因为分布不匹配导致的,对抗样本和干净图像来自两个不同的域。
实验:在对抗样本上预训练然后在干净样本上微调,性能上升
因此,一个自然的问题出现了:是否有可能以更有效的方式从对抗性示例中提取有价值的特征,并进一步提高模型的总体性能?
4 方法
explicitly decoupling batch statistics on normalization layers, and thus enabling a better absorption from both adversarial and clean features.
在normalization layers上显式地解耦批处理统计信息,从而能够更好地吸收对抗和干净特征。
4.1 Adversarial Training
对于一般的训练,目标函数为 最小化loss函数L
那么对于对抗训练
不同于对抗训练,我们的目标是利用对抗样本的正则化能力改善网络在干净图像上的表现, 因此我们将对抗图像看待为额外的训练样本,用对抗样本和干净图像的混合来训练网络。
我们可以把这个概念推广到多个辅助的BNs,BNs的数量取决于训练样本源的数量。
理想情况下,这样训练的模型可以享有对抗和干净两个域的益处。
然而,直接优化公式3会导致比普通在干净图像上训练更低的表现。
4.2 Disentangled Learning via An Auxiliary BN
BN通过每个mini-batch计算的均值和方差规范化输入特征,一个内部假设是输入特征应该来自一个单独的或者相似的分布。
提出辅助的BN来分离混合的两种分布
可以推广这个概念到多个辅助BNs,辅助BNs的数量取决于训练样本源的数量。(例如失真distorted)
4.3. AdvProp
测试阶段,这些辅助的BNs将被舍弃。
5 实验
这种性能改进与网络容量往往成正比,更大的网络如果用AdvProp训练能够表现的更好
(那在小网络小数据集还有效果吗。?)
Generalization on Distorted ImageNet Datasets
体现泛化能力
models are not allowed to train with corresponding distortions or extra data
Ablation on Adversarial Attacker Strength.
越小的网络越青睐更弱的攻击,越大的网络越青睐越强的攻击。
和对抗训练进行比较
一个可能的假设是更强大的网络具有更强的能力来学习混合分布的统一内部表示,因此即使没有辅助bn的帮助,也可以减轻归一化层的分布不匹配问题。
(为啥不把普通的训练 对抗训练 本文方法的结果画成一个图?)
使用主BN或者使用辅助BN,从表现上的差距看出分布的不匹配随着网络的增大在下降
因此,有一个足够强大的网络就有可能去精确而有效地去学习到一个混合分布就算没有在归一化层进行小心的处理。
Why AdvProp?(这个时候这个标题就很有灵性)
对于小网络来说,AdvProp是成功的。
对于大网络来说,尽管改善很小,但是在其他数据集泛化上有提升
而且,AdvProp让大网络如果用更强的攻击者能表现的更好,而对抗训练则会稍微下降。
Missing Pieces in Traditional Adversarial Training.
文中的对抗训练已经超过了普通的训练的精度,而之前的工作展示对抗训练降低了性能。
所以当 1.更强大的网络 2.更弱的攻击者
更弱的攻击者不会push的太远,而更强的网络更擅长桥接域之间的不同。
这两个因素都减轻了分布不匹配的问题,从而使网络更容易从这两个领域学习有价值的特征。
(这也是一种博弈? 数据增强需要控制在网络可以handle的范围内)
Fine-grained Disentangled Learning via Multiple Auxiliary BNs.
AutoAugment:Autoaugment: Learning augmentation policies from data. In CVPR, 2019.
我们假设这些操作轻微的偏移了原始数据分布,加入一个辅助的BN来分离这些增强数据
三个BN:1.干净图像 2.对抗样本 3.增强数据
Comparison to AutoAugment.
比较AutoAugment和本文方法
在小网络上AutoAugment更好,在大网络上一起用比较好
Attackers Other Than PGD.
其他攻击方法也可以达到提升的效果
ResNet Results.
之前观察到对抗训练随着网络的增大而性能提升在resnet没有体现。
说明网络需要特别的设计。
Pushing The Envelope with a Larger Model.
EfficientNet-B8达到了更好的结果
6. Conclusion
总之,AdvProp在ResNet系列和EfficientNet系列上都超过了普通训练和对抗训练的表现,更加说明神经网络还有继续改进提升的空间,更好的网络的设计或者在网络中加入辅助的一些操作就能cover这些分布之外的增强数据,得到更好的结果。
但是这篇论文就没有再对比对抗训练和AdvProp在adversarial robustness上的表现