EfficientNet大解析:如何重新定义模型效能?

news2024/12/23 16:40:58

EfficientNet大解析:如何重新定义模型效能?

  • 1、abstract
  • 2、Compound Model Scaling
  • 3、EfficientNet Architecture
  • 4、results
  • 5、conclusion

论文地址: EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks

1、abstract

提出了一种新的尺度方法,使用简单而有效的复合系数均匀地调整深度/宽度/分辨率的所有维度(Compound Model Scaling复合模型缩放)。并在MobileNets和ResNet上验证了有效性。

采用一组固定的比例系数均匀缩放网络的width、depth和resolution。

使用神经架构搜索来设计一个新的baseline,并扩展了一系列模型,称为EfficientNets。

优势:

(1)在ImageNet上实现了最先进的84.3%的top-1精度。

(2)比现有最好的ConvNet小8.4倍,推理速度快6.1倍。

(3)在CIFAR-100(91.7%)、Flowers(98.8%)和其他3个迁移学习数据集上精度最好,且参数量小。
在这里插入图片描述

2、Compound Model Scaling

在这里插入图片描述

深度:神经网络的层数
宽度:每层的通道数
分辨率:是指网络中特征图的分辨率
深度学习中模型计算量(FLOPs)和参数量(Params)的理解以及四种计算方法总结

​一个卷积网络层(ConvNet)通过一系列的操作来处理输入数据。可以用数学表达式表示为: Y i = F i ( X i ) Y_i = F_i(X_i) Yi=Fi(Xi)。这里, F i F_i Fi 是第i层的运算符, Y i Y_i Yi 是输出张量(即该层处理后的输出数据), X i X_i Xi 是输入张量(即该层接收的输入数据)。

每个张量都有特定的形状,用尖括号标记为 < H i , W i , C i > <H_i, W_i, C_i> <Hi,Wi,Ci>。这里的 H i H_i Hi W i W_i Wi 分别表示空间维度的高度和宽度,而 C i C_i Ci 是通道维度,可能代表颜色通道(如RGB)或其他特征通道。

整个卷积网络N可以通过一系列组合的层级来表示,用数学表达式表示为: N = F k ⊙ … ⊙ F 2 ⊙ F 1 ( X 1 ) = ⊙ j = 1 … k F j ( X 1 ) N=F_k \odot \ldots \odot F_2 \odot F_1(X_1) = \odot_{j=1…k} F_j(X_1) N=FkF2F1(X1)=j=1kFj(X1)。这个表达式说明,网络N由k层组成,每一层都以前一层的输出作为输入,并将自己的输出传递给下一层。符号 ⊙ \odot 表示函数的复合,即一个函数的输出成为下一个函数的输入。

在实际应用中,为了提高计算效率和模型性能,卷积网络的层级通常会被分成多个阶段,同一个阶段内的所有层级共享相同的架构。例如,ResNet(深度残差网络)有五个阶段,每个阶段内所有层级的卷积类型相同,但第一个层级会执行下采样以减少数据的空间维度。

因此,可以将一个卷积网络定义如下:

N = ⨀ i = 1 … s F i L i ( X i ) N=\bigodot_{i=1…s} F_i^{L_i}(X_i) N=i=1sFiLi(Xi)

其中, F i L i F_i^{L_i} FiLi 表示在第i阶段重复使用层级 F i F_i Fi L i L_i Li次, < H i , W i , C i > <H_i, W_i, C_i> <Hi,Wi,Ci> 表示第i层的输入张量 X X X的形状。

通常关注于寻找最佳层级架构 F i F_i Fi的ConvNet设计不同,模型扩展试图在不改变基线网络中预先定义的 F i F_i Fi的情况下,扩展网络的长度 ( L i ) (L_i) (Li)、宽度 ( C i ) (C_i) (Ci)和/或分辨率 ( H i , W i ) (H_i, W_i) (Hi,Wi)。通过固定 F i F_i Fi,模型扩展简化了新资源约束下的设计问题,但仍有很大的设计空间来探索每层的 L i 、 C i 、 H i 、 W i L_i、C_i、H_i、W_i LiCiHiWi

