万字长文——ConvNeXt(2022CVPR),卷积网络的顶峰之作,在Transformer盛行的当下,卷积网络还能再战!

ConvNext:A ConvNet for the 2020s

ConvNext:2020 年代的卷积神经网络

论文地址: https://arxiv.org/pdf/2201.03545

自从Transformer成功应用在视觉领域并且取得显著成绩后,很多人开始抛弃卷积网络架构,转而使用Transformer。然而有的大佬不认为卷积过时了,于是有了这篇论文,本文并没有提出创新的技术,而是集百家之所长,将CV领域中的各种技巧融会贯通,使用纯卷积搭建类似于Transofmer的网络结构,以此证明了“我和你长得类似,我纯卷积效果也不输你自注意力”;最终得到了卷积神经网络的巅峰之作——ConvNext。经过个人实践后,效果确实强,的确不输SwinTransformer,也超过了绝大部分的卷积网络(我没有把所有卷积网络都对比)。

1、前言

2020Vision Transformer横空出世,直接在计算机视觉大杀四方,传统卷积网络在计算机视觉领域的地位受到了挑战。于是作者在2020年重新探索了纯粹基于卷积的网络设计的潜力,证明了卷积神经网络还能再战!

视觉识别的“咆哮的 20 年代”始于视觉Transformer (ViT) 的引入,它迅速取代了卷积网络,成为最先进的图像分类模型。

另一方面,普通的 ViT 在应用于一般计算机视觉任务(例如对象检测和语义分割)时面临困难。Swin Transformers重新引入了几个卷积架构,使得 Transformers 成为了通用视觉主干,并在各种视觉任务上展示了卓越的性能。然而,在 Transformer 中引入卷积架构,其有效性仍然在很大程度上归功于 Transformer 的内在优越性,而不是卷积固有的归纳偏差。

在这项工作中,作者重新审视设计空间并测试纯卷积网络能实现的极限。作者对标准的ResNet架构进行了一系列的“现代化”改进,逐步将其改造为类似于 ViT 的设计,但完全基于标准的ConvNet模块,并发现了几个导致性能差异的关键组件。作者将这一探索的结果称为“基于纯卷积网络的模型”——ConvNeXt。ConvNeXts 完全由标准 ConvNet 模块构建而成,在准确性和可扩展性方面能与 Transformers 竞争,实现了 87.8% 的 ImageNet top-1 准确性,并在 COCO 检测和 ADE20K 分割方面优于 Swin Transformers,同时保持了标准 ConvNets 的简单性和效率。

1.1、ConvNets和视觉Transformer在ImageNet-1K上的分类结果

图中的每个气泡代表一个模型变体,气泡的面积与该模型变体的浮点运算次数(FLOPs)成正比。FLOPs是衡量模型在处理单个输入时所需计算量的指标,通常用来评估模型的计算复杂度。图中展示了不同尺寸的模型,包括ImageNet-1K和ImageNet-22K模型。ImageNet-1K/22K模型分别处理224x224和384x384像素的图像。ImageNet-22K是ImageNet-1K的一个扩展,包含更多的类别和图像。ResNet和ViT结果是在原始论文的基础上通过改进的训练技巧得到的。作者证明了一个标准的ConvNet模型可以达到与SwinT相同的可扩展性水平,同时在设计上要简单得多。

1.2、卷积神经网络在计算机视觉领域的统治地位并非巧合

在许多应用场景中,“滑动窗口”策略是视觉处理的内在特征,特别是在处理高分辨率图像时。卷积神经网络有几个内置的归纳偏置,使它们非常适合各种各样的计算机视觉应用。其中最重要的一个归纳偏置是平移等变性(translation equivariance),它指的是网络对于输入图像中目标位置的变化保持一定的鲁棒性。具体来说,平移等变性意味着如果输入图像发生平移(即图像中的所有内容按照某个方向移动一定的距离),卷积层输出的特征映射也会以相同的方式平移。这种特性使得卷积神经网络能够更好地检测和识别图像中的位置变化的物体。 ConvNets 在采用滑动窗口方式时,由于计算是共享的,因此具有固有的高效性。这意味着网络在处理图像的每个局部区域时,可以重复利用之前的计算结果,从而减少了总体的计算量。

