论文笔记:Smooth Adversarial Training

摘要

  人们普遍认为网络不可能同时具有准确性和鲁棒性,获得鲁棒性意味着失去准确性。人们还普遍认为,除非使网络更大,否则网络架构元素在提高对抗的健壮性方面作用不大。在这里,我们提出证据,以挑战这些共同的信念,通过仔细研究对抗性训练。我们主要观察到的是,广泛使用的ReLU激活函数由于其非光滑性,显著削弱了对抗性训练。因此,我们提出平滑对抗训练(SAT),其中我们用平滑逼近代替ReLU,以加强对抗训练。SAT中平滑激活函数的目的是让它在对抗性训练中找到更困难的对抗性例子和计算更好的梯度更新。与标准对抗性训练相比,SAT免费提高了对抗性的稳健性。,准确性不会下降,计算成本也不会增加。例如,在不引入额外计算的情况下,SAT显著地将ResNet-50的鲁棒性从33.0%提高到42.3%,同时也将ImageNet的精度提高了0.9%。SAT在更大的网络上也能很好地工作:它帮助efficientNet-L1在ImageNet上实现82.2%的准确性和58.6%的鲁棒性,比以前最先进的防御系统的准确性和鲁棒性分别高出9.5%和11.6%。

1 Introduction

  卷积神经网络很容易被对抗样本攻击,这些样本是通过在干净的输入[39]中添加小扰动来计算的。许多努力都致力于提高网络对抗攻击的弹性[13,28,4,46,22,29,26]。其中,对抗性训练[12,19,22]是最有效的方法之一,它利用对抗性实例对网络进行实时训练。之后的工作通过向网络中提供更困难的对抗样本[43]、最大化网络[8]的边际、优化正则化替代损失[50]等方法进一步改进对敌训练。虽然这些方法实现了更强的对抗鲁棒性,但它们牺牲了干净输入的准确性。一般认为,准确性和鲁棒性之间的权衡是不可避免的,除非引入额外的计算预算来扩大网络容量[22,47]。
  另一个增加抗敌对攻击鲁棒性的流行方向是梯度掩蔽[27,1],它通常引入不可微操作(如离散化[4,32])来混淆梯度。在梯度退化的情况下,攻击者无法成功地优化目标损失,无法突破这种防御。尽管如此,梯度掩蔽将是无效的,如果它的可微近似用于产生对抗的例子[1]。
  另一个增加抗敌对攻击鲁棒性的流行方向是梯度掩蔽[27,1],它通常引入不可微操作(如离散化[4,32])来混淆梯度。在梯度退化的情况下,攻击者无法成功地优化目标损失,无法突破这种防御。尽管如此,梯度掩蔽将是无效的,如果它的可微近似用于产生对抗的例子[1]。
  梯度掩蔽防御的痛苦历史促使我们重新思考梯度质量和对抗鲁棒性之间的关系,特别是在对抗训练中,梯度比标准训练应用得更频繁。对抗性训练除了通过计算梯度来更新网络参数外,还需要通过梯度计算来生成训练样本。在这一原则的指导下,我们发现在大多数网络架构中广泛使用的激活函数ReLU,由于其非光滑特性,显著削弱了对抗训练,例如,ReLU的梯度在其输入为零时出现突变,如图1所示。
  为了解决ReLU带来的问题,在本文中,我们提出了平滑对抗性训练(SAT),它通过用平滑逼近s1代替ReLU来提高对抗性训练中的梯度质量,从而加强架构的平滑性(图1显示了参数化SoftPlus,一个ReLU平滑逼近的例子)。通过平滑的激活函数,SAT能够向网络提供更困难的对抗性训练样本,计算更好的梯度更新来优化网络,从而大大加强了对抗性训练。实验结果表明,SAT免费地提高了对抗的鲁棒性。,而不会导致额外的计算或降低标准精度。例如,通过在ImageNet[33]上使用经济的单步PGD attacker2[22]进行培训,SAT显著提高了ResNet-50的鲁棒性9.3%,从33.0%提高到42.3%,同时在不增加额外计算成本的情况下提高了0.9%的标准精度。
  我们还探讨了大型网络中SAT的局限性。我们通过使用effecentnet - L1获得了最佳结果[40,48],在ImageNet上实现了82.2%的准确率和58.6%的鲁棒性,显著优于现有技术[30]的9.5%的准确率和11.6%的鲁棒性。

