《EfficientNetV2》论文精读:EfficientNet的续作,更小的模型更快的训练速度

在这里插入图片描述

1 摘要

在这里插入图片描述
本文介绍了 EfficientNetV2,这是一个新的卷积网络家族,与之前的模型相比,它具有更快的训练速度和更好的参数效率。为了开发这一系列模型,我们结合使用训练感知神经架构搜索和缩放,共同优化训练速度和参数效率。这些模型采用新的方式(例如 Fused-MBConv)获得更加丰富的搜索空间。我们的实验表明,EfficientNetV2 模型的训练速度比最先进的模型快得多,同时最多可缩小 6.8 倍。

在训练过程中,我们可以通过逐步提升图像大小得到加速,但通常会造成性能掉点。为补偿该性能损失,我们提出了一种改进版的渐进学习方式,它自适应的根据图像大小调整正则化因子,比如dropout、数据增广。

通过渐进式学习,我们的 EfficientNetV2 在 ImageNet 和 CIFAR/Cars/Flowers 数据集上显着优于以前的模型。通过在相同的 ImageNet21k 上进行预训练,我们的 EfficientNetV2 在 ImageNet ILSVRC2012 上达到了 87.3% 的 top-1 准确率,比最近的 ViT 准确率高 2.0%,同时使用相同的计算资源训练速度提高了 5 到 11 倍。

代码:https://github.com/google/automl/tree/master/efficientnetv2

2 论文简介

随着模型和训练数据的规模越来越大,训练效率对深度学习很重要。例如,GPT-3 (Brown et al., 2020) 具有前所未有的模型和训练数据规模,展示了在小样本学习方面的卓越能力,但它需要使用数千个 GPU 进行数周的训练,因此很难重新训练或 提升。

最近,训练效率引起了人们的极大兴趣。例如,NFNets (Brock et al., 2021) 旨在通过去除昂贵的批量归一化来提高训练效率;ResNet-RS(Bello et al。,2021)通过优化缩放超参数来提高训练效率;Lambda Networks(Bello,2021)和BotNet(Srinivas et al。,2021)通过在ConvNets中使用注意力层来提高训练速度。Vision Transformers (Dosovitskiy et al., 2021) 通过使用 Transformer 块提高了大规模数据集的训练效率。然而,这些方法通常会在参数大小方面带来昂贵的开销,如图 1(b) 所示。

在这里插入图片描述
图 1. ImageNet ILSVRC2012 top-1 准确率 vs. 训练时间和参数——标记为 21k 的模型在 ImageNet21k 上预训练,其他模型直接在 ImageNet ILSVRC2012 上训练。训练时间是用 32 个 TPU 内核测量的。所有 EfficientNetV2 模型都经过渐进式学习训练。我们的 EfficientNetV2 训练速度比其他人快 5 到 11 倍,同时使用的参数最多减少 6.8 倍。

在本文中,我们结合使用训练感知神经架构搜索 (NAS) 和缩放来提高训练速度和参数效率。鉴于EfficientNets的参数效率(Tan&Le,2019a),我们首先系统地研究EfficientNets中的训练瓶颈。我们的研究显示,在EfficientNets中:

  • (1) 用非常大的图像尺寸训练很慢;
  • (2) 在网络浅层中使用Depthwise convolutions速度会很慢。
  • (3) 每个阶段都按比例放大是次优的。

基于这些观察,我们设计了一个包含附加操作(例如 Fused-MBConv)的搜索空间,并应用训练感知 NAS 和缩放来联合优化模型精度、训练速度和参数大小。我们发现的名为 EfficientNetV2 的网络的训练速度比之前的模型快 4 倍(图 3),同时参数大小最多小 6.8 倍。

