EfficientNet-V2论文阅读笔记

目录

    • EfficientNetV2: Smaller Models and Faster Training
      • 摘要
      • Introduction—简介
      • Related work—相关工作
      • EfficientNetV2 Architecture Design—高效EfficientNetV2架构设计
        • Understanding Training Efficiency—了解训练效率
        • Training-Aware NAS and Scaling—训练感知NAS和缩放
        • EfficientNetV2 Architecture—EfficientNetV2 体系结构
        • Progressive Learning—渐进式学习
        • Stochastic Depth(dropout)
      • 总结

EfficientNetV2: Smaller Models and Faster Training

论文链接:EfficientNetV2: Smaller Models and Faster Training

该网络主要使用训练感知神经结构搜索缩放的组合;在EfficientNetV1的基础上,引入了Fused-MBConv到搜索空间中;引入渐进式学习策略自适应正则强度调整机制使得训练更快;进一步关注模型的推理速度训练速度

摘要

(1)本文使用训练感知神经结构搜索(training-aware NAS)和缩放的组合,以共同优化训练速度和参数效率

(2)从空间搜索领域引入新的操作:Fused-MBConv优化模型

(3)提出了一种改进的渐进式学习方法,它自适应地调整正则化(如dropout和数据增强)以及图像大小,用来加速训练过程

(4)实验表明,EfficientNetV2模型的训练速度比最先进的模型快得多,但参数量小6.8倍

Introduction—简介

之前有关训练效率的工作

  • NFNets: 去除批量归一化

  • 添加注意力机制

  • Vision Transformers: 使用Transformer块

之前的不足

这些方法在大参数规模上往往伴随着大量的参数计算

EfficientNet v1的不足

(1)输入分辨率大时训练比较慢

(2)深度depth-wise卷积在网络浅层中比较慢

(3)用同样的缩放系数缩放网络的每个stage是次优的

本文采用的方法

(1)作者设计了一个包含额外算子ops如Fused-MBConv的搜索空间,并应用训练感知training-aware的NAS和缩放scaling来联合优化模型精度、训练速度和参数大小。

(2)本文还提出了一种改进的渐进式训练progressive learning方法:在训练的早期用较小的输入和较弱的正则化,随着训练的进行,逐渐增大输入分辨率和正则化的强度。

本文主要贡献

(1)本文提出了EfficientNet V2,一个更小更快的模型,基于training-aware NAS和scaling,EfficientNetV2在训练速度和参数效率方面都优于之前的模型。

(2)本文提出了一种改进的渐进式训练方法,它自适应的调整正则化和输入大小,通过实验证明该方法既加快了训练速度,同时也提高了准确性。

(3)EfficientNetV2结合改进的渐进式训练方法,在ImageNet、CIFAR、Cars、Flowers数据集上,比之前的模型训练速度最高提升了11倍,参数效率最高提升了6.8倍。

Related work—相关工作

Training and parameter efficiency—训练和参数效率

  • 以较少的参数实现更高的精度: DenseNet和EfficientNet
  • 侧重于GPU和/或TPU推理速度: RegNet、ResNeSt、TResNet和EfficientNet-X
  • 专注于提高训练速度: NFNET和BoTNets

Progressive training—渐进式训练

先前研究的渐进式训练:GANs、迁移学习、对抗性学习和语言模型

本文方法:本文主要通过自适应地调整正则化,提高训练速度和精度。同时也通过增加更多的正则化来逐渐增加学习难度,但没有选择性地选择训练示例。

Neural architecture search (NAS)—神经架构搜索

本文使用NAS优化训练效率和参数效率

EfficientNetV2 Architecture Design—高效EfficientNetV2架构设计

Understanding Training Efficiency—了解训练效率

Training with very large image sizes is slow—使用非常大的图像大小进行训练的速度很慢

存在的问题: 训练图像的尺寸很大时,训练速度非常慢

本文方法: 降低训练图片尺寸,加快训练速度的同时还可以使用更大的 batch_size。

image-20240619211129235

Depthwise convolutions are slow in early layers but ef- fective in later stages—深度卷积在早期阶段较慢,但在后期阶段有效

DW 卷积在现有的硬件下是无法利用很多加速器的,所以实际使用起来并没有想象中那么快(虽然DW理论上计算量很小)。

引入Fused-MBConv,结构如下图就是把EfficientNetV1的MBConv 模块的conv1×1和dw conv 用conv3×3替换

image-20240619211450501

替换后的结果从下表可以看出,用Fused-MBConv替换stage1-3或者stage1-5,精度提升的同时训练速度也有所提升。

