【YOLO v5 v7 v8 v9小目标改进】新CNN架构 InceptionNeXt:怎么让大卷积核既好用又快

news2024/11/24 4:58:08

新CNN架构 InceptionNeXt:怎么让大卷积核既好用又快

    • 提出背景
      • 问题: 如何提高大核心卷积的效率,同时保持或提升模型性能?
    • 改进思路
      • MetaNeXt
      • Inception深度卷积
      • InceptionNeXt
    • 小目标涨点
      • YOLO v5 魔改
      • YOLO v7 魔改
      • YOLO v8 魔改
      • YOLO v9 魔改

 


提出背景

论文:https://arxiv.org/pdf/2303.16900.pdf

代码:https://github.com/sail-sg/inceptionnext

 

受到视觉变换器(ViTs)长距离建模能力的启发,近期广泛研究并采用了大核心卷积技术,以扩大感受野并提高模型性能,像是ConvNeXt的杰出工作所示,它采用了7×7深度卷积。

虽然这种深度操作只消耗少量的浮点操作数(FLOPs),但由于高内存访问成本,在强大的计算设备上大大降低了模型效率。

目前仍不清楚如何在保持性能的同时加速基于大核心的CNN模型。

为了解决这一问题,受到Inception的启发,我们提议将大核心深度卷积分解为沿着通道维度的四个并行分支,即小正方形核心、两个正交的带状核心以及一个恒等映射。

通过这种新型的Inception深度卷积,我们构建了一系列网络,命名为IncepitonNeXt,它们不仅具有高吞吐量,还保持了竞争力的性能。

在这里插入图片描述
InceptionNeXt模型在保持与ConvNeXt(大卷积核)相近的准确率的同时,训练速度提高了约1.6倍,这表明InceptionNeXt在效率和性能之间取得了良好的平衡。

  1. 部分通道不进行深度卷积操作:我们的初步发现表明,并非所有输入通道都需要进行计算成本高昂的深度卷积操作。

    因此,我们提出只对部分通道进行深度卷积操作,而其他通道保持不变。

    这是因为深度卷积操作的高计算成本特性。

  2. 将大核心深度卷积分解为多组小核心卷积:接着,我们提出将大核心的深度卷积分解为几组小核心的卷积,采用Inception风格。

    具体来说,对于进行处理的通道,1/3的通道使用3×3的核心,1/3的通道使用1×k的核心,剩余1/3的通道使用k×1的核心。

    这种方法是因为大核心深度卷积的内存访问成本高和速度慢的特征。

问题: 如何提高大核心卷积的效率,同时保持或提升模型性能?

  • 解法: 通过改进大核心卷积的结构和计算方法来提高效率,同时保持性能。
    • 子特征1: 采用堆叠3×3卷积替代大核心卷积,如VGG模型所示。
      • 原因: 通过重复使用小核心卷积,可以在不牺牲感受野的情况下提高计算效率。
    • 子特征2: 将k×k卷积分解为1×k和k×1的卷积顺序堆叠,如Inception v3所做。
      • 原因: 该方法通过减少参数数量和计算量来提高大核心卷积的效率。
    • 子特征3: 分解大核心卷积为多个小组的小核心卷积,以及采用结构重参数化技术等。
      • 原因: 这些方法旨在简化大核心卷积的计算,提高模型的运行速度,同时尽可能保持模型的性能。

在这里插入图片描述
四种不同的模型块结构:MetaFormer块、MetaNeXt块、ConvNeXt块和InceptionNeXt块。

这些块是构建深度学习模型时的基本单元。

MetaFormer块是一个基础结构,包含了标准的MLP和Normalization层,以及一个用于空间信息交互的Token Mixer。

MetaNeXt块是从ConvNeXt块简化而来的,合并了MetaFormer的两个残差子块。

ConvNeXt块采用了7x7的深度卷积作为Token Mixer,而InceptionNeXt块则采用了分解的Inception风格深度卷积,将大核心卷积分解为更小的多个并行分支,这样做可以提高效率。

改进思路

