当前位置: 首页 > article >正文

【论文精读】Revisiting Adversarial Training under Long-Tailed Distributions

🌈 个人主页:十二月的猫-CSDN博客
🔥 系列专栏: 🏀论文泛读与精度_十二月的猫的博客-CSDN博客

💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 

目录

1. 摘要

2. 介绍

3. 相关方法

4.  分析 RoBal

4.1 Preliminaries

4.2 RoBal 的消融研究

4.3 学习率调度中的稳健过拟合和意外发现差异: 论文描述与代码执行

5. 为什么数据增强能够提高鲁棒性(增强对抗防御)

6. 总结


 

1. 摘要

       深度神经网络很容易受到对抗性攻击,导致错误输出。对抗性训练被认为是对抗此类攻击的最有效方法之一。然而,现有的对抗训练技术主要是在平衡数据集上进行评估的,而真实世界的数据往往呈现长尾分布,这让人对这些方法在实际场景中的功效产生怀疑。在本文中,我们将深入研究对抗训练在长尾分布下的性能。通过分析先验方法 “RoBal”(Wu 等人,CVPR'21),我们发现仅利用平衡软最大损失(Balanced Softmax Loss,BSL)就能获得与完整 RoBal 方法相当的性能,同时显著降低训练开销。然后,我们发现长尾分布下的对抗训练也会出现与均匀分布类似的稳健过拟合问题。我们探索了利用数据增强来缓解这一问题,结果意外地发现,与平衡数据获得的结果不同,数据增强不仅有效地缓解了稳健过拟合,还显著提高了稳健性。我们进一步发现,这种改进归功于训练数据多样性的增加。广泛的实验进一步证实,仅靠数据增强就能显著提高鲁棒性。最后,在这些发现的基础上,我们证明了与 RoBal 相比,BSL 与数据增强的结合能显著提高鲁棒性。

核心思想:

        1、本文研究对抗训练在长尾分布数据下的性能。

        2、利用平衡软最大损失以及数据增强的方法来提升对抗训练在长尾分布数据下的性能

上图说明,我们方法在鲁棒性和准确性上比SOTA方法RoBal(针对长尾数据的对抗性训练方法)提高了很多~~~

背景:

        1、考虑到模型都需要使用对抗性训练来增强它的鲁棒性。但是常规的对抗性训练不能直接被长尾分布模型使用,因此寻找使用长尾分布模型的对抗性训练方法非常重要。

2. 介绍

       众所周知,深度神经网络(DNN)很容易受到对抗性攻击,攻击者可以通过对输入添加轻微扰动,在 DNN 的识别结果中诱发错误 [12, 38]。许多研究人员都致力于防御此类攻击。在提出的各种防御方法中,对抗训练被认为是最有效的方法之一。其原理是将对抗性示例整合到训练集中,以提高模型对这些示例的泛化能力 [19, 30, 41, 44, 52, 53]。近年来,对抗训练领域取得了重大进展。然而,我们注意到几乎所有的研究都是利用平衡数据集进行性能评估,如 CIFAR-10、CIFAR-100 [22] 和 Tiny-ImageNet [23]。相比之下,真实世界的数据集往往表现出不平衡,通常是长尾分布。因此,应该使用长尾数据集重新评估对抗训练在实践中的功效 [14, 39]。

       据我们所知,RoBal [45] 是唯一研究长尾分布下对抗鲁棒性的已发表作品。然而,其复杂的设计导致了大量的训练时间和 GPU 内存,在一定程度上限制了其可用性。重新审视 RoBal 的设计后,我们发现其最关键的部分是平衡软最大损失(BSL)[35]。我们注意到,将 AT [30]结合BSL 形成 AT-BSL 可以达到 RoBal 的效果,同时显著降低其训练开销。因此,我们主张使用 AT-BSL 代替 RoBal。

核心思想:

        1、AT+BSL可以达到RoBal效果,同时降低训练开销

       此外,我们还发现了另一个重要现象:与平衡数据集下的训练类似,使用长尾分布数据进行对抗训练也会导致鲁棒过拟合问题 [36]。之前一些关于平衡数据集的研究采用了数据增强的方法来缓解这一问题 [4、13、34、36、44]。因此,一种直接的方法是尝试在长尾分布下的对抗训练中引入数据增强。我们的结果与平衡数据集上的结果部分吻合,表明数据增强也能缓解稳健过拟合。然而,与平衡数据集的结果相反,仅利用数据增强对提高鲁棒性毫无帮助[34, 36, 44],我们发现数据增强技术,包括 MixUp [51]、Cutout [9]、CutMix [49]、AugMix [17]、AutoAugment (AuA) [6]、RandAugment (RA) [7]和 TrivialAugment (TA) [32],可以显著提高鲁棒性。因此,我们进一步提出问题: 为什么数据增强能提高鲁棒性?我们假设数据增强可以增加训练数据的多样性,使模型能够学习更丰富的表征,从而提高鲁棒性。我们通过消融研究验证了这一假设。

背景知识:

        1、鲁棒过拟合:训练集中鲁棒性稳步上升,但是测试集中鲁棒性下降

        2、理解:过于关注训练集中噪声的细节,导致无法学习到实际的噪声特点。从而在使用对抗样本去测试时效果不佳。

       我们的贡献概述如下: 

  • 通过消融研究,我们发现 BSL 是 RoBal 最关键的组成部分,而精简的 AT-BSL 方法可以显著减少 RoBal 的训练时间和内存使用量。-
  • 我们发现,在长尾分布条件下的对抗训练中,数据增强不仅能减轻鲁棒过拟合,还能大幅提高鲁棒性。
  • 我们提出了数据增强如何提高鲁棒性的假设,并通过实验验证了这一假设。
  • 全面的经验证据表明,我们的发现在多种常见的数据增强策略、模型架构和数据集中都具有普遍意义。

核心思想:

        1、BSL:软化标签是RoBal的关键部分。

        2、减轻鲁棒过拟合的方法:数据增强、正则化等方法。

3. 相关方法

       长尾学习:长尾分布指的是训练数据集中常见的一种不平衡现象,即一小部分类(头部)拥有大量实例,而其他类(尾部)的实例却很少[14, 39]。在这种分布下训练出来的模型往往会偏向头部类,导致尾部类的性能不佳。传统的重新平衡技术旨在解决长尾识别问题,包括重新采样 [20, 37, 40, 55] 和成本敏感学习 [8, 28],这些技术往往以牺牲头部类别为代价,提高尾部类别的性能。为了减轻这些不利影响,一些方法通过边缘[42]和偏差[35]等角度来处理特定类别的属性。最近,一些更先进的技术被引入,如类条件敏锐度感知最小化 [56]、特征簇压缩 [26] 和全局-局部混合一致性累积学习 [10],进一步提高了长尾识别的性能。不过,这些研究都致力于提高识别准确率,而对长尾识别的对抗鲁棒性的研究仍然很少。

       对抗训练:对抗训练的精髓在于将对抗示例整合到训练集中,从而提高模型对此类示例的泛化能力。从理论上讲,对抗训练解决的是一个最小-最大问题,即内部最大化生成最强大的对抗示例,外部最小化优化模型参数。最典型的对抗训练方法之一是 AT [30],其数学表达式如下:

式中:x ′ 是一个受 ℓp 规范约束的对抗示例,y 是 x 的标签,θm 是模型 m 的参数,ϵ 是扰动大小,Lmax 是内部最大化损失,Lmin 是外部最小化损失。

       在对抗训练[30]的基础上,后续工作开发了高级对抗训练技术,如 TRADES [52]、MART [41]、AWP [44]、GAIRAT [53] 和 LAS-AT [19]。

       长尾分布下的鲁棒性:遗憾的是,以往关于对抗训练的研究主要关注平衡数据集,但现实世界中的数据更常见的是长尾分布[14, 39]。因此,评估对抗训练实用性的一个重要标准应该是它在长尾分布上的表现。据我们所知,RoBal [45] 是唯一发表的研究长尾数据集对抗训练的著作。在第 3 节中,我们将对 RoBal 的设计进行详细分析。

       数据扩增:无论训练数据的分布是均衡的还是长尾的,数据扩增都被认为是减轻模型过拟合和提高泛化能力的有效工具[2, 10, 47, 54]。图像分类任务中常用的数据增强技术包括随机翻转、旋转和裁剪 [15]。一些更先进的增强方法,如 MixUp [51]、Cutout [9] 和 CutMix [49],可能会在标准训练场景中提供更好的性能。此外,还有 Augmix [17]、AuA [6]、RA [7] 和 TA [32]等增强策略,它们整合了多种增强的学习或随机组合,表现出了卓越的性能。

数据扩增和正则化都是很好的减轻过拟合的方法。

这个过拟合包括:模型训练过拟合 和 鲁棒性过拟合

4.  分析 RoBal

4.1 Preliminaries

       与 AT[30]相比,RoBal[45]引入了四个额外的组件: 1) 余弦分类器;2) Balanced Softmax Loss[35];3) Class-aware Margin;4) TRADES Regularization [52]。

       余弦分类器 在采用标准线性分类器的基本分类任务中,类别 i 的预测对数可表示如下:

