【CVPR2024】计算机视觉|InceptionNeXt:速度与精度齐飞的CNN架构

在这里插入图片描述

论文地址:http://arxiv.org/pdf/2303.16900v3
代码地址:https://github.com/sail-sg/inceptionnext


关注UP CV缝合怪,分享最计算机视觉新即插即用模块,并提供配套的论文资料与代码。
https://space.bilibili.com/473764881
图片

摘要

受ViT的远程建模能力启发,近来,人们对大核卷积进行了广泛的研究和应用,以扩大感受野并提高模型性能,例如采用7×7深度卷积的出色工作ConvNeXt。虽然这种深度算子只消耗少量的FLOPs,但由于高内存访问成本,它在强大的计算设备上大大损害了模型效率。例如,ConvNeXt-T与ResNet-50具有相似的FLOPs,但在A100 GPU上以全精度训练时,吞吐量仅达到约60%。虽然减小ConvNeXt的内核大小可以提高速度,但会导致性能显著下降,这就提出了一个具有挑战性的问题:如何在保持基于大核的CNN模型性能的同时,提高其速度

为了解决这个问题,受Inception的启发,本研究提出将大核深度卷积分解为沿通道维度的四个并行分支,即小方形核、两个正交带核和一个恒等映射。利用这种新的Inception深度卷积,本研究构建了一系列网络,即InceptionNeXt,它不仅具有高吞吐量,而且保持了竞争性的性能。例如,InceptionNeXt-T的训练吞吐量比ConvNeX-T高1.6倍,并且在ImageNet-1K上获得了0.2%的top-1准确率提升。本研究预计InceptionNeXt可以作为未来架构设计的经济型基线,以减少碳足迹。
在这里插入图片描述

引言

本研究旨在提升卷积神经网络(CNN)在计算机视觉领域的效率和性能。回顾深度学习发展历程,CNN凭借其卓越的性能,在计算机视觉领域占据了核心地位Transformer模型在自然语言处理领域的成功,激发了研究者将其引入视觉领域的热情。Vision Transformer (ViT) 的出现,更是推动了Transformer在图像识别领域的应用。然而,现代CNN模型,如ConvNeXt,通过引入GELU激活函数大卷积核等模块,在多种任务中超越了Swin Transformer等ViT模型。这些现代CNN模型通常采用深度可分离卷积更大的卷积核,以获得更大的感受野

然而,尽管深度可分离卷积在理论上具有较低的计算复杂度,但由于其高内存访问成本,在GPU等高性能计算设备上表现出较低的实际效率。增加卷积核尺寸会进一步降低模型速度。为了解决这个问题,本研究着眼于如何在保持大卷积核CNN模型性能的同时,提升其运算速度

通过对ConvNeXt的初步实验,本研究发现并非所有输入通道都需要进行计算成本较高的深度可分离卷积操作。因此,本研究提出保留部分通道不进行处理,仅对一部分通道进行深度可分离卷积操作。此外,本研究还提出将大的深度可分离卷积核分解为多个小组的小卷积核,借鉴Inception的思想。具体来说,对于需要处理的通道,其中一部分采用3x3的卷积核,另外两部分分别采用3x3的卷积核,另外两部分分别采用1xk和kx1的卷积核。基于这种新的**“Inception深度可分离卷积”,构建了InceptionNeXt模型**,该模型在准确率和速度之间取得了更好的平衡

论文创新点

本研究提出了一种名为InceptionNeXt的新型CNN架构,旨在提高深度学习模型在计算机视觉任务中的效率和性能。ConvNeXt通过采用大kernel卷积来扩大感受野并提高模型性能,但同时也带来了高内存访问成本的问题,影响了模型在强大计算设备上的效率。为了解决这个问题,本研究受到Inception的启发,将大kernel深度卷积分解为四个并行分支,包括小kernel、两个正交带kernel和一个identity mapping。

