目录

0.论文地址

1.引言

2.EfficientNetV1中存在的问题

3. EfficientNetV2的创新点

4.NSA搜索

5.EfficientNetV2网络框架

6.Progressive Learning渐进学习策略


0.论文地址

https://arxiv.org/abs/2104.00298https://arxiv.org/abs/2104.00298

1.引言

EfficientNetV2网络不仅Accuracy达到了当前的SOTA(State-Of-The-Art)最前沿水平,而且训练速度更快参数数量更少(比当前火热的Vision Transformer还要强)。

V2-M与V1-B7相比,准确率几乎一致,参数减少了17%,理论计算量FLOPs减少了37%,训练时间TrainTime减少了76%,推理时间InferTime减少了66%!

2.EfficientNetV1中存在的问题

1. 训练图像的尺寸很大时,训练速度非常慢。B7(img_size=600)时基本训练不动,而且非常吃显存。针对这个问题一个比较好想到的办法就是降低训练图像的尺寸,之前也有一些文章这么干过。降低训练图像的尺寸不仅能够加快训练速度,还能使用更大的batch_size。

2.在网络浅层中使用Depthwise convolutions速度会很慢。 虽然Depthwise convolutions结构相比普通卷积拥有更少的参数以及更小的FLOPs,但通常无法充分利用现有的一些加速器(虽然理论上计算量很小,但实际使用起来并没有想象中那么快)。Fused-MBConv结构也非常简单,即将原来的MBConv结构(之前在将EfficientNetv1时有详细讲过)主分支中的expansion conv1x1和depthwise conv3x3替换成一个普通的conv3x3,如图2所示。作者也在EfficientNet-B4上做了一些测试,发现将浅层MBConv结构替换成Fused-MBConv结构能够明显提升训练速度。再使用NAS技术去搜索MBConvFused-MBConv的最佳组合。

3.同等的放大每个stage是次优的。 在EfficientNetV1中,每个stage的深度和宽度都是同等放大的。但每个stage对网络的训练速度以及参数数量的贡献并不相同,所以直接使用同等缩放的策略并不合理。在这篇文章中,作者采用了非均匀的缩放策略来缩放模型。

3. EfficientNetV2的创新点

同时关注训练速度以及参数数量。

However, their training speed often comes with the cost of more paramters. This paper aims to significantly imporve both training and parameter efficiency than prior art.

1.引入新的网络(EfficientNetV2)该网络在训练速度以及参数数量上都优于先前的一些网络。

2.提出了改进的渐进学习方法,该方法会根据训练图像的尺寸动态调节正则方法(例如dropout、data augmentation和mixup)。通过实验展示了该方法不仅能够提升训练速度,同时还能提升准确率。

3.通过实验与先前的一些网络相比,训练速度提升11倍,参数数量减少为1/6.8。

4.NSA搜索

这里采用的是trainning-aware NAS framework,搜索工作主要还是基于之前的Mnasnet以及EfficientNet. 但是这次的优化目标联合了accuracy、parameter efficiency以及trainning efficiency三个维度。这里是以EfficientNet作为backbone,设计空间包含:

