Efficient Net_V2
目录
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技术去搜索MBConv
和Fused-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,可能是因为它的参数数量过多并且内存访问开销过大。
stage0:Conv3x3就是普通的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相关推荐
- 面向Mobile device的CNN模型手工设计与NAS分析总结,MobileNet V1,V2,V3,Efficient,MNasNet以及Efficient network design
手工方法和NAS的高效网络模型设计总结与分析 这篇文章主要关注对于移动端,资源受限平台的高效神经网络设计(Manually)和搜索(NAS). 高效的CNN设计不只是用在服务器,云端,资源 ...
- Bag of Tricks for Efficient Text Classification论文阅读及实战
本文目录 一.Fasttext算法综述 二.原理介绍及优化策略 三.Fasttext算法实战(注:以下代码仅在Linux系统下使用!) 四.参考资料 本文目录(仅做浏览用,暂时不支持页面内跳转) 一. ...
- efficient分类0第一个分支训练
1. train_0: 用1个GPU,两个GPU也可以训练但是会有问题,保存的模型测试结果都是一样的,所有测试图片结果一样,但每次测结果都不一样(第一次:000000,第二次555555,第三次888 ...
- 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 ...
- Efficient local alignment discovery amongst noisy long reads
有效的局部比对发现在嘈杂的长读 Long read sequencers portend the possibility of producing reference quality genomes ...
- Efficient Hybrid De Novo Error Correction and Assembly for Long Reads
Efficient Hybrid De Novo Error Correction and Assembly for Long Reads 长read的高效的混合从头纠错和装配 Abstr ...
- LoRDEC: accurate and efficient long read error correction LoRDEC:精确且高效的长read校正
LoRDEC: accurate and efficient long read error correction LoRDEC:精确且高效的长read校正 动机:PacBio单分子实时测序是一种产生 ...
- 快速人脸验证--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 ...
- 人体姿态跟踪--Pose Flow: Efficient Online Pose Tracking
Pose Flow: Efficient Online Pose Tracking https://github.com/MVIG-SJTU/AlphaPose 本文主要是关于人体姿态跟踪方面的内容. ...
- 人脸检测--Supervised Transformer Network for Efficient Face Detection
Supervised Transformer Network for Efficient Face Detection ECCV2016 人脸检测: the cascaded network:end- ...
最新文章
- 小白成长之路_LeetCode刷题记录
- git 切换成远程分支
- Webpack中的sourcemap
- 实践 | Centos 7搭建LVS+Keepalived高可用Web服务群集群
- opengl显示英文_OpenGL-Using Shaders(使用Shader)
- 中南大学 科学计算与MATLAB语言 11矩阵求值
- MYSQL数据库管理与应用
- pytorch学习笔记7--循环神经网络、GAN
- IntelliJ IDEA 设置代码提示或自动补全的快捷键 (附IntelliJ IDEA常用快捷键)
- IPv6- Haproxy1.5.8 支持IPv6测试详情
- 【项目】森林预言家——森林火灾预防系统
- 运放-环路控制系统-零点、极点、频宽、波特图、二阶、RC概念
- An operation on a socket could not be performed because the system lacked sufficient buffer space or
- 网格顶点法向量从世界坐标到切空间坐标转换:法向贴图高低模烘焙
- Translate Aticle
- 【STM32-机智云平台】ESP8266模块,如何烧录机智云固件,参考经验贴
- react为什么要废弃三个生命周期?
- 华为mate50鸿蒙,华为Mate50概念图:棱形摄像头+鸿蒙OS,依靠备胎计划还能否翻身...
- xp计算机如何查看内存大小,怎样查看电脑内存大小_xp怎么看电脑内存大小
- oracle数据库内存结构pga/sga/uga做比较分析
热门文章
- 平方米的计算机公式,表格中平方米计算公式(怎么用excel计算平方)
- 论文翻译:Pose-conditioned Spatio-Temporal Attention for Human Action Recognition
- 智能汽车HMI“火了”
- 论坛介绍 | COSCon'22 开源硬件(H)
- Spark快速大数据分析——Spark安装与IDEA 开发(贰)
- 【那些年学过的计算机基础】--计算机发展史(图片版)
- 温度反转效应(文末附2018数字IC后端最新校招笔试题目)
- 【深入理解TcaplusDB技术】详细介绍TDR 表中Tcaplus的相关属性
- 英语四六级选择题自动判卷算法
- 草根创业,我劝你抓住网络培训的机会!