AI 科技评论本文介绍一篇发表在 CVPR 2021 的一篇工作:《Adversarial Robustness under Long-Tailed Distribution》,并分享作者将长尾分布 (Long-Tailed Distribution) 这一条件引入对抗鲁棒性 (Adversarial Robustness) 任务中的一些理解。
文章链接:https://arxiv.org/abs/2104.02703
代码链接:https://github.com/wutong16/Adversarial_Long-Tail
论文简介 @ YouTube:https://www.youtube.com/watch?v=21ZNeF9ZHKI
论文引言
这篇文章将数据的长尾分布问题引入对抗鲁棒性研究领域,对现有多种长尾识别算法与对抗训练结合的策略进行了系统的研究,并提出了一个简洁有效的解决方案。不平衡条件下的鲁棒性研究是一个既实际又富有挑战性的方向,作为一个挖坑工作,我们也尽可能地实现和分析了足量的基准方法,提供了丰富的代码库,现已全部开源。希望这篇工作能够抛砖引玉,引起更多研究者对这一问题的关注。
1
研究动机 | Motivation
对抗鲁棒性 (Adversarial Robustness) 是深度学习网络长期以来的痛点之一。它最早由 Szegedy和 Goodfellow等人提出,指在图片中加入少量扰动即可误导网络的分类结果(图1)。之后这个问题也被拓展到越来越多的任务中,比如人脸识别、目标检测和语义分割等;其作用对象也从数字图像延伸到仿真环境(CARLA 模拟器)、实际场景(人体、车辆、路标牌、3D 打印路障)、甚至点云等不同的 domain 中。
不过目前大多数的研究工作还是集中在数字图像分类的基本任务上,比如设计更强的攻击 / 防御算法,或者从理论角度探究这个现象的可解释性(Interpretability)、可证性(Provablity)等等。大家会用到的主流数据集包括 MNIST、CIFAR 和 ImageNet。其中 MNIST 即将成为时代的眼泪,ImageNet 虽然规模最大、质量最高,但也造成了其对抗训练下庞大的计算开销,所以 CIFAR 往往在文章中最为常常见。Github 上 Auto-Attack 的榜单给出了现有防御模型的一个 Benchmark,从中我们也可以感受到不同数据集在这个领域文章中出现的频次。
图 1 | 经典的大熊猫攻击效果图
然而真实数据往往具有长尾的分布形态 (Long-tailed Distribution)(图2)。近两年来,这个问题在分类和检测等识别任务中已经受到了广泛关注,但据我们调研所知,它对对抗鲁棒性的影响此前还没有被正式研究过。在实际应用场景中,确保用非理想分布的数据训练出来的模型鲁棒性是一个很重要的问题,也成为了我们这个工作的出发点。
图 2 | 长尾分布数据集举栗
2
初步观察 | Initial Observation
分析问题前先来做几处简单的说明:
我们首先基于 baseline 模型初步观察一下这个问题。
如下图所示:
1) 正常训练的模型在不同数据分布下的自然准确度(蓝)有显著差别,这是普通长尾识别需要解决的问题;
2) 加入对抗训练后,鲁棒准确度(红)随着样本数量的减少表现出更为剧烈的衰减;
3) 对抗训练的加入会引起自然准确度一定程度的损伤(绿),这种现象也在尾部类别上被显著放大。
图 3 | Baseline 模型的初步观察
既然上述问题的元凶是不平衡的分布,我们自然希望站在巨人的肩膀上,考虑能否借助长尾识别领域中一些先进的算法,并与对抗训练的框架有机结合,作为一系列基准方法,希望实现的是同时提高模型的自然分类准确度和鲁棒性。因此我们开展了下文的研究。
3
实证研究 | Empirical Study
长尾识别领域目前已经积累了很丰富的算法,这里我们就简单粗暴地以作用阶段为标准,划分了三个类别(和最近流行的 one-stage / two-stage 归纳法是一致的,相当于把 two-stage 方法又细化为 fine-tuning-based 和 inference-based):
在下面表格中,我们筛选了一些形式简洁和可迁移性高(便于和对抗训练框架结合)的方法,并尽可能地做了简化和统一。表中相应超参数已在附录中给出,所有实现也都已经在我们的 repo 里开源,欢迎大家多多 star,感兴趣的同学可以很方便地复现和修改不同模块~
表 1 | 部分长尾识别方法的总结及其与对抗训练结合的实验结果
对于上表中的实验结果,我们有几点有趣的观察和分析:
1、自然准确度的提升很简单!表格中很多方法都能为自然准确度带来显著的提升(绿色高亮),以普通对抗训练后的模型为基准,平均幅度可以达到百分之十左右。
2、相比之下,鲁棒性很难观察到大幅突破。这里我们展示了最常用的 PGD和相对更可靠的 Auto-Attack 两种攻击下的结果。不过我们也注意到,似乎在 inference 阶段对分类器的归一化或拉伸操作能够很明显地提高模型对 PGD 攻击的抵抗力(红色高亮),但同时 Auto-Attack 的攻击结果没有明显变化,这其实是由于对分类器向量的后处理操作引发了 PGD 攻击一定程度上的失效,造成了“鲁棒性错觉”。
鲁棒性的衡量是否准确一直以来都是一个广受关注问题:一个真正鲁棒的样本,在一定的范数约束下,理论上不应该被任何一种方法攻击成功。所以一方面,人们可以从理论角度推导某个模型的鲁棒性的界限(provable robustness) ,我们组今年 CVPR 也有一篇相关文章被收录为 Oral,可供大家参考;
另一方面,更多工作致力于不断设计出更强的攻击算法来逼近理论值,从实用性角度出发提供更可靠的衡量方式。回到这个例子,对分类器向量(也等价于网络输出)的均匀拉伸或压缩不会改变输出 logit 的排序,因此不影响自然准确度,但它对反传梯度的影响会改变攻击的效果。具体来说,在生成对抗扰动时,对 Cross-Entropy 函数求导,原本的导数方向,
,是从正确类别的分类器向量指向各个错误类别向量的方向加权和,权重大小正是该错误类别的预测概率,使得整体倾向于向相似、易混淆的类别优化,可以认为是一个有效的更新方向。
在此基础上:
a) 输出拉伸 (logit stretching) 容易导致梯度消失 (gradient vanishing)。这个现象早在 2017 年就被 Carlini 和 Wagner 提出,也在 Auto-Attack 的文章里 [3] 被再次强调:如图4左侧所示,对于原本分类正确的样本,logits 被持续拉伸时,由于 softmax 函数本身的性质,错误类别的预测概率会逐渐缩小到零,
,造成梯度消失现象 (黑)。最终所有正确样本都无法被攻击,PGD 鲁棒准确度 (绿) 和自然准确度 (蓝) 趋向一致。
b) 输出压缩 (logit compressing) 容易导致梯度方向平均化 (direction averaging)。logits 被持续压缩时,极限情况会使得所有类别都均匀输出相同的预测概率,那么整体的攻击方向,
,就由正确分类器向量指向所有分类器向量的均值方向,且始终不变。攻击的效率因此大大降低,但仍然具有一定的成功率,所以图4右侧 PGD 鲁棒准确度 (绿) 先升高,再趋向于平缓。而 Auto-Attack 的鲁棒准确度 (红) 规避了上述问题,一直保持维持稳定,也是大家认为它可靠的原因。
图 4 | 输出幅度对模型各指标测量的影响
3、两者之间差值是关键。通过以上的观察我们可以发现,即使自然准确有了大幅的提高,鲁棒性也不一定随之加强,或者说改变幅度非常小。这里可以引入二者之差 (gap) 作为一个新的观测量,并强调维持一个较低的 gap 对于鲁棒性的最终提升十分关键,这其中也有借鉴 TRADES 提出的边界误差(boundary error)的思想。回顾表1,可以看到基于余弦分类器的方法明显具有更低的差值(蓝色高亮)。
我们可以从线性分类器的弱点出发,分析其原因如下:
一方面,不平衡数据训练下的线性分类器,其向量长度 (classifier norm)及偏置量(bias)共同作用将得到适应于训练样本分布的分界面,它也是显著不均衡的(图5左),而去掉这两个自由度能够一定程度上缓解这一问题,规范了特征空间的学习;
另一方面,对线性分类器来说,即使对分界面的调整(boundary adjustment)能够一定程度上纠正某些错误分类,但决策面附近的样本在面对攻击时依然很脆弱,且攻击结果常常能够体现在特征向量长度的变化上(图5右),因此特征模长的归一化也有助于削弱此类攻击的效果。
图 5 | 线性分类器问题分析
4
方法 | Method
根据前面得到的规律,我们在本文中也提出了一个简单有效的方法:
1、尺度一致性分类器 (Scale-invariant Classifier)。这里对余弦分类器进行了简单的变形, 是采用了 Kaihua 大佬 TDE中的结构:
,因为发现
能够略微促进鲁棒性的提升。其实余弦分类器在几年前的大规模人脸分类中已经大放异彩,出现了各种沿用至今的 margin 设计;这两年来,在 few-sot learning 和 long-tailed classification & detection 领域中也随处可见它的身影,说明在样本不理想 情况下,分类器的归一化约束对学习过程尤其重要。
2、两阶段重平衡策略 (Two-stage Re-balancing)。通过表1 中公式的总结,我们能看出其实大多数不平衡问题的解决思路都是在引入基于样本数量的类别特异性结构 (bias, temperature, weight, sampling frequency, etc.) ;也有的方法利用网络训练后的统计结果进行计算 (direction and norm of classifier vectors, moving average of sample vectors) ,从而避免了对“训练样本数量已知”这一条件的依赖。这些重平衡策略(re-balancing strategies)对我们方法的设计有重要的启发:
训练过程中,我们可以像普通分类器一样引入类别特异性偏置(class-aware bias),
,
表示第 i 个类别的训练样本量,相当于把角平分线上的分界面向尾部类别靠拢,把它的特征空间约束得更加紧实。这个操作虽然照顾到了尾部,却将头部类别的特征空间放宽了限制,如果从 margin 的角度来理解,相当于施加了一个负的 margin,对于特征空间的类内聚拢不利。所以一方面,可以给每个类别再均匀地施加一个 margin
,让特征进一步向分类器的方向收敛;另一方面,对于每个类别也可以再添加特异性补偿,进一步帮助头部类别恢复一个合适的 margin 数值。
最终 margin 的设计如下:
测试阶段,考虑到不同类别的泛化水平以及它们在特征空间的汇聚程度,我们还可以进一步对分类决策面进行调整。不过这一阶段一般和训练过程的操作互补。这里涉及到多个超参,它们各自的作用以及互相之间的配合在文章中有更加详细的讨论。
图 6 | 分类器的 margin 构造示意图
3、正则项(Regularization Term)。最后,我们也参考之前的文章,加上了由 KL 散度(KL divergence)计算的正则项,形成最终的损失函数如下:
5
实验 | Experiments
与经典防御方法的比较如表2所示:因为在我们的方法中,两种指标的峰值往往不会同时出现,所以我们分别侧重二者之一报了两组结果。
相比而言,其他防御方法的 ”跷跷板效应“ 会更加显著:比如 TRADES 对鲁棒性有明显的加强,但也会大幅损伤自然准确度;有的方法引入了 adaptive adversarial training 或 mixup + label smoothing 的操作,训练时对于困难的尾部类别更加友好,但可能由于影响了对抗训练中复杂分界面的学习,用鲁棒性的大幅牺牲换取了更好的自然样本分类表现。
表 2:CIFAR-10/100-LT 实验结果
整体比较,回收封面图:上面两张表的结果整合在一起如图7 所示,可以清晰地看到不同的方法在两种指标上的表现。我们的方法在不同的超参下会呈现出一个小范围的 trade-off,但整体都在一个比较高的水平。
实验的其他部分中:我们也展示了不同的平衡系数和各超参对实验结果的影响;附录中还包含其他一些结果和分析,感兴趣的同学可以参考原文,这里就不再赘述。
最后希望指出的是,除了样本数量外,类别自身特性及类间关系也很重要。
注意到图3的 baseline 模型里,即使在原始的平衡数据集上,不同类别样本的表现也大不相同。我们可视化了不同类别的特征空间,如图8 所示:观察到表现相对较差的 bird, cat, deer 类别在特征空间上也更加松散,和其他类重叠范围更大,的确增加了错误分类的可能性和攻击成功率。因此,如何同时考虑样本数量、类别本征难度和类间关系也是一个未来值得研究的问题。
图 8 | 特征空间可视化
6
总结 | Conclusion
总结来说,这篇文章特别关注了长尾分布下的对抗鲁棒性,作为一个挖新坑的工作,我们首先对两个交叉方向中各自方法的结合做了一个相对全面的研究,并由此提出了一个简洁有效的解决方法。
我们希望通过这个工作抛出问题,以及尽可能多地给出基本的观察和分析,而这个任务本身还有很大的研究空间,比如理论角度的分析、实战方法的设计、以及向更大的数据集或者实际场景的拓展等。最后也附上我们论文的 citation,欢迎大家来和我们一起探索~
@inproceedings{wu2021advlt,
author = {Tong Wu, Ziwei Liu, Qingqiu Huang, Yu Wang, and Dahua Lin},
title = {Adversarial Robustness under Long-Tailed Distribution},
booktitle = {Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
year = {2021}
}
原文链接:https://zhuanlan.zhihu.com/p/380120516
由于微信公众号试行乱序推送,您可能不再能准时收到AI科技评论的推送。为了第一时间收到AI科技评论的报道, 请将“AI科技评论”设为星标账号,以及常点文末右下角的“在看”。