convolutional operation type(MBConv、Fused-MBConv

kernel_size(3*3、5*5

expansion ratio(1、4、6

在搜索空间中随机采样了1000个模型,并针对每个模型训练10个epochs(使用较小的图像尺度)。搜索奖励结合了模型准确率A,标准训练一个step所需时间S以及模型参数大小P,奖励函数可写成:

其中,w = − 0.07,v = − 0.05

目标:准确率高、每个step训练时间短、模型参数少。

5.EfficientNetV2网络框架

第一个不同点在于EfficientNetV2中除了使用到MBConv模块外,还使用了Fused-MBConv模块(主要是在网络浅层中使用)。

第二个不同点是EfficientNetV2会使用较小的expansion ratio(MBConv中第一个expand conv1x1或者Fused-MBConv中第一个expand conv3x3)比如4,在EfficientNetV1中基本都是6,这样的好处是能够减少内存访问开销。

第三个不同点是EfficientNetV2中更偏向使用更小(3x3)的kernel_size,在EfficientNetV1中使用了很多5x5的kernel_size。通过下表可以看到使用的kernel_size全是3x3的,由于3x3的感受野是要比5x5小的,所以需要堆叠更多的层结构以增加感受野。

最后一个不同点是移除了EfficientNetV1中最后一个步距为1的stage(就是EfficientNetV1中的stage8,可能是因为它的参数数量过多并且内存访问开销过大。

stage0Conv3x3就是普通的3x3卷积 + 激活函数(SiLU)+ BN

stage1-6

注意当expansion ratio等于1时是没有expand conv的,还有这里是没有使用到SE结构的(原论文图中有SE)。注意当stride=1且输入输出Channels相等时才有shortcut连接还需要注意的是,当有shortcut连接时才有Dropout层,而且这里的Dropout层是Stochastic Depth即会随机丢掉整个block的主分支(只剩捷径分支,相当于直接跳过了这个block)也可以理解为减少了网络的深度

MBConv模块和EfficientNetV1中是一样的,其中模块名称后跟的4,6表示expansion ratio,SE0.25表示使用了SE模块,0.25表示SE模块中第一个全连接层的节点个数是输入该MBConv模块特征矩阵channels的1/4。注意当stride=1且输入输出Channels相等时才有shortcut连接。同样这里的Dropout层是Stochastic Depth。

配置表中,r2_k3_s1_e1_i24_o24_c1代表:Operator重复堆叠2次,kernel_size=3,stride=1,expansion=1,input_channels=24,output_channels=24,conv_type为Fused-MBConv。

EfficientNetV2-M的详细参数:在baseline(EfficientNetV1-B5)的基础上采用了width倍率因子1.6,depth倍率因子2.2得到。

EfficientNetV2-L的详细参数:在baseline(EfficientNetV1-B7)的基础上采用了width倍率因子2.0, depth倍率因子3.1得到。

6.Progressive Learning渐进学习策略

训练图像的尺寸对训练模型的效率有很大的影响。所以在之前的一些工作中很多人尝试使用动态的图像尺寸(比如一开始用很小的图像尺寸,后面再增大)来加速网络的训练,但通常会导致Accuracy降低。作者提出了一个猜想:Accuracy的降低是不平衡的正则化unbalanced regularization导致的。在训练不同尺寸的图像时,应该使用动态的正则方法(之前都是使用固定的正则方法)。训练过程中尝试使用不同的图像尺寸以及不同强度的数据增强data augmentations当训练的图片尺寸较小时,使用较弱的数据增强augmentation能够达到更好的结果;当训练的图像尺寸较大时,使用更强的数据增强能够达到更好的接果。如下表所示,当Size=128,RandAug magnitude=5时效果最好;当Size=300,RandAug magnitude=15时效果最好:

基于以上实验,作者就提出了渐进式训练策略Progressive Learning。如上图所示,在训练早期使用较小的训练尺寸以及较弱的正则方法weak regularization,这样网络能够快速的学习到一些简单的表达能力。接着逐渐提升图像尺寸,同时增强正则方法adding stronger regularization这里所说的regularization包括dropout rate,RandAugment magnitude以及mixup ratio。

python的学习还是要多以练习为主,想要练习python的同学,推荐可以去看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费。

牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网求职之前,先上牛客,就业找工作一站解决。互联网IT技术/产品/运营/硬件/汽车机械制造/金融/财务管理/审计/银行/市场营销/地产/快消/管培生等等专业技能学习/备考/求职神器,在线进行企业校招实习笔试面试真题模拟考试练习,全面提升求职竞争力,找到好工作,拿到好offer。https://www.nowcoder.com/link/pc_csdncpt_ssdxjg_python

他们这个python的练习题,知识点编排详细,题目安排合理,题目表述以指导的形式进行。整个题单覆盖了Python入门的全部知识点以及全部语法,通过知识点分类逐层递进,从Hello World开始到最后的实践任务,都会非常详细地指导你应该使用什么函数,应该怎么输入输出。

牛客网(牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网)还提供题解专区和讨论区会有大神提供题解思路,对新手玩家及其友好,有不清楚的语法,不理解的地方,看看别人的思路,别人的代码,也许就能豁然开朗。

快点击下方链接学起来吧!

牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网

参考自:

强烈推荐:10.1 EfficientNetV2网络详解_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV19v41157AU?spm_id_from=333.999.0.0

EfficientNetV2网络详解_太阳花的小绿豆的博客-CSDN博客_efficientnetv2https://blog.csdn.net/qq_37541097/article/details/116933569

Efficient Net_V2相关推荐

  1. 面向Mobile device的CNN模型手工设计与NAS分析总结,MobileNet V1,V2,V3,Efficient,MNasNet以及Efficient network design

    手工方法和NAS的高效网络模型设计总结与分析 这篇文章主要关注对于移动端,资源受限平台的高效神经网络设计(Manually)和搜索(NAS). ​​​​​​高效的CNN设计不只是用在服务器,云端,资源 ...

  2. Bag of Tricks for Efficient Text Classification论文阅读及实战

    本文目录 一.Fasttext算法综述 二.原理介绍及优化策略 三.Fasttext算法实战(注:以下代码仅在Linux系统下使用!) 四.参考资料 本文目录(仅做浏览用,暂时不支持页面内跳转) 一. ...

  3. efficient分类0第一个分支训练

    1. train_0: 用1个GPU,两个GPU也可以训练但是会有问题,保存的模型测试结果都是一样的,所有测试图片结果一样,但每次测结果都不一样(第一次:000000,第二次555555,第三次888 ...

  4. DDR: efficient computational method to predict drug–target interactions using graph mining and machi

    DDR: efficient computational method to predict drug–target interactions using graph mining and machi ...

  5. Efficient local alignment discovery amongst noisy long reads

    有效的局部比对发现在嘈杂的长读 Long read sequencers portend the possibility of producing reference quality genomes ...

  6. Efficient Hybrid De Novo Error Correction and Assembly for Long Reads

    Efficient Hybrid De Novo Error Correction and Assembly for Long Reads       长read的高效的混合从头纠错和装配 Abstr ...

  7. LoRDEC: accurate and efficient long read error correction LoRDEC:精确且高效的长read校正

    LoRDEC: accurate and efficient long read error correction LoRDEC:精确且高效的长read校正 动机:PacBio单分子实时测序是一种产生 ...

  8. 快速人脸验证--MobileFaceNets: Efficient CNNs for Accurate Real-time Face Verification on Mobile Devices

    MobileFaceNets: Efficient CNNs for Accurate Real-time Face Verification on Mobile Devices Face Verif ...

  9. 人体姿态跟踪--Pose Flow: Efficient Online Pose Tracking

    Pose Flow: Efficient Online Pose Tracking https://github.com/MVIG-SJTU/AlphaPose 本文主要是关于人体姿态跟踪方面的内容. ...

  10. 人脸检测--Supervised Transformer Network for Efficient Face Detection

    Supervised Transformer Network for Efficient Face Detection ECCV2016 人脸检测: the cascaded network:end- ...

最新文章

  1. 小白成长之路_LeetCode刷题记录
  2. git 切换成远程分支
  3. Webpack中的sourcemap
  4. 实践 | Centos 7搭建LVS+Keepalived高可用Web服务群集群
  5. opengl显示英文_OpenGL-Using Shaders(使用Shader)
  6. 中南大学 科学计算与MATLAB语言 11矩阵求值
  7. MYSQL数据库管理与应用
  8. pytorch学习笔记7--循环神经网络、GAN
  9. IntelliJ IDEA 设置代码提示或自动补全的快捷键 (附IntelliJ IDEA常用快捷键)
  10. IPv6- Haproxy1.5.8 支持IPv6测试详情
  11. 【项目】森林预言家——森林火灾预防系统
  12. 运放-环路控制系统-零点、极点、频宽、波特图、二阶、RC概念
  13. An operation on a socket could not be performed because the system lacked sufficient buffer space or
  14. 网格顶点法向量从世界坐标到切空间坐标转换:法向贴图高低模烘焙
  15. Translate Aticle
  16. 【STM32-机智云平台】ESP8266模块,如何烧录机智云固件,参考经验贴
  17. react为什么要废弃三个生命周期?
  18. 华为mate50鸿蒙,华为Mate50概念图:棱形摄像头+鸿蒙OS,依靠备胎计划还能否翻身...
  19. xp计算机如何查看内存大小,怎样查看电脑内存大小_xp怎么看电脑内存大小
  20. oracle数据库内存结构pga/sga/uga做比较分析

热门文章

  1. 平方米的计算机公式,表格中平方米计算公式(怎么用excel计算平方)
  2. 论文翻译:Pose-conditioned Spatio-Temporal Attention for Human Action Recognition
  3. 智能汽车HMI“火了”
  4. 论坛介绍 | COSCon'22 开源硬件(H)
  5. Spark快速大数据分析——Spark安装与IDEA 开发(贰)
  6. 【那些年学过的计算机基础】--计算机发展史(图片版)
  7. 温度反转效应(文末附2018数字IC后端最新校招笔试题目)
  8. 【深入理解TcaplusDB技术】详细介绍TDR 表中Tcaplus的相关属性
  9. 英语四六级选择题自动判卷算法
  10. 草根创业,我劝你抓住网络培训的机会!