2 Related Works

3 ReLU Weakens Adversarial Training

  在此,我们在梯度计算的逆向过程中进行了一系列的控制实验来研究ReLU是如何减弱的,以及它的光滑逼近如何加强对抗性训练。
  **3.1 Adversarial Training**
  对抗性训练[12,22]是一种即时用对抗性例子训练网络的方法,目的是优化下面的框架
  ***公式***
  其中D为底层数据分布,L(; ; ) 是loss函数,theta是网络参数,x是训练样本,y是真实标签。epsilon是添加的对抗扰动,S是扰动范围。如式(1)所示,对抗性训练由两个计算步骤组成,一个是计算对抗性实例的内部最大化步骤,另一个是计算参数更新的外部最小化步骤。对抗训练设置。我们选择ResNet-50[14]作为主干网。我们应用PGD攻击者[22]来生成对抗性扰动epsilon,具体来说,我们选择最便宜的PGD版本,单步PGD (PGD-1),以降低培训成本。跟随【35,45】,我们设置像素最大改变为epsilon=4,攻击step size beta =4 ,我们遵循基本的ResNet训练方法在ImageNet上训练模型:使用momentum SGD优化器对模型进行总共100个epoch的训练,学习率在30、60和90个epoch下降10;除了1e-4的权重衰减外,没有正则化。
  在评估对抗的健壮性时,我们在ImageNet验证集上对200步PGD攻击者(PGD-200)测量模型的最高1精度,并测量最大扰动大小epsilon= 4