但如果用Fused-MBConv替换stage1-7所有模块,不仅会导致参数和FLOPs会增加(这两个指标怎样替换都会增加,从下表可看出),同时训练速度也会降低。

image-20240619211741025

本文目标: 找到MBConv和Fused-MBConv这两个模块的正确组合

本文方法: 使用 NAS 技术进行搜索,将前三个 MBConv 用Fused-MBConv进行替换

Equally scaling up every stage is sub-optimal—对每个阶段做相同的扩展是次优的

之前的问题:

(1)在 EfficientNetV1 中每个 stage 的深度和宽度都是同等放大的。也就是直接简单粗暴的乘上宽度和深度缩放因子就行了,但是不同 stage 对于网络的训练速度,参数量等贡献并不相同。

(2)EfficientNet的采用大尺寸图像导致大计算量、训练速度降低问题。

本文方法:

(1)采用非均匀缩放策略对后面的stage添加更多的层。(每个stage的缩放因子是不同的)

(2)对缩放规则进行了轻微调整并将最大图像尺寸限制在一个较小的数值。

Training-Aware NAS and Scaling—训练感知NAS和缩放

NAS Search—NAS搜索

目的:联合优化精度、参数效率和现代加速器的训练效率

本文使用的方法:

(1)使用EfficientNet作为主干。搜索空间是一个类似于EfficientNet v1的基于阶段的因式分解空间(stage-based factorized space),

(2)这里进行网络搜索的单元是stage,其中的搜索空间包括:卷积模块的类型(MBConv或Fused-MBConv),stage中layer的数量,卷积kernel的大小3或5,膨胀系数[1,4,6]。

减少了搜索空间的大小的方法:

(1)移除了诸如pooling skip这类非必要的op,因为这类op在EfficientNet中就没有存在

(2)重用EfficientNet中搜索的到的channel数

公式:使用简单加权乘积 image-20240619212619173

其中,w = -0.07和v = -0.05(经验所得)

EfficientNetV2 Architecture—EfficientNetV2 体系结构

image-20240619215226923

与V1的不同:

(1)除了使用 MBConv 之外还使用了 Fused-MBConv 模块,加快训练速度与提升性能

(2)使用较小的 expansion ratio (之前都是6),从而减少内存的访问量

(3)趋向于选择kernel大小为3的卷积核,但是会增加多个卷积用以提升感受野,( V1 中有 5 × 5 )

(4)移除了最后一个stride为1的stage,从而减少部分参数和内存访问

Fused-MBConv模块

当expansion ratio = 1 时,图中conv1 × 1 这一层是没有的。

注意:无论是expansion ratio是否等于1,无论是Fused-MBConv模块还是MBConv模块,dropout和shortcut都是同生共死的,即有shortcut才需要dropout,而shortcut需要channel一致才能执行。

image-20240619220841858

EfficientNetV2 Scaling—EfficientNetV2缩放

作者在EfficientNetV2-S的基础上采用类似EfficientNet的复合缩放,并添加几个额外的优化,得到EfficientNetV2-M/L。

额外的优化描述如下:

(1)限制最大推理图像尺寸为480

(2)在网络的后期添加更多的层提升模型容量且不引入过多耗时

Progressive Learning—渐进式学习

实验探究

当用不同的图像尺寸进行训练时,也应该相应地调整正则化强度(而不是像以前的工作那样使用固定的正则化)

下表就是用同一网络,以不同的输入大小和不同的正则强度进行训练的结果,可以看出需要一起进行共同调整,提高饱和点。

image-20240619232320117

结论:

(1)即使是相同的网络,较小的图像尺寸会导致较小的网络容量,因此需要较弱的正则化

(2)反之,较大的图像尺寸会导致更多的计算,而容量较大,因此更容易出现过拟合

(3)当图像大小较小时,弱增强的精度最好;但对于较大的图像,更强的增强效果更好

Progressive Learning with adaptive Regularization—自适应正则化的渐进学习

训练早期使用较小的训练尺寸以及较弱的正则方法weak regularization,这样网络能够快速的学习到一些简单的表达能力。接着逐渐提升图像尺寸,同时增强正则方法adding stronger regularization。这里所说的regularization包括Dropout,RandAugment以及Mixup。

image-20240619232502587

它从较小的图像大小和弱正则化(epoch=1)开始,然后随着图像大小和强正则化逐渐增加学习难度:dropout rate较大,RandAugment幅度较大,mixup ratio(如epoch=300)较大。

渐进式学习策略可以抽象成了一个公式来设置不同训练阶段使用的训练尺寸以及正则化强度。