InceptionNeXt的创新点主要体现在以下几个方面:

  1. 💡 提出了Inception深度卷积:💡

    • 本研究并没有像其他工作一样追求更大kernel,而是选择分解大kernel。具体来说,将深度可分离卷积的大kernel分解为几个小组的小kernel。
    • 对于处理通道,一部分采用3×3的kernel,另外两部分则分别采用1×k和k×1的kernel。
    • 通过这种方式,Inception depthwise convolution在参数数量和计算复杂度上都比传统的深度可分离卷积更高效。
  2. 🚀 解决了ConvNeXt的速度瓶颈:🚀

    • 本研究指出ConvNeXt虽然FLOPs较小,但由于depthwise卷积带来的高内存访问成本,导致其在GPU等高性能计算设备上的速度较慢。
    • InceptionNeXt通过分解depthwise卷积,显著提高了模型的训练和推理速度。
  3. ⚖️ 实现了精度与速度的更好trade-off:⚖️

    • 实验结果表明,InceptionNeXt在ImageNet-1K图像分类任务上,相比ConvNeXt,不仅保持了甚至略微提升了精度,同时还实现了更高的训练和推理吞吐量。
    • 这意味着InceptionNeXt在保证性能的同时,更具实际应用价值。
  4. 🌐 模型具有良好的泛化能力:🌐

    • 本研究通过实验证明,InceptionNeXt不仅可以在传统的四阶段框架下表现良好,也可以在ViT风格的isotropic架构下取得有竞争力的结果,表明InceptionNeXt具有良好的泛化能力,可以适应不同的网络架构。
  5. 🖼️ 在语义分割任务上表现出色:🖼️

    • 本研究将InceptionNeXt应用于语义分割任务,并使用UperNet和Semantic FPN进行评估。
    • 实验结果表明,InceptionNeXt在这些任务上显著优于其他backbone,表明它在密集预测任务中具有很大的潜力。

论文实验

在这里插入图片描述

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

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

相关文章

7.15 窗口函数 | 二分 | 位运算 | 字符串dp

lc3316. 字符串dpdp多开一行一列后,注意原字符串下标映射dp[n][m] ( n 是source长度, m 是pattern长度)两重循环填表for i 1-nfor j 0-m三种状态转移1.不选 dp i jdp i-1 j2.不选if tag, dp[i][j]3.if(s ip j) 选,dp i…

Spring原理揭秘--初识AOP

我们知道软件开发一直在追求高效,易维护,易扩展的特性方式。在面向过程编程到面向对象编程的历程中,程序的开发有了非常大的进步。但是oop的方式缺依然存在着一些缺点。oop的方式可以将业务进行很好的分解和封装使其模块化,但是却…

Provider模式:软件架构中的“供应商“设计哲学

文章目录Provider模式:软件架构中的“供应商“设计哲学什么是Provider模式?经典应用场景1. 配置管理Provider2. 数据访问Provider4. 消息队列ProviderProvider模式的优势1. 解耦合实际项目中的应用Provider模式的最佳实践1. 命名约定2. 接口设计原则3. 错…

LTspic下载,帮助及演示电路

1.下载 LTspice是一款强大高效的免费SPICE仿真器软件、原理图采集和波形观测器,为改善模拟电路的仿真提供增强功能和模型。其原理图捕获图形界面使您能够探测原理图并生成仿真结果,这些结果可以通过内置波形查看器进一步观察分析。 链接: …

位置编码/绝对位置编码/相对位置编码/Rope原理+公式详细推导及代码实现

文章目录1. 位置编码概述1.1 为什么需要位置编码?2. 绝对位置编码 (Absolute Position Encoding)2.1 原理2.2 数学公式2.3 代码实现2.4 代码与公式的对应关系2.5 特性与优势2.6 可学习的绝对位置编码3. 相对位置编码 (Relative Position Encoding)3.1 原理3.2 数学公…

网络安全初级第一次作业

一,docker搭建和挂载vpm 1.安装 Docker apt-get install docker.io docker-compose 2.创建文件 mkdir /etc/docker.service.d vim /etc/docker.service.d/http-proxy.conf 3.改写文件配置 [Service] Environment"HTTP_PROXYhttp://192.168.10.103:7890…

交换类排序的C语言实现

交换类排序包括冒泡排序和快速排序两种。冒泡排序基本介绍冒泡排序是通过重复比较相邻元素并交换位置实现排序。其核心思想是每一轮遍历将未排序序列中的最大(或最小)元素"浮动"到正确位置,类似气泡上升。基本过程是从序列起始位置…

嵌入式 Linux开发环境构建之Source Insight 的安装和使用

目录 一、Source Insight 的安装 二、Source Insight 使用 一、Source Insight 的安装 这个软件是代码编辑和查看软件,打开开发板光盘软件,然后右键选择以管理员身份运行这个安装包。在弹出来的安装向导里面点击 next ,如下图所示。这里选择…

