关于深度学习:EfficientNetV2-通过NASScaling和FusedMBConv获得更小的模型和更快的训练

51次阅读

共计 3385 个字符,预计需要花费 9 分钟才能阅读完成。

EfficientNetV2 是由 Google Research,Brain Team 公布在 2021 ICML 的一篇论文,它联合应用 NAS 和缩放,优化训练速度和参数效率。并且模型中应用新操作(如 Fused-MBConv)在搜寻空间中进行搜寻。EfficientNetV2 模型比 EfficientNetV1 的训练速度快得多,同时体积小 6.8 倍。

论文纲要如下:

  • 了解和进步 EfficientNetV1 的训练效率
  • NAS 和缩放
  • Progressive Learning
  • SOTA 比拟
  • 融化钻研

了解和进步 EfficientNetV1 的训练效率

1、应用十分大的图像尺寸进行训练很慢

EfficientNet 的大图像尺寸会导致大量内存应用。因为 GPU/TPU 上的总内存是固定的,因而应用较小的批大小,这会大大减慢训练速度。

FixRes(论文 FixRes: Fixing the Train-Test Resolution Discrepancy)可用于通过应用更小的图像尺寸进行训练而不是推理。较小的图像尺寸会导致较少的计算量并反对较大的批量大小,从而将训练速度进步多达 2.2 倍,并且准确度还会有所提高。

2、Depth-wise 卷积在模型的晚期层执行迟缓但在前期层是无效的

Fused-MBConv 在谷歌 AI 博客中提出,Fused-MBConv 将 MBConv 中的 depthwise conv3×3 和扩大 conv1×1 替换为单个惯例 conv3×3。

MBConv 和 Fused-MBConv 的构造

Fused-MBConv 逐步将 EfficientNet-B4 中的原始 MBConv 替换为 Fused-MBConv。

在晚期阶段 1-3 中利用时,Fused-MBConv 能够进步训练速度,而参数和 FLOP 的开销很小。

然而如果所有块都应用 Fused-MBConv(阶段 1-7),那么它会显着减少参数和 FLOP,同时也会减慢训练速度。

3、在每个阶段同样扩充规模并不是最优的

EfficientNet 应用简略的复合缩放规定平等地扩大所有阶段。例如,当深度系数为 2 时,网络中的所有阶段都会使层数翻倍。然而实际上这些阶段对训练速度和参数效率的奉献并不相同。在 EfficientNetV2 中,应用非平均缩放策略逐步向模型的前期增加更多层。EfficientNets 踊跃扩充图像大小,导致大量内存耗费和迟缓训练。为了解决这个问题,EfficientNetV2 对缩放规定稍作批改,最大图像尺寸被限度为较小的值。

NAS 和缩放

1、NAS 搜寻

神经架构搜寻 (NAS) 搜寻空间相似于 PNASNet。通过 NAS 进行卷积运算类型 {MBConv, Fused-MBConv} 的设计抉择,包含层数,内核大小 {3×3, 5×5},扩大比{1, 4, 6} 等等。另一方面,搜寻空间大小通过以下形式进行优化:

  • 删除不必要的搜寻选项,例如 pooling skip 操作,因为它们从未在原始 EfficientNets 中应用;
  • 重用与在 EfficientNets 中曾经搜寻过的通道大小。

在缩小图像尺寸的状况下,对 1000 多个模型,进行大概 10 个轮次的采样和训练,通过模型精度 A、归一化训练步长 S 和参数大小 P 进行搜寻,并应用简略加权乘积 ax (S^w)×(P^v),确定了其中 w =-0.07 和 v =-0.05。

EfficientNetV2 与 EfficientNetV1 有几个次要区别:

  • EfficientNetV2 在晚期层中宽泛应用了 MBConv 和新增加的 fused-MBConv。
  • EfficientNetV2 更喜爱 MBConv 的较小扩大比,因为较小的扩大比往往具备较少的内存拜访开销。
  • EfficientNetV2 更喜爱较小的核大小(3×3),但它减少了更多层来弥补较小内核大小导致的感触野缩小。
  • EfficientNetV2 齐全移除了原始 EfficientNet 中的最初一个 stride-1 阶段,这可能是因为其较大的参数大小和内存拜访开销。

