论文精读:EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks

1.做了什么

卷积神经网络(ConvNets)通常是在固定的资源预算下开发的,如果有更多的资源可用,则会扩大规模以获得更好的准确性。在本文中,我们系统地研究了模型的缩放,并确定了仔细平衡网络的深度、宽度和分辨率可以导致更好的性能。基于这一观察结果,我们提出了一种新的尺度方法,该方法使用简单而高效的复合系数均匀地调整深度/宽度/分辨率的所有维度。我们证明了该方法在扩大移动网络和ResNet上的有效性。

作者使用神经结构搜索来设计一个新的基线网络,并对其进行扩展,以获得一系列模型,称为Efficientnet,它实现了比以前的convnet更好的准确性和效率。

2.主要内容

2.1 introduction

        扩大卷积网被广泛用于获得更好的精度。比如说从ResNet-18到ResNet-200,然而,扩大ConvNets的过程从来没有被很好地理解,目前有很多方法来做。最常见的方法是根据其深度(He等人,2016)或宽度(Zagoruyko和Komodakis,2016)来扩大连接网络。另一种不太常见但越来越流行的方法是根据图像分辨率放大模型(Huangetal.,2018)。在以前的工作中,通常只缩放三个维度中的一个——深度、宽度和图像大小。虽然可以任意缩放二维或三维空间,但任意缩放需要繁琐的手动调整,而且仍然经常产生次优的精度和效率。

        在本文中,我们想要研究和重新思考扩大网络的过程。特别地,我们研究了一个中心问题:是否有一个有原则的方法来扩大卷积网,从而实现更好的准确性和效率?我们的实证研究表明,平衡网络宽度/深度/分辨率的所有维度是至关重要的,令人惊讶的是,这种平衡可以通过简单地以恒定的比例缩放来实现。在此基础上,我们提出了一种简单而有效的复合标度方法。与传统的任意尺度这些因素不同,我们的方法统一使用一组一组固定的比例系数扩展网络的宽度、深度、和分辨率。例如,如果我们想使用2N倍以上的计算资源,那么我们可以简单地增加网络深度αN,宽度βN,图像大小γN,其中α,β,γ是由原始小模型上的小网格搜索确定的常系数。图2说明了我们的缩放方法和传统方法之间的区别。

        直观地说,复合缩放方法是有意义的,因为如果输入的图像更大,那么网络就需要更多的层来增加接受域,并需要更多的通道来在更大的图像上捕获更细粒度的模式。事实上,先前的理论(Raghu等人,2017;Lu等人,2018)和实证结果(扎戈鲁伊科和科莫达基斯,2016)都表明网络宽度和深度之间存在一定的关系,但据我们所知,我们是第一个实证量化网络宽度、深度和分辨率三个维度之间的关系的人。

        我们证明了我们的缩放方法在现有的Mobilenet和ResNet。值得注意的是,模型缩放的有效性很大程度上取决于基线网络;更进一步,我们使用神经结构搜索来开发一个新的基线网络,并将其扩展以获得一系列称为效率网络的模型。图1是网络的性能对比。

2. 2 Related Work

ConvNet Accuracy:  从ResNet到SEnet再到GPipe,模型的精读在不断的提升,但是这些模型的参数规模也在不断的提升。GPipe的mageNettop-1验证精度84.3%,使用了557M参数:它是如此之大,它只能用专门的管道并行库通过分区网络和将每个部分扩展到一个不同的加速器。虽然这些模型主要是为图像网设计的,但最近的研究显示,更好的图像网模型在各种迁移学习数据集,以及其他计算机视觉任务,如目标检测。虽然更高的精度对于许多应用程序是至关重要的,但我们已经达到了硬件内存的限制,因此进一步提高精度需要更好的效率