以下算法1总结了过程:

image-20240619233041457

image-20240619233141982

下表给出了EfficientNetV2(S,M,L)三个模型的渐进学习策略参数,Image Size越大其他参数也需要适当进行增大。

image-20240619233802603

Stochastic Depth(dropout)

论文链接:Deep Networks with Stochastic Depth

从下图可知,每一层都当作一个残差结构,通过存活率来控制,存活率是递减的,开始为1.0,存活时该层为active,失活时该层为inactive,相当于输入就是输出,没有这一层,因此该网络的深度是随机的

在EfficientNetV2的dropout中也是这种原理,但是不是通过存活率控制,而是用drop_prob(失活率)控制,drop_prob在0 - 0.2之间。

优点:提升训练速度,小幅提升准确率。

注意:EfficientNetV2中,这里的dropout层仅指Fused-MBConv模块以及MBConv模块中的dropout层,不包括最后全连接前的dropout层。

image-20240619220131617

总结

本文是EfficientNet原作者对其进行的一次升级,旨在保持参数量高效利用的同时尽可能提升训练速度。

作者系统性的研究了EfficientNet的训练过程,并总结出了三个问题:

  1. 训练图像的尺寸很大时,训练速度非常慢
  2. 在网络浅层中使用Depthwise convolutions速度会很慢
  3. 同等的放大每个阶段是次优的

在EfficientNet的基础上,引入了Fused-MBConv到搜索空间中;同时为渐进式学习引入了自适应正则强度调整机制,两种改进的组合得到了EfficientNetV2。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/35336.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1、Python编程入门:从硬件基础到解释器类型

Python是一种免费、开源、跨平台、动态、面向对象的编程语言。它以其简洁易读的语法和强大的功能而闻名,广泛应用于各种领域,如Web开发、数据分析、人工智能等。本文将介绍Python的基本概念、执行方式以及常用的Linux命令,帮助初学者快速入门…

DHT11

第一个传感----DHT11 通过前面的学习,你已经学会了控制IO口、延时函数、串口的收发。接下来,你就可以借助以上的知识点完成自己的第一个传感器--DHT11啦! DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。应用非常广…

【ai】tx2 nx : fix pip升级警告

jetson 环境同样出现:【原创】pip3 使用报警问题在对 Ubuntu 18.04 上的 pip3 9.0.1 版本使用 pip install -U pip 的方式进行升级后,再使用 pip 就会出现一堆警告信息。这个警告信息目前不影响使用,但从警告信息来看,会在未来版本中出现失败风险。 当前系统中存在了两个不…

【浅学】大模型(科普向_持续更新中)

【读者福利】大模型全套教程,微信扫码领取~ 1. 大模型概述 大模型是指具有数千万甚至数亿参数的深度学习模型。 当我们提及大模型时,通常指的是大语言模型(Large Language Model,简称LLM),即文字问答模型…

RAID详解及配置实战

目录 一、RAID磁盘阵列及详解 1.1 了解RAID 1.1.1 简单理解 1.1.2 对比了解 1.2 RAID磁盘阵列介绍 1.3 RAID功能实现 1.4 RAID实现的方式 1.5 RAID级别详解 1.5.1 RAID -0 1.5.2 RAID -1 1.5.3 RAID -5 1.5.4 RAID -10(RAID 10) 1.6 阵列卡…

数据驭王: PostgreSQL教程指南解密

PostgreSQL教程大纲 一、介绍1.1 什么是PostgreSQL?1.2 PostgreSQL的历史和发展1.3 为什么选择PostgreSQL? 二、安装和设置2.1 下载和安装PostgreSQL2.2 配置PostgreSQL2.3 测试PostgreSQL 三、基本操作3.1 连接到PostgreSQL数据库步骤一:安装…

如何实现灌区闸门控制自动化?宏电“灌区哨兵”为灌区闸门控制添“智慧”动能

闸门控制站是节水灌溉工程中的重要组成部分。随着科技的不断进步和农田水利现代化的发展,传统的闸门控制和管理手段已经不能满足现代农业的发展要求。以宏电“灌区哨兵”为核心的闸门自动化控制系统,能有效解决灌区闸门距离远、数量多、不易操作、不好监…

ApolloClient GraphQL 与 ReactNative

要在 React Native 应用程序中设置使用 GraphQL 的简单示例,您需要遵循以下步骤: 设置一个 React Native 项目。安装 GraphQL 必要的依赖项。创建一个基本的 GraphQL 服务器(或使用公共 GraphQL 端点)。从 React Native 应用中的…

CST软件中滤波器中外部耦合偏小怎么办