2、缩放

EfficientNetV2-S 应用与 EfficientNet 相似的复合缩放比例放大以取得 EfficientNetV2-M/L,并进行了一些额定的优化:

最大推理图像大小限度为 480,因为十分大的图像通常会导致低廉的内存和训练速度开销;

作为一种启发式办法,更多的层会逐步增加到前面的阶段(例如,阶段 5 和 6),以便在不减少太多运行时开销的状况下减少网络容量。

通过训 NAS 和缩放,所提出的 EfficientNetV2 模型的训练速度比其余的模型快得多。

Progressive Learning

改良学习中的训练过程

EfficientNetV2 的训练设置

ImageNet top-1 准确率

当图像尺寸较小增广较弱时模型的体现最好;然而对于更大的图像,它在更强的增广的状况下体现更好。从小图像尺寸和弱正则化(epoch = 1)开始,而后随着更大的图像尺寸和更强的正则化逐步减少学习难度:更大的 Dropout 率、RandAugment 幅度和混合比(例如,epoch = 300)。

上面显示了流程的伪代码:

SOTA 比拟

1、ImageNet

模型大小、FLOP 和推理提早——提早是在 V100 GPU 上以 16 的批量大小测量的

标有 21k 的模型在 ImageNet21k 上用 13M 图像进行预训练,其余模型间接在 ImageNet ILSVRC2012 上用 128 万图像从头开始训练。

  • EfficientNetV2 模型比以前在 ImageNet 上的 ConvNets 和 Transformer 模型速度显著更快,并实现了更好的精度和参数效率。
  • EfficientNetV2-M 达到了与 EfficientNet-B7 相当的精度,同时应用雷同的计算资源进行训练的速度进步了 11 倍。
  • EfficientNetV2 模型在准确性和推理速度方面也显着优于所有最近的 RegNet 和 ResNeSt 顶部的第一个图显示了后果。

    通过在 ImageNet21k 上进行预训练(32 个 TPU,两天),EfficientNetV2-L(21k) 将 top-1 准确率进步了 1.5%(85.3% 对 86.8%),在运行时应用的参数缩小了 2.5 倍,FLOP 缩小了 3.6 倍 训练和推理速度进步 6 倍 — 7 倍。

2、迁徙学习

论文中应用了如下的数据集进行迁徙学习测试:

每个模型都通过很少的步骤进行微调。EfficientNetV2 模型在所有这些数据集上都优于之前的 ConvNets 和 Vision Transformers。

在 CIFAR-100 上,EfficientNetV2-L 的准确度比之前的 GPipe/EfficientNets 高 0.6%,比之前的 ViT/DeiT 模型高 1.5%。这些结果表明,EfficientNetV2 的泛化能力也远远超出了 ImageNet。

融化钻研

1、雷同训练的体现

应用雷同学习设置的性能比拟,EfficientNetV2 模型的性能依然大大优于 EfficientNets:EfficientNetV2-M 将参数缩小了 17%,FLOPs 缩小了 37%,同时在训练中的运行速度比 EfficientNet-B7 快 4.1 倍,推理速度快 3.1 倍。

2、模型缩放

通过应用 EfficientNet 复合缩放放大 EfficientNetV2-S 来比拟较小的模型。所有模型都是在没有 Progressive Learning 的状况下进行训练的。EfficientNetV2 (V2) 模型通常更快,同时放弃相当的参数效率。

3、不同网络的 Progressive Learning

Progressive Learning 通常会缩小训练工夫,同时进步所有不同网络的准确性。

4、自适应正则化(Adaptive Regularization)的重要性

自适应正则化

随机调整大小的起因是 TPU 须要为每个新大小从新编译动静运行图,所以这里每 8 个 epoch 随机采样一次图像大小,而不是每批。

自适应正则化在晚期训练期间对小图像应用很小的正则化,使模型可能更快地收敛并取得更好的最终精度。

援用

https://www.overfit.cn/post/053825be64b64acfa9cbd527a4a1cab7

[2021 ICML] [EfficientNetV2]EfficientNetV2: Smaller Models and Faster Training

https://arxiv.org/abs/2104.00298

正文完
 0