MetaNeXt提供了改进空间信息处理效率的初始框架,Inception深度卷积进一步针对深度卷积的效率进行了优化,最后,InceptionNeXt模型整合了这些优化,构建出既高效又性能卓越的CNN模型。

  1. MetaNeXt构建相当于大楼的设计蓝图

    • 就像建筑师设计摩天大楼的蓝图一样,MetaNeXt提供了一个初始框架,确立了基本结构和核心功能。这一步骤确保了大楼(即模型)在满足基本需求的同时,能够高效处理空间信息,为后续的优化和提升奠定基础。
  2. Inception深度卷积的创新类似于引入高效的建筑材料和先进的施工技术

    • 正如建筑师选择轻质但强度高的材料,以及采用先进技术来提升建造效率和建筑性能,Inception深度卷积通过优化深度卷积操作,将大核心操作分解为多个小核心操作,类似于采用更高效的材料和技术来提升整个大楼的建造效率和性能。
  3. InceptionNeXt模型的构建就像是最终将设计蓝图和先进材料技术整合,建成一座摩天大楼

    • 在有了设计蓝图(MetaNeXt构建)和高效的建筑材料及技术(Inception深度卷积)之后,建筑师和工程师合作,将这些元素整合起来,建造出既美观又高效的摩天大楼。InceptionNeXt模型正是将MetaNeXt的基础框架和Inception深度卷积的优化技术整合在一起,构建出一个既高效又性能卓越的CNN模型,它能够在处理复杂视觉任务时展现出卓越的性能。

就像是从设计蓝图到选择材料和技术,再到最终建造出一座现代化、高效的摩天大楼的整个过程。

MetaNeXt

  • 问题: 如何提高模型在处理空间信息时的效率和性能?需要一个高效处理空间信息的模型结构。

  • 解法: 提出MetaNeXt块,将深度卷积抽象为token混合器,负责空间信息交互。

    • 子特征1: 使用TokenMixer简化深度卷积过程。
      • 原因: 为了在保持空间信息交互能力的同时提高处理速度和简化模型结构。
    • 子特征2: 在MetaNeXt块中采用标准化和MLP模块以及1×1卷积。
      • 原因: 这些操作有助于进一步提升模型的特征提取能力和计算效率。

提出MetaNeXt块,使用TokenMixer简化深度卷积,增加标准化和MLP模块以及1×1卷积,以提高处理速度和简化模型结构,同时保持空间信息交互能力。

MetaNeXt块的设计提供了改进深度卷积处理效率和性能的基础框架,为进一步的优化铺平了道路。

Inception深度卷积

  • 问题: 如何解决传统大核心深度卷积在模型速度上的瓶颈?

  • 解法: 提出Inception深度卷积,通过分解大核心操作为多个小核心操作来提高效率。

    • 子特征1: 对输入通道进行分组,部分通道保持不变,作为恒等映射分支。
      • 原因: 研究表明,对于深度卷积层,处理部分通道就足够,这有助于减少计算负担。
    • 子特征2: 将处理的通道通过不同的小核心分支进行并行处理。
      • 原因: 通过避免使用大的方形核心,而是采用小的方形核心和带状核心,可以在不牺牲感受野的前提下提高计算效率。

通过Inception深度卷积的设计,将大核心操作分解为多个小核心操作,对输入通道进行分组并通过不同的小核心分支并行处理。

Inception深度卷积的提出直接针对MetaNeXt块中深度卷积的效率问题,通过更细致的操作优化,实现了更高的计算效率和性能。

这一创新是基于MetaNeXt设计理念的进一步发展和精细化。

InceptionNeXt

  • 问题: 如何构建一个既高效又性能卓越的CNN模型?
  • 解法: 基于InceptionNeXt块构建一系列模型,采用四阶段框架,并根据ConvNeXt的设计指导原则进行调整。
    • 子特征1: 模型采用四阶段框架,与ConvNeXt和ResNet类似。
      • 原因: 这种框架结构被证明能有效提升深度学习模型的性能,同时保持良好的计算效率。
    • 子特征2: 利用Inception深度卷积在每个阶段内部提升效率和性能。
      • 原因: Inception深度卷积通过分解大核心操作为多个并行的小核心操作,实现了更好的速度-准确度权衡。

基于InceptionNeXt块,采用四阶段框架,并根据ConvNeXt的设计指导原则进行调整,整合Inception深度卷积的优化。

InceptionNeXt模型的构建是对MetaNeXt构建和Inception深度卷积设计理念的实际应用和综合体现。

