EfficientNet(2019):基于复合缩放的自动化架构搜索高效网络!

EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks

EfficientNet:重新思考卷积神经网络的模型扩展

论文下载地址: https://arxiv.org/abs/1905.11946

学习笔记参考了这位大佬:https://blog.csdn.net/qq_37541097/article/details/114434046

1、前言

EfficientNet 由谷歌研究人员在 2019 年提出。它是一种基于 AutoAugment、AutoML 和 MobileNet 的架构,旨在提高模型的效率和性能。EfficientNet 的主要特点是它采用了一种新的缩放方法,即“复合缩放方法”,这种方法同时考虑了模型的深度、宽度和分辨率。

作者主要是用NAS(Neural Architecture Search)技术来搜索网络参数的合理化配置,分别是:输入图像分辨率resolution,网络深度depth以及通道宽度width。此外,NAS技术非常昂贵,没有庞大的算力是搜索不了的。

在以往提出的一些新型网络结构,基本都是通过改变上述3个参数中的一个来提升网络的性能,比如ResNet 将层数从18堆叠到200层,GPipe 将 CNN baseline扩展4倍,而这篇论文是同时探索这三个参数之间的组合对网络性能的影响(可见谷歌有多么有钱有算力了)。

作者提出, EfficientNet-B7 在 ImageNet 上实现了最先进的 84.3% top-1 准确率,同时比现有最好的卷积网络小 8.4 倍,推理速度快 6.1 倍。  EfficientNet 也能很好地进行迁移,并在 CIFAR-100 (91.7%)、Flowers (98.8%) 和其他 3 个迁移学习数据集上实现了最先进的准确度,参数数量也少了一个数量级。EfficientNet-B7 超越了现有最好的 GPipe 精度(2018),并且使用的参数减少了 8.4 倍,推理运行速度提高了 6.1 倍。 与广泛使用的 ResNet-50 (2016) 相比,两者的 FLOPS 相似,EfficientNet-B4 将 top-1 准确率从 76.3% 提高到 83.0% (+6.7%)。 源代码位于https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet。

EfficientNet使用了MobileNetv2的MBConv作为模型主干网络,同时还用了SENet的squeeze and excitationt通道注意力对网络结构进行优化。EfficientNet-B0网络框架如下表所示(B1-B7是在B0的基础上修改Resolution,Channels以及Layers)

网络被分成了9个Stage,Stage1是一个kernel_size=为3x3,stride=2的普通卷积层(包含BN和激活函数Swish),Stage2~Stage8都是在重复堆叠MBConv结构(最后一列的Layers表示该Stage重复MBConv结构多少次),Stage9由一个普通的1x1的卷积层(包含BN和激活函数Swish)一个平均池化层和一个全连接层组成。表格中每个MBConv后会跟一个数字1或6,这里的1或6是倍率因子n,即MBConv中第一个1x1的卷积层会将输入特征矩阵的channels扩充为n倍,其中k3x3或k5x5表示MBConv中Depthwise Conv所采用的卷积核大小。Channels表示通过该Stage后的输出通道数。

2、MBConv结构

MBConv其实就是MobileNetV3中的InvertedResidualBlock(倒置残差结构),但也有些许区别。一个是采用的激活函数不一样(EfficientNet的MBConv中使用的都是Swish激活函数),另一个是在每个MBConv中都加入了SE(Squeeze-and-Excitation)模块。

如上图所示,MBConv结构主要由一个1x1的Conv(升维作用,包含BN和Swish),一个 kernel_size=kxk 的Depthwise Conv卷积(包含BN和Swish),一个SE模块,一个1x1的普通卷积(降维作用,包含BN),一个Droupout层构成。其中第一个升维的1x1卷积层的卷积核个数是输入通道数channel的n倍,n ∈ { 1,6 } 。

当n = 1 时,表示不需要升维,所以Stage2中的MBConv结构没有1x1卷积层。

3、复合缩放

在本文中,作者提出了一种新的复合缩放方法,该方法使用复合系数 φ 以原则性的方式统一缩放网络宽度w、深度d和分辨率r:

depth: d = αφ

width: w = βφ

resolution: r = γφ

s.t. α · β2 · γ2 ≈ 2 α ≥ 1, β ≥ 1, γ ≥ 1

其中α、β、γ是通过小网格搜索确定的常数。 直观上,φ是用户指定的系数,控制有多少资源可用于模型缩放,而α、β、γ分别指定如何将这些额外资源分配给网络宽度、深度和分辨率。

图 2. 模型缩放。  (a) 是基线网络示例;  (b)-(d) 是传统的缩放,仅增加网络宽度、深度或分辨率三者中的一个。  (e) 是作者提出的复合缩放方法,它以固定比率均匀缩放所有三个维度。

例如,如果想要使用 2N 倍的计算资源,那么可以简单地将网络深度增加 αN,宽度增加 βN,图像大小增加 γN,其中 α、β、γ 是由网格搜索在原来的小模型上确定的常数系数。

4、EfficientNet在ImageNet 上的性能结果

5、EfficientNet 发展历程

1. EfficientNet-B0 (2019): 这是最初的 EfficientNet 模型,它通过系统的模型缩放方法,展示了在图像分类任务上的性能提升。

2. EfficientNet-B1 到 B7 (2019): 随着 B0 的成功,研究人员继续扩展 EfficientNet 家族,推出了 B1 到 B7 版本。这些模型通过复合缩放方法,逐渐增加模型的规模,以适应不同的计算预算和性能需求。

3. EfficientNet-EdgeTPU (2019): 针对边缘设备优化的版本,专为在资源受限的设备上运行而设计。

4. EfficientNetV2 (2021): 在 2021 年,谷歌研究人员提出了 EfficientNetV2,这是对原始 EfficientNet 的改进。EfficientNetV2 采用了一种新的缩放方法,并且通过改进的网络结构和训练策略,进一步提高了模型的效率和性能。

5. EfficientNet 其他变体: 随着时间的推移,社区和研究人员还开发了 EfficientNet 的许多其他变体,以适应不同的任务和应用场景,如目标检测、语义分割等。

EfficientNet 系列模型因其在保持高性能的同时显著降低计算成本而受到广泛关注,它们在各种视觉任务中都取得了优异的性能。随着深度学习领域的不断发展,EfficientNet 也在不断地进化和改进。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ProgrammerAI—AI辅助编程学习指南

前言 随着AIGC(AI生成内容)技术的快速发展,诸如ChatGPT、MidJourney和Claude等大语言模型相继涌现,AI辅助编程工具正逐步改变程序员的工作方式。这些工具不仅可以加速代码编写、调试和优化过程,还能帮助解决复杂的编程…

python标识符和关键字

1、标识符 1.1 写法 标识符由字母、下划线和数字组成,且数字不能开头。严格区分大小写。不能使用关键字。 # 标识符由字母、下划线和数字组成,且数字不能开头。 # a_1_$ 1 # print(a_1_$)# 严格区分大小写。 # Animal 1 # print(animal)# 不能使用关…

仓颉编程入门2,启动HTTP服务

上一篇配置了仓颉sdk编译和运行环境,读取一个配置文件,并把配置文件简单解析了一下。 前面读取配置文件,使用File.readFrom(),这个直接把文件全部读取出来,返回一个字节数组。然后又创建一个字节流,给文件…

vscode[c、cmake]:某些引用可能丢失,因为在 查找所有引用 启动时,工作区分析不完整

1. 问题描述 vscode 调试一个c语言工程,利用cmake编译调试,通过cmakelist.txt传递宏标识来条件编译代码。但是,在build之后,传递的宏标识不能让vscode自动转跳相关代码,猜测为代码分析时未包含宏标识。提示&#xff1a…

双向链表的基本结构及功能实现

1.基本结构: 双向链表是一种链表数据结构,它由一系列节点组成,每个节点包含三个部分: (1).数据域:存储节点的数据 (2).前驱指针:指向前一个节点 (3).后驱指针:指向下一个节点 2.基本特性: 双向链接: 与单向链表…

不在同一局域网怎么远程桌面?非局域网环境下,实现远程桌面访问的5个方法分享!

非局域网环境下,怎么远程桌面?还能做到吗? 在企业管理中,远程桌面访问已成为提高工作效率、实现跨地域协同工作的关键工具。 然而,当被控端与控制端不在同一局域网时,如何实现远程桌面连接成为了许多企业…

