EfficientNet:对模型深度、宽度和分辨率的混合缩放策略

论文:https://arxiv.org/abs/1905.11946

项目:https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet

Pytorch实现:EfficientNet模型Pytorch版本具体实现-CSDN博客

一、概况

1、概述:

这张图可以清晰明了的显示EfficientNet 的卓越表现,一句话总结:更小的模型、更快的速度、更好的效果。

2、模型发展脉络:

卷积神经网络(ConvNets)通常在固定的资源预算下开发,然后在有更多资源可用的情况下进行扩展以获得更好的准确性。对于模型的扩展,通常来说有三条思路:模型的深度、模型的宽度、模型处理图像的分辨率。在以前的工作中,通常只扩展三个维度中的一个——深度、宽度和图像大小。尽管可以任意扩展两个或三个维度,但任意扩展需要繁琐的手动调整,并且通常会产生次优的准确性和效率。扩展的主要困难在于最优的三个维度相互依赖,并且在不同的资源约束下值会变化。

扩展模型的深度:模型扩展最先想到扩展深度,直觉是更深的卷积网络可以捕获更丰富和更复杂的特征,并且在新任务上泛化良好。然而,更深的网络也更难训练,因为梯度消失问题(可以通过批量归一化和残差连接缓解,但非常深的网络的准确性增益减少)。

扩展模型的宽度:扩展网络宽度通常用于小型模型,更宽的网络倾向于能够捕获更细粒度的特征,并且更容易训练。然而,极宽但浅的网络在捕获高级特征方面存在困难。

提高模型处理的图像分辨率:有了更高分辨率的输入图像,卷积网络可以潜在地捕获更细粒度的模式。

单独提高上述三个方面中的一个会出现上图的结果:可以发现不管是提高深度、宽度、还是分辨率都可以提高模型的性能,这一点已经在实际中有了ResNet就是扩展模型深度的代表,MobileNet就是扩展模型宽度的代表。

但是从上图我们可以发现单独提高 深度、宽度、还是分辨率中的一个存在边界递减效应,精度增益在达到80%后迅速饱和,这表明了单维缩放的局限性。直观上,复合扩展方法有道理,因为如果输入图像更大,那么网络需要更多的层来增加接收场,更多的通道来捕捉更大图像上的更细粒度的模式。

研究表明,平衡网络宽度/深度/分辨率的所有维度至关重要,而且令人惊讶的是,这种平衡可以通过简单地以恒定比例扩展它们来实现。本文方法以一组固定的扩展系数均匀地扩展网络宽度、深度和分辨率。

二、技术细节

1、传统卷积架构: 

一个传统的卷积层可以这样表示:Y_{i}=F_{i}(X_{i}),F是卷积操作、Y是输出张量、X是输入张量。

那么一个卷积模型可以表示为:N=F_{k}\bigodot ...F_{2}\bigodot F_{1}(X_{1}),实际上,ConvNet层通常被划分为多个阶段,每个阶段中的所有层共享相同的架构:N=\bigodot F_{i}^{L_{i}} (X),使用F来表示每个阶段的操作,Li是每个阶段该操作要重复的次数。

与传统的卷积网络设计主要关注寻找最佳的层架构Fi不同,EfficientNet模型扩展试图在不改变基线网络中预定义的Fi的情况下扩展网络长度(Li)、宽度(Ci)和分辨率(Hi; Wi)。

那么问题就变成了一个优化问题:我在任何给定的资源约束下最大限度地提高模型精度:

其中w, d,r是用于扩展网络宽度、深度和分辨率的系数,H、W、C是给定的参数。

如上图所示, 在固定深度和分辨率的情况下改变宽度:每一条线都是基准模型的性能情况,横坐标不同表示改变的宽度,在更深(d=2.0)和更高分辨率(r=2.0)的情况下,宽度扩展在相同的FLOPS成本下实现了更好的准确性。所以怎么找到一组合适的权重w, d,r呢?

2、混合缩放:

缩放系数:

α; β; γ是可以通过小网格搜索确定的常数。由于常规卷积操作的FLOPS与d、w^{2}r^{2}成正比,因此我们限制\alpha ·\beta ^{2}·\gamma ^{2}\approx 2,以便对于任何新的φ,总FLOPS将大致增加2^{\phi },以确保在缩放过程中,计算复杂度(FLOPS)的增加保持在一个合理的范围内。

在确定了α、β、γ的最佳值之后,作者使用一个复合系数φ来统一控制网络宽度、深度和分辨率的缩放。φ是一个用户指定的系数,用于控制模型扩展有多少额外资源可用,而α、β、 γ分别指定如何将这些额外资源分配给网络宽度、深度和分辨率。