它将MetaNeXt的基础设计理念和Inception深度卷积的具体实现策略相结合,通过一系列精心设计的模型框架,实现了对深度学习模型性能和效率的最优化。

通过这种方法论的分解,我们不仅解决了传统深度卷积操作效率低下的问题,还提出了一种新的CNN架构,即InceptionNeXt,它通过简化和优化卷积操作来提高模型的整体性能和效率。

小目标涨点

更新中…

YOLO v5 魔改

YOLO v7 魔改

YOLO v8 魔改

YOLO v9 魔改

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

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

相关文章

EC600模块通过AT指令接入阿里云物联网平台并发布属性

摘要:本文介绍一下如何通过EC600模块的AT指令,将设备属性值发送到阿里云物联网平台的方法。 这个模块供电可以是 5-16V 和电脑通过USB串口连接,4线即可。未来集成到自己的系统中的时候,可以直接发送指令即可。 使用的软件是FreeAT…

Apache ECharts数据可视化技术

介绍 官方地址:Apache ECharts 快速入门案例echarts.init //初始化方法 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>ECharts</title><!-- 引入刚刚下载的 ECharts 文件 --><script src"echart…

4.Rust中的所有权(Rust成名绝技)

Rust成名绝技 Rust 之所以能成为万众瞩目的语言&#xff0c;就是因为其内存安全性。在以往&#xff0c;内存安全几乎都是通过 GC 的方式实现&#xff0c;但是 GC 会引来性能、内存占用以及全停顿等问题&#xff0c;在高性能场景、实时性要求高和系统编程上是不可接受的&#x…

代码随想录-贪心算法

贪心的本质是选择每一阶段的局部最优&#xff0c;从而达到全局最优。 455. 分发饼干 class Solution {public int findContentChildren(int[] g, int[] s) {Arrays.sort(g);Arrays.sort(s);int count 0;int sIndex s.length - 1;for (int i g.length - 1; i > 0; i--) …

Mamba模型底层技术详解,与Transformer到底有何不同?

导读&#xff1a; 基于状态空间模型&#xff08;State Space Model&#xff09;的Mamba模型最近在深度学习领域有赶超Transformer的势头。其最主要的优势就在于其在长序列任务上的优异性能与较低的计算复杂度。本文就Mamba模型的原理进行解析&#xff0c;分析Mamba模型在结构上…

Dynamo初学常识梳理(四)——Revit图元

希望想学 Dynamo 的小伙伴坚持住&#xff0c;每天积累一点点知识&#xff0c;Dynamo 你很快就能上手的&#xff01;Dynamo 并不是你想的那样难学哦&#xff01; 今天要讲的是如何从 Dynamo 中获取 Revit 的图元&#xff0c;这些节点很常用&#xff0c;不需要全背下来&#xff0…

田宏斌:以人为本的听力健康管理实践经验 | 演讲嘉宾公布

一、助辅听器材Ⅲ分论坛 助辅听器材Ⅲ分论坛将于3月28日同期举办&#xff01; 听力贯穿人的一生&#xff0c;听觉在生命的各个阶段都是至关重要的功能&#xff0c;听力问题一旦出现&#xff0c;会严重影响生活质量。助辅听器材能有效提高生活品质。在这里&#xff0c;我们将分享…

【MybatisPlus】QueryWrapper、UpdateWrappe、LambdaQueryWrapper、LambdaUpdateWrapper

一、Wrapper简介 QueryWrapper、UpdateWrapper、LambdaQueryWrapper 和 LambdaUpdateWrapper 都是 MyBatis-Plus 框架中用于构建条件的工具类&#xff0c;它们之间的关系是继承关系。其中 QueryWrapper 和 UpdateWrapper 是基于普通的对象属性名来构建条件的&#xff0c;而 La…

2024最新Android大厂面试真题大全,推荐学习

历时半年&#xff0c;我们终于整理出了这份市面上最全面的最新Android面试题解析大全&#xff01; 章节目录 第一章&#xff1a;Android 基础 面试题 第二章&#xff1a;Android 高级 面试题 第三章&#xff1a;开源框架实战面试解析 第四章&#xff1a;Java 面试题 第五章&a…

SpringBoot源码解读与原理分析(三)条件装配