\begin{aligned} g(f(x))_{i}& =W_i^Tf(x)+b_i \\ &=\|W_i\|\cdot\|f(x)\|\cos\theta_i+b_i& \text{(2)} \\ &=z_i+b_i, \end{aligned}

       其中,g(-) 是衬垫分类器。这一表述表明,有三个因素会影响预测结果:1)权重向量 ∥Wi∥ 和特征向量 ∥f(x)∥的大小;2)它们之间的夹角,用 cos θi 表示;3)分类器 bi 的偏差项。

核心思想:

        1、Wi:第i类的特征向量

        2、f(x):该向量的特征向量

       这种分解突出表明,可以通过调整特征空间中实例的规范来改变实例的预测结果。在线性分类器中,权重向量∥Wi∥的尺度在尾部类别中趋于减小,从而影响这些类别的准确性。因此,[45] 尝试使用余弦分类器[33]来最小化特征和权重的比例效应。在余弦分类器中,类别 i 的预测对数可表示如下: 

\begin{aligned}h(f(x))_{i}&=s\cdot\left(\frac{W_i^Tf(x)}{\|W_i\|\|f(x)\|}\right)+b_i\\&&\text{(3)}\\&=s\cdot\cos\theta_i+b_i,\end{aligned}

 核心思想:

        1、由于尾部类见到的次数少,因此代表尾部类特征的Wi特征向量的值相对也较少。为了减少权重向量∥Wi∥的尺度的影响,采用余弦分类器代替线性分类器


       平衡软最大损失(Balanced Softmax Loss):解决类不平衡的一种直观且被广泛采用的方法是在交叉熵损失的训练过程中分配特定类的偏置。[45]采用了[31, 35]中概述的方法,其中偏置被定义为 bi = τb log (ni)。这种修改导致了平衡软最大损失(BSL),其公式为

