变换器鲁棒性-7:RobustART:Benchmarking Robustness on Architecture Desgin and Traning Tecniques

RobustART:Benchmarking Robustness on Architecture Desgin and Traning Tecniques

https://www.aminer.cn/pub/614012c05244ab9dcb81635c/robustart-benchmarking-robustness-on-architecture-design-and-training-techniques

https://arxiv.org/pdf/2109.05211.pdf

深层神经网络(DNN)易受对抗性噪声的影响,这激发了模型鲁棒性的基准。现有的基准主要集中于评估防御,但没有全面研究体系结构设计和一般训练技术如何影响鲁棒性。对他们之间的关系进行全面的基准测试将有助于更好地理解和开发强大的DNN。因此,我们提出了RobustART,这是ImageNet(包括开源工具包、预先训练的模型动物园、数据集和分析)上关于架构设计(44个人类设计的现成架构和1200多个来自神经架构搜索的网络)和训练技术的第一个全面鲁棒性调查基准(10+通用技术,例如数据增强)针对不同的噪声(对抗性、自然和系统噪声)。广泛的实验首次揭示并证实了一些见解,例如:(1)对抗性训练极大地提高了变压器和MLP混频器的干净准确度和所有类型的鲁棒性;(2)在具有可比尺寸的情况下,CNN>Transformers>MLP混频器对自然和系统噪声的鲁棒性;Transformers>MLP混频器>CNN对对抗性鲁棒性;(3)对于一些轻型体系结构(例如,EfficientNet、MobileNetV2和MobileNetV3),增加模型尺寸或使用额外的训练数据都不能提高鲁棒性http://robust.art/ :(1)提供了一个开放源代码平台,用于对各种鲁棒性类型进行综合评估;(2)提供了各种具有不同训练技术的预训练模型,以便于进行鲁棒性评估;(3)提出了一个新的观点,以更好地理解设计健壮的DNN体系结构的机制,并得到了分析的支持。我们将继续为社区构建这个生态系统做出贡献。

鲁棒的艺术

1导言

EEP神经网络(DNN)在广泛的应用中取得了显著的性能[1]、[2]、[3]。然而,DNN容易受到对抗样本的影响[4],[5];i、 例如,故意添加人类无法察觉的干扰很容易导致DNN错误预测,威胁数字和物理深度学习应用[6]、[7]、[8]、[9]。此外,一些先前的研究表明,DNN也容易受到自然噪声的影响[10]、[11]、[12]、[13]。这些现象表明,深度学习系统并非固有的安全性和鲁棒性。

由于DNN已被集成到各种安全关键场景中(例如,自动驾驶、人脸识别)[14]、[15]、[16]、[17],提高模型鲁棒性并在实践中进一步构建鲁棒的深度学习系统现在变得越来越重要。对深度学习模型的鲁棒性进行基准测试,为更好地理解和进一步提高模型鲁棒性铺平了关键道路[18]、[19]、[20]、[21]。现有基准侧重于评估常用对抗性防御方法的性能[22]、[23]、[24]、[25],然而,没有对架构设计和一般训练技术如何影响鲁棒性进行全面研究。这些因素反映了模型鲁棒性的固有性质,微小的差异可能会覆盖防御的收益[26],[27]。因此,对架构设计和训练技术对鲁棒性的影响进行全面的基准测试和研究对于理解和提高深度学习模型的鲁棒性非常重要。

在这项工作中,我们提出了RobustART,这是ImageNet上第一个关于针对不同噪声类型的架构设计和训练技术的综合鲁棒性基准。我们系统地研究了上千种模型架构(44种流行的人类设计的非直升机模型架构,包括CNNs[28]、[29]、[30]、ViTs[31]、[32]和MLPMixer[33];1200多种由神经架构搜索生成的架构[34]、[35]、[36]、[37]、[38]),以及10多种主流训练技术(例如,数据增强、对抗性训练、权重平均、标签平滑、优化器选择)。为了深入研究对不同来源噪声的鲁棒性,我们评估了不同的噪声类型,包括对抗性噪声[5]、[22]、自然噪声(如ImageNet-C[10]、-P[10]、-A[12]和-O[12])和系统噪声[39](关于针对不同噪声的前五强鲁棒性架构,请参见表1)。我们的大规模实验首次揭示了关于通用模型设计的一些见解:(1)对于Transformers和MLPMIXER,对抗性训练在很大程度上提高了对所有类型噪声(对抗性、自然和系统噪声)的鲁棒性和清晰的准确度;(2)给定可比较的模型尺寸和对齐的训练设置,CNN(如ResNet)在自然和系统噪声方面表现更强,而Transformers(如ViT)在对抗性噪声方面表现更鲁棒;以及(3)对于几乎所有的模型族,增加模型容量可以提高模型的鲁棒性;但是,增加模型大小或添加额外数据并不能提高某些轻量级架构的鲁棒性。

我们的贡献如下。

•全面的基准测试。我们在ImageNet上提供了第一个全面的鲁棒性基准测试,涉及架构设计和一般训练技术。我们调查了1000多个模型架构和10多种噪声类型(对抗性噪声、自然噪声和系统噪声)的训练技术。

•开源框架。我们对整个框架进行了开源,包括一个模型ZOO(80多个预训练模型)、一个开源工具包和所有数据集(即具有不同噪声类型的ImageNet)。该框架为社区提供了一个开放平台,支持全面的鲁棒性评估。


•深入分析。在大量实验的基础上,我们揭示并证实了一些见解,这些见解反映了鲁棒性与采用不同训练技术的架构设计之间的内在关系。

我们的基准http://robust.art/ 为全面评估、更好地理解DNN和鲁棒的架构设计提供了一个开源平台和框架。结合现有的防御基准,我们可以构建一个更全面的鲁棒性基准和涉及更多视角的生态系统。

2背景和相关工作

在本节中,我们简要概述了对抗性攻击和防御方面的现有工作,以及鲁棒性基准测试和评估。

2.1对抗性攻击和防御

对抗性样本是故意设计用于误导DNN的输入[4],[5]。给定DNN fΘ和输入图像x∈ 带有地面真值标签y的X∈ Y、 xadv满足的一个对抗性样本