【Android】页面启动耗时统计流程梳理

文章基于Android 11 写在前面: 最近的文章都会放流程图,时序图之类的图片,解释下为什么这么做: 图片的好处: 流程清晰,一目了然很多代码,如同老太太的裹脚布,又臭又长。影响理解&a…

【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台

一、介绍 果蔬识别系统,本系统使用Python作为主要开发语言,通过收集了12种常见的水果和蔬菜(‘土豆’, ‘圣女果’, ‘大白菜’, ‘大葱’, ‘梨’, ‘胡萝卜’, ‘芒果’, ‘苹果’, ‘西红柿’, ‘韭菜’, ‘香蕉’, ‘黄瓜’)…

基于SpringBoot+Vue的校园快递代取管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…

CNN网络训练WISDM数据集:模型仿真及可视化分析

卷积神经网络(CNN)因其强大的特征提取能力和深度学习架构而备受推崇,CNN在处理图像数据时展现出的卓越性能,使其成为解决各种视觉识别任务的首选工具。WISDM数据集是一个广泛用于运动估计研究的基准数据集,它包含了多个…

14年408-计算机网络

第一题: 解析:OSI体系结构 OSI由下至上依次是:物理层-网络链路层-网络层-运输层-会话层-表示层-应用层。 因此直接为会话层提供服务的是运输层。答案选C 第二题: 解析:数据链路层-交换机的自学习和帧转发 主机a1向交换…

关于养育孩子的一点想法

我们许多人总是很看重结果,不重视过程,在工作中有时候确实会这样,但这种想法会经常蔓延到生活中,比如养育孩子,我们总有一个目标,希望他成才,实现某种理想,弥补你人生中的某种缺憾&a…

开通微信视频号直播的流程

首先我们要了解什么是视频号? 视频号其实就是腾讯家的“抖音”/“快手”,可以发布视频和直播(包括直播带货)。 微信视频号不同于订阅号、服务号,它是一个全新的内容记录与创作平台,也是一个了解他人、了解…

AIGC专栏15——CogVideoX-Fun详解 支持图文生视频 拓展CogVideoX到256~1024任意分辨率生成

AIGC专栏15——CogVideoX-Fun详解 支持图&文生视频 拓展CogVideoX到256~1024任意分辨率生成 学习前言项目特点生成效果相关地址汇总源码下载地址 CogVideoX-Fun详解技术储备Diffusion Transformer (DiT)Stable Diffusion 3EasyAnimate-I2V 算法细节算法组成InPa…

计算机出现msvcp140.dll丢失的6种解决方法,亲测有效

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“msvcp140.dll丢失”。这个错误通常会导致某些应用程序无法正常运行,给用户带来困扰。本文将总结6种解决msvcp140.dll丢失的方法,帮助大家轻松解决这个问题。 一&…

随机梯度下降的学习

梯度下降(Gradient-Descent) 在机器学习的旅途中,不可避免需要与它打交道,那么该如何初步理解它的用途呢? 好的,想象你在一个山谷中,想要找到最低点(山谷的底部)。你现…

如何使用 Bittly 为基于 HTTP 的 API 快速创建 UI 操作界面

在开发 Web 应用或服务时,通常会提供不同数量的 API 接口给客户端或其他第三方使用, 当 API 数量达到一定数量的时候,在处理接口间的调用链以及参数关系时就会变得异常麻烦。 在这种情况下便可通过 Bittly 的面板功能将这些 API 结构进行组装…

电子元件制造5G智能工厂物联数字孪生平台,推进制造业数字化转型

5G智能工厂与物联数字孪生平台的融合应用,不仅为电容器制造业注入了新的活力,更为整个制造业的数字化转型树立了新的标杆。电子元件制造过程中,数字孪生平台通过实时监测生产线的各个环节,实现了生产流程的可视化监控。管理人员可…

es的封装

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、类和接口介绍0.封装思想1.es的操作分类 二、创建索引1.成员变量2.构造函数2.添加字段3.发送请求4.创建索引总体代码 三.插入数据四.删除数据五.查询数据 前…

大数据新视界 --大数据大厂之探索ES:大数据时代的高效搜索引擎实战攻略

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…