and the step size beta= 1.我们注意到200次攻击迭代足以让PGD攻击者收敛。同时,我们报告了模型在原始ImageNet验证集上的top-1准确性。
3.2 梯度质量如何影响对抗性训练?
如图1所示,广泛使用的激活函数ReLU是非光滑的,即,当其输入为0时,其梯度发生突变,显著降低梯度质量。我们推测,这种不平滑的特性会影响训练过程,特别是当我们对模型进行反向训练时。这是因为,与标准训练相比,标准训练只计算梯度来更新网络参数theta,对敌训练需要对内部最大化步骤进行额外的计算来制造扰动 epsilon。
为了解决这个问题,我们首先引入ReLU的平滑逼近,命名为parameter Softplus[24],如下所示
公式
其中超参数用于控制曲线形状。这个函数的导数w。r。t,输入x是
公式
为了更好的近似ReLU曲线,我们经验设置alpha= 10。如图1所示,与ReLU相比,参数Softplus(=10)是光滑的,因为它的导数是连续的。
使用参数化Softplus,我们接下来诊断内部最大化步骤和外部最小化步骤中的梯度质量如何影响ResNet-50在对抗性训练中的准确性和鲁棒性。为了清楚地评价效果,我们在向后传递中仅将式(2)替换ReLU,而向前传递不变, ReLU通常用于模型推理
提高对抗性攻击者的梯度质量。我们首先看看梯度质量对计算对抗性例子的影响。,内部最大化步骤)在训练期间。更确切地说,在对抗式训练的内部步骤中,我们在前传中用的是ReLU,在后传中用的是参数化的Softplus;在外部步骤中,我们在向前和向后传递中都使用ReLU。如表1第二行所示,当攻击者使用参数化Softplus s梯度来制作训练样本时,与ReLU基线相比,得到的模型在性能上存在权衡,例如,对抗鲁棒性提高了1.5%,但精度降低了0.5%。我们假设,增强的对抗鲁棒性可以归因于训练过程中产生的更困难的对抗实例,即。,更好的内部最大化步骤梯度可以增强攻击者的力量。为了进一步验证这一假设,我们通过PGD-1(对比表1中的PGd-200)评估了两个ResNet-50模型的稳健性,一个采用标准训练,另一个采用对抗性训练。具体来说,在求值期间,攻击者在前向传递中使用ReLU,而在后向传递中使用参数化Softplus。更好的渐变,PGD-1攻击者更有加强和伤害模型:它可以进一步降低精度排名前4.0%(从16.9%到12.9%)标准培训和0.7%(从48.7%到48.0%)对抗训练(既不表1所示)。最后,如表1所示(第二行),我们注意到这种鲁棒性改善的准确性,这是与之前的作品[43]一致。
提高网络参数更新的梯度质量。然后研究了梯度质量在网络参数更新中的作用。,外部最小化步骤)在培训期间。更确切地说,在对抗性训练的内部步骤中,我们使用ReLU;但在外步中,我们在前步中使用ReLU,在后步中使用parameters Softplus。令人惊讶的是,这种方法免费地提高了对抗的鲁棒性。如表1第三行所示,在不需要额外计算的情况下,与ReLU基线相比,对抗性鲁棒性提高了2.8%,准确率提高了0.6%。我们注意到相应的训练损失也降低了:训练集的交叉熵损失从2.71减少到2.59。这些具有更好的鲁棒性、准确性和更低的训练损失的结果表明,通过式(3),网络能够在对抗训练中计算出更好的梯度更新。有趣的是,我们也观察到更好的梯度更新提高了标准训练,即。在ResNet-50中,通过更好的梯度训练,准确率从76.8%提高到77.0%,相应的训练损失从1.22降低到1.18。无论是对抗性训练还是标准训练的结果都表明,使用更好的梯度更新网络参数可以作为提高总体性能的原则,同时保持模型的推理过程不变(即不变)。,在推理期间仍然使用ReLU)。
提高了对抗攻击者和网络参数更新的梯度质量。鉴于对敌对攻击者或网络优化器提高ReLU的梯度都有利于增强健壮性,我们进一步增强了敌对训练,方法是在所有向后传递中用参数Softplus替换ReLU,而在所有向前传递中保持ReLU。正如预期的那样,这样一个训练过的模型报告了迄今为止最好的鲁棒性,即。,如表1的最后一行所示,它的稳健性显著优于ReLU基线3.9%。有趣的是,这种改进仍然是免费的。,它报告的准确性比ReLU基线高出0.1%。我们推测这主要是由于本实验中计算更好的梯度更新(提高精度)对精度的正面影响略微超过了创建更困难的训练样本(降低精度)对精度的负面影响。
3.3其他训练增强能解决ReLU的梯度问题吗?
更多的攻击迭代。众所周知,增加攻击迭代次数可以创建更困难的对抗例子[22]。我们在自己的实验中证实,通过对PGD攻击者进行更多的迭代训练,得到的模型表现出与我们为攻击者应用更好的梯度的情况相似的行为。通过增加攻击者的代价2,PGD-2提高了ReLU基线0.6%的鲁棒性,而失去了0.1%的准确性。这一结果表明,在对抗性训练的内部步骤中,只要给出更多的计算量,就可以解决梯度问题。
培训时间。我们也知道,更长时间的训练可以降低训练损失[16],这是我们接下来要探讨的。有趣的是,与标准设置相比,2的训练成本(例如,200 epoch),尽管最终的模型确实实现了更低的训练损失(从2.71到2.62),但仍然在准确性和健壮性之间进行权衡。更长的训练提高了2.6%的准确性,但降低了1.8%的鲁棒性。相反,在上一节中使用更好的梯度来优化网络可以提高鲁棒性和准确性。这一令人沮丧的结果表明,长时间的训练并不能解决在对抗性训练的外步中由于强度差而引起的问题。
结论。鉴于这些结果,我们得出结论,ReLU显著削弱对抗性训练。此外,似乎退化的表现不能简单地补救,即使是训练的增强(例如。,增加攻击迭代次数和攻击次数;培训时间)。我们发现,关键在于ReLU的梯度较差,仅在向后传递时用其平滑逼近代替ReLU,可以显著提高鲁棒性,即使没有牺牲精度和额外的计算代价。在下一节中,我们将说明使激活函数平滑是增强对抗训练的一个很好的设计原则。

