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
4convolutional 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阶段,这可能是由于其较大的参数大小和内存访问开销
参考: