EfficientNetV2:Smaller Models and Faster Training

EfficientNetv2在EfficientNetv1的基础上,通过搜索accuracy、parameter efficiency 以及 trainning efficiency 三个维度,提出Fused-MBConv,使得它具有更快的训练速度和更好的参数效率

什么是 EfficientNetv2 ?

  • EfficientNetv2在EfficientNetv1的基础上,通过搜索accuracy、parameter efficiency 以及 trainning efficiency 三个维度,提出Fused-MBConv,使得它具有更快的训练速度和更好的参数效率

EfficientNetv2 的网络结构?

  • EfficientNetV2-S 架构,包含MBConv 和 FusedMBConv

EfficientNetv2 的 Fused-MBConv?

  • DWConv 的局限性:与常规卷积相比,深度卷积的参数和FLOPS更少,但它们往往不能充分利用现代加速器
  • Fused-MBConv:用单个常规组件3x3取代了 MBConv 中的分段 conv 3x3和扩展 conv 1x1
  • 但是论文使用 Fused-MBConv 替换了不同 stage 上的 MBConv,发现在 1-5 之间效果是逐渐提升的,当增加到 7 时,准确率和性能都下降,所以最后结论是不能全部使用 Fused-MBConv,而是两个都使用,使用 NAS 搜索最佳搭配

EfficientNetv2 “渐进学习”策略?

  • 当训练的图片尺寸较小时,使用较弱的数据增强 augmentation 能够达到更好的结果;当训练的图像尺寸较大时,使用更强的数据增强能够达到更好的接果,证明在训练不同尺寸的图像时,应该使用动态的正则方法(之前都是使用固定的正则方法)
  • 如上图所示,在训练早期使用较小的训练尺寸以及较弱的正则方法 weak regularization,这样网络能够快速的学习到一些简单的表达能力。接着逐渐提升图像尺寸,同时增强正则方法 adding stronger regularization。这里所说的 regularization 包括 dropout rate,RandAugment magnitude 以及 mixup ratio

EfficientNetv2 的 NAS Search?

  • 这次的优化目标联合了 accuracy、parameter efficiency 以及 trainning efficiency 三个维度,搜索空间如下
    1
    2
    3
    4
    convolutional operation type :{MBConv, Fused-MBConv}
    number of layer
    kernel size :{3x3, 5x5}
    expansion ratio (MBConv中第一个expand conv1x1或者Fused-MBConv中第一个expand conv3x3): {1, 4, 6}
  • 借助强化学习的思想,接着在搜索空间中随机采样了1000个模型,并针对每个模型训练10个epochs(使用较小的图像尺度)

EfficientNetV2与 EfficientNet 的区别?

  • EfficientNetV2在浅层网络中广泛使用 MBConv 和 Fused-MBConv
  • EfficientNetV2更偏向 MBConv 的较小的 expansion rario, 因为较小的 expansion ratio 往往具有较小的内存访问开销
  • EfficientNetV2更偏向更小的3 x3卷积核,但它增加了更多的层来补偿由于小卷积核导致的感受野减少
  • EfficientNetV2完全移除了原始EfficientNet中的最后一个stride-1阶段,这可能是由于其较大的参数大小和内存访问开销

参考:

  1. EffiecientNetV2架构复现–CVPR2021 - 掘金