我们的训练可以通过在训练期间逐渐增加图像大小来进一步加快。之前的许多作品,例如渐进式调整大小(Howard,2018),FixRes(Touvron等,2019)和Mix&Match(Hoffer等,2019),在训练中都使用了较小的图像尺寸;然而,它们通常对所有图像尺寸保持相同的正则化,从而导致精度下降。我们认为对于不同的图像大小保持相同的正则化并不理想:对于同一网络,较小的图像大小会导致较小的网络容量,因此需要较弱的正则化;反之亦然,大图像尺寸需要更强的正则化以对抗过拟合(参见第 4.1 节)。基于这一见解,我们提出了一种改进的渐进学习方法:在早期的训练时期,我们用小图像尺寸和弱正则化(例如,dropout和数据增强)训练网络,然后我们逐渐增加图像尺寸并添加更强的正则化.基于渐进式调整大小 (Howard, 2018),但通过动态调整正则化,我们的方法可以加快训练速度,而不会导致准确率下降。

通过改进的渐进式学习,我们的 EfficientNetV2 在 ImageNet、CIFAR-10、CIFAR-100、Cars 和 Flowers 数据集上取得了不错的成绩。在 ImageNet 上,我们实现了 85.7% 的 top-1 准确率,同时训练速度提高了 3 到 9 倍,并且比以前的模型小了 6.8 倍(图 1)。我们的 EfficientNetV2 和渐进式学习还可以更轻松地在更大的数据集上训练模型。例如,ImageNet21k (Russakovsky et al., 2015) 比 ImageNet ILSVRC2012 大 10 倍左右,但我们的 EfficientNetV2 可以使用 32 个 TPUv3 核心的中等计算资源在两天内完成训练。通过在公共 ImageNet21k 2 上进行预训练,我们的 EfficientNetV2 在 ImageNet ILSVRC2012 上达到了 87.3% 的 top-1 准确率,比最近的 ViT-L/16 的准确率高 2.0%,同时训练速度提高了 5 到 11 倍(图 1)。

我们的贡献有三方面:

  • 我们引入了 EfficientNetV2,这是一个新的更小、更快的模型系列。通过我们的训练感知NAS 和扩展发现,EfficientNetV2 在训练速度和参数效率方面都优于以前的模型。
  • 我们提出了一种改进的渐进式学习方法,它可以根据图像大小自适应地调整正则化。我们表明它可以加快训练速度,同时提高准确性。
  • 我们在 ImageNet、CIFAR、Cars 和 Flowers 数据集上展示了比现有技术快 11 倍的训练速度和 6.8 倍的参数效率。

神经架构搜索 (NAS):通过自动化网络设计过程,NAS 已被用于优化图像分类(Zoph 等人,2018 年)、对象检测(Chen 等人,2019 年;Tan 等人, 2020),分割(Liu等人,2019),超参数(Donget等人,2020)和其他应用程序(Elsken等人,2019)。以前的 NAS 工作主要集中在提高 FLOPs 效率(Tan & Le, 2019b;a)或推理效率(Tan et al., 2019; Cai et al., 2019; Wu et al., 2019; Li et al., 2021) .与之前的工作不同,本文使用 NAS 来优化训练和参数效率。

3 EfficientNetV2 架构设计

在本节中,我们研究了 EfficientNet (Tan & Le, 2019a) 的训练瓶颈,并介绍了我们的训练感知 NAS 和扩展,以及 EfficientNetV2 模型。

3.1 回顾efficientNet

EfficientNet (Tan & Le, 2019a) 是一系列针对 FLOP 和参数效率进行了优化的模型。它利用NAS搜索基线EfficientNet-B0,该基线在精度和FLOP方面具有更好的权衡。然后使用复合缩放策略放大基线模型以获得模型 B1-B7 的家族。虽然最近的其它工作声称在训练或推理速度方面取得了巨大进步,但它们在参数和 FLOP 效率方面通常比 EfficientNet 差(表 1)。在本文中,我们的目标是在保持参数效率的同时提高训练速度。

在这里插入图片描述

3.2 了解训练效率

我们研究了 EfficientNet (Tan & Le, 2019a) 的训练瓶颈,以下也称为 EfficientNetV1,以及一些提高训练速度的简单技术。使用非常大的图像尺寸进行训练很慢:正如之前的作品 (Radosavovic et al., 2020) 所指出的那样,EfficientNet 的大图像尺寸会导致大量内存使用。由于 GPU/TPU 上的总内存是固定的,我们必须以较小的批大小训练这些模型,这大大减慢了训练速度。一个简单的改进是应用 FixRes(Touvron 等人,2019 年),通过使用比推理更小的图像尺寸进行训练。如表 2 所示,较小的图像尺寸导致较少的计算并支持大批量,从而将训练速度提高多达 2.2 倍。值得注意的是,正如 (Touvron et al., 2020; Brock et al., 2021) 中所指出的,使用较小的图像尺寸进行训练也会导致准确性稍好一些。但与 (Touvron et al., 2019) 不同的是,我们不会在训练后对任何层进行微调。在第 4 节中,我们将探索更高级的训练方法,通过在训练期间逐步调整图像大小和正则化

