EfficientNetV2 Smaller Models and Faster Training
EfficientNetV2: Smaller Models and Faster Training
https://arxiv.org/pdf/2104.00298.pdf
本文介绍了一种新的卷积网络族EfficientNetV2,它具有比以往的模型更快的训练速度和更好的参数效率。为了开发这些模型,我们结合使用training-aware神经结构搜索和缩放,共同优化训练速度和参数效率。该模型在搜索空间中加入了新的操作,如fusion - mbconv。我们的实验表明,effecentnetv2模型的训练速度比最先进的模型快得多,而体积却小了6.8倍。
我们的训练可以通过在训练过程中逐步增加图像大小来进一步加快,但这往往会导致准确性下降。为了弥补这种精度下降,我们提出了一种改进的渐进式学习方法,它随着图像大小自适应地调整正则化(如数据增强)。
通过渐进式学习,我们的EfficientNetV2在ImageNet和CIFAR/Cars/Flowers数据集上的表现明显优于以前的模型。通过在相同的ImageNet21k上进行预训练,我们的EfficientNetV2在ImageNet ILSVRC2012上达到了87.3%的最高准确率,比最近的ViT的准确率高出2.0%,同时使用相同的计算资源训练速度提高了5-11倍。Code is available at https://github.com/google/automl/tree/master/efficientnetv2.
1. Introduction
训练效率最近获得了极大的关注。例如,NFNets(Brock等人,2021)旨在通过去除昂贵的批量归一化来提高训练效率;最近的一些工作(Srinivas等人,2021)侧重于通过在卷积网络(ConvNets)中添加注意力层来提高训练速度;Vision Transformers(Dosovitskiy等人,2021)通过使用Transformer块提高大规模数据集的训练效率。然而,这些方法在大参数规模上往往伴随着昂贵的开销,如图1(b)所示。
图1. ImageNet ILSVRC2012 top-1 准确率与训练时间和参数的关系–标记为21k的模型在ImageNet21k上进行了预训练,而其他模型则直接在ImageNet ILSVRC2012上训练。训练时间是在32个TPU核心下测量的。所有的EfficientNetV2模型都是通过渐进式学习训练的。我们的EfficientNetV2的训练速度比其他模型快5-11倍,而使用的参数却少了6.8倍。详情见表7和图5。
在本文中,我们使用训练感知的神经结构搜索(NAS)和缩放的组合来提高训练速度和参数效率。鉴于EfficientNets的参数效率(Tan & Le, 2019a),我们首先系统地研究EfficientNets的训练瓶颈。 我们的研究表明,在EfficientNets中:(1)用非常大的图像尺寸进行训练是缓慢的;(2)depthwise卷积在早期层是缓慢的。(3)每一个阶段的平等扩展是次优的。基于这些观察,我们设计了一个富含Fused-MBConv等额外op的搜索空间,并应用训练感知的NAS和缩放来共同优化模型精度、训练速度和参数大小。我们发现的网络被命名为EfficientNetV2,其训练速度比之前的模型快4倍(图3),而参数大小却小6.8倍。
我们的训练可以通过在训练过程中逐步增加图像大小来进一步加快训练速度。以前的许多工作,如渐进式调整大小(Howard,2018)、FixRes(Touvron等人,2019)和Mix&Match(Hoffer等人,2019),在训练中使用了较小的图像尺寸;然而,他们通常对所有图像尺寸保持相同的正则化,导致准确性下降。我们认为,对不同的图像尺寸保持相同的正则化并不理想:对于同一个网络,小的图像尺寸会导致网络容量小,因此需要弱的正则化;反之,大的图像尺寸需要更强的正则化来对抗过拟合(见第4.1节)。基于这一认识,我们提出了一种改进的渐进式学习方法:在早期训练阶段,我们用小图像尺寸和弱正则化(如dropout和data augmentation)训练网络,然后我们逐渐增加图像尺寸和增强正则化。基于渐进式调整(Howard, 2018),但通过动态调整正则化,我们的方法可以在不导致准确性下降的情况下加快训练速度。
通过改进的渐进式学习,我们的EfficientNetV2在ImageNet、CIFAR-10、CIFAR100、Cars和Flowers数据集上取得了优异的成绩。在ImageNet上,我们达到了85.7%的最高准确率,同时训练速度比以前的模型快3-9倍,体积也小了6.8倍(图1)。我们的EfficientNetV2和渐进式学习也使我们更容易在更大的数据集上训练模型。例如,ImageNet21k(Russakovsky等人,2015)比ImageNet ILSVRC2012大10倍,但我们的EfficientNetV2可以在两天内使用32个TPUv3内核的中等计算资源完成训练。通过在公开的ImageNet21k上进行预训练,我们的EfficientNetV2在ImageNet ILSVRC2012上达到了87.3%的最高准确率,比最近的ViT-L/16的准确率高出2.0%,而训练速度则是其5-11倍(图1)。
我们的贡献有三方面:
- 我们推出了EfficientNetV2,一个更小、更快的新系列。通过我们的训练感知NAS和扩展发现,EfficientNetV2在训练速度和参数效率方面都优于以前的模型。
- 我们提出了一种改进的渐进式学习方法,它随着图像大小自适应地调整正则化。我们表明,它加快了训练速度,并同时提高了准确性。
- 与现有技术相比,我们在ImageNet、CIFAR、Cars和Flowers数据集上证明了高达11倍的训练速度和高达6.8倍的参数效率。
3. EfficientNetV2 Architecture Design
3.1. Review of EfficientNet
EfficientNet(Tan & Le,2019a)是一个针对FLOPs和参数效率优化的模型系列。它利用NAS寻找在精度和FLOPs上有较好权衡的基线EfficientNet-B0。然后用复合扩展策略对基线模型进行扩展,得到B1-B7模型系列。虽然最近的一些作品声称在训练或推理速度上有很大的提高,但它们在参数和FLOPs效率方面往往不如EfficientNet(表1)。在本文中,我们的目标是在保持参数效率的同时提高训练速度。
3.2. Understanding Training Efficiency
Training with very large image sizes is slow: 正如之前的工作(Radosavovic等,2020)所指出的,EfficientNet的大图像尺寸导致了大量的内存占用。由于GPU/TPU上的总内存是固定的,我们必须用较小的batch来训练这些模型,这大大降低了训练速度。一个简单的改进是应用FixRes(Touvron等人,2019),通过使用比推理更小的图像尺寸进行训练。如表2所示,较小的图像尺寸会导致较少的计算,并能实现大批量的计算,从而使训练速度提高2.2倍。值得注意的是,正如(Touvron等人,2020;Brock等人,2021)所指出的,使用较小的图像尺寸进行训练也会导致稍好的准确性。但与(Touvron等人,2019年)不同的是,我们不会在训练后微调任何层。
在第4节中,我们将探索一种更先进的训练方法,在训练中逐步调整图像大小和正则化。
**Depthwise convolutions are slow in early layers but effective in later stages: ** EfficientNet的另一个训练瓶颈来自于大量的depth-wise convolutions(Sifre,2014)。depth-wise convolutions比普通卷积有更少的参数和FLOPs,但它们往往不能充分利用现代加速器。最近,Fused-MBConv在(Gupta & Tan, 2019)中被提出,后来被用于(Gupta & Akin, 2020; Xiong et al., 2020; Li et al., 2021),以更好地利用移动或服务器加速器。它用一个普通的conv3x3取代了MBConv(Sandler et al., 2018; Tan & Le, 2019a)中的depth-wise convolutions和 expansion conv1x1,如图2所示。为了系统地比较这两个构件,我们逐步用FusedMBConv替换EfficientNet-B4中的原始MBConv(表3)。当应用于早期1-3阶段时,FusedMBConv可以提高训练速度,但对参数和FLOPs的开销很小,但如果我们用Fused-MBConv(第1-7阶段)取代所有的模块,那么就会大大增加参数和FLOPs,同时也降低了训练速度。找到MBConv和Fused-MBConv这两个构件的正确组合是不容易的,这促使我们利用神经结构搜索来自动搜索最佳组合。
Equally scaling up every stage is sub-optimal: EfficientNet使用一个简单的复合缩放规则对所有阶段进行平均缩放。例如,当深度系数为2时,那么网络中的所有阶段都将增加一倍的层数。然而,这些阶段对训练速度和参数效率的贡献并不一样。在本文中,我们将使用非均匀缩放策略,在后期阶段逐步增加层数。此外,EfficientNets会积极地扩大图像尺寸,导致大量的内存消耗和缓慢的训练。为了解决这个问题,我们略微修改了缩放规则,将最大图像尺寸限制在一个较小的数值。
3.3. Training-Aware NAS and Scaling
为此,我们已经了解了多种提高训练速度的设计选择。为了寻找这些选择的最佳组合,我们现在提出了一个训练感知的NAS。
NAS Search: 我们的训练感知NAS框架主要基于之前的NAS工作(Tan et al., 2019; Tan & Le, 2019a),但旨在共同优化现代加速器上的准确性、参数效率和训练效率。具体来说,我们使用EfficientNet作为骨干。我们的搜索空间是一个类似于(Tan等人,2019)的基于阶段的因子化空间,它包括卷积操作类型{MBConv,Fused-MBConv}、层数、核大小{3x3,5x5}、扩展率{1,4,6}的设计选择。
另一方面,我们通过以下方式减少了搜索空间的大小:(1)去掉不必要的搜索选项,如s pooling skip ops,因为它们在原来的EfficientNets中从未使用过;(2)重新使用骨干网中相同的通道大小,因为它们已经被搜索到(Tan & Le, 2019a)。由于搜索空间较小,我们可以在规模与EfficientNetB4相当的更大的网络上应用强化学习(Tan等人,2019)或简单的随机搜索。具体来说,我们最多抽取1000个模型,用缩小的图像尺寸训练每个模型约10个epochs。我们的搜索奖励结合了模型精度A、the normalized training step time S和参数大小P,使用简单的加权乘积A⋅Sw⋅PvA\cdot S^w\cdot P^vA⋅Sw⋅Pv,其中w=-0.07和v=-0.05是根据经验确定的,以平衡类似于(Tan等人,2019)的权衡因素。
EfficientNetV2 Architecture: 表4显示了我们搜索到的模型EfficientNetV2-S的结构。与EfficientNet骨干网相比,我们搜索到的EfficientNetV2有几个主要区别。(1)第一个区别是EfficientNetV2在早期层广泛使用了MBConv(Sandler et al., 2018; Tan & Le, 2019a)和新增加的fused-MBConv(Gupta & Tan, 2019)。(2)其次,EfficientNetV2对MBConv更倾向于较小的扩展率,因为较小的扩展率往往有较少的内存访问开销。 (3)第三,EfficientNetV2更喜欢较小的3x3核,但它增加了更多的层来补偿较小的核尺寸所带来的感受野的减少。(4) 最后,EfficientNetV2完全删除了原EfficientNet中的最后一个stride-1阶段,这可能是由于其参数大小和内存访问开销较大。
EfficientNetV2 Scaling: 我们采用与(Tan & Le, 2019a)类似的复合缩放法对EfficientNetV2-S进行扩展,得到EfficientNetV2-M/L,并进行了一些额外的优化:(1)我们将最大推理图像尺寸限制在480,因为非常大的图像往往会导致昂贵的内存和训练速度开销;(2)作为一种启发式方法,我们还在后期阶段(如表4中的第5和第6阶段)逐步增加层数,以增加网络容量而不增加很多运行时间开销。
Training Speed Comparison: 图3比较了我们新的EfficientNetV2的训练步骤时间,其中所有模型都是在固定的图像尺寸下训练的,没有渐进式学习。对于EfficientNet(Tan & Le, 2019a),我们显示了两条曲线:一条是用原始推理尺寸训练的,另一条是用大约30%的小图像尺寸训练的,与EfficientNetV2和NFNet(Touvron等人, 2019; Brock等人, 2021)相同。所有的模型都是用350 epoch来训练的,除了NFNets是用360 epoch来训练的,所以所有的模型都有类似的训练步骤。有趣的是,我们观察到,当训练得当时,EfficientNets仍然能实现相当强的性能权衡。更重要的是,通过我们的训练感知NAS和扩展,我们提出的EfficientNetV2模型的训练速度比其他最近的模型快很多。这些结果也与我们的推理结果一致,如表7和图5所示。
4. Progressive Learning
4.1. Motivation
如第3节所述,图像大小对训练效率起着重要的作用。除了FixRes (Touvron等人,2019年),许多其他作品在训练期间动态改变图像大小(Howard, 2018;Hoffer等人,2019),但它们经常导致准确性下降。
我们假设准确率的下降来自于不平衡的正则化:当用不同的图像尺寸进行训练时,我们也应该相应地调整正则化强度(而不是像以前的工作那样使用固定的正则化)。事实上,大模型需要更强的正则化来对抗过拟合是很常见的:例如,EfficientNet-B7比B0使用更大的dropout和更强的数据增强。在本文中,我们认为即使是相同的网络,较小的图像尺寸会导致较小的网络容量,因此需要较弱的正则化;反之,较大的图像尺寸会导致更多的计算,而容量较大,因此更容易出现过拟合。
为了验证我们的假设,我们训练了一个模型,从我们的搜索空间取样,用不同的图像大小和数据增强(表5)。当图像尺寸较小时,它在弱增强的情况下具有最好的准确性;但对于较大的图像,它在更强的数据增强的作用下表现更好。这一见解促使我们在训练过程中随着图像大小自适应地调整正则化,从而导致我们改进的渐进式学习方法。
为了验证我们的假设,我们训练了一个模型,从我们的搜索空间取样,用不同的图像大小和数据增强(表5)。当图像尺寸较小时,它在使用弱数据增强时具有最好的准确性;但对于较大的图像,它在使用较强数据增强时表现更好。这一见解促使我们在训练过程中随着图像大小自适应地调整正则化,从而导致我们改进的渐进式学习方法。
4.2. Progressive Learning with adaptive Regularization
图4. 我们改进的渐进式学习的训练过程–它从小的图像尺寸和弱的正则化开始(epoch=1),然后通过更大的图像尺寸和更强的正则化逐渐增加学习难度:更大的dropout rate、RandAugment magnitude和 mixup ratio(例如epoch=300)。
图4说明了我们改进的渐进式学习的训练过程:在早期的训练时代,我们用较小的图像和弱的正则化来训练网络,这样网络可以很容易和快速地学习简单的表示。然后,我们逐渐增加图像大小,但也通过增加更强的正则化使学习更加困难。我们的方法是建立在(Howard,2018)的基础上,逐步改变图像大小,但这里我们也自适应地调整正则化。
形式上,假设整个训练共有N步,目标图像大小为SeS_eSe,有一系列正则化幅度Φe={ϕek}Φ_e = \{\phi^k_e\}Φe={ϕek},其中k代表一种正则化类型,如dropout或mixup rate value。我们将训练分为M个阶段:对于每个阶段1≤i≤M1≤i≤M1≤i≤M,用图像大小SiS_iSi和正则化幅度Φi={ϕik}Φ_i=\{\phi^k_i\}Φi={ϕik}训练模型。
最后一个阶段M将使用目标图像尺寸SeS_eSe和正则化ΦeΦ_eΦe。为了简单起见,我们启发式地挑选初始图像尺寸S0S_0S0和正则化Φ0Φ_0Φ0,然后使用线性插值来确定每个阶段的值。算法1总结了该程序。在每个阶段的开始,网络将继承前一阶段的所有权重。与transformers不同,transformers的权重(如position embedding)可能取决于输入长度,而ConvNet的权重与图像大小无关,因此可以很容易地继承。
我们改进的渐进式学习与现有的正则化普遍兼容。为了简单起见,本文主要研究以下三种类型的正则化。
Dropout(Srivastava等人,2014):一个网络级的正则化,它通过随机放弃通道来减少共同适应。我们将调整dropout rate γ。
RandAugment(Cubuk等人,2020):每个图像的数据增强,幅度ϵ\epsilonϵ可调
Mixup(Zhang等人,2018):一个跨图像的数据增强。给定两张具有标签(xi,yi)(x_i, y_i)(xi,yi)和(xj,yj)(x_j , y_j)(xj,yj)的图像,它以混合比例λ将它们结合起来:x~i=λxj+(1−λ)xi,y~i=λyj+(1−λ)yi\widetilde x_i = λx_j + (1 - λ)x_i,\widetilde y_i = λy_j + (1 - λ)y_ix
i=λxj+(1−λ)xi,yi=λyj+(1−λ)yi。我们将在训练中调整混合比λ。
5. Main Results
:x~i=λxj+(1−λ)xi,y~i=λyj+(1−λ)yi\widetilde x_i = λx_j + (1 - λ)x_i,\widetilde y_i = λy_j + (1 - λ)y_ix
5. Main Results
https://arxiv.org/pdf/2104.00298.pdf
EfficientNetV2 Smaller Models and Faster Training相关推荐
- 【读点论文】EfficientNetV2: Smaller Models and Faster Training 训练感知的神经架构搜索+自适应的渐近训练方法优化训练(TPU,大数据量)
EfficientNetV2: Smaller Models and Faster Training Abstract 本文介绍了EfficientNetV2,这是一个新的卷积网络系列,与以前的模型相 ...
- EfficientNetV2 笔记
torch网络结构: https://github.com/d-li14/efficientnetv2.pytorch/blob/main/effnetv2.py """ ...
- EfficientNetV2震撼发布!87.3%准确率!模型更小,训练更快!谷歌大脑新作
EfficientNetV2: Smaller Models and Faster Training paper: https://arxiv.org/abs/2104.00298 code(官方TF ...
- EfficientNetV2网络详解
原论文名称:EfficientNetV2: Smaller Models and Faster Training 论文下载地址:https://arxiv.org/abs/2104.00298 原论文 ...
- 深度学习之图像分类(十六)-- EfficientNetV2 网络结构
深度学习之图像分类(十六)EfficientNetV2 网络结构 目录 深度学习之图像分类(十六)EfficientNetV2 网络结构 1. 前言 2. 从 EfficientNetV1 到 Eff ...
- 【深度学习】后ResNet时代的顶流EfficientNet
感兴趣的可以直接看视频,第一次做视频有很多瑕疵 其实,我对于EfficientNet流派的网络是排斥的,暴力搜索的方法看起来跟创新背道而驰,总觉得不太光彩,这对于深度学习的良性发展会产生一定的负面影响 ...
- 计算机视觉论文-2021-04-02
本专栏是计算机视觉方向论文收集积累,时间:2021年4月2日,来源:paper digest 欢迎关注原创公众号 [计算机视觉联盟],回复 [西瓜书手推笔记] 可获取我的机器学习纯手推笔记! 直达笔记 ...
- 淘宝视频内容标签的结构化分析和管理
淘宝视频是如何分类的?又是如何保持不同类别视频样本得到相对均衡?又是如何应用的? 背景介绍 随着5g时代的到来,视频内容形态迸发出勃勃生机,各大短视频app获得的巨大成功.淘宝短视频完成的种草和成交转 ...
- 【华为昇腾社区、鹏城实验室】中国软件开源创新大赛·赛道二:任务挑战赛(模型王者挑战赛黄金赛段)
中国软件开源创新大赛·赛道二:任务挑战赛(模型王者挑战赛黄金赛段) [大赛简介] 人工智能作为一种通用目的技术,已经具备进入所有业务主流程的能力,人们的生产与生活必将发生巨大的改变.为了方便开发者们感 ...
最新文章
- python爬取图片-Python超简单的爬取网站中图片
- python双精度浮点数怎么写_Python双精度浮点数运算并分行显示操作示例
- WebRTC对你意味着什么
- 克隆需要验证_GeneCopoeia基因克隆
- 从响应式Spring Data存储库流式传输实时更新
- 让老IE支持CSS3响应式布局
- 【flink】Flink 1.12.2 源码浅析 : yarn-per-job模式解析 yarn 提交过程解析
- java虚拟机回收机制原理
- Vue 2.x 实战之后台管理系统开发(二)
- 【codevs1378】选课——树形动规
- 075 json和pickle模块
- 几点减几点怎么列算式_结婚邀请函怎么写样板 结婚邀请函有哪几点是必写的...
- 深入理解计算机系统李秋豪,《深入理解计算机系统》第7章:重定位PC相对引用的理解...
- COOLPAD F608刷机过程
- 微软 DevRel 中国团队热招软件工程师
- Unity实现打地鼠游戏操作步骤、总结、问题及解决办法
- Windows安装pytorch,傻瓜式教程
- play 1.2.7
- PS制作立体效果——圆环
- Rockchip Android平台内存优化及系统裁剪