4 Smooth Adversarial Training

	如上所示,改进ReLU的梯度既可以增强攻击者,又可以提供更好的梯度更新。尽管如此,这个策略可能是次优的,因为在前向传递(我们使用ReLU)和后向传递(我们使用参数Softplus)之间仍然存在差异。为了充分发挥更好梯度训练的潜力,我们在此提出平滑对抗性训练(SAT),它通过在对抗性训练中独家使用平滑激活函数来加强架构的平滑性。我们保持所有其他网络组件相同,因为它们中的大多数不会导致梯度差的问题,
	**4.1 Adversarial Training with Smooth Activation Functions**
	我们认为下列激活函数是SAT中ReLU的平滑近似(图2绘制了这些函数及其导数)
	**Softplus,Swish,Gaussian Error Linear Unit (GELU),Exponential Linear Unit (ELU)**
	主要的结果。我们按照第3节中的设置对配备了这些平滑激活功能的ResNet-50进行反向训练。结果如图3所示。与ReLU基线相比,所有平滑激活函数都大大提高了鲁棒性,同时保持了几乎相同的标准精度。例如,平滑的激活函数至少提高了5.7%的健壮性(使用参数Softplus,从33%提高到38.7%)。Swish[31]实现了最强的鲁棒性,它使ResNet-50实现了42.3%的鲁棒性和69.7%的标准精度。
	此外,我们将其与第3节中的设置进行比较,其中参数化Softplus仅应用于向后传递。有趣的是,通过在正向传递中用参数化Softplus替代ReLU,所产生的模型在保持几乎相同精度的同时,进一步提高了1.8%的鲁棒性(从36.9%到38.7%),这表明了在SAT中正向和反向传递中应用平滑激活函数的重要性。
	**4.2 Ruling Out the Effect From x < 0**
	与ReLU相比,除了平滑之外,上述函数对负输入具有非零响应(x <0)这也可能影响对抗性训练。To 排除 这 factor,  we 特此 提出 SmoothReLU, 后 趋于 平缓 的 激活 函数 只 修改 ReLU x <0.
	alpha为所有通道共享的可学习变量,且约束为正。我们注意到光滑函数总是连续可微的,不管的值是多少
	SmoothReLU汇聚到ReLU的时候!1. 注意,在训练开始的时候,需要初始化一个足够大的值(比如我们的实验中是400)来避免梯度消失的问题。我们把平滑曲线和它的一阶导数画出来
	我们观察到SmoothReLU在稳健性上显著优于ReLU 7.3%(从33.0%到40.3%),在准确性上优于ReLU 0.6%(从68.8%到69.4%),因此清楚地说明了平滑函数的重要性,并排除了x <0
	**4.3 Case Study: Stabilizing Adversarial Training with ELU using CELU**
	在上面的分析中,我们证明了用平滑逼近代替ReLU可以大大提高对抗性训练。为了进一步证明SAT(超越ReLU)的泛化,我们讨论另一种类型的激活函数ELU。ELU的一阶导数如下所示
	这里我们主要讨论ELU非光滑的情况 alpha!=1,由式(7)可知,ELU s梯度不再是连续可微的,当x = 0时,从而导致ReLU等突变梯度变化。具体来说,我们考虑这个场景1.0<alpha<2.0,当alpha的值较大时,梯度断裂变得更剧烈.
	表2显示了对抗性训练的结果。有趣的是,我们观察到,对抗鲁棒性高度依赖于当函数是平滑的(即平滑)时达到最强鲁棒性的值。, = 1:0,稳健性为41.4%),其他所有单调选择均在逐渐接近2.0时降低稳健性。例如,当= 2:0时,鲁棒性下降到只有33.2%,比using = 1:0时降低了7:9%。观察到的现象与我们之前的结论一致,即ReLU非平滑激活功能明显削弱了对抗性训练
	为了稳定与ELU的对抗训练,我们应用它的平滑版本CELU[2],它将ELU重新参数化为以下格式:通过这个参数化,CELU现在是连续可微的,不管选择什么。我们观察到CELU极大地稳定了对抗性训练。与= 1:0相比,CELU中最坏的情况仅低0.5%(如表2所示)。这个案例研究为展示执行SAT的重要性提供了另一个强有力的支持。

