EfficientNet与EfficientDet论文解读

2023-11-05

这两项工作均来自Google Brain的大佬,EfficientDet可以看做EfficientNet的工作拓展。目前EfficientNet的代码已经开源,EfficientDet已经被复现。这两项工作的纸面效果看起来特别优秀,与其他工作相比,在差不多的精度下,参数量和计算量均大幅度低于其他做。而且都是家族系方法,各位可以根据自己的需求选择。

先介绍第一篇:EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks

Paper:EfficientNet: Rethinking Model Scaling for Convolutional Neural  

Code:https://link.zhihu.com/?target=https%3A//github.com/qubvel/efficientnet

文章摘要:卷积神经网络(CNN)通常是在特定资源预算下开发的,如果有更多的资源可用,则会进行扩展以获得更高的精度。在论文中,我们系统地研究了模型缩放,并发现精细平衡网络的深度、宽度和分别率可以获得更多的性能。基于以上研究结果,我们提出了新的缩放方法,使用简单而高效的compound coefficient(复合系数)来均匀地缩放深度、宽度和分别率维度。我们在ResNet和MobileNets上证明了该方法的有效性。更近一步,我们使用神经搜索网络(NAS)设计了一个新的基线网络,并将其扩展以获得一系列网络,称为EfficientNet。与以前的卷积神经网络相比,它具有更高的精度和效率。

现有的大多数方法均是采用对网络深度(depth)网络宽度(width)输入图像分辨率 (resolution)中其一进行改进,来获得更高精度。如ResNet-18到ResNet-200。但是单一的对以上维度进行扩展很容易到达饱和,如ResNet-200和ResNet-1000的精度类似。论文指出,模型扩张的各个维度之间并不是完全独立的,比如说,对于更大的分辨率图像,应该使用更深、更宽的网络,这就意味着需要平衡各个扩张维度,而不是在单一维度张扩张。而手动调节三者之间的数值关系无异于天方夜谭,因此作者提出compound coefficient(复合系数)使用一组固定的缩放系数来均匀缩放网络宽度,深度和分辨率。例如,对于一个标准的模型,如果想使用 2^{N} 倍的计算资源,作者认为只需要对网络宽度增加 \alpha ^{N} ,深度增加 \beta ^{N} ,以及图像的分辨率增加 \gamma ^{N} 倍。其中 \alpha ,\beta ,\gamma 是一组固定系数,他们的值通过在原始的标准模型中使用小范围的网格搜索(grid search)得到。通过下图可以看出,网络的深度是指调整网络的层数,宽度指网络中每一层特征图的通道数,分辨率则是调整输出图像的大小。

该方法使用一个复合系数 \phi 通过一种规范化的方式统一对网络的深度、宽度和分辨率进行扩展。

其中 \alpha ,\beta ,\gamma 是常数,它们有小型网络搜索确定。 \phi 则是一个由用户指定的扩展系数,它用来控制到底有多少资源是模型扩展可用的。对于一般的卷积操作,其 FLOPS 需求与 d, w^{2}, r^{2} 是成比例的。由于卷积网络中最消耗计算资源的通常是卷积操作,因此对网络进行扩展会导致总 FLOPS 近似变为 \left ( \alpha * \beta^{2} * r^{2} \right )^\phi ,本文中作者使用公式\left ( \alpha * \beta^{2} * r^{2} \right )^\phi \approx 2对这三个参数进行了约束,因此,总 FLOPS 增加 2^{\phi } 。

将以上方法应用在ResNet和MobileNet均收到了优异的效果。根据先验知识,模型的精度与基线模型有很大关系,因此论文利用NAS设计了一个新的轻量级基线网络 EfficientNet。