其中k·k是距离度量。通常,k·k是通过` p-范数(p∈{1,2,∞}).

大量的工作致力于执行对抗性攻击[5]、[40]、[41]、[42]。尤其是,对抗性攻击可分为两种类型:(1)白盒攻击,其中对抗完全了解目标模型并可以完全访问它;(2)在黑盒攻击中,对抗无法完全访问目标模型,并且对其了解有限,例如,只能在不知道架构和权重的情况下获得其预测。另一方面,已经提出了各种防御方法来提高模型对对抗性样本的鲁棒性[5]、[22]、[25]、[43], [44], [45], [46].

2.2鲁棒性基准和评估

已经提出了许多工作来评估深度神经网络的鲁棒性[18]、[19]、[21]、[47]、[48]、[49]、[50]、[51]、[52]、[53]。[54]首先在ImageNet.DEEPSEC[19]上研究了18个模型的对抗鲁棒性是一个对抗性鲁棒性分析平台,包含16种对抗性攻击、13种对抗性防御和若干实用指标。[18]讨论了方法学基础、审查了普遍接受的最佳实践以及评估对抗性防御的建议清单。

RealSafe[21]是评估图像分类任务(包括15次攻击和16次防御)对抗鲁棒性的另一个基准。[49]对代表性对抗训练方法的训练技巧进行了彻底的实证研究,以提高CIFAR-10的鲁棒性。最近,RobustBench[55]旨在跟踪和评估CIFAR-10和CIFAR-100上最先进的对抗防御。

与现有基准相比,我们的基准具有以下特点:(1)在对齐的训练设置下对不同模型架构进行综合评估,并在不同架构上对一般训练方案进行评估,而之前的工作重点是针对有限的噪声类型提高性能的训练方案,例如针对对抗性样本或常见腐蚀的防御;(2)所有噪声类型均基于ImageNet,而之前的基准主要关注尺寸更小的图像数据集,如CIFAR-10和CIFAR-100;以及(3)对各种噪声类型的系统研究,而之前的基准主要关注评估对抗鲁棒性。

3架构设计和训练技术的鲁棒性基准

现有的鲁棒性基准主要评估对抗性防御,缺乏对架构设计和通用训练技术对鲁棒性影响的全面研究。这些因素反映了模型的固有性质,全面地评估其对鲁棒性的影响为建立鲁棒DNN奠定了基础。因此,考虑到架构设计和训练技术,我们提出了第一个全面的ImageNet鲁棒性基准。

3.1影响鲁棒性的因素

我们的主要目标是研究架构设计和训练技术这两个正交因素对鲁棒性的影响。因此,我们构建了一个全面的存储库,其中包含:(1)具有不同架构的模型,但使用相同的技术进行训练;(2)具有相同架构但使用不同技术进行训练的模型。这些细粒度烧蚀研究有助于更好地理解堆芯模型设计选择对鲁棒性的贡献。

3.1.1架构设计

为了进行全面评估并探索不同架构系列的鲁棒性趋势,我们的存储库倾向于覆盖尽可能多的架构。对于CNN,我们选择了经典的大型架构,包括ResNetseries(ResNet、ResNeXt、WideResNet)和DenseNet,轻量级架构包括ShuffleNetV2和MobileNetV2,重新参数化的架构RepVGG,NAS模型包括RegNet、EfficientNet和MobileNetV3,以及从BigNAS[36]超级网中取样的子网。至于最近流行的视觉Transformers,我们复制了ViT和DeiT。此外,我们还包括基于MLP的架构MLPMixer。表2中列出了所有可用的型号。我们总共收集了44个人类设计的现成模型架构,并从超级网中抽取了1200个子网架构。为了公平比较,对于所有HumanDesign的现成模型,我们保持了一致的训练技术设置。

3.1.2训练技巧

近年来,人们提出了越来越多的技术来训练精度更高的深度学习模型。以前的文献[73]、[74]、[75]已经证明其中一些对模型鲁棒性有影响,例如,数据扩充。然而,由于只对有限的架构进行了研究,这些结论可能无法揭示其背后的内在本质。此外,还有更广泛的训练技术,但它们与鲁棒性的关系仍不明确。为了更准确地回答对鲁棒性的影响,我们将10+种主流训练技术归纳为五个不同类别(见表3),并系统地测试它们对鲁棒性的影响。使用不同训练技术的相关预训练模型是开源的。

3.2评价战略

3.2.1噪声类型

在真实世界场景中存在各种噪声类型,但大多数论文只考虑其中的一部分(例如,对抗噪声),这可能无法完全基准模型鲁棒性。这激励我们收集不同的噪声源,以便进行更全面的鲁棒性分析。如表4所示,我们将噪声格式分为三种类型:对抗性噪声、自然噪声和系统噪声。模型的鲁棒性应考虑所有这些噪声。

对抗性噪音。这种类型的噪声旨在攻击DNN。我们选择了8种常用的对抗性攻击,包括while-box攻击和各种`p扰动类型的黑盒攻击,包括:FGSM[5],PGD-`∞ [22],自动攻击-`∞ [76],MIM-`∞ [77]、PGD-`2[22]、DDN-`2[78]、PGD-`1[22]和基于迁移的攻击[79]。每次攻击有3个不同的扰动量级(小扰动、中扰动和大扰动)。见补充材料中的E.3和F.3节。

自然噪音。现实世界中存在多种形式的自然噪声,我们选择了四种典型的自然噪声数据集(即ImageNet-C、ImageNet-P、ImageNet-A和ImageNet-O)。

系统噪音。此外,对于工业中使用的模型,在训练或推理阶段总是存在系统噪声。预处理操作中的细微差异可能会导致不同的模型性能。例如,不同的解码器(即RGB和YUV)或调整大小模式(即双线性、最近和立方模式)将引入系统噪声,进而影响模型鲁棒性。因此,我们使用ImageNet-S数据集[39]评估模型对系统噪声的鲁棒性,系统噪声包括10种不同的工业操作。见补充材料中的E.3.3节。

3.2.2指标

对抗性噪声鲁棒性。

为了评估针对特定对抗性攻击的鲁棒性,我们使用了基于常用攻击成功率(ASR)的对抗性鲁棒性(AR),并通过1-ASR计算(较高表示更强的模型)。为了评估不同攻击组合下的对抗鲁棒性,我们使用最坏情况攻击鲁棒性(WCAR),它表示对抗多个对抗攻击的对抗鲁棒性下限(越高表示模型越强)。正式定义见补充材料第E.4.1节。

自然噪声鲁棒性。

对于ImageNet-C,之前的工作[10]通常采用平均损坏误差(mCE)来测量模型误差,因此我们使用1-mCE来测量ImageNet-C的鲁棒性(我们称之为ImageNet-C鲁棒性)。对于ImageNet-P,我们遵循[10]中定义的平均翻转概率,并将其负值(负平均翻转概率,NmFP)作为我们的度量。对于ImageNet-A,我们仅使用模型的分类精度。对于ImageNet-O,我们遵循[12]和精确召回(AUPR)下的使用区域。对于上述4个指标,越高表示模型越强。正式定义见补充材料第E.4.2节。

系统噪声鲁棒性。

对于系统噪声,我们使用精度来衡量对不同解码和调整模式的鲁棒性。为了进一步评估不同解码和调整大小方法的模型稳定性,我们使用这些模式的所有组合的精度标准偏差,并取其负值(标准偏差,NSD)。模型的NSD越高,表明对各种系统噪声组合的耐受性越好。详见补充资料E.4.3节。

3.3框架

我们的基准构建为一个模块化框架,由4个核心模块(模型、训练、噪声和评估)组成,并以易于使用的方式提供它们(见图1)。所有包含的模块都可以通过我们网站上的API文档进行高度扩展。基准测试建立在Pytorch[80]的基础上,包括必要的库,如傻瓜箱[81]和艺术[82]。

模型。

我们收集了44个人工设计的非直升机模型及其相应的检查点(总共80多个预训练模型),包括RESNET、VIT、MLPMIXER等。用户可以灵活地添加模型架构文件、加载权重配置,并在框架中注册他们的模型,以进一步研究定制模型架构的鲁棒性。

训练

我们提供了本文中提到的所有训练技术的实现和接口。用户还可以添加定制的训练技术来评估鲁棒性。

噪音。

至于对抗性噪音,我们提供了8种对抗性攻击,包括PGD-`∞, 自动攻击-`∞, FGSM,PGD-`2,MIM-`∞, PGD-`1、DDN-`2和基于迁移的攻击;对于自然数据集,我们提供ImageNet-C、ImageNet-P、ImageNet-O和ImageNet-A;对于系统噪声,我们提供ImageNet-S。用户只需通过我们的噪声生成API生成相应的扰动图像。此外,还建议用户注册新的噪声攻击方法。

评价

我们提供各种评估指标,包括WCAR、NmFP、mCE、RmCE、ECE[83]等。还建议用户通过我们的API添加自己的定制指标。

综上所述,基于我们的开源基准,用户可以(1)方便地使用源文件复制所有建议的结果并进行更深入的分析;(2) 将新模型、训练技术、噪音和评估指标添加到基准中,通过我们的API进行额外的实验;(3) 将我们预训练的检查点和研究结果用于其他下游应用程序或作为比较基准。

4实验与分析

4.1面向鲁棒性的架构设计

在本节中,我们首先研究架构设计对鲁棒性的影响。特别是,我们将这一部分分为对人类设计的现成模型结构的分析,以及通过神经结构搜索采样的网络。

4.1.1人类设计的现成架构为了研究人类设计的现成模型架构对鲁棒性的影响,我们从13个最常用的架构系列中选择44个模型,并为每个模型保持一致的训练设置(详情见补充材料第F.1.1节)。我们报告了模型对不同噪声类型和标准性能(即清洁精度)w.r.t.模型架构的鲁棒性。我们使用经典的模型浮点运算(FLOPs)和模型参数(Params)来测量模型大小。如图2和图3所示,我们可以得出如下观察结果。有关具有更多攻击强度的鲁棒性和可迁移性映射的更多结果,请参考补充材料中的图6、15和16。

I型号尺寸

(↑1 ). 对于几乎所有的模型系列,随着模型尺寸的增加(例如FLOPs和Params),对抗性、自然性和系统噪声的鲁棒性都会提高(除了一些轻型模型,例如MobileNetV2、MobileNetV3和EfficientNet),清洁精度也会提高。这表明模型容量对鲁棒性和任务性能有积极影响。

I模型架构(↑↓).

不同的模型架构具有可比的规模,对相同的噪声产生显著不同的鲁棒性,这表明架构设计对于鲁棒性的重要性。具体而言,对于最坏情况攻击鲁棒性,ViT、DeiT和MLPMixer排名前3位;对于自然噪声鲁棒性,ResNeXt、WideResNet、ResNet排名前3位;对于系统噪声s、 ResNeXt、DenseNet、ResNet排名前3位。对于基于迁移的对抗性攻击,攻击在同一模型类别中迁移良好,而在不同类别中的攻击有效性较弱,如:大型CNN(ResNet、ResNeXt、WideResNet、DenseNet)、轻型CNN(MobileNetV2、MobileNetV3、ShuffeNetv2)和其他(ViT、DeiT和MLPMixer)。我们得出结论,在具有可比尺寸的情况下,CNN(如ResNet)在自然和系统噪声方面表现更强,而ViT和MLPMixer在对抗性噪声方面表现更为鲁棒。我们希望这些观察结果能够激发未来更深入的研究。

我评价多样性。