3、模型结构:

后续的模型参数:

 # (width, depth, resolution, dropout)        
'efficientnet-b0': (1.0, 1.0, 224, 0.2),       
'efficientnet-b1': (1.0, 1.1, 240, 0.2),       
'efficientnet-b2': (1.1, 1.2, 260, 0.3),        
'efficientnet-b3': (1.2, 1.4, 300, 0.3),       
'efficientnet-b4': (1.4, 1.8, 380, 0.4),        
'efficientnet-b5': (1.6, 2.2, 456, 0.4),        
'efficientnet-b6': (1.8, 2.6, 528, 0.5),       
'efficientnet-b7': (2.0, 3.1, 600, 0.5)

怎么得到的?

  1. 步骤1:确定缩放系数(α、β、γ)

    • 在这一步中,作者首先设定φ=1,这意味着假设有双倍的资源可用。然后,他们通过一个小规模的网格搜索来确定最佳的缩放系数α、β和γ。这些系数分别对应于网络深度、宽度和分辨率的缩放比例。
    • 通过这个搜索,作者找到了EfficientNet-B0的最佳缩放系数:α=1.2(深度),β=1.1(宽度),γ=1.15(分辨率),这些系数满足约束条件α·β^2·γ^2≈2,这个约束条件确保了在扩展模型时,计算复杂度(FLOPS)的增加是可控的。
  2. 步骤2:使用不同的φ值进行扩展

    • 在确定了α、β、γ的最优值之后,作者将这些值固定,并使用不同的φ值来扩展基线网络,从而得到EfficientNet-B1到B7系列模型。
    • φ值是一个复合系数,它决定了模型扩展的程度。通过改变φ的值,可以在不同的资源约束下获得不同规模的模型。例如,当φ=1时,模型的深度、宽度和分辨率分别按照α、β、γ的比例扩展,从而得到EfficientNet-B1。随着φ值的增加,模型会进一步扩展,从而得到更大的EfficientNet模型。

三、模型效果

1、模型性能、参数量、计算复杂度比较:

 

2、模型迁移能力:

3、缩放策略比较: 

类激活图效果:

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

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

相关文章

大模型学习笔记------SAM模型详解与思考

大模型学习笔记------SAM模型详解与思考 1、SAM框架概述2、Segment Anything Task3、Segment Anything Model SAM模型是Meta 提出的分割一切模型(Segment Anything Model,SAM)突破了分割界限,极大地促进了计算机视觉基础模型的发展…

【嵌入式软件】跑开发板的前置服务配置

在嵌入式开发中,通常需要在 开发板和主机之间共享、传输和挂载文件。 这篇文章是关于如何在 Ubuntu 中配置 Samba、TFTP 和 NFS 协议的详细步骤。这些协议分别用于远程文件共享、文件传输和内核挂载文件系统。 如何安装协议: 参考:ubuntu18配置:详细的内容我手写了一份文档。…

02、服务器的分类和开发项目流程

硬件介绍 1、服务器分类2.开发流程 1、服务器分类 1.1 服务器分类 1u服务器(u表示服务器的厚度) 1U4.45cm; 4u服务器(u表示服务器的厚度) , 服务器有两个电源模块,接在不同的电源,…

图像生成工具WebUI

介绍 Stable Diffusion WebUI(AUTOMATIC1111,简称A1111)是一个为高级用户设计的图形用户界面(GUI),它提供了丰富的功能和灵活性,以满足复杂和高级的图像生成需求。如今各种人工智能满天飞&…

面试经典题目:LeetCode274_H指数