EfficientNet 的结构已经在表 1 中列出,它的主干网络是由 MBConv 构成,同时作者采取了 squeeze-and-excitation 操作对网络结构进行优化。对于 Efficient-B0,若要使用复合扩展法对其进行扩大需要通过两步来完成:

  • 第一步:首先将\phi固定为 1,假设至少有两倍以上的资源可用,通过公式(2)和公式(3)对\alpha ,\beta ,\gamma进行网格搜索。特别的是,对于 EfficientNet-B0,在约束条\left ( \alpha * \beta^{2} * r^{2} \right )^\phi \approx 2下,\alpha ,\beta ,\gamma分别为 1.2,1.1 和 1.15 时网络效果最好。
  • 第二步:\alpha ,\beta ,\gamma作为常数固定,然后通过公式(3)使用不同 \phi 对基线网络进行扩展,得到 EfficientNet-B1 到 EfficientNet-B7。

结果展示:

作者通过对模型扩展方法方面存在地问题进行了讨论,从如何权衡网络的深度、宽度以及分辨率方面出发提出了复合扩展方法。并在 MobileNets 和 ResNet 上对这种扩展方法进行了验证。此外,作者还通过神经结构搜索设计了一种新的基线网络 EfficientNet,并对其进行扩展得到了一系列的 EfficientNets。在图像分类标准数据集上,EfficientNets 超越了之前的卷积网络,并且 EfficientNet 参数量更少、推理速度更快。

 

第二篇:EfficientDet: Scalable and Efficient Object Detection

Paper: EfficientDet: Scalable and Efficient Object Detection

Code:待开源

文章摘要:模型效率在计算机视觉中变得越来越重要。在本文中,我们系统地研究了目标检测中各个神经网络体系结构的设计选择,并提出了提高效率的优化方案。首先,我们提出了一种加权双向特征金字塔网络(BiFPN),它可以方便、快速地融合多尺度特征;其次,我们提出了一种混合缩放方法,可以同时对backbone,feature network,and box/class prediction networks的网络深度(depth)网络宽度(width)输入图像分辨率 (resolution)进行均匀缩放。本文主要研究的问题是:在大范围约束条件下设计一组目标检测网络框架同时满足高精度和高效率。话不多说,直接上效果展示图:

创新点:

EfficientDet改进主要是借鉴了RetinaNet网络,是一种Anchor-base的one stage目标检测方法。

  • BiFPN:(a)原始的PFN(b)PANet引入了自底向上的融合路径,(c)NAS-FPN则使用神经架构搜索得到不规则的特征网络拓扑结构,(d)为作者提出的另一种改进,全连接FPN,(e)为作者提出的一种简化FPN,(f)为论文最终在 EfficientDet 使用的BiFPN。此外,论文还提出,之前从FPN开始普遍采用的,一个特征先 Resize ,再和另一层的特征相加的方式不合理。因为这样假设这两层的特征有了相同的权重。从更复杂的建模角度出发,应该每一个 feature 在相加的时候都要乘一个自己的权重。这样 weighted 的方式能涨 0.4。

  • 因为权重没有归一化,会影响训练稳定性。本文对学习的权重进行归一化,尝试两种方法:Softmax  、Linear 。实验证明,Linear可以大幅度提高训练速度,且取得和Softmax类似的结果。
  • EfficientDet:整体框架设计沿用RetinaNet,backbone采用EfficientNet,FPN替换成堆叠的BiFPN,框架如图。

  • EfficientNet 在 Model Scaling 的时候考虑了网络的 width, depth, and resolution 三要素。而 EfficientDet 进一步扩展,把 EfficientNet 拿来做 backbone,这样从 EfficientNet B0 ~ B6,就可以控制 Backbone 的规模;neck 部分,BiFPN 的 channel 数量、重复的 layer 数量也可以控制;此外还有 head 部分的层数,以及 输入图片的分辨率,这些组成了 EfficientDet 的 scaling config 。

展示结果:

本文最大的亮点在于提出了目标检测网络联合调整复杂度的策略,从而在COCO上达到51.0 mAP的最优成绩。动机源自于谷歌大脑在分类任务的另一大作EfficientNet,本文提出的EfficientDet有如此出色的效果,一部分原因也在于EfficientNet,而EfficientNet的Baseline是通过NAS得到的(也说明NAS的重要性)。联合调整策略详细可以看EfficientNet论文。本文第二大亮点在于堆叠FPN,通过堆叠FPN就可以涨几个点,当然BiFPN的设计也是非常有效的,通过增加短接以及学习加权和,能达到很好效果也更符合理解。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EfficientNet与EfficientDet论文解读 的相关文章

  • 【目标检测】Fast R-CNN详解

    前言 Fast R CNN是作者Ross Girshick继R CNN后的又一力作 同样使用VGG16作为网络的骨架 在训练速度比R CNN快了近9倍 测试速度快了213倍 在Pascal VOC数据集上accuracy从62 提升至66
  • 利用Tensorflow构建CNN图像多分类模型及图像参数、数据维度变化情况实例分析

    本文以CIFAR 10为数据集 基于Tensorflow介绍了CNN 卷积神经网络 图像分类模型的构建过程 着重分析了在建模过程中卷积层 池化层 扁平化层 全连接层 输出层的运算机理 以及经过运算后图像尺寸 数据维度等参数的变化情况 CIF
  • 【CV】第 10 章:使用 R-CNN、SSD 和 R-FCN 进行目标检测

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • CNN,Transformer,MLP三分天下

    title 论文列表 1 MLP Mixer MLP Mixer An all MLP Architecture for Vision 2 MetaFormer MetaFormer is Actually What You Need fo
  • 【计算机视觉

    文章目录 一 CSPResNeXt 二 ProxylessNet Mobile 三 ProxylessNet CPU 四 RandWire 五 MCKERNEL 六 Assemble ResNet 七 Convolution enhance
  • 多输入通道和多输出通道

    目录 多输入通道和多输出通道 目录 1 什么是多输入通道和多输出通道 2 多输入通道和多输出通道的实现 2 1 多输入通道和多输出通道的卷积操作 2 2 多输入通道和多输出通道的全连接操作 3 多输入通道和多输出通道的实例 3 1 导入必要
  • 借助CIFAR10模型结构理解卷积神经网络及Sequential的使用

    CIFAR10模型搭建 CIFAR10模型结构 0 input 3 32x32 3通道32x32的图片 gt 特征图 Feature maps 32 32x32即经过32个3 5x5的卷积层 输出尺寸没有变化 有x个特征图即有x个卷积核 卷
  • 【22-23 春学期】人工智能基础--AI作业10-经典卷积网络

    LeNet MNIST LeNet是由Yann LeCun及其合作者于1998年开发的一种具有开创性的卷积神经网络架构 它的设计目的是识别手写数字并执行图像分类任务 MNIST是一个用于手写数字识别的大型数据库 常被用于训练图像处理系统 L
  • 【caffe-windows】 caffe-master 之 cifar10 超详细

    本教程尽量详细 大多步骤都有图 如果运行出错 请先对照自己的文件是否和图上的一样 包括标点啊 空格啊 斜杠 反斜杠啊之类的小细节 本例程是在 win10 64位 caffe master vs2013下进行的 并且已经配置GPU版本 若用C
  • 【GAN】基础原理讲解及代码实践

    首先什么是 的模型结构 设计 模型的关键 GAN的算法原理 这里输入噪声的随机性就可以带来生成图像的多样性 GAN公式讲解 D 表示判别器对真实图片的判别 取对数函数后我们希望其值趋于 也就是D 趋于 也就是放大损失
  • 卷积相关知识

    二维图片卷积 二维卷积可以处理二维数据 nn Conv2d self in channels out channels kernel size stride 1 padding 0 dilation 1 groups 1 bias True
  • 理解一维卷积

    根据我个人的经验和偏好 理解数学概念的最好方式之一就是赋予其物理意义 把f t 看做输入 g t 看做系统的衰减系数 卷积就比较好理解了 在某一时刻n 该系统对f n 的响应值就是f n xg 0 但系统的总输出C n 不仅跟当前输入的f
  • TensorFlow CNN 测试CIFAR-10数据集

    1 CIFAR 10 数据集 CIFAR 10数据集是机器学习中的一个通用的用于图像识别的基础数据集 官网链接为 The CIFAR 10 dataset官方教程Convolutional Neural Networks 下载使用的版本是
  • MATLAB代码基于cnn-lstm的轴承寿命预测

    一种结合卷积神经网络 convolution neural networks 简称CNN 和长短时记忆 long short term memory 简称LSTM 神经网络的滚动轴承RUL预测方法 首先 对滚动轴承原始振动信号作快速傅里叶变
  • 蒸馏神经网络(Distill the Knowledge in a Neural Network)

    本文是阅读Hinton 大神在2014年NIPS上一篇论文 蒸馏神经网络的笔记 特此说明 此文读起来很抽象 大篇的论述 鲜有公式和图表 但是鉴于和我的研究方向 神经网络的压缩十分相关 因此决定花气力好好理解一下 1 Introduction
  • 基于CNN-GRU的多维数据预测算法——附带Matlab代码

    基于CNN GRU的多维数据预测算法 附带Matlab代码 近年来 卷积神经网络 CNN 和门控循环单元 GRU 在时序数据处理中的应用十分广泛 本文提出了一种基于CNN GRU结构的多维数据预测算法 并提供了相应的Matlab代码 首先
  • 机器学习课程总结3--基本卷积神经网络+评价指标+目标检测与Yolo网络

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 目录 一 基本卷积神经网络 1 AlexNet 2 VGG 16 3 残差网络 二 常用数据集与评价指标 1 数据集 2 评价指标 三 目标检测 YOLO 1 1 目标检测问
  • 【GRU时序预测】基于鲸鱼算法优化注意力机制卷积神经网络结合门控循环单元WOA-Attention-CNN-GRU实现股价时序预测附matlab代码

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 代码获取 论文复现及科研仿真合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 更多Matlab完整代码及仿真定制内容点击 智能优化算法 神经网络预测 雷达通信
  • 【深度学习】注意力机制(七)Agent Attention

    本文介绍Agent Attention注意力机制 Transformer中的Attention模块可以提取全局语义信息 但是计算量太大 Agent Attention是一种计算非常有效的Attention模块 论文 Agent Attent
  • 卷积神经网络:专门用于图像和语音处理的深度学习模型

    随着人工智能技术的发展和应用 深度学习模型在图像和语音处理领域中扮演着越来越重要的角色 其中 卷积神经网络 Convolutional Neural Network 简称CNN 是一种专门用于图像和语音处理的深度学习模型 本文将介绍卷积神经