在电磁仿真领域,CST Studio Suite(CST 工作室套装)软件以其强大的功能和易用性而广受工程师和科研人员的青睐。然而,在使用CST软件进行滤波器设计时,有时会遇到外部耦合偏小的问题,这可能导致滤波器的性能不…

避开常见的坑,快速制作一个免费、交互式景区导游地图

目录 1 前言 2 注册登录 3 增加景区,注意设置地图中心点和级别 3.1 确定地图位置和缩放级别 3.2 新增景区,输入几个文本项目 3.3 可以继续调整地图位置和级别 4 增加景点 4.1 点击景点跳转错误 5 新增景区和景点介绍帖子,需要催一下…

系统架构师考点--计算机网络

大家好。今天我来总结一下计算机网络的相关考点。本部分分值占3-5分,基本上都出现在上午场的选择题。 一、网络功能和分类 计算机网络是计算机技术与通信技术相结合的产物,它实现了远程通信、远程信息处理和资源共享。 计算机网络的功能:数…

无限制数字(仅仅int类型)的大小的自然排序算法

直接上代码&#xff1a; #include <iostream> #include <vector> #include <string> #include <algorithm> #include <cctype>// Function to compare two strings in a natural way bool naturalCompare(const std::string& a, const std:…

java版本ERP管理系统源码 Spring Cloud erp系统-更专业的ERP管理系统

ERP&#xff08;Enterprise Resource Planning&#xff0c;企业资源计划&#xff09;软件是一种集成的管理平台&#xff0c;它将企业的所有业务流程&#xff0c;包括采购、销售、库存、财务等&#xff0c;整合到一个统一的系统中。这种整合不仅提高了工作效率&#xff0c;还增强…

电脑硬盘数据恢复,4个方法,轻松恢复数据

在数字化时代的浪潮中&#xff0c;电脑硬盘不仅是存储数据的仓库&#xff0c;更是我们生活、工作、学习的记忆宫殿。然而&#xff0c;当这个宫殿中的一部分珍贵记忆突然消失&#xff0c;仿佛历史的片段被无情地抹去&#xff0c;我们不禁会感到焦虑和恐慌。此时&#xff0c;电脑…

【播客笔记】摸着大佬入门!把〖AI+能源〗〖AI+硬件〗两个热门话题彻底聊透! | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; 1. 硅谷101 | 科技巨头们开始抢电&#xff1f;聊聊AI用电荒和核聚变创业热 播客链接 → https://www.xiaoyuzhoufm.com/episode/663035780571efa80f8…

基于springboot在线考试报名系统-计算机毕业设计源码031706

摘 要 随着计算机技术的迅猛发展&#xff0c;学校教学和管理的信息化发展也有长足的进步&#xff0c;考试也是一样。与传统的考试方式相比&#xff0c;网络考试报名系统极大地提高了考试的灵活性&#xff0c;并在许多领域已经有了广泛的应用。网上考试报名系统的最大优点是可以…

视频文件太大怎么压缩?十大视频压缩软件可解决您的问题

您是否已经受够了无法上传视频文件&#xff0c;因为它们太大了&#xff1f;如果您正在积极寻找免费下载的视频压缩软件&#xff0c;下面概述了目前在线提供的 10 个功能更强大的软件。 我们建议您在决定下载之前先通读一下这个简短的介绍。我们不希望您随意点击一个选项&#…

2024年JCR分区,将发生重大变化

科睿唯安官方微信发布消息&#xff0c;指出今年的期刊排名及相应JCR分区将发生重大变化。 原文比较长&#xff0c;不熟悉相关规则的朋友也不太容易读懂。因此&#xff0c;我们今天做一个详细的解读。 首先明确几个基本概念&#xff1a; &#xff08;1&#xff09;2024年发布2…

基于PHP+MySql的留言管理系统的设计与实现

功能概述 网页留言板管理系统&#xff0c;用户层面分为普通用户和管理员&#xff0c;并设权限&#xff08;即后台留言管理系统普通用户不能访问&#xff0c;别人的留言自己不可以修改删除&#xff0c;未登录不能使用留言功能&#xff09;&#xff0c;功能包括用户登录注册、留…

阿里云+Halo个人博客搭建

前言 本文将介绍使用阿里云Halo搭建一个个人网站&#xff0c;过程极其简单&#xff0c;不需要什么计算机基础&#xff0c;操作电脑跟着步骤做就行。 在开始之前&#xff0c;还需要做一些前置准备 购买好服务器&#xff0c;本文使用阿里云&#xff0c;系统选择CentOS 7.6 64位…