ConvNet Effificiency: 模型压缩是通过交易精度换取效率来减少模型尺寸的常用方法。随着手机无处不在,手工制作高效移动尺寸的压缩网也很常见,如 SqueezeNetsMobileNetsShufflfleNets。最近,神经结构搜索在设计高效移动尺寸的卷积网方面变得越来越流行,并通过广泛调整网络宽度、深度、卷积内核类型和大小,实现了比手工制作的移动卷积网更好的效率。然而,目前还不清楚如何将这些技术应用于具有更大的设计空间和更昂贵的调整成本的更大的模型。在本文中,我们的目的是研究超越最先进的精度的超大网络的模型效率。为了实现这一目标,我们采用了模型缩放的方法。
Model Scaling: 针对不同的资源限制扩展CenvNet:ResNet可以缩小(例如(ResNet-18)或放大(例如,ResNet-200),而WideResNet(扎戈里科莫达基,2016)和MobileNets (霍华德等,2017)可以按网络宽度(#通道)比例。人们也充分认识到,更大的输入图像大小将有助于准确性与更多的失败开销。尽管之前的研究(Raghu等人,2017;林&杰格尔卡,2018;Sharir&沙斯华,2018;Lu等人,2018)已经表明,网络深度和宽度对卷积网的表达能力都很重要,但如何有效地扩展卷积网以实现更好的效率和准确性仍然是一个悬而未决的问题。我们的工作系统地和实证地研究了网络宽度、深度和分辨率的所有三个维度。

 2.3 Compound Model Scaling

 在本节中,我们将制定缩放问题,研究不同的方法,并提出我们新的缩放方法。

2.3.1. Problem Formulation

        一个ConvNet层i可以定义为一个函数:Y_{i}=F_{i}(X_{i}),其中F_{i}为算子,Y_{i}为输出张量,X_{i}为输入张量,张量形状(H_{i}W_{i}C_{i}),其中H_{i}W_{i}为空间维数,C_{i}为通道维数。一个ConvNet N可以用一系列组成的层来表示:。在实践中,ConvNet层通常被划分为多个阶段,每个阶段的所有层都共享相同的架构:例如,ResNet(Heetal.,2016)有五个阶段,除了第一层执行降采样外,每个阶段的所有层都有相同的卷积类型。因此,我们可以将ConvNet定义为:

其中,F_{i}^{L_{i}}表示层F_{i}在阶段i中重复L_{i}次,(H_{i}W_{i}C_{i})表示i层的输入张量X的形状。

        图2(a)说明了一个具有代表性的ConvNet,其中空间维度逐渐缩小,但通道维度在层上扩展,例如,从初始输入形状(224,224,3)到最终输出形状(7,7,512)。与常规的ConvNet设计主要专注于寻找最佳的层架构F_{i}不同,模型缩放试图扩展网络长度L_{i}、宽度C_{i}和/或分辨率(H_{i}W_{i}),而不改变基线网络中预定义的F_{i}。通过固定F_{i},模型缩放简化了新资源约束的设计问题,但仍然是一个很大的设计空间来探索每层不同的L_{i}C_{i}H_{i}W_{i}。为了进一步减少设计空间,我们限制了所有层必须以恒定的比例均匀缩放。我们的目标是对任何给定的资源约束最大化模型的准确性,这可以表述为一个优化问题:

 其中,w、d、r为衡量网络宽度、深度和分辨率的比例系数;\hat{F}_{i},\hat{L}_{i},\hat{W}_{i},\hat{C}_{i}i为基线网络中的预定义参数(以表1为例)。

 2.3.2. Scaling Dimensions

        问题2的主要困难在于最优的d、w、r相互依赖,且各值在不同的资源约束下发生变化。由于这一困难,传统的方法主要在以下一个维度上缩放网络:

Depth ( d ):缩放网络深度是许多卷积网最常用的方法。直觉是,更深的卷积神经可以捕捉到更丰富、更复杂的特征,并在新任务上很好地推广。然而,由于梯度消失问题,更深层次的网络也更难训练。尽管一些技术,如跳过连接和批处理归一化,缓解了训练问题,但非常深的网络的精度增益减少:例如,ResNet-1000具有与ResNet-101具有相似的精度,尽管它有更多的层。图3(中间)显示了我们对具有不同深度系数d的基线模型进行缩放的实证研究,进一步表明了非常深的ConvNets的精度回报递减。
Width ( w ):缩放网络宽度通常用于小型模型,更广泛的网络往往能够捕获更细粒度的特征,并且更容易被训练。然而,非常宽但较浅的网络往往难以捕获更高层次的特征。我们在图3(左)中的经验结果显示,当网络越大,w变得越宽时,精度迅速饱和。
Resolution ( r ):对于更高分辨率的输入图像,ConvNets可以潜在地捕获更细粒度的模式。从早期的conv网络的224x224开始,现代的conv网络倾向于使用299x299(Szegedy等人,2016)或331x331(Zoph等人,2018)以获得更好的精度。最近,GPipe(Huangetal.,2018)以480x480的分辨率实现了最先进的ImageNet精度。更高的分辨率,如600x600,也被广泛用于目标检测ConvNets(He等人,2017;Lin等人,2017)。图3(右)显示了缩放网络分辨率的结果,其中更高的分辨率确实可以提高精度,但对于非常高的分辨率,精度增益会降低(r=1.0表示分辨率224x224,r=2.5表示分辨率560x560)。
Observation 1 – 放大网络宽度、深度或分辨率的任何维度都可以提高精度,但对于较大的模型,精度增益会降低。
2.3.3 Compound Scaling

        我们根据经验观察到,不同的尺度维度并不是独立的。直观地说,对于更高分辨率的图像,我们应该增加网络深度,这样更大的接受域可以帮助捕获类似的特征,在更大的图像中包含更多的像素。相应地,当分辨率更高时,我们也应该增加网络宽度,为了在高分辨率图像中用更多的像素捕获更细粒度的模式。这些直觉表明,我们需要协调和平衡不同的缩放维度,而不是传统的单维缩放。为了验证我们的直觉,我们比较了不同网络深度和分辨率下的宽度缩放,如图4所示。如果我们只扩展网络宽度w(而不改变深度d=1.0和分辨率r=1.0),精度就会迅速饱和。通过更深的(d=2.0)和更高的分辨率(r=2.0),宽度扩展在相同的失败成本下获得了更好的精度。这些结果使我们得出了第二个观察结果:

Observation 2 – 为了追求更好的精度和效率,在连续网络缩放过程中平衡网络宽度、深度和分辨率的所有维度是至关重要的。

事实上,之前的一些工作(Zoph等人,2018;Real等人,2019年)已经尝试过任意平衡网络的宽度和深度,但它们都需要繁琐的手动调优。

在本文中,我们提出了一种新的复合尺度方法,该方法利用复合系数φ来均匀尺度网络的宽度、深度和分辨率:

其中,α,β,γ是可以通过小网格搜索确定的常数。直观地说,φ是一个用户指定的系数,它控制有多少资源可用于模型缩放,而α、β、γ则指定如何将这些额外的资源分别分配给网络宽度、深度和分辨率。值得注意的是,规则卷积op的运算次数与d、w2、r2成正比,即网络深度加倍将会翻倍,但网络宽度或分辨率加倍将会使运算次数增加4倍。由于卷积运算通常在卷积计算计算成本中占主导地位,用方程3缩放卷积计算将近似增加(\alpha*\beta^{2}*\gamma^{2})^{\phi }。在本文中,我们约束\alpha*\beta^{2}*\gamma^{2}=2,这样对于任何新的φ,总运算次数将增加大约2^{\phi}

2.4. EffificientNet Architecture

由于模型缩放不会改变基线网络中的层操作符\hat{F}_{i},因此拥有一个良好的基线网络也是至关重要的。我们将使用现有的convnet来评估我们的缩放方法,但为了更好地证明我们的缩放方法的有效性,我们还开发了一个新的移动尺寸基线,称为EffificientNet。 

受(Tanetal.,2019)的启发,我们通过利用多目标神经体系结构搜索来开发我们的基线网络,从而优化了准确性和失败。特别,我们使用相同的搜索空间(Tanetal.,2019),并使用ACC(m)*[FLOPS(m)/T]^{w}作为优化目标,ACC(m)和FLOPS(m)表示模型m的准确性和运算次数,T是目标运算次数和w=-0.07是一个超参数控制精度和运算次数之间的权衡。不像(Tan等人,2019;Cai等人,2019),这里我们优化了运算规模,而不是延迟,因为我们没有针对任何特定的硬件设备。我们的搜索产生了一个高效的网络,我们称之为EffificientNet-B0.。由于我们使用了与(Tanetal.,2019)相同的搜索空间,因此该架构类似于MnasNotably通过直接围绕一个大型模型搜索α、β、γ,有可能获得更好的性能,但在较大的模型上,搜索成本变得更加昂贵。我们的方法通过在小基线网络上只进行一次搜索(步骤1)来解决这个问题,然后对所有其他模型使用相同的缩放系数(步骤2)来解决这个问题。

EffificientNet-B0开始,我们应用我们的复合缩放方法,通过两个步骤进行扩展:

步骤1:我们首先修复了φ=1,假设可用资源的数量增加了一倍,并根据公式2和公式3对α、β、γ进行了一个小的网格搜索。特别地,在\alpha*\beta^{2}*\gamma^{2}=2的约束下,EffificientNet-B0的最佳值为α=1.2,β=1.1,γ=1.15。

步骤2:然后我们将α、β、γ固定为常数,并使用公式3放大不同φ的基线网络,得到EffificientNet-b1到B7(详见表2)。

 

 2.5. Experiments

2.5.1. Scaling Up MobileNets and ResNets

作为概念的证明,我们首先将我们的尺度方法应用于广泛使用的MobileNets和ResNet。表3显示了以不同方式缩放它们的ImageNet结果。与其他单维缩放方法相比,我们的复合缩放方法提高了所有这些模型的精度,这表明我们提出的缩放方法对一般现有的卷积网的有效性。

5.2 ImageNet Results for EffificientNet

.我们在ImageNet上训练了类似的效率网模型,如(Tan等人,2019年):RMSProp优化器,衰减0.9,动量0.9;批范数动量0.99; 权重量衰减1e-5;初始学习率为0.256,每2.4epochs衰减0.97。我们还使用SiLU(Swish-1)激活、自动增强和随机深度,dropout层生存概率为0.8。众所周知,更大的模型需要更多的正则化,我们将dropout比率从EffificientNet-B0的0.2线性增加到B7的0.5。我们保留了从训练集中随机抽取的25k张图像作为一个小集,并在这个小集上执行EarilyStopping;然后,我们在原始验证集上评估EarlyStopping的检查点,以报告最终验证的准确性

表2显示了从相同的基线效率网络模型中缩放的所有效率网络模型的性能。我们的效率网模型通常比其他精度相似的网络参数和失败少一个数量级。特别是,我们的EffificientNet-b7在66M参数和37b计算规模时达到了84.3%的top1精度,准确度更高,但比之前最好的GPipe小8.4倍(Huangetal.,2018)。这些收益来自于更好的架构、更好的可伸缩性和为Efficientnet定制的更好的训练设置。

 图1和图5显示了具有代表性的convnet的参数-精度和运算规模-精度曲线,其中我们的缩放效率网模型比其他convnet以更少的参数和失败的方式获得了更好的精度。值得注意的是,我们的EffificientNet不仅很小,而且计算成本也更低。例如,我们的EffificientNet-b3比ResNeXt-101(Xieetal.,2017)具有更高的精度。

2.6. Discussion

为了将我们提出的缩放方法的贡献从效率网架构中分离出来,图8比较了不同缩放方法在相同的基线网络EffificientNet-B0的ImageNet性能,一般来说,所有的缩放方法都会以更多的代价提高精度,但我们的复合缩放方法可以比其他单维缩放方法进一步提高精度,高达2.5%,这表明了我们提出的复合缩放的重要性。

为了进一步理解为什么我们的复合缩放方法比其他方法更好,图7比较了一些具有不同缩放方法的代表性模型的类激活图(Zhouetal.,2016)。所有这些模型都从相同的基线进行缩放,其统计数据如表7所示。图像从ImageNet验证集中随机抽取。如图所示,具有复合缩放的模型倾向于关注具有更多对象细节的更相关区域,而其他模型要么缺乏对象细节,要么无法捕获图像中的所有对象。

2.7. Conclusion  

·在本文中,我们系统地研究了卷积网络的缩放,并确定了仔细平衡网络的宽度、深度和分辨率是一个重要但缺失的部分,阻碍了我们更好的准确性和效率。为了解决这个问题,我们提出了一种简单而高效的复合缩放方法,它使我们能够在更原则性的方式轻松地将基线卷积网络扩展到任何目标资源约束,同时保持模型效率。在这种复合缩放方法的支持下,我们证明了一个移动效率网模型可以非常有效地放大,以一个数量级的参数和失败超过了最先进的精度。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

樱花的浪漫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值