为了进一步减少设计空间,本文将所有层按恒定比例统一缩放。目标是在给定的资源约束下最大化模型准确性,这可以表述为一个优化问题:
max ⁡ d , w , r A c c u r a c y ( N ( d , w , r ) ) \max_{d, w, r} Accuracy(N(d, w, r)) d,w,rmaxAccuracy(N(d,w,r))
受限于(公式(2)):
N ( d , w , r ) = ⊙ i = 1... s F ^ i d ⋅ L ^ i ( X r ⋅ H ^ i , r ⋅ W ^ i , w ⋅ C ^ i ) M e m o r y ( N ) ≤ target_memory F L O P S ( N ) ≤ target_flops ( 2 ) \begin{align*} N(d, w, r) &= \odot_{i=1...s}\widehat{F}_{i}^{d \cdot \widehat{L}_i}(X_{r \cdot \widehat{H}_i, r \cdot \widehat{W}_i, w \cdot \widehat{C}_i}) \\ Memory(N) &\leq \text{target\_memory} \\ FLOPS(N) &\leq \text{target\_flops}(2) \end{align*} N(d,w,r)Memory(N)FLOPS(N)=i=1...sF idL i(XrH i,rW i,wC i)target_memorytarget_flops(2)
其中,w、d、r是用于缩放网络宽度、深度和分辨率的系数; F ^ i \widehat{F}_i F i L ^ i \widehat{L}_i L i H ^ i \widehat{H}_i H i W ^ i \widehat{W}_i W i C ^ i \widehat{C}_i C i是基线网络中预定义的参数(见表1为例)。
在这里插入图片描述
缩放网络的宽度、深度和像素是卷积神经网络中的关键概念,它们共同决定了网络的性能和效率

  1. 缩放网络的深度:这是网络中所有卷积层的数量总和。网络深度影响其学习能力,更深的网络能够学习更复杂的特征。随着层数的增加,网络可以逐层提取从简单到复杂的特征。例如,第一层可能学习边缘特征,而更深层可能学习特定形状或对象的高级特征。

  2. 缩放网络的宽度:这指的是单个卷积层内部的卷积核数量或通道的数量。增加宽度可以使每一层学习到更加丰富的特征,如不同方向、频率和颜色的纹理特征。但是,宽度过大会导致计算量的显著增加,并可能带来过多的重复特征,从而影响网络效率。(能够捕获更细粒度的特征,并且更容易进行训练)然而,非常宽但较浅的网络往往难以捕获更高层次的特征。在图3(左)中的结果显示,当网络越大,w变得越宽时,精度迅速饱和.

  3. 缩放网络的像素:这通常指输入图像的分辨率,即图像的宽度和高度的像素数量。在卷积神经网络中,分辨率会影响特征图的大小。高分辨率图像能提供更多的细节信息,但同时也会增加计算负担。通过卷积和池化操作,网络会逐步减小特征图的分辨率,同时增强特征的抽象级别。
    在这里插入图片描述
    为了比较了不同网络深度和分辨率下的宽度缩放,如图4所示。如果只扩展网络宽度w(d=而不改变深度(1.0)和分辨率(r=1.0),精度就会迅速饱和。通过更深的(d=2.0)和更高的分辨率(r=2.0),宽度扩展在相同的FLOPS损失下获得了更好的精度。
    在这里插入图片描述
    **公式(3):**为了追求更好的精度和效率,在连续网络缩放过程中,平衡网络宽度、深度和分辨率的所有维度都是至关重要的。本文提出了一种新的复合缩放方法,该方法使用一个复合系数 ϕ \phi ϕ 来统一地调整网络的宽度、深度和分辨率:
    d e p t h : d = α ϕ depth: d=\alpha^\phi depth:d=αϕ
    w i d t h : w = β ϕ width: w=\beta^\phi width:w=βϕ
    r e s o l u t i o n : r = γ ϕ resolution: r=\gamma^\phi resolution:r=γϕ
    s . t . α ⋅ β 2 ⋅ γ 2 ≈ 2 s.t. \alpha \cdot \beta^2 \cdot \gamma^2 \approx 2 s.t.αβ2γ22
    α ≥ 1 , β ≥ 1 , γ ≥ 1 \alpha \ge 1, \beta \ge 1, \gamma \ge 1 α1,β1,γ1
    其中 α , β , γ \alpha, \beta, \gamma α,β,γ 是可以通过小规模网格搜索确定的常数。直观上, ϕ \phi ϕ 是一个用户指定的系数,用于控制模型扩展时可用资源的增加量,而 α , β , γ \alpha, \beta, \gamma α,β,γ 分别指定如何将这些额外资源分配给网络的宽度、深度和分辨率。值得注意的是,常规卷积操作的 FLOPS 与 d , w 2 , r 2 d, w^2, r^2 d,w2,r2 成正比,即网络深度翻倍将使 FLOPS 翻倍,但网络宽度或分辨率翻倍将使 FLOPS 增加四倍。由于卷积操作通常在 ConvNets 中占据计算成本的主导地位,因此 对 ConvNet 进行缩放将大致使总 FLOPS 增加 ( α ⋅ β 2 ⋅ γ 2 ) ϕ (\alpha \cdot \beta^2 \cdot \gamma^2)^\phi (αβ2γ2)ϕ。在本文中,我们约束 α ⋅ β 2 ⋅ γ 2 ≈ 2 \alpha \cdot \beta^2 \cdot \gamma^2 \approx 2 αβ2γ22,以便对于任何新的 ϕ \phi ϕ,总 FLOPS 大约增加 2 ϕ 2^\phi 2ϕ

3、EfficientNet Architecture

第一步:假设资源增加两倍,固定 ϕ = 1 \phi=1 ϕ=1,并在等式2和3的基础上对 α \alpha α β \beta β γ \gamma γ进行小范围网格搜索。找到EfficientNet-B0的最佳值分别为 α = 1.2 \alpha=1.2 α=1.2 β = 1.1 \beta=1.1 β=1.1 γ = 1.15 \gamma=1.15 γ=1.15,约束条件为 α ⋅ β 2 ⋅ γ 2 ≈ 2 \alpha \cdot \beta^2 \cdot \gamma^2 \approx 2 αβ2γ22
第二步:将 α \alpha α β \beta β γ \gamma γ作为常数,使用等式3通过不同的 ϕ \phi ϕ放大基线网络,得到EfficientNet-B1至B7(详情见表2)。
此外,在较大模型周围直接搜索 α \alpha α β \beta β γ \gamma γ可能会获得更好的性能,但大模型上的搜索成本过于昂贵。于是通过只在小型基线网络上进行一次搜索(第一步),然后对所有其他模型使用相同的缩放系数(第二步)来解决这个问题。
下面为EfficicentNet-B0基线网络结构:

4、results

将缩放方法应用于MobileNets和ResNet。表3显示了以不同方式缩放的ImageNet上结果。与其他单点缩放方法相比,复合缩放方法提高了所有模型的精度。
在这里插入图片描述
图5展示了EfficientNet比ConvNets拥有更高的精度和更少的参数量、并且计算成本更低。

在这里插入图片描述
表4展示了模型的推理速度比较
在这里插入图片描述
表5展示了模型迁移学习的效果:
(1) 与NASNet-A和Inception-v4等公开模型相比,EfficientNet模型在平均减少4.7倍(最多21倍)参数的情况下,实现了更高的准确率;
(2) 与包括DAT 和GPipe在内的最先进模型相比,EfficientNet在8个数据集中的5个上准确率更高,但使用的参数减少了9.6倍。

在这里插入图片描述
图6展示了EfficientNet与各个模型的精度和参数的对比曲线,全面领先。
在这里插入图片描述

5、conclusion

本文系统地研究了卷积网络的缩放,并确定平衡网络的宽度、深度和分辨率是重中之重,并且限制了准确性和效率。为了解决这个问题,提出了一种简单而高效的复合缩放方法,它能够轻松地将基线卷积网络扩展到任何目标资源约束下,同时保持模型效率。在这种复合缩放方法的支持下,证明了EfficientNet模型可以非常有效地放大,以小参数量和FLOPS上实现精度的遥遥领先。

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

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

相关文章

常见加密方式:MD5、DES/AES、RSA、Base64

16/32位的数据&#xff0c;最有可能就是使用md5加密的 使用对称加密的时候&#xff0c;双方使用相同的私钥 私钥&#xff1a;单独请求/隐藏在前端的隐藏标签当中 二、RSA非对称密钥加密 公钥加密&#xff0c;私钥解密 私钥是通过公钥计算生成的 加密解密算法都在js源文件当…

数据库层持久化

数据持久化层 冷热分离 冷热分离&#xff1a;将常用的“热”数据和不常使用的“冷”数据分开存储 冷热分离就是在处理数据时将数据库分成冷库和热库&#xff0c;冷库存放那些走到终态、不常使用的数据&#xff0c;热库存放还需要修改、经常使用的数据 业务需求出现了以下情况…

计算机毕业设计Python+LSTM+Tensorflow股票分析预测 基金分析预测 股票爬虫 大数据毕业设计 深度学习 机器学习 数据可视化 人工智能

基于TensorFlow-LSTM的股票预测系统开题报告 一、研究背景与意义 随着信息技术的飞速发展&#xff0c;股票市场作为现代经济活动的重要组成部分&#xff0c;其价格波动受到广泛关注。投资者们迫切希望通过科学的方法预测股票价格&#xff0c;以优化投资决策&#xff0c;实现利…

华为数通——链路聚合

链路聚合&#xff1a;又称为端口汇聚&#xff0c;是指两台交换机之间在物理上将两个或多个端口连接起来&#xff0c;将多条链路聚合成一条逻辑链路&#xff0c;从而增大链路带宽&#xff0c;多条物理链路之间能够相互冗余。 作用&#xff1a;增加链路带宽&#xff0c;同时提供…

模型泛化性测试

文章目录 准备工作场景描述训练数据集获取与训练 测试结论测试方案外机进行平移外机进行旋转外机即平移又旋转该螺纹孔位置 准备工作 场景描述 场景搭建如下如所示&#xff1a; 在该场景中&#xff0c;将机器人安置在桌子左上角处&#xff08;以面对显示器的视野&#xff09…

【Windows】“ONLYOFFICE 桌面编辑器 8.1 新特性大揭秘:全新 PDF 编辑器、幻灯片版式和更多更新“

【Windows】“ONLYOFFICE 桌面编辑器 8.1 新特性大揭秘&#xff1a;全新 PDF 编辑器、幻灯片版式和更多更新” 大家好 我是寸铁&#x1f44a; 【Windows】“ONLYOFFICE 桌面编辑器 8.1 新特性大揭秘&#xff1a;全新 PDF 编辑器、幻灯片版式和更多更新”✨ 喜欢的小伙伴可以点点…

WordPress网创自动采集并发布插件

网创教程&#xff1a;WordPress插件网创自动采集并发布 阅读更新&#xff1a;随机添加文章的阅读数量&#xff0c;购买数量&#xff0c;喜欢数量。 使用插件注意事项 如果遇到404错误&#xff0c;请先检查并调整网站的伪静态设置&#xff0c;这是最常见的问题。需要定制化服…

通过言语和非言语检索线索描绘睡眠中的记忆再激活茗创科技茗创科技

摘要 睡眠通过重新激活新形成的记忆痕迹来巩固记忆。研究睡眠中记忆再激活的一种方法是让睡眠中的大脑再次暴露于听觉检索线索(定向记忆再激活范式)。然而&#xff0c;记忆线索的声学特性在多大程度上影响定向记忆再激活的有效性&#xff0c;目前还没有得到充分探索。本研究通…

2024年G2电站锅炉司炉证模拟考试题库及G2电站锅炉司炉理论考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年G2电站锅炉司炉证模拟考试题库及G2电站锅炉司炉理论考试试题是由安全生产模拟考试一点通提供&#xff0c;G2电站锅炉司炉证模拟考试题库是根据G2电站锅炉司炉最新版教材&#xff0c;G2电站锅炉司炉大纲整理而成…

Linux_应用篇(22) 音频应用编程

ALPHA I.MX6U 开发板支持音频&#xff0c;板上搭载了音频编解码芯片 WM8960&#xff0c;支持播放以及录音功能&#xff01;本章我们来学习 Linux 下的音频应用编程&#xff0c; 音频应用编程相比于前面几个章节所介绍的内容、 其难度有所上升&#xff0c; 但是笔者仅向大家介绍…

基于C# .NET 的数字图像处理系统开发

嗨&#xff0c;我是射手座的程序媛&#xff0c;期待和大家更多的交流与学习&#xff0c;欢迎添加3512724768。 《面向对象程序设计》-基于C# .NET 的数字图像处理系统开发 &#xff08;一&#xff09;实习的目的 根据《面向对象程序设计》理论课授课内容&#xff0c;是使学生…

ps基础入门

1.基础 1.1新建文件 1.2创建指定形状 1.4移动工具 1.41移动画布中的任意元素 1.42移动画布 1.43修改画布大小 1.44修改图像大小 1.5框选工具 1.6矩形工具 1.7图层 1.71图层颜色修改 1.72…

【UE5.1 角色练习】12-坐骑——Part2(让角色骑上坐骑)

目录 前言 效果 步骤 一、坐骑的父类 二、将角色附加到坐骑 三、添加坐姿 四、骑上坐骑 五、从坐骑上下来 前言 在上一篇&#xff08;【UE5.1 角色练习】11-坐骑——Part1&#xff08;控制大象移动&#xff09;&#xff09;基础上继续实现角色骑上坐骑的功能。 效果 …

计算机网络期末复习——简明扼要介绍考点及相关知识

期末复习的方法论&#xff1a;一般来说&#xff0c;期末复习都是“理论”结合“实践”。 理论&#xff0c;在于要对期末考点有基本的把握。可以询问老师或者师兄&#xff0c;总之要知道考试的重点在哪里。对照教材&#xff0c;勾画考试重点&#xff0c;删去不重要的琐碎知识点。…

[职场] 护理专业简历怎么写 #经验分享#微信

护理专业简历怎么写 很多想成为一名护理方面的从业者&#xff0c;但是又不知道应该怎么制作一份简历&#xff0c;现在这里分享了一份护理方面的简历模板供大家参考。 蓝山山 年龄&#xff1a;24 号码&#xff1a;12345678910 地址&#xff1a;上海市 邮箱&#xff1a;jianliji…

大学湖北中医药大学法医学试题及答案,分享几个实用搜题和学习工具 #微信#学习方法#职场发展

今天分享拥有拍照搜题、文字搜题、语音搜题、多重搜题等搜题模式&#xff0c;可以快速查找问题解析&#xff0c;加深对题目答案的理解。 1.快练题 这是一个网站 找题的网站海量题库,在线搜题,快速刷题~为您提供百万优质题库,直接搜索题库名称,支持多种刷题模式:顺序练习、语…

2024年【低压电工】考试题库及低压电工考试报名

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 低压电工考试题库是安全生产模拟考试一点通总题库中生成的一套低压电工考试报名&#xff0c;安全生产模拟考试一点通上低压电工作业手机同步练习。2024年【低压电工】考试题库及低压电工考试报名 1、【单选题】()仪表…

C++之STL(六七)

1、变动性算法 #include <vector> #include <iostream> #include <list> #include <algorithm>using namespace std;void print_element(int n) {cout << n << ; }void add_3(int& n) {n n 3; }int fun(int n) {return 2 * n; }boo…

麻了!一觉醒来,代码全挂了。。

作为⼀名程序员&#xff0c;相信大家平时都有代码托管的需求。 相信有不少同学或者团队都习惯把自己的代码托管到GitHub平台上。 但是GitHub大家知道&#xff0c;经常在访问速度这方面并不是很快&#xff0c;有时候因为网络问题甚至根本连网站都打不开了&#xff0c;所以导致…

python创建websocket服务器,实现循环发送消息

WebSocket协议是在2008年由Web应用程序设计师和开发人员创建的&#xff0c;目的是为了在Web浏览器和服务器之间提供更高效、更低延迟的双向通信。它允许客户端和服务器在任何时候发送消息&#xff0c;无需重新建立TCP连接。WebSocket可以在Web浏览器和服务器之间传输文本和二进…