【字节跳动】数据挖掘面试题0016:解释AUC的定义,它解决了什么问题,优缺点是什么,并说出工业界如何计算AUC。

文章大纲 AUC(Area Under the Curve)详解一、定义:AUC是什么?二、解决了什么问题?三、优缺点分析四、工业界大规模计算AUC的方法1. 标准计算(小数据)2. 工业级大规模计算方案3.工业界最佳实践4.工业界方案选型建议总结:AUC的本质AUC(Area Under the Curve)详解 一、…

Python后端项目之:我为什么使用pdm+uv

在试用了一段时间的uv和pdm之后,上个月(2025.06)开始,逐步把用了几年的poetry替换成了pdmuv(pipx install pdm uv && pdm config use_uv true) ## 为什么poetry -> pdm: 1. 通过ssh连接到服务器并使用poetry shell激活虚拟环境之…

鸿蒙Next开发,配置Navigation的Route

1. 通过router_map.json配置文件进行 创建页面配置router_map.json {"routerMap": [{"name": "StateExamplePage","pageSourceFile": "src/main/ets/pages/state/StateExamplePage.ets","buildFunction": "P…

在 GitHub 上创建私有仓库

一、在 GitHub 上创建私有仓库打开 GitHub官网 并登录。点击右上角的 “” → 选择 “New repository”。填写以下内容: Repository name:仓库名称,例如 my-private-repo。Description:可选,仓库描述。Visibility&…

量产技巧之RK3588 Android12默认移除导航栏状态栏​

本文介绍使用源码编译默认去掉导航栏/状态栏方法,以触觉智能EVB3588开发板演示,Android12系统,搭载了瑞芯微RK3588芯片,该开发板是核心板加底板设计,音视频接口、通信接口等各类接口一应俱全,可帮助企业提高产品开发效…

Conda 安装与配置详解及常见问题解决

《Conda 安装与配置详解及常见问题解决》 安装 Conda 有两种主流方式,分别是安装 Miniconda(轻量级)和 Anaconda(包含常用数据科学包)。下面为你详细介绍安装步骤和注意要点。 一、安装 Miniconda(推荐&a…

Linux ——lastb定时备份清理

lastb 命令显示的是系统中 /var/log/btmp 文件中的SSH 登录失败记录。你可以像处理 wtmp 那样,对 btmp 文件进行备份与清理。✅ 一、备份 lastb 数据cp /var/log/btmp /var/log/btmp.backup.$(date %F)会保存为如 /var/log/btmp.backup.2025-07-14✅ 二、清空 lastb…

自定义类型 - 联合体与枚举(百度笔试题算法优化)

目录一、联合体1.1 联合体类型的声明1.2 联合体的特点1.3 相同成员的结构体和联合体对比1.4 联合体大小的计算1.5 联合练习二、枚举类型2.1 枚举类型的声明2.2 枚举类型的优点总结一、联合体 1.1 联合体类型的声明 像结构体一样,联合体也是由一个或者多个成员构成…

FS820R08A6P2LB——英飞凌高性能IGBT模块,驱动高效能源未来!

产品概述FS820R08A6P2LB 是英飞凌(Infineon)推出的一款高性能、高可靠性IGBT功率模块,采用先进的EconoDUAL™ 3封装,专为大功率工业应用设计。该模块集成了IGBT(绝缘栅双极型晶体管)和二极管,适…

python学智能算法(十八)|SVM基础概念-向量点积

引言 前序学习进程中,已经对向量的基础定义有所了解,已经知晓了向量的值和方向向量的定义,学习链接如下: 向量的值和方向 在此基础上,本文进一步学习向量点积。 向量点积 向量点积运算规则,我们在中学阶…

【windows办公小助手】比文档编辑器更好用的Notepad++轻量编辑器

Notepad 中文版软件下载:这个路径总是显示有百度无法下载,不推荐 更新:推荐下载路径 https://github.com/notepad-plus-plus/notepad-plus-plus/releases 参考博主:Notepad的安装与使用

2025年7月12日全国青少年信息素养大赛图形化(Scratch)编程小学高年级组复赛真题+答案解析

2025年7月12日全国青少年信息素养大赛图形化(Scratch)编程小学高年级组复赛真题+答案解析 选择题 题目一 运行如图所示的程序,舞台上一共会出现多少只小猫呢?( ) A. 5 B. 6 C. 7 D. 8 正确答案: B 答案解析: 程序中“当绿旗被点击”后,角色先移到指定位置,然后“重…