本文主要是介绍[论文阅读笔记] Adversarial Examples Are Not Bugs, They Are Features,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Adversarial Examples Are Not Bugs, They Are Features(NIPS2019)
文章核心:
作者认为,对抗性样本的存在不是网络架构的问题,而是数据集的一个属性。( n o n − r o b u s t f e a t u r e non-robust\, feature non−robustfeature)
Adversarial vulnerability is a direct result of our models’ sensitivity to well-generalizing features in the data.(对抗脆弱性是模型对数据中泛化较好的特征具备敏感性的直接结果。)
主要做法:
他分别构建了2种图像的特征:robust和non-robust
- robust: 作者采用的一个方法,尽量把原图中的
non-robust
特征移除,以获得robust
特征。具体做法是,创建一个与原始数据集语义相似的训练数据集,在其上进行标准训练后,模型可在原始未修改测试集上获得稳健的准确率。 - non-robust: 作者构建了一个数据集,其中图片与原始图片基本接近,但标签都是错误的(也可以认为就是对抗样本)。事实上,新训练数据集中的输入与其标签之间的关联仅通过微小的对抗扰动来维系(从而仅利用非稳健特征)。尽管缺乏有预测性的人类可见信息,但在该数据集上训练后,模型可在原始未修改测试集上获得不错的准确率。(即如果用这些样本去训练,假如该样本人眼认为是狗,但其对应标签为猫,训练好后再拿这个网络去识别猫,却能达到比较好的准确度。)
接下来考虑一个二分类问题,即 y ∈ { − 1 , 1 } y \in \{-1, 1\} y∈{−1,1}(当然对对分类也是可以的),作者把特征分为以下3类:
- ρ − u s e f u l f e a t u r e s \rho-useful\,features ρ−usefulfeatures:
其中 ρ > 0 \rho>0 ρ>0 - γ − r o b u s t l y u s e f u l f e a t u r e s \gamma-robustly\,useful\,features γ−robustlyusefulfeatures:
其中 δ \delta δ表示细微扰动, γ > 0 \gamma>0 γ>0 - U s e f u l , n o n − r o b u s t f e a t u r e s Useful,non-robust features Useful,non−robustfeatures:
该特征满足 ρ > 0 \rho > 0 ρ>0但是对任意 γ > = 0 \gamma>=0 γ>=0,该特征不属于 γ − r o b u s t l y u s e f u l f e a t u r e s \gamma-robustly\,useful\,features γ−robustlyusefulfeatures。在对抗样本中, U s e f u l , n o n − r o b u s t f e a t u r e s Useful,non-robust features Useful,non−robustfeatures就会是那个与True label负相关的特征,网络模型通过 n o n − r o b u s t non-robust non−robust特征来进行决策!!!<
从下图中可以看出,在 D R D_R DR分布中进行训练,虽然在测试集上的准确率会稍许下降,但是整体上对对抗样本的防御上性能还是比较不错的(虽然仍旧不如通过对抗样本训练的模型,但已经比原始分布 D D D上训练的相比,防御力大大提升了)。此外,在 D N R D_{NR} DNR分布中进行训练,仍然能够在测试集上取得不错的结果,但很难抵御攻击。 r o b u s t robust robust特征在训练集上提供了强有力的预测能力,但是代价就是会损伤泛化能力。
此外,作者还发现不同架构的网络的Transfer rate
与该网络的Test accuracy
正相关,作者认为,在Test上性能越优越的网络可能利用了更多的non-robust
特征,从而才提高了泛化能力。
Futher Reading:
A Theoretical Framework for Studying (Non)-Robust Features未看懂
由于这些笔记是之前整理的,所以可能会参考其他博文的见解,如果引用了您的文章的内容请告知我,我将把引用出处加上~
如果觉得我有地方讲的不好的或者有错误的欢迎给我留言,谢谢大家阅读(点个赞我可是会很开心的哦)~
这篇关于[论文阅读笔记] Adversarial Examples Are Not Bugs, They Are Features的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!