5 Exploring the Limits of Smooth Adversarial Training

	最近的研究[47,11]表明,与标准训练相比,对抗性训练对更大的网络有更强的要求,以获得更好的性能。但是之前在这个方向上的探索只考虑了较深的网络[47]或较宽的网络[22],这可能是不够的。为此,我们在此系统地研究网络在SAT中如何伸缩行为。具体来说,我们将Swish设置为执行SAT的默认激活函数,因为它在不同候选函数中实现了最好的鲁棒性(如图3所示)。

5.1 Scaling-up ResNet
我们首先在SAT中使用ResNet进行网络放大实验。在标准训练中,Tan等人[40]提出,所有三个放大因子,即。,深度,宽度和图像分辨率,是重要的进一步提高ResNet性能。我们在这里考察这些因素在SAT中的影响。我们选择ResNet-50(默认图像分辨率为224)作为基线网络,
深度,宽度。之前的研究[22,47]已经表明,使网络更深入或更广泛可以进一步提高标准的对抗训练。我们在坐re-verify这个结论。作为第二到第五行表3所示,我们确认更深或更广泛的网络一直在坐比基线网络。例如,通过培训加深resnet - 152,它可以提高ResNet-50年代4.2%,准确性为3.7%,鲁棒性性能。类似地,通过训练一台4宽的ResNeXt-50-32x8d[49],它可以提高3.9%的准确率和2.8%的稳健性。
图像分辨率。虽然更大的图像分辨率有利于标准训练,但一般认为,增大这个因子会导致较弱的对抗鲁棒性,因为攻击者将有更大的空间来制造对抗扰动[10]。然而,令人惊讶的是,这种信念在对抗训练中是无效的。从表3的第6行和第7行可以看出,在SAT中,ResNet-50在图像分辨率较大的情况下训练时始终能够取得更好的性能。我们推测,这种改进可能是因为较大的图像分辨率(1)使得攻击者能够创建更强的对抗示例[10];和(2)增加网络容量[40],因此有利于SAT整体。
复合比例.到目前为止,我们已经确认了深度、宽度和图像分辨率的基本缩放在SAT中都是重要的缩放因子。正如标准训练[40]中所讨论的,同时缩放所有这些因子比只关注单一维度(如深度)要好。为此,我们尝试为ResNet创建一个简单的复合缩放。从表3的最后一行可以看出,所得到的输入分辨率为380的ResNeXt-152-32x8d模型,其结果要比ResNet-50基线强得多,即,准确性+8.5%,稳健性+8.9%。
规范对抗性训练探讨。我们首先确认基本扩展的深度、宽度和图像分辨率也在标准物质对抗训练,例如,通过扩大ResNet-50健壮性(33.0%),更深层次的resnet - 152达到39.4%的鲁棒性(+ 6.4%),更广泛的ResNeXt-50 - 32 x8d达到36.7%(+ 3.7%)和鲁棒性较大的ResNet-50图像分辨率在380年达到36.9%的鲁棒性(+ 3.9%)。所有这些鲁棒性性能都低于SAT中ResNet-50基线的鲁棒性(42.3%)(表3第一行)。换句话说,扩大网络似乎不如用平滑的激活函数替代ReLU有效。
我们还发现,在标准的对抗训练中,复合标度比基本标度更有效,输入分辨率为380的ResNeXt-152-32x8d报告了46.3%的鲁棒性,虽然这个结果比基于以上基本伸缩的对抗性训练好,但是它仍然比SAT低5个点。换句话说,即使是较大的网络,在对敌训练中使用平滑的激活函数对于提高表现仍然是必要的。
5.2 SAT with EfficientNet
在ResNet上的结果表明,在SAT中扩展网络可以有效地提高性能。尽管如此,应用的扩展策略可能不是最优的,因为它们是手工设计的,没有任何优化。有效网[40]使用神经结构搜索自动发现网络缩放的最优因子,为图像识别提供了一个强大的模型家族。为了检查效率网的好处,我们现在使用它来代替SAT中的ResNet。注意,所有其他训练设置都与我们的ResNet实验中描述的相同
与ResNet类似,从图4可以看出,在SAT中,较强的骨干始终能够获得较好的性能。例如,通过将网络从efficient - b0扩展到efficient - b7,鲁棒性从37.6%提高到57.0%,准确率从65.1%提高到79.8%。令人惊讶的是,对于更大的网络,这种改进仍然是可以观察到的:efficiency net - L1[48]进一步提高了1.0%的鲁棒性,比efficiency net - b7提高了0.7%的准确性。
效率网的培训增强。到目前为止,我们所有的实验都是按照ResNet的训练方法进行的,这对于efficient entnet的训练可能不是最优的。为此,我们将以下设置导入到我们的实验中,就像在最初的efficiency net训练设置[40]中一样:我们将权值衰减从1e-4改为1e-5,并添加Dropout [37], random depth[17]和AutoAugment[6]来规范训练过程。此外,我们训练模型的时间更长。采用早期停止策略,以防止健壮性[45]中的灾难性过拟合问题。通过这些训练增强,我们的efficient - net - l1得到了进一步的提高。,准确性+1.7%(从80.5%到82.2%),稳健性+0.6%(从58.0%到58.6%)。
和现有技术[30]比较。表4比较了我们的最佳结果与现有技术。坐,我们能够训练模型的强劲表现在两个敌对的鲁棒性和标准的准确性我们最好的模型(EfficientNet-L1 +坐)鲁棒性标准的准确性达到82.2%和58.6%,这在很大程度上优于之前的最先进的方法[30]9.5%标准的准确性和11.6%对抗的鲁棒性。
讨论。最后,我们强调,对于大型网络,反向训练模型和标准训练模型之间的精度差距会大大缩小。例如,上述培训设置(增强),EfficientNet-L1达到84.1%的准确率标准培训,这个精度略降低到82.2%(-1.9%)坐。请注意,这种差距规模远小于7.1%的差距在ResNet-50 (76.8% vs标准培训。69.7%坐)。此外,还值得一提的是,82.2%的高精度为[18]提供了强有力的支持,说明健壮的特性确实可以很好地推广到干净的输入。