\begin{aligned}&\mathcal{L}_0(h(f(x)),\mathrm{y})=-\log\left(\frac{e^{s\cdot\cos\theta_y+b_y}}{\sum_ie^{s\cdot\cos\theta_i+b_i}}\right)\\&&\text{(4)}\\&=\log\left(1+\sum_{i\neq y}e^{s\cdot(\cos\theta_i-\cos\theta_y)+\tau_b\log\left(\frac{n_i}{n_y}\right)}\right),\end{aligned}

其中,ni 是第 i 个类别中的实例数,τb 是控制偏置计算的超参数。BSL 根据每个类别的实例数量,为每个类别加入特定的偏置,从而动态调整训练和测试之间的标签分布变化,从而提高长尾学习的性能 [35] 。


       类别感知边际:然而,当从真实类别 y 到任何其他类别 i 的边际值(用 τb log (ni/ny) 表示)变为负值(即 ny > ni)时,可能会降低判别表征的质量和分类器的学习性能,特别是对头部类别。为了解决这个问题,[45] 设计了一种类别感知边际项[33],为头部类别分配较大的边际值,作为一种补偿:

m_i=\frac{\tau_m}{s}\log\frac{n_i}{n_{\min}}+m_0.\text{(5)}

       第一项随着 ni 的增加而增加,当 ni = nmin 时达到最小值 0,τm 是控制趋势的超参数。第二项 m0 > 0 为所有类别建立了一个通用边界。在 L0 的基础上加上这个类别感知边际 mi,就变成了 L1:

 \begin{aligned}&\mathcal{L}_1(h(f(x)),\mathrm{y})\\&=-\log\left(\frac{e^{s(\cos\theta_y-m_y)+b_y}}{e^{s(\cos\theta_y-m_y)+b_y}+\sum_{i\neq y}e^{s\cos\theta_i+b_i}}\right).&\text{(6)}\end{aligned}