随机推荐

  • puppet—批量部署mysql5.7+httpd[包含启动]

    httpd install pp class httpd install package httpd name gt httpd ensure gt installed httpd service pp class httpd servic
  • 枚举类型的用法

    枚举类型的定义 枚举类型 enumeration 是C 中的一种派生数据类型 它是由用户定义的若干枚举常量的集合 定义格式 枚举类型的定义格式为 enum lt 类型名 gt lt 枚举常量表 gt 其中 关键字enum 指明其后的标识符是
  • 一些你需要掌握的 tsconfig.json 常用配置项

    大家好 我是前端西瓜哥 tsconfig json 是用来配置 TS 编译选项的 通常位于项目的根目录位置 我们可以用 ts 提供的 tsc 命令行工具 执行 tsc init tsc init Created a new tsconfig
  • cookie中存储json

    原文发布时间为 2009 12 14 来源于本人的百度文章 由搬家工具导入 http www denisdeng com p 563 最近的一个项目需要在cookie中存储json对象 查看网络资料 没有找到很好的例子 最终利用jquery
  • MySQL 表锁和行锁机制

    MySQL 表锁和行锁机制 行锁变表锁 是福还是坑 如果你不清楚MySQL加锁的原理 你会被它整的很惨 不知坑在何方 没事 我来给你们标记几个坑 遇到了可别乱踩 通过本章内容 带你学习MySQL的行锁 表锁 两种锁的优缺点 行锁变表锁的原因
  • 下载好看的壁纸四个网站就够了,尤其第二个,高清免费壁纸随你挑

    壁纸作为手机电脑的第一印象 我想一张好看的壁纸可以让你的心情变得十分愉悦 每个人喜欢的壁纸类型也是不同的 有些人喜欢科技 动漫 有些人却喜欢唯美 自然 但是好看的壁纸随处都有 但未必时自己想要的哪一款 所以今天我就来给大家推荐一些可以获得大
  • 【SpringBoot】Idea中web项目上传文件相对路径问题

    项目场景 springboot开发javaweb项目 在文件上传接口中 使用transferTo方法保存文件 当采用相对路径时保存会报错 问题描述 相对路径会报一个这样的错误 java io IOException java io File
  • 怎样系统的学习 AI 绘画?模型代码案例

    怎样系统的学习 AI 绘画 学习 AI 绘画需要从以下几个方面进行系统的学习 数学基础 学习 AI 绘画需要具备一定的数学基础 包括线性代数 概率论 微积分等 这些数学知识是深度学习模型的基础 有助于理解模型的数学原理和算法细节 编程基础
  • 抽签助手

    抽签助手实现 学习记录 今天突发奇想想要尝试一波抽签助手 具体代码如下 include
  • tomcat9调优2:Tomcat线程模型分析及其性能调优

    文章目录 Tomcat线程模型分析及其性能调优 Tomcat的IO模型 tomcat设计精髓点 Tomcat调优 Tomcat线程模型分析及其性能调优 Tomcat的IO模型 Tomcat 支持的多种 I O 模型和应用层协议 Tomcat
  • 基于计算机视觉实现自动报靶系统

    基于计算机视觉实现自动报靶系统 自动报靶系统是一种通过计算机视觉技术实现的靶标自动识别和跟踪的系统 该系统可以应用于一些需要高精度打靶的场合 如射击比赛 训练等 本文将介绍如何使用MATLAB实现一个基于计算机视觉的自动报靶系统 准备工作
  • LoadRunner录制图片验证码

    LoadRunner录制图片验证码 LoadRunner自身是无法捕获到图片验证码的 但是我们可以帮助LoadRunner来实现验证码的捕获 1 图片验证码 图片验证码的产生来自服务器端 由服务器生成随机数 然后写入到图片中 虽然LR可以录
  • 恢复图像-进行反卷积和非盲去卷积恢复原始图像

    这段 MATLAB 代码实现了对添加噪声的图像进行反卷积和非盲去卷积的处理 以恢复原始图像 读取失真图像 这里是标准的 img imread image jpg 转换图像的类型为double img im2double img 计算图像的大
  • 6、SpringBoot - 日志配置

    01 项目日志格式 Spring Boot 的默认日志输出类似于以下示例 2021 12 14 22 40 14 159 INFO 20132 main com kuangstudy SpringbootApplication Starte
  • Transfomer编码器中自注意力机制、前馈网络层、叠加和归一组件等讲解(图文解释)

    Transformer中的编码器不止一个 而是由一组N个编码器串联而成 一个编码的输出作为下一个编码器的输入 如下图所示 每一个编码器都从下方接收数据 再输出给上方 以此类推 原句中的特征会由最后一个编码器输出 编码器模块的主要功能就是提取
  • CCF CSP 认证 201612-2 工资计算 C语言

    include
  • 用抽象分层的方法分析Android的渲染和显示系统

    Hello World
  • Hinton关于RBM的代码注解之(二)backpropclassify.m

    源代码 http www cs toronto edu hinton MatlabForSciencePaper html 这个是关于RBM的微调步骤的代码 代价函数是交叉熵 Version 1 000 Code provided by R
  • Springboot-aop(一)

    引入依赖
  • EfficientNet与EfficientDet论文解读

    这两项工作均来自Google Brain的大佬 EfficientDet可以看做EfficientNet的工作拓展 目前EfficientNet的代码已经开源 EfficientDet已经被复现 这两项工作的纸面效果看起来特别优秀 与其他工