1.3Transformer的发展

大约在同一时间,自然语言处理 (NLP) 的神经网络设计走了一条截然不同的道路,Transformers 取代了循环神经网络RNN,成为占主导地位的骨干架构。 尽管语言和视觉领域之间的兴趣任务存在差异,但随着视觉Transformer(ViT)的引入彻底改变了网络架构设计的格局,这两个流在 2020 年令人惊讶地融合。除了最初的“patch”层(将图像分割成一系列补丁)外,ViT 没有引入特定于图像的归纳偏差,并对原始的 Transformer 进行了最小的更改。

ViT 的一个主要关注点是扩展行为:借助更大的模型和更大的数据集,Transformers 的性能可以显著优于标准 ResNet。ViT 在图像分类任务的结果令人鼓舞,但计算机视觉并不局限于图像分类;如果没有 ConvNet 归纳偏差,普通的 ViT 模型想要成为通用视觉主干面临许多挑战,其中最大的挑战是 ViT 在整张输入的图像上计算自注意力,其计算复杂度会随着输入图片大小呈二次方增长,这是非常庞大的计算量。这对于 ImageNet 分类来说可能是可以接受的,但对于更高分辨率的输入就会变得棘手。

层级式Transformer 采用“滑动窗口”策略(在局部窗口内计算注意力),这使得 Transformer 的行为与 ConvNet 更加相似。Swin Transformer 首次证明 Transformer 可以作为

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

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

相关文章

OpenGL渲染管线(Rendering Pipeline)介绍

渲染管线 计算机图形学中,计算机图形管线(渲染管线 或简称 图形管线、流水线)是一个概念模型,它描述了t图像系统将 3D场景渲染到2D屏幕所需执行的一系列步骤。渲染管线大的可以分为三个阶段。 (一)应用阶段…

Web接入Sonic平台之安装

问题及解决方案 1.安装python的airtest-bdd依赖时报错,显示无法编译psutil note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for psutil Failed to build psutil ERROR: ERROR: Failed to b…

Android SystemUI组件(07)锁屏KeyguardViewMediator分析

该系列文章总纲链接:专题分纲目录 Android SystemUI组件 本章关键点总结 & 说明: 说明:本章节持续迭代之前章节的思维导图,主要关注左侧上方锁屏分析部分即可。 为了更好理解本文的内容,优先说明下SystemUI中与Ke…

[已更新前两问代码+全部建模]2024华为杯C题详细思路代码文章建模分享研究生数学建模竞赛数学建模研赛

截止9.21 12点 已更新问题一二的代码和全部内容的建模 下面我们会先进行代码讲解,之后给出全部内容的建模公式 ## https://docs.qq.com/doc/DVWhyZ1NFY01XcmNw基于磁通密度数据的特征提取与分类分析。 问题一代码详解 1. 导入必要的库 import pandas as pd import numpy as…

Elastic 的 OpenTelemetry PHP 发行版简介

作者:Pawel Filipczak 宣布 OpenTelemetry PHP 的 Elastic 发行版的第一个 alpha 版本。在本篇博文中了解使用 OpenTelemetry 来检测 PHP 应用程序是多么简单。 我们很高兴推出 OpenTelemetry PHP 的 Elastic Distribution 的第一个 alpha 版本。在这篇文章中&…

十九、石英晶体振荡电路

石英晶体振荡电路 1、石英晶体的特点、等效电路、特性曲线; 2、石英晶体振动器的特点, 3、石英晶体振动器的振荡频率

【爱给网-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…

滑动窗口算法专题(1)

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏: 优选算法专题 目录 滑动窗口算法的简介 209. 长度最小的子数组 3.无重复字符的最长子串 1004. 最大连续1的个数III 1658. 将减到0的最小…

Java调用数据库 笔记06 (修改篇)