理解:

        1、类别感知边际:感知类别之间的边界

        2、感知边际和Loss的关系:如果类别之间的边界模糊,则在Loss中增加惩罚函数。让模型偏向于区分模糊边界的类

        3、样本数量和类别边界的关系:这是一种很简单的衡量类别边界的方法。样本数量越多就代表模型边界偏向它,导致其他类的边界模糊;样本数量越少代表模型边界远离他,导致其边界模糊

本篇文章的 类别感知边际 项偏向于头部类,用于提升头部类的效果


       TRADES 正则化。[45]按照 TRADES [52],加入了库尔贝克-莱布勒(KL)正则化项,从而将整体损失函数修改为:

\mathcal{L}_{\min} =\mathcal{L}_{1}\left(h\left(f\left(x^{\prime}\right)\right),\mathrm{y}\right)+\beta\cdot\mathrm{KL}\left(h\left(f\left(x^{\prime}\right)\right),h(f(x))\right),\\(7) 

其中,β 是用于控制 TRADES 正则化强度的超参数。

正则化的作用: 减缓过拟合等现象

4.2 RoBal 的消融研究

       我们进行了消融研究,以调查 RoBal [45] 中每个组件的贡献。具体来说,我们将 RoBal 的每个组件依次并入 AT [30],以考察它们对清除准确性、对抗鲁棒性、每历时训练时间和内存使用的影响。结果汇总于表 1。请注意,所选的超参数严格符合 [45] 的默认设置。有关对抗性攻击的更多详情,请参阅第 5.1节。

       我们发现,添加了平衡软最大损失的 AT(AT-BSL)在准确性和对抗鲁棒性方面都优于普通 AT。不过,在 AT-BSL 中加入余弦分类器后,对 PGD 攻击的鲁棒性有所提高[30],但对自适应攻击(如 CW[3]、LSA[18]和 AA[5])的鲁棒性则明显下降。

       REAT[25]的结果表明,RoBal 中余弦分类器的尺度不变性可能会在制作具有交叉熵损失的对抗示例时导致梯度消失。这种现象归因于分类层中权重和特征的归一化,它大大减小了梯度的大小,从而阻碍了有效对抗示例的生成[25]。随后集成的 TRADES 正则化和类感知边际并不能显著提高抗逆性,但却大大增加了训练时间和内存使用量。事实上,AT-BSL 在净化准确性和对 AA 的鲁棒性方面可以与完整的 RoBal 方案相媲美。因此,我们提倡使用 AT-BSL,它能在不牺牲显著性能的情况下提高对抗训练的效率。AT-BSL 的 Lmin 公式如下:

\begin{aligned} \mathcal{L}_{\mathrm{min}}& =\mathcal{L}_0\left(g\left(f\left(x'\right)\right),\mathrm{y}\right) \\ &=-\log\left(\frac{e^{z_y+b_y}}{\sum_ie^{z_i+b_i}}\right)& \text{(8)} \\ &=-\log\left(\frac{n_y^{\tau_b}\cdot e^{z_y}}{\sum_in_i^{\tau_b}\cdot e^{z_i}}\right). \end{aligned}

4.3 学习率调度中的稳健过拟合和意外发现差异: 论文描述与代码执行

       RoBal [45] 声称没有采用提前停止,所报告的结果来自最后一个训练历元,即第 80 个历元。出版物中描述的学习率安排从 0.1 开始,在第 60 次和第 70 次训练历时衰减,每次衰减 0.1 倍。然而,在运行 RoBal 的源代码时,我们观察到(如图 2(b) 中的蓝线所示),测试的鲁棒性在第一次学习率衰减(第 60 个历元)后基本保持不变,这表明不存在鲁棒的过度拟合。众所周知,平衡数据集上的对抗训练技术(如 CIFAR-10)会表现出鲁棒性过拟合问题[36],而 CIFAR-10-LT 的数据点少于 CIFAR-10,理论上应加剧这一问题,这与[34]中提出的数据越多越能减轻鲁棒性过拟合的观点相矛盾。

核心思想:

        1、说明RoBal并没有出现鲁棒过拟合现象。

        2、抨击观点:数据越多越能减轻鲁棒过拟合

       在对 RoBal 提供的官方代码进行细致检查后,我们发现执行的学习率计划与出版物中的说法不一致。代码的学习率从 0.1 开始,在第 60 个 epoch 之后每个 epoch 衰减 0.1,在第 75 个 epoch 之后每个 epoch 衰减 0.01(如图 2(a) 中的蓝线所示)。这导致到第 80 个历元时学习率低至 1e-26,可能限制了第 60 个历元后的训练,并导致模型在第 60 和 80 个历元时的性能相似,如图 2(b) 所示。

核心思想:没有出现鲁棒过拟合并不是由于RoBal提供的方法其效果了,而是由于不停降低学习率是的不会出现过拟合

       然后,我们调整学习率计划,使其与 [45] 中的计划一致(如图 2(a) 中的橙色线所示),并重新绘制鲁棒性曲线(如图 2(b) 中的橙色线所示)。2(a)),并重新绘制鲁棒性曲线,如图 2(b)中的橙色线所示。调整后,我们观察到测试鲁棒性在第一次学习率衰减后有所下降,这与 CIFAR-10 上通常观察到的预期鲁棒过拟合现象一致。

核心要点:重新调整学习率为Paper中一样,则出现严重鲁班过拟合。说明RoBal本质上并没有那么好的鲁棒性。

       因此,长尾分布下的对抗训练也表现出稳健的过拟合,与平衡分布下的对抗训练类似。那么问题来了: 我们该如何解决这个问题呢?在平衡数据集上尝试使用数据增强来缓解这一问题,但数据增强对长尾分布是否仍然有效,目前还不得而知。

      测试 MixUp:之前的一些研究[34, 36, 44]表明,在 CIFAR-10 上,MixUp[51]可以帮助减轻稳健过拟合。因此,我们假设在 CIFAR-10 的长尾版本 CIFAR-10-LT 上,MixUp 也能减轻稳健过拟合。根据图 3(a),与 AT-BSL 相比,AT-BSL-MixUp 显然大大减少了稳健过拟合。此外,我们还意外地发现,MixUp 还显著提高了鲁棒性。这一结果与之前在平衡数据集上的观察结果不一致[34, 36, 44],之前的观察结果认为单纯的数据增强并不能提高鲁棒性。

      探索数据增强:受 MixUp 假设验证的启发,我们的研究扩展到评估其他数据增强技术是否能同样减轻稳健过拟合并提高稳健性。这项研究包括 Cutout [9]、CutMix [49]、AugMix [17]、TA [32]、AuA [6] 和 RA [7] 等方法。图 3 显示了这些增强技术在训练过程中实现的鲁棒性。我们的结果显示,每种增强技术都能减少稳健过拟合,其中 CutMix、AuA、RA 和 TA 在几乎完全防止过拟合方面表现尤为突出。此外,我们还注意到,每种增强技术实现的鲁棒性都超过了普通 AT-BSL,从而支持了单靠数据增强确实可以提高鲁棒性的论断。

5. 为什么数据增强能够提高鲁棒性(增强对抗防御)

      提出假设:我们的假设认为,数据增强可以通过增加训练数据的多样性来提高鲁棒性,从而使模型学习到更丰富的表征。我们以 RA [7] 为案例进行研究,对于每张训练图像,RA 都会从 14 个选项中随机应用一系列增强功能--身份、剪切力 X、剪切力 Y、平移 X、平移 Y、旋转、亮度、颜色、对比度、锐度、海报化、太阳化、自动对比度和均衡化。我们进行了一项消融研究,以评估每种增强效果的个别影响。具体来说,我们将资源库限制为一种类型,迫使 RA 在所有训练示例中使用相同的增强功能。根据图 4(a)中的结果,除了对比度之外,没有任何一种增强技术能独立提高鲁棒性。事实上,与 AT-BSL 相比,Solarize、AutoContrast 和 Equalize 等增强技术的效果明显不佳。这表明,单一增强技术提供的多样性不足以提高鲁棒性。

核心思想:数据增强并不是普通的数据增加。数据增加不一定能够提高鲁棒性,但是数据增强增加了数据多样性从而提高了鲁棒性。

因此,数据多样性是提升鲁棒性的关键。数据多样性模拟了对抗样本的某些特性从而提高了模型鲁棒性。

      验证假设:随后,我们研究了增加增强类型的种类对稳健性的影响。在每个实验中,我们随机选择 n 种增强类型构成 RA 库,n∈{2,14}。每个配置测试五次。如图 4(b)所示,当池中添加的增强类型越多,鲁棒性就越高。这一趋势表明,更丰富的增强类型可以增加示例的多样性。因此,模型可以学习到更全面的表征,从而提高鲁棒性并支持我们的假设。

      此外,为了进一步加强我们的假设,我们还对三种增强效果--日晒、自动对比和均衡--进行了消减研究,这三种增强效果单独使用时会损害鲁棒性。我们从不计这三项增强功能的基线(记为 RA11)开始,逐步重新引入这三项增强功能。表 2 中的结果显示,随着增强类型的增加,稳健性也在逐步提高。虽然单独使用这三种方法可能会产生负面影响,但将它们纳入池中仍能提高稳健性。这进一步验证了我们的假设,即数据增强可以通过增加训练示例的多样性来提高鲁棒性。

6. 总结

如果想要学习更多深度学习论文,大家可以点个关注并订阅,持续学习、天天进步

你的点赞就是我更新的动力,如果觉得对你有帮助,辛苦友友点个赞,收个藏呀~~~


http://www.kler.cn/a/421791.html

相关文章:

  • C++面试突破---C/C++基础
  • 【案例教程】python生物信息多组学大数据深度挖掘与论文整理技巧实践技术应用
  • 基于C#+SQLite开发数据库应用的示例
  • 是什么阻断了kafka与zk的链接?
  • JavaScript根据数据生成柱形图
  • 计算机科学中的主要协议
  • 组合问题变式——选数(dfs)
  • 【Linux探索学习】第十七弹——进程终止:深入解析操作系统中的进程终止机制
  • MySQL 学习 之 数值计算精度问题
  • 硬件看门狗工作原理
  • Zookeeper的通知机制是什么?
  • R语言中的数据读写
  • vscode ctrl+/注释不了css
  • Flink随笔 20241203 Flink重点内容
  • 使用matplotlib 库绘制曲线图~
  • HarmonyOS URL字符串解析 常用的几个方法
  • 用Python做数据分析环境搭建及工具使用(Jupyter)
  • SpringSecurity6
  • 【零基础学习UDS诊断测试】——0x10测试用例设计
  • 论文阅读:Deep Multi-View Subspace Clustering with Anchor Graph
  • Unity 模拟百度地图,使用鼠标控制图片在固定区域内放大、缩小、鼠标左键拖拽移动图片
  • 泷羽sec学习打卡-shell命令6
  • 【QNX+Android虚拟化方案】132 - QNX 系统内存、CPU负载监控
  • hdlbits系列verilog解答(exams/m2014_q4c)-88
  • R格式(高精度x低精度+四舍五入)
  • 【掩体计划——DFS+缩点】