评价多样性在评价鲁棒性中起着重要作用。例如,不同的噪声类型可能产生不同的模型鲁棒性;对于相同的噪声类型,不同的对抗性攻击可能产生不同的鲁棒性(例如,自动攻击时ViT>ResNet,而FGSM时ViTResNeXt,而当ϵ=2.0/255时DeiT

4.1.2从NAS超级网采样的架构

然后,我们研究了从BigNAS[36]超级网中取样的模型的鲁棒性。由于采样子网的灵活性,我们首先研究模型大小对鲁棒性的影响(我们从3个超级网中总共采样了600个子网),然后以更细粒度的方式深入研究影响鲁棒性的详细因素。具体而言,对于每个详细因子(输入大小、卷积核大小、模型深度和扩展比),我们固定其他模型因子,并从3个超网中的每个超网中抽取50个子网来评估鲁棒性(总共600个子网)。更多详情见补充材料第F.1.2节。如图4所示,我们强调了以下主要发现。

I型号尺寸(↑). 在一个特定的超级网络中,增加模型大小可以提高对抗性环境下的模型鲁棒性(除了轻量级超级网络MobileNetV3,这与人类设计模型研究中的结论类似)和自然噪声,但对系统噪声没有明显的影响。我们假设,对于轻量级模型,仅仅增加其容量并不能提高鲁棒性。I模型深度(↑). 增加最后一个阶段的深度(即子网最深块中的层数)可提高对抗鲁棒性(对自然和系统噪声无观测)。但是,对于其他阶段或整个网络的深度,关系仍然不明确。

我输入大小(↓). 增加输入大小会降低子网的对抗鲁棒性。然而,输入大小对自然噪声和系统噪声鲁棒性的影响是不明确的。

I卷积核大小(↑). 增加卷积核大小的总数可提高子网的对抗鲁棒性,但对自然噪声和系统噪声的影响尚不清楚。

综上所述,我们惊奇地发现,架构设计对鲁棒性(尤其是尺寸和系列)有着巨大的影响。同时,噪声多样性对于鲁棒性评估非常重要(细微的差异会导致相反的观察结果)因此,我们建议研究人员在评估鲁棒性时使用更全面和多样的噪声。

4.2鲁棒训练技术

为了研究训练技术对鲁棒性的影响,我们在几种广泛使用的模型架构(例如,ResNet-50、RegNetX-3200M、ShuffleNet V2-x2.0、MobileNet V3-x1.4、ViT-B/16和MixerB/16)上选择了10+种训练技术.特别是对于大规模预训练,我们采用ImageNet-21K作为预训练数据;对于数据增强,我们选择Mixup[69]和Augmix[68];对于对抗性训练,我们使用PGD对模型进行对抗性训练-`∞ 攻击[22];对于自我监督训练,我们使用MoCo[64]。我们将更多细节推迟到补充材料中的F.2节。从图5所示的结果中,我们得出以下几点观察结果。

I.训练数据

(1) 对抗训练(↑↓). 对于CNN,对抗性训练提高了对抗性鲁棒性,同时降低了清洁精度以及对自然和系统噪声的鲁棒性。另一方面,对抗性训练在很大程度上提高了Transformers和MLPMixer对所有类型噪声的清洁精度和鲁棒性。

(2) 数据扩充(↑↓). 对于对抗性噪声,数据增强降低了最坏情况下的攻击鲁棒性;对于自然噪声(ImageNet-C、-P、-A和-O),数据增强在大多数情况下产生更强的模型;对于系统噪声,混搭提高了鲁棒性,而Augmix降低了鲁棒性。

(3) ImageNet-21K预训练(↑↓). 该技术提高了对自然噪声的鲁棒性,降低了对系统噪声和对抗性噪声的鲁棒性(在WCAR度量下)。

I重量调整

(1) 加权平均(↑↓). 它略微降低了大多数架构(MLPMixer除外)的对抗性鲁棒性,但对自然噪声和系统噪声的影响仍然不明确。

I正则化

(1) 标签平滑(↑↓). 标签平滑提高了对几乎所有对抗噪声的鲁棒性,而对自然噪声和系统噪声的影响仍然不明确。

I优化器

(1) 阿达姆(↑). 与SGD相比,AdamW可以提高一些轻量级模型(MobileNetV3和ShuffleNetV2)对所有噪声的鲁棒性和清洁精度。

对于未提及的其他因素,对鲁棒性没有明显影响。综上所述,仍然不存在


(1) 阿达姆(↑). 与SGD相比,AdamW可以提高一些轻量级模型(MobileNetV3和ShuffleNetV2)对所有噪声的鲁棒性和清洁精度。

对于未提及的其他因素,对鲁棒性没有明显影响。总之,仍然不存在一种“一劳永逸”的训练技术,该技术对所有架构和所有噪声都具有更强的鲁棒性。一些技术甚至可能对不同架构的同一噪声类型产生相反的影响(例如,AdamW提高了MobileNetV3的对抗鲁棒性,同时降低了ResNet的对抗鲁棒性)。因此,为了公平比较,我们应该调整训练技术。

4.3讨论

基于大规模实验,我们获得了各种各样的观察结果。在本节中,我们提供了一些最重要和一致的观察结果,并对其进行了进一步的讨论和分析。与评估对抗防御的现有研究相比,本文旨在对不同架构和训练技术的整合。对于架构,我们将不同的模型架构(包括CNN、Transformers和MLPMixer)与相同的训练设置(无额外的训练技术)相结合对于训练技术,我们没有研究一种特定的训练技术及其所有实现技巧,而是总结和评估了几种架构上的10+种训练技术,以帮助更好地理解训练技术如何影响鲁棒性通过广泛的烧蚀研究(包括使用对齐的训练设置消除额外变量以比较不同的模型架构),我们全面展示了不同的模型架构和训练技术如何影响鲁棒性。

•对于Transformers或MLPMixer,对抗性训练普遍有效。

非常令人惊讶的是,对抗性训练可以大大提高Transformers和MLPMIXER对各种噪声的鲁棒性以及干净样本的准确性。请注意,与其他模型相比,对抗性训练是在对齐训练设置下对Transformers进行的(无需使用额外的训练技术,如AugMix)。我们还可以在最佳设置[32]下对Transformers进行对抗性训练(如使用混音、自动增强等),我们得出了类似的观察结果。据我们所知,我们是第一个在ImageNet上提出这一结论的人。我们极力主张研究人员使用对抗性训练,在实践中增强Transformers和MLPMixer的鲁棒性,并进一步调查其背后的本质。

•架构对于鲁棒性非常重要,但不存在对所有类型的噪声都具有鲁棒性的架构。

一些现有研究[52]、[53]、[54]、[84]讨论了一些架构(如Transformers)的鲁棒性,而我们的论文通过对ImageNet进行更全面、更彻底的实证研究(44个人类设计的模型架构和NAS生成的1200多个架构)验证了这一观察结果.为了提高鲁棒性,除了设计新的防御方法外,还可以考虑设计鲁棒的架构。例如,Transformers对对抗性噪声更鲁棒,CNN对自然和系统噪声更鲁棒。

•噪声多样性对鲁棒性评估有巨大影响。

一些研究[18]提到,在鲁棒性评估中,我们应该提高攻击的多样性。但是,没有全面的实证研究来揭示噪声多样性的影响。通过大规模实验和分析,我们可以安全地得出结论,模型对于不同的噪声类型表现出不同的鲁棒性(例如,自动攻击上的ViT-B/16>ResNeXt-101,而ImageNet-C上的ViT-B/16ResNeXts,而当ϵ=2/255时,DeiTs

•不存在一种“一劳永逸”的训练技术,可以在所有噪音和架构中实现最佳性能。

以前的工作[13]、[27]、[74]、[85]研究了一些特定训练技术(例如,标签平滑)对模型鲁棒性的影响。在这项工作中,我们总结并评估了几种架构上的10+训练技术,以帮助更好地理解训练技术将如何影响鲁棒性。我们建议,为了公平评估,不同模型的训练设置应保持一致。对于特定架构的实际使用,我们建议选择最合适的训练技术,以实现最佳期望的鲁棒性(例如,适用于ShuffleNet V2和MobileNet V3等轻型架构的AdamW优化器,以及适用于MLPMixer的权重平均)。

•从广义上讲,为了提高鲁棒性,可以选择更大的模型。

以前的一些工作[54],[86]已经讨论了模型大小和模型鲁棒性之间的关系,但大多数工作要么包括少量的模型族,要么评估部分噪声(例如对抗性噪声)的鲁棒性。我们的论文验证了以下观察结果:对于大多数模型族,增加模型尺寸可以提高更全面、更彻底的实证研究(更多的模型结构和更多的噪声类型)的鲁棒性。此外,我们还首次发现,代表性光架构(如EfficientNet、MobileNet V2和MobileNet V3)的鲁棒性不能通过简单地增加模型大小来提高。

5结论

我们提出了RobustART,这是ImageNet上第一个关于架构设计(44个人类设计的现成架构和1200个由神经架构搜索构建的网络)和针对各种噪声的训练技术(10+通用技术,包括训练数据增强)的全面鲁棒性基准(对抗性噪声、自然噪声和系统噪声)。与专注于防御方法的现有研究相比,RobustART旨在对不同的架构和训练技术进行全面、公平的比较,以增强鲁棒性。除了发现一些新发现外,我们的基准还强调了通过提供以下内容来丰富社区:开放源代码平台,供研究人员使用和贡献;(b)80多个可公开获得的预训练模型,以促进鲁棒性评估;以及(c)为了更好地理解鲁棒DNN架构的机制,我们进行了新的观察。我们欢迎社区研究人员加入我们的行列,为构建更好地理解深度学习的生态系统做出贡献。我们将在项目网站上感谢非本文作者的研究人员的贡献。

附录

A.限制和更广泛的影响

RobustART有几个局限性,我们将它们列为如下所示。(1)尽管我们已经包括了大量的架构和训练技术,但由于新方法的迅速出现,可能仍然存在未经评估的相关方法。(2)在我们的基准测试的第一个版本中,我们专注于图像分类任务,并且我们将继续开发基准测试,以包括更具挑战性的任务,例如目标检测在我们的大规模实验中,我们提出了许多有趣的现象,但还没有深入到一些新的发现来分析其原因。我们将在未来的工作中根据这些观察结果进行更深入的研究,我们相信它们也将吸引社会的广泛兴趣。我们将保持基准的最新,并希望社区可以共同为生态系统的发展做出贡献。我们的基准测试将有助于深入学习鲁棒性的研究,并更好地理解模型在对抗性样本和其他类型噪声中的脆弱性。我们希望这项工作将有助于为实际应用构建鲁棒的模型架构。

附录B

执照

RobustART的代码是在Apache许可证2.0下发布的。大多数模型架构都是使用原作者选择的许可证添加到代码中的。我们提供的所有预训练的模型检查点都是使用我们的RobustART代码生成的,并且都在Apache许可证2.0下。我们使用的ImageNet-1K、ImageNet-21K、ImageNet-A、ImageNet-O、ImageNet-P、ImageNet-S数据集从官方版本下载。我们使用的ImageNet-C数据集是根据GitHub上的官方代码版本生成的。

附录C

维修计划

为了使我们的RobustART基准充满活力和可持续性,我们将在以下几个方面保持我们的基准。

维护我们的网站和排行榜。

我们的网站和排行榜在http://robust.art. 我们将维护和更新我们的网站和排行榜,使其成为一个可持续的资源中心。同时,我们将允许其他研究人员在审查后将他们的结果上传到排行榜上。

维护我们的代码库。

我们的代码库是一个易于使用的框架,包括模型、训练、噪声和评估过程。我们框架的代码托管在GitHub上,我们将继续维护和更新它。

维护我们预训练过的模型。

我们在云硬盘中提供了所有经过预训练的机型,占用了超过44GB的磁盘空间。每个预训练过的模型都可以免费下载。此外,我们将使用不同的架构和训练技术不断更新预训练模型。

此外,我们还计划将我们的基准扩展到其他任务(即对象检测和语义分割)和其他数据集,使我们的RobustART成为跨主要计算机视觉任务和数据集的强大基准

附录D

再现性和运行时间

我们提供了在GitHub上运行这个基准测试的代码,每个人都可以从GitHub免费下载。关于代码的设置步骤和说明,我们提供了详细的文档,可以在我们的网站上找到http://robust.art. 在本文档的安装页面之后,用户可以轻松地安装此代码库所需的运行时环境。

此外,本文档还有一个“入门”页面。按照第页的说明,用户可以体验代码的大部分基本功能,包括模型训练、添加噪声和模型评估。对于专业开发人员,我们还提供了详细的API文档。这个API文档解释了代码中最重要的Python类和Python方法。其他开发人员可以使用此文档根据自己的需要修改此代码。

由于我们的基准测试需要我们训练多个模型并在不同类型的数据集上对其进行评估,因此需要大量的GPU资源。构建此基准的GPU资源总成本约为20 GPU年。我们的大部分实验都在Nvidia GTX 1080Ti GPU上运行,一些需要更多计算资源的实验,如ImageNet-21K预训练,都在Nvidia Tesla V100 GPU上运行。对于一个训练实验,我们在16个GPU并行上运行它。对于一些训练实验,如ViT,我们在32 GPU并行上运行它以避免内存不足问题。

附录E

详细资料

E.1数据集

对于所有基本实验,我们使用ImageNet-1K数据集[87],其中包含1000类大小为224*224的彩色图像,以及1281167个训练样本和50000个测试实例。我们认为,与MNIST和CIFAR-10等小型数据集不同,ImageNet更像是真实场景中的应用数据,因此ImageNet下的鲁棒性评估实验更有价值和意义。

E.2训练技巧

知识升华。知识提炼通常是指将知识从大模型(教师)迁移到小模型(学生)的过程。而大型模型(如非常深入的神经网络或许多模型的集合)比小型模型具有更高的知识容量。在我们的实验中,我们训练了一个ResNet-18模型,并预训练了一个ResNet-50作为知识提炼的教师。

自我监督训练。提出了一种利用无标记数据的自监督训练方法,并成功地实现了监督学习。在我们的实验中,我们使用了mocov2这一经典的动量对比自监督学习算法。

平均体重。

随机加权平均是一种优化过程,它以周期性或恒定的学习速率沿SGD轨迹平均多个点。平均体重训练比标准训练效果更好。事实证明,加权平均显著改善了许多最先进的深度神经网络在一系列重要基准上的训练,基本上没有开销。

权重重参数化。

RepVGG通过结构再参数化技术实现了训练时间和推理时间结构的解耦,从而使推理速度比训练速度更快[60]。我们对RepVGG进行了有无重新参数化的实验,以了解其对鲁棒性的影响。

标签平滑。

标签平滑是一种为标签引入噪声的正则化技术。这就解释了数据集中可能存在错误的事实。假设一个小常数ϵ的训练集标签y是正确的,概率为1− ϵ和不正确的。标签平滑通过用ϵk的目标替换硬0和1分类目标,使基于softmax的模型正则化,输出值为k−1名辍学学生和1名− ϵ分别。

辍学者

辍学是神经网络的一种正则化技术,它在训练时以指定的概率丢弃一个单元(连同连接)。为了找出辍学对鲁棒性的影响,我们对有辍学和无辍学的模型进行了训练和测试。

数据扩充。

神经网络的性能通常随着训练数据量的增加而提高。数据扩充是一种从现有训练数据人工创建新训练数据的技术。我们使用Mixup和Augmix作为两种数据增强方法来找出它们的影响。

大规模的预训练。

已经证明,使用大规模数据集进行预训练可以提高神经网络的性能。为了找出大规模数据集的影响,我们使用ImageNet-21K数据集进行预训练,该数据集由14197122幅图像(约为ImageNet-1K的14倍)组成,每幅图像以单个标签的方式由21841个可能的类中的一个进行标记。

对抗性训练。

对抗性训练是对抗性噪声最有效的防御手段之一。在训练期间,它使用一些攻击生成对抗性样本,并将对抗性样本与原始清晰图像相结合。然后将合成图像送入模型,计算损失函数并更新模型权重。最常用的对抗性训练方法是PGD对抗性训练,它在训练过程中使用PGD攻击生成对抗性样本。

新加坡元和AdamW。

优化器是用于最小化损失函数或最大化生产效率的算法或方法。为了找出不同优化器的影响,我们在实验中使用了两种常用的优化器。随机梯度下降(SGD)是梯度下降的最基本形式。SGD从权重中减去梯度乘以学习率。尽管SGD很简单,但它有很强的理论基础。AdamW是一种随机优化方法,通过将权重衰减与梯度更新解耦,修改Adam中权重衰减的典型实现。

E.3噪音

E.3.1对抗性噪音

快速梯度符号法(FGSM)。

FGSM[5]攻击是早期提出的一步对抗式攻击,具有`∞ 标准它简单地用对抗性扰动中识别概率最小的目标类型替换类变量,然后从原始图像中减去扰动。虽然FGSM的攻击能力相对较弱,但其主要特点是计算量小。

投影梯度下降(PGD)。\PGD[22]攻击是对抗文献中最强大的一阶攻击之一。它不是一步计算梯度并进行梯度下降,而是在每一步之后通过梯度投影迭代多个步骤。扰动范数类型不同,主要有PGD-`1、PGD-`2和PGD-`∞ 袭击我们使用它们来进行全面的鲁棒性评估。

动量迭代法(MIM)。

MIM[77]是一种基于PGD的迭代对抗攻击。它将动量项集成到攻击的迭代过程中,从而稳定更新方向,并可以在迭代过程中避开较差的局部极大值,从而产生更强大的攻击能力和可迁移性。我们使用广泛考虑的MIM-`∞ 在我们的评估中。

解耦方向和范数攻击(DDN)。

DDN[78]是一种有效的“2规范”对抗性攻击。它优化交叉熵损失,然后根据样本是否具有对抗性来改变范数。使用这种方法来解耦对抗性噪声的方向和范数,可以减少攻击迭代次数,从而加快对抗性样本的生成。

自动攻击。

AutoAttack[76]提出了PGD攻击的两个扩展:APGD-CE和APGD-DLR,它们克服了因步长不理想和目标函数问题而导致的失败。然后,它将两种新的攻击与两种互补的现有攻击(白盒FAB攻击[88]和黑盒方形攻击[89])结合起来,形成一种无参数且计算上负担得起的攻击。自动攻击在许多分类器上具有强大的功能,并具有各种防御方法,因此成为对抗性文献中评估模型鲁棒性的一个很好的选择。

E.3.2自然噪声

ImageNet-A。ImageNet-A是一个真实世界的逆向过滤图像数据集,这些图像愚弄了当前的ImageNet分类器。为了构建这个数据集,他们首先下载了大量与ImageNet类相关的图像。此后,他们删除了ResNet-50分类器正确预测的图像。对于其余未正确分类的图像,他们手动选择视觉清晰的图像,并创建此数据集[12]。

ImageNet-O。ImageNet-O是ImageNet分布外检测器的逆向过滤样本数据集。为了创建此数据集,他们下载ImageNet-22K并从ImageNet-1K中删除样本。对于不属于ImageNet-1K类的剩余ImageNet-22K样本,它们保留了被ResNet-50分类为高置信度ImageNet-1K类的样本[12]。

ImageNet-C。ImageNet-C数据集由15种不同的损坏类型组成,应用于ImageNet的验证图像。腐败主要来自四大类:噪音、模糊、天气和数字。每种腐败类型都有五个严重级别,因为腐败可能以不同的强度表现出来。我们在基准测试中使用了该数据集的所有四个类别和五个严重级别[10]。

ImageNet-P。与ImageNet-C一样,ImageNet-P由噪声、模糊、天气和数字失真组成。数据集还具有验证扰动和难度级别。ImageNetP通过从每个ImageNet验证图像生成扰动序列而与ImageNet-C不同。每个序列包含30多个帧[10]。

E.3.3系统噪音

ImageNet-S数据集[39]由3种常用解码器类型和7种常用调整大小类型组成。对于解码器,它包括来自Pillow、OpenCV和FFmpeg的实现。对于调整大小操作,它包括OpenCV和Pillow工具中的最近、立方、hamming、lanczos、area、box和双线性插值模式。

在评估过程中,在测试解码鲁棒性时,将双线性模式设置为默认的调整大小方法。此设置也是PyTorch[90]官方代码样本中的默认训练设置。类似地,枕头被设置为默认的图像解码工具(与PyTorch相同)。

该数据集提供了具有不同解码和调整大小方法的ImageNet验证集,并在解码和调整大小后将每个图像文件保存为.npy文件中的3×宽×高矩阵,而不是JPEG。根据ImageNet[87]测试集上常用的变换,对图像进行预处理。此数据集提供了一个图像矩阵,该矩阵经过调整大小为3×256×256的过程后,然后将中心裁剪应用于3×224×224。

E.4指标

E.4.1对抗性噪声指标

对抗鲁棒性(AR)。正如文献[91]、[92]、[93]中广泛使用的那样,我们选择攻击成功率(ASR)作为基本评估指标。考虑到ASR主要测量攻击有效性,而我们即将测量模型鲁棒性,我们只需对其进行修改,以获得我们的对抗性鲁棒性度量:

其中f是威胁模型,a是某种对抗性攻击,如PGD-`∞ 它接收输入图像,将标签和威胁模型作为输入并返回受干扰的图像,D是干净的数据集。1(·)是指示器功能。考虑到模型的原始清洁精度,该度量可以有效地揭示特定模型在面对噪声时的相关精度下降。然而,这还不足以帮助我们得出模型固有鲁棒性的更深层次的结论。因此,我们设计了一些新的度量。

最坏情况攻击鲁棒性(WCAR)。为了汇总不同攻击下的模型对抗鲁棒性结果,我们遵循[18]中的说明,并选择使用每个样本的最坏情况攻击鲁棒性:

其中f是威胁模型,A是由许多不同的对抗性攻击组成的攻击集,D是干净的数据集。1(·)是指示器功能。WCAR是指模型在多个不同对抗攻击下的下限对抗鲁棒性,与简单平均等其他方法相比,WCAR是适当聚合不同对抗攻击结果的更好指标。此外,我们定义了WCAR的三个聚合量:WCAR(小ϵ)表示所有小ϵ对抗攻击下的WCAR,WCAR(中ϵ)表示所有中ϵ对抗攻击下的WCAR,WCAR(大ϵ)表示所有大ϵ对抗攻击下的WCAR。

E.4.2自然噪声指标

一流的准确度。我们使用top-1精度作为ImageNet-A数据集的度量。它可以反映出该模型在面对常用的ResNet-50愚弄图像时的性能有多好。

1-mCE。我们使用1-mCE作为ImageNetC数据集的度量。首先,我们计算了在每个严重程度s级别的每个损坏类型c上的top-1精度。然后计算由efs,c表示的top-1错误率。之后,我们可以用公式计算损坏误差。现在我们可以平均15个损坏误差值,并得到快照的平均值或mCE。最后,我们可以计算1−mCE对EVLAUTE ImageNet-C的鲁棒性。

AUPR。我们使用精确召回曲线(AUPR)下的面积作为ImageNet-O数据集的度量[12]。该指标需要异常分数。我们的异常分数是可对200个ImageNet-O类进行分类的模型的最大softmax概率的负值。

E.4.3系统噪声指标

NSD。

我们使用负标准偏差(NSD)作为ImageNet-S系统噪声的度量,它是不同解码器和调整大小方法上所有精度的标准偏差的负值。其公式可写成NSD=−σ(A),其中A={A resize method decoder}。我们使用标准差是因为我们想知道一个模型面对不同解码器和调整大小方法的稳定性,我们取它的负值,因为我们想让这个值随着这个模型的性能而增加,就像这个基准的其他指标一样。

附录F

实验装置

这里,我们提供了鲁棒性评估基准的实验设置的详细信息。

F.1架构设计的设置

F.1.1人工设计的现成架构

为了在不同的模型之间进行公平和严格的比较,我们尽可能为每个人设计了现成的架构,使训练技术保持一致。对于optimizer,我们使用SGD[71]optimizer,除ViTs、DeiTs和MLPMixer外,所有模型族的nesterov动量=0.9,重量衰减=0.0001;对于这三个模型系列,我们使用AdamW[72],重量衰减=0.05,因为VIT和MLPMixer对优化器高度敏感,使用SGD会导致训练失败[32]。对于调度器,我们使用最大训练历元为100的余弦调度器[94],对于所有模型,我们使用基本学习率(lr)=0.1,预热lr=0.4,最小lr=0.0;对于VIT、DEIT和MLPMixer,我们使用更小的学习率。对于数据预处理,我们使用标准的ImageNet训练增强,包括所有模型的随机调整大小的裁剪、随机水平翻转、颜色抖动和标准化。我们还遵循网络训练[95]、[96]、[97]、[98]中的常见设置,使用标签平滑,ϵ=0.1,加权平均,衰减=0.9999。对于其他设置,我们将批处理大小设置为512,加载工人数量设置为4,并启用pin内存。

F.1.2从NAS超级网采样的架构

对于从NAS超级网中取样的架构,我们选择MobileNetV3、ResNet(基本块架构)、ResNet(瓶颈块架构)作为三种典型的NAS架构来使用BigNAS训练超级网。在supernet训练期间,每批我们从supernet中抽取4个子网,以计算损失并更新网络权重。对于优化器,我们对nesterov动量=0.9且权重衰减的所有超网使用SGD。对于调度器,我们使用最大训练历元=100的余弦调度器。对于数据预处理,我们遵循人类设计的现成架构的设置,并使用标准的ImageNet训练增强,包括随机调整大小的裁剪、随机水平翻转、颜色抖动和标准化。对于其他超参数,我们使用标签平滑,ϵ=0.1,批量大小=512。

当我们研究模型大小对鲁棒性的影响时,我们从每个超网中随机抽取200个子网(不含任何固定因子),并评估子网对对抗性、自然性和系统噪声的鲁棒性。当我们研究某个因素(即输入大小、卷积核大小、模型深度或扩展比)的影响时,我们首先确定所有其他因素,确保它们在模式分析和机器智能16个子网上的所有采样IEEE事务中是相同的,然后随机采样50个子网并评估其鲁棒性。

F.2训练技术的设置

我们总共选择了11种不同的训练技术,包括权重平均、标签平滑、ImageNet-21K预训练、混合、Augmix、辍学、权重重新参数化、知识提取、MOCO v2自我监督训练、PGD-`∞ 对抗性训练和AdamW优化器。由于使用或不使用这11种训练技术对所有44种人类设计的现成架构进行训练,并在ImageNet上评估其在各种噪声下的鲁棒性,我们只为每种训练技术选择几种架构,这需要大量的时间。用于混合、混合、重量平均、标签平滑和PGD-`∞ 对抗性训练,我们选择ResNet-50、RegNetX-3200M、ShuffleNet V2-x2.0、MobileNet V3-x1.4、ViTB/16和Mixer-B/16,覆盖大型CNN、轻型CNN和VIT。对于知识提炼,由于时间消耗,我们仅选择ResNet-18。对于MOCO v2自监督训练,我们选择ResNet-50,因为它是自监督训练中最常用的架构。对于ImageNet-21K预训练,由于时间消耗,我们仅选择Resnet-50和ViT-B/16。对于AdamW优化器,我们选择ResNet-50、RegNetX-3200M、ShuffleNetV2-x2.0和MobileNetV3-x1.4。对于权重重新参数化,我们选择RepVGG-A0和RepVGG-B3,因为该模型架构很好地支持该技术。对于辍学,我们选择EfficientNet-B0、MobileNetV3-x1.4、ViT-B/16和Mixer-B/16。

对于所选的每种训练技术的网络,我们选择在所有其他训练设置相同的情况下,在训练期间应用或禁用该训练技术。对于权重平均,我们将衰减设置为0.9999。对于标签平滑,我们设置ϵ=0.1。对于ImageNet-21K预训练,我们在ImageNet-21K数据集上对模型进行100个历元的训练,然后在ImageNet-1K上以较小的学习率(0.01基本学习率和0.04预热学习率)对其进行30个历元的微调。对于混合,我们设置α=0.2。对于Augmix,我们使用与原始纸张相同的默认配置。对于辍学,我们训练一种具有默认辍学率的模型,而仍然训练另一种没有辍学的模型(即,将辍学率设置为0)。对于权重重参数化,我们分别使用RepVGG-A0和RepVGG-B3模型进行权重重参数化和不进行权重重参数化。重量重新参数化过程按照RepVGG[60]的纸张指南进行。对于知识提炼,我们使用基线ResNet-50模型作为教师模型,ResNet-18模型作为学生模型。我们在ImageNet-1K上训练它100个时代。对于MOCO v2自监督训练,我们首先使用无监督方法对其进行200个历元的训练,然后对其进行100个历元的微调。对于PGD-`∞ 对抗性训练,我们设定攻击迭代次数=20,步长=0.004,ϵ=16/255。对于AdamW优化器,我们使用余弦衰减学习速率调度设置,基本学习速率为1e− 5,热身学习率为5e− 4.

F.3噪音设置

对抗性噪音。对于所有对抗性攻击,我们使用三种不同的扰动幅度(小、中、大)。具体来说,对于'1攻击,我们将大ϵ=1600.0、中ϵ=400.0和小ϵ=100.0;对于'2次攻击,我们将大ϵ=8.0,中ϵ=2.0,小ϵ=0.5;为了`∞ 我们设置了大ϵ=8/255、中ϵ=2/255和小ϵ=0.5/255的攻击。至于其他超参数,对于PGD-`1、PGD-`2和PGD-`∞ 攻击我们设置攻击迭代=20,步长=3ϵ40,并启用随机重启;为MIM-`∞ 我们设置攻击迭代=20,步长=3ϵ40,衰减因子=1.0;对于DDN-`2,我们设置优化步骤=10,因子γ=0.05;自动攻击-`∞ 我们只需遵循其原始超参数,因为它是一种无参数攻击。

自然噪音。

对于自然噪声,我们只需遵循ImageNet-C、ImageNet-P、ImageNet-A和ImageNet-O数据集中的标准设置。

系统噪音。

对于系统噪声,我们使用ImageNet-S数据集的标准设置,见第E.3.3节。

附录G

其他结果

G.1面向鲁棒性的架构设计

我们首先在图6中报告了FLOPs视图下的模型鲁棒性和标准性能。对于几乎所有的模型架构,鲁棒性结果与使用参数测量模型大小的结果相同。然后,我们在图7、8、9、10、11、12、13、14中报告了在不同程度的对抗性噪声下模型鲁棒性的详细结果。有2个模型尺寸测量值(FLOPs和Params)和3个扰动量(小、中、大),导致每次攻击总共6位数。此外,在图15、16中,我们还报告了不同模型架构在基于迁移的对抗性攻击下的热图,这些攻击的扰动程度更大。我们可以看到,在基于迁移的攻击(ϵ=0.5/255和ϵ=2/255)下,模型的鲁棒性结果与ϵ=8/255的攻击下几乎相同。

G.2鲁棒训练技术

我们在图17、18、19、20、21、22、23、24、25、26、27中报告了在各种噪声下研究的所有训练技术对模型鲁棒性的影响结果。对于每种训练技术,我们选择20种噪声来显示其对模型鲁棒性的影响。更多结果可以在我们的网站上找到。

你可能感兴趣的:(变换器鲁棒性-7:RobustART:Benchmarking Robustness on Architecture Desgin and Traning Tecniques)