1.创建Java的普通class类 2.加载驱动 Class.forName("com.mysql.jdbc.Driver"); 3.驱动管理类调用方法进行连接,得到连接对象 DriverManager.getConnection(url, user, password); 其中设置参数: static final String url "jdbc:my…

python中ocr图片文字识别样例(二)

一、说明 本次解决图片相关出现中文乱码问题,属于上篇文章的优化,前提条件依赖上篇文章的包,当然ocr的具体应用场景很多,根据自身需求进行调整 二、具体实现 2.1 代码实现: # -*- coding: utf-8 -*- import easyoc…

电气设备施工现场风险状态判断ai模型训练数据集

电气设备施工现场风险状态判断ai模型训练数据集 id:18 电气设备施工现场工人人工智能学习数据和工作环境安全数据,建立系统化管理体系,改变全球EHS范式,预防工业事故。数据集记录了387709例子电力设施建设以及施工现场相关的灾害安全环境数据…

电力行业螺钉螺帽螺丝缺失检测数据集 voc yol

电力行业螺钉螺帽螺丝缺失检测数据集 数据集描述 该数据集旨在用于电力行业中的螺钉、螺帽、螺丝等紧固件的缺失检测任务。数据集包含了大量的图像及其对应的标注信息,可用于训练计算机视觉模型,以识别和定位电力设施中的螺钉、螺帽、螺丝等部件是否存在…

【零成本】七日杀 服务器搭建 异地联机 无需公网IP、服务器

主要内容 什么是七日杀 搭建前需要准备什么 详细步骤 1.Steam中下载七日杀服务器工具 2.修改七日杀服务配置文件 3.启动七日杀服务器应用 4.运行 MoleSDN 进行异地联机 5.小伙伴打开游戏加入 鼠鼠的服务器 什么是七日杀 《七日杀》是一款沙盒生存恐怖游戏,…

【2025】儿童疫苗接种预约小程序(源码+文档+解答)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

LeetCode[中等] 54.螺旋矩阵

给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 思路:定义方向数组,按照顺时针顺序:右(0,1),下(1,0),左(0,-1),上(0,-1) 从矩阵的左上角开始遍历…

5. 数字证书与公钥基础设施

5. 数字证书与公钥基础设施 (1) PKI 的定义、组成及应用 PKI(Public Key Infrastructure,公钥基础设施) 是一个使用公钥技术来提供安全服务的框架。它定义了如何管理和维护公钥,以及如何通过证书来验证公钥的真实性。PKI的核心组成部分包括: 证书颁发机构(CA, Certifica…

Maven 安装

Maven 安装 Maven 下载安装 下载MAVEN 选择版本注意: IDEA 2022 兼容maven 3.8.1及之前的所用版本 IDEA 2021 兼容maven 3.8.1及之前的所用版本 IDEA 2020 兼容Maven 3.6.3及之前所有版本 IDEA 2018 兼容Maven3.6.1及之前所有版本 打开MAVEN官网 下载需要的版本 Wi…

软件设计师——操作系统

📔个人主页📚:秋邱-CSDN博客☀️专属专栏✨:软考——软件设计师🏅往期回顾🏆:C: 类和对象(上)🌟其他专栏🌟:C语言_秋邱 一、操作系统…

Qt_窗口界面QMainWindow的介绍

目录 1、菜单栏QMenuBar 1.1 使用QMainWindow的准备工作 1.2 在ui文件中设计窗口 1.3 在代码中设计窗口 1.4 实现点击菜单项的反馈 1.5 菜单中设置快捷键 1.6 菜单中添加子菜单 1.7 菜单项中添加分割线和图标 1.8 关于菜单栏创建方式的讨论 2、工具栏QToolBar …

谷歌-BERT-“bert-base-chinese ”

1 需求 需求:自动下载模型和分词器 需求:手动导入模型和分词器 需求:pipeline使用预训练模型 需求:训练和评估 需求:测试 关键词:训练数据集、评估数据集、测试数据集 需求:上线 2 接口 3 自…