文章目录 2.3 Spring Framework的条件装配2.3.1 基于Profile的装配1.Profile源码解读2.使用Profile注解&#xff08;3&#xff09;命令行参数配置Profile3.Profile运用于实际开发4.Profile的不足 2.3.2 基于Conditional的装配1.Conditional源码解读2.Conditional使用3.Conditio…

Kosmos-1: 通用接口架构下的多模态大语言模型

Kosmos-1: 通用接口架构下的多模态大语言模型 FesianXu 20230513 at Baidu Search Team 前言 在大规模语言模型&#xff08;Large Language Model, LLM&#xff09;看似要带来新一番人工智能变革浪潮之际&#xff0c;越来越多尝试以LLM作为通用接口去融入各种任务的工作&#…

WordPress建站入门教程:小皮面板phpstudy如何安装PHP和切换php版本?

小皮面板phpstudy支持的PHP版本有很多&#xff0c;包括5.2.17、5.3.29、5.4.45、5.5.9、5.6.9、7.0.9、7.1.9、7.2.9、7.3.4、7.3.9、7.4.3、8.0.2、8.2.9。那么我们如何安装其他的php版本和切换网站的php版本呢&#xff1f;只需要简单几步即可&#xff0c;具体如下&#xff1a…

JavaWeb - 2 - HTML、CSS

什么是HTML、CSS&#xff1f; HTML&#xff08;HyperText Markup Language&#xff09;&#xff1a;超文本标记语言 超文本&#xff1a;超越了文本的限制&#xff0c;比普通文本更强大&#xff0c;除了文字信息&#xff0c;还可以定义图片、音频、视频等内容 标记语言&…

不用下载的工具却能保存西瓜视频的原画视频,支持无水印!

近年来&#xff0c;西瓜视频可谓是炙手可热&#xff0c;得益于其强大的后盾——抖音&#xff0c;以及推出的"中视频计划"。这个计划慷慨地斥资20亿用于支持视频制作者&#xff0c;因此在西瓜视频平台上&#xff0c;我们目睹了大量优质的长视频如雨后春笋般涌现。 对于…

SpringCloud 各自组件的停更/升级/替换

一、停更不停用 现在 SpringCloud 不再修复 bug&#xff0c;也不再接收合并请求&#xff0c;也不再发布新版本&#xff0c;但是目前还是可以继续使用的。 二、以前的组件 以前 SpringCloud 常用的组件如下图&#xff0c;服务的注册和发现使用 Eureka&#xff0c;服务的负载和调…

工业镜头的重要参数之视场、放大倍率、芯片尺寸--51camera

今天来简单介绍下工业镜头中常用的参数中的三个&#xff1a; 1、视场 视场&#xff08;FOV&#xff09;也称视野,是指能被视觉系统观察到的物方可视范围。 对于镜头而言&#xff0c;可观察到的视场跟镜头放大倍率及相机芯片选择有关。因此需要根据被观察物体的尺寸&#xff…

threejs展示glb模型

原模型为rvt模型 <template><div ref"threeJsContainer"class"three-js-container"></div> </template> <script> import { defineComponent } from "vue"; import * as THREE from "three"; import…

如何选择阿里云服务器配置,过来人说说

阿里云服务器配置怎么选择&#xff1f;CPU内存、公网带宽和系统盘怎么选择&#xff1f;个人开发者或中小企业选择轻量应用服务器、ECS经济型e实例&#xff0c;企业用户选择ECS通用算力型u1云服务器、ECS计算型c7、通用型g7云服务器&#xff0c;阿里云服务器网aliyunfuwuqi.com整…

C++核心编程之内存分区模型,引用,函数提高

1&#xff0c;类型分区模型 c程序在执行中&#xff0c;将内存大方向划分为4个区域 1&#xff0c;代码区&#xff1a;存放函数体的二进制代码&#xff0c;由操作系统进行管理的 2&#xff0c;全局区&#xff1a;存放全局变量和静态变量以及常量 3&#xff0c;栈区&#xff1…

【学习笔记】java项目:黑马头条(day01)

文章目录 环境搭建、SpringCloud微服务(注册发现、服务调用、网关)1)课程对比2)项目概述2.1)能让你收获什么2.2)项目课程大纲2.3)项目概述2.4)项目术语2.5)业务说明 3)技术栈4)nacos环境搭建4.1)虚拟机镜像准备4.2)nacos安装 5)初始工程搭建5.1)环境准备5.2)主体结构 6)登录6.1…