6 Conclusion

	在本文中,我们提出了平滑的对抗性训练,通过在对抗性训练中用平滑逼近代替非光滑的激活函数,来增强架构的平滑性。SAT在不牺牲标准精度或产生额外计算成本的情况下提高了对抗的鲁棒性。大量的实验证明了SAT的一般有效性。利用efficiency - l1, SAT报告了在ImageNet上最先进的对抗鲁棒性,在准确性上大大超过现有技术[30]9.5%,在鲁棒性上超过11.6%

我们的工作指出,架构的平滑性在学习一个健壮模型中扮演着重要的角色,而这一点在社区中并没有得到重视。我们相信这是一个通用的设计原则,并且可以很好地推广到更广泛的任务,比如自然语言处理,强化学习等等。我们的工作还提供了一些有趣的观察结果,表明不同的架构设计在鲁棒性方面确实会有显著不同的性能,因此有很大的潜力启发以后寻找更好的架构的工作,例如通过手工设计或神经架构搜索,以进一步提高鲁棒性。我们坚信,SAT可以产生很高的实际影响,因为我们的方法可以极大地增强模型对抗敌对攻击的鲁棒性,这对于使模型在真实场景中可靠地工作非常重要,特别是对于像自动驾驶汽车和外科手术机器人这样的安全关键应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值