leetcode274——H指数 暴力循环代码分析性能分析 方法1:排序加线性扫描算法步骤: 方法2:计数排序(适用于引用次数有上限)算法步骤: 题目链接:leetcode274_H指数 暴力循环 class Solution { publ…

【前端爬虫】关于如何获取自己的请求头信息(user-agent和cookie)

注意:由于user-agent和cookie中保存了部分账户信息,所以一定不要随意泄露给他人!!! 1.首先打开某个页面,点击键盘的F12键进入控制台,或者鼠标右键页面选择打开控制台 2.然后点击控制台上方的网…

将java项目部署到linux

命令解析 Dockerfile: Dockerfile 是一个文本文件,包含了所有必要的指令来组装(build)一个 Docker 镜像。 docker build: 根据 Dockerfile 或标准指令来构建一个新的镜像。 docker save: 将本地镜像保存为一个 tar 文件。 docker load: 从…

Chrome 浏览器原生功能截长屏

我偶尔需要截取一些网页内容作为素材,但偶尔内容很长无法截全,需要多次截屏再拼接,过于麻烦。所以记录下这个通过浏览器原生功能截长屏的方案。 注意 这种方案并不是百分百完美,如果涉及到一些需要滚动加载的数据或者悬浮区块&am…

Python+OpenCV系列:AI看图识人、识车、识万物

在人工智能风靡全球的今天,用 Python 和 OpenCV 结合机器学习实现物体识别,不仅是酷炫技能,更是掌握未来的敲门砖。本篇博文手把手教你如何通过摄像头或图片输入,识别人、动物、车辆及其他物品,让你的程序瞬间具备 AI …

PHPstudy中的数据库启动不了

法一 netstat -ano |findstr "3306" 查看占用该端口的进程号 taskkill /f /pid 6720 杀死进程 法二 sc delete mysql

Hive其一,简介、体系结构和内嵌模式、本地模式的安装

目录 一、Hive简介 二、体系结构 三、安装 1、内嵌模式 2、测试内嵌模式 3、本地模式--最常使用的模式 一、Hive简介 Hive 是一个框架,可以通过编写sql的方式,自动的编译为MR任务的一个工具。 在这个世界上,会写SQL的人远远大于会写ja…

百度智能云千帆AppBuilder升级,百度AI搜索组件上线,RAG支持无限容量向量存储!

百度智能云千帆 AppBuilder 发版升级! 进一步降低开发门槛,落地大模型到应用的最后一公里。在千帆 AppBuilder 最新升级的 V1.1版本中,企业级 RAG 和 Agent 能力再度提升,同时组件生态与应用集成分发更加优化。 • 企业级 RAG&am…

网络视频监控平台/安防监控/视频综合管理Liveweb视频汇聚平台解决方案

一、当前现状分析 当前视频资源面临以下问题: 1)不同单位在视频平台建设中以所属领域为单位,设备品牌众多,存在的标准不一,各系统之间也没有统一标准; 2)各单位视频平台建设分散、统筹性差&am…

c语言——数据结构【链表:单向链表】

上篇→快速掌握C语言——数据结构【创建顺序表】多文件编译-CSDN博客 一、链表 二、单向链表 2.1 概念 2.2 单向链表的组成 2.3 单向链表节点的结构体原型 //类型重定义,表示存放的数据类型 typedef int DataType;//定义节点的结构体类型 typedef struct node {union{int l…

【AI图像生成网站Golang】项目测试与优化

AI图像生成网站 目录 一、项目介绍 二、雪花算法 三、JWT认证与令牌桶算法 四、项目架构 五、图床上传与图像生成API搭建 六、项目测试与优化 六、项目测试与优化 在开发过程中,性能优化是保证项目可扩展性和用户体验的关键步骤。本文将详细介绍我如何使用一…

Mybatis映射关系

目录 多对一 方式一:一条sql语句(级连属性映射) 方式二:一条sql语句(association) 方式三:两条sql语句,分步查询 一对多 方式一:collection 方式二:分…

隐私清理工具Goversoft Privazer

PrivaZer 是一款专为隐私保护而生的 Windows 系统清理工具,支持深度扫描、清除无用文件和隐私痕迹。 PrivaZer - 深度扫描磁盘,自动清理上网痕迹,全面保护 Windows 的网络隐私 释放磁盘空间 硬盘空间告急,想清理却又无从下手&…

基于Spring Boot的医院质控上报系统

一、系统背景与意义 医院质控上报系统旨在通过信息化手段,实现医院质量控制的标准化、流程化和自动化管理。该系统能够帮助医院实时监控医疗质量数据,及时发现和处理潜在的质量问题,从而确保医疗服务的安全性和有效性。同时,系统…

Java-30 深入浅出 Spring - IoC 基础 启动IoC 纯XML启动 Bean、DI注入

点一下关注吧!!!非常感谢!!持续更新!!! 大数据篇正在更新!https://blog.csdn.net/w776341482/category_12713819.html 目前已经更新到了: MyBatis&#xff…

Python-基于Pygame的小游戏(坦克大战-1.0(世界))(一)

前言:创作背景-《坦克大战》是一款经典的平面射击游戏,最初由日本游戏公司南梦宫于1985年在任天堂FC平台上推出。游戏的主题围绕坦克战斗,玩家的任务是保卫自己的基地,同时摧毁所有敌人的坦克。游戏中有多种地形和敌人类型,玩家可…