在这里插入图片描述
Depthwise convolutions在早期层中很慢:EfficientNet 的另一个训练瓶颈来自广泛的Depthwise convolutions(Sifre,2014)。Depthwise 卷积比常规卷积具有更少的参数和 FLOP,但它们通常不能充分利用现代加速器。最近,Fused-MBConv 在 (Gupta & Tan, 2019) 中提出,后来在 (Gupta & Akin, 2020; Xiong et al., 2020; Li et al., 2021) 中使用,以更好地利用移动或服务器加速器。如图2所示,它用单个常规conv3x3替换了MBConv中的深度conv3x3和扩展conv1x1(Sandler等人,2018;Tan&Le,2019a),如图2所示。为了系统地比较这两个构件,我们逐步替换了原始的MBConv在 EfficientNetB4 中使用 Fused-MBConv(表 3)。在早期阶段 1-3 中应用时,Fused-MBConv 可以在参数和 FLOPs 的开销很小的情况下提高训练速度,但是如果我们用 Fused-MBConv(阶段 1-7)替换所有块,那么它会显着增加参数和 FLOPs,同时也减慢了训练。找到这两个构建块 MBConv 和 Fused-MBConv 的正确组合非常重要,这促使我们利用神经架构搜索来自动搜索最佳组合。

在这里插入图片描述
图 2. MBConv 和 Fused-MBConv 的结构

在这里插入图片描述
每个阶段均等地扩展是次优的:EfficientNet 使用简单的复合扩展规则同等地扩展所有阶段。例如,当深度系数为 2 时,网络中的所有阶段都会使层数增加一倍。然而,这些阶段对训练速度和参数效率的贡献并不相同。在本文中,我们将使用非均匀缩放策略来逐步添加 到后期阶段。此外,EfficientNets 积极扩大图像大小,导致大量内存消耗和缓慢训练。为了解决这个问题,我们稍微修改了缩放规则并将最大图像尺寸限制为较小的值。

3.3.训练感知 NAS 和扩展

为此,我们学习了多种设计选择以提高训练速度。为了搜索这些选择的最佳组合,我们现在提出一种具有培训意识的NAS。

NAS 搜索:我们的训练感知 NAS 框架主要基于之前的 NAS 工作(Tan 等人,2019 年;Tan & Le,2019a),但旨在共同优化现代加速器的准确性、参数效率和训练效率。具体来说,我们使用 EfficientNet 作为我们的主干。我们的搜索空间是一个类似于 (Tan et al., 2019) 的基于阶段的分解空间,它由卷积运算类型 fMBConv、Fused-MBConvg、层数、内核大小 f3x3、5x5g、扩展率 f1 的设计选择组成, 4, 6g。另一方面,我们通过

  • (1)删除不必要的搜索选项(例如池化跳过操作)来减小搜索空间大小,因为它们从未在原始 EfficientNet 中使用;
  • (2) 从主干中重用相同的通道大小,因为它们已经在 (Tan & Le, 2019a) 中搜索过。

由于 搜索空间更小,我们可以应用强化学习(Tan 等人,2019 年)或简单地在与 EfficientNetB4 大小相当的更大网络上进行随机搜索。具体来说,我们对多达 1000 个模型进行了采样,并对每个模型进行了大约 10 个 epoch 的训练,并减少了用于训练的图像大小。我们的搜索奖励结合了模型精度 A、归一化训练步骤时间 S 和参数大小 P,使用简单的加权乘积 A·Sw·Pv,其中 w = -0.07 和 v = -0.05 是根据经验确定的超参数平衡类似于(Tan et al., 2019)的权衡。

EfficientNetV2 架构:表 4 显示了我们搜索的模型 EfficientNe

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值