新一代大核卷积反超ViT和ConvNet!同参数量下性能、精度、速度完胜

本文主要是介绍新一代大核卷积反超ViT和ConvNet!同参数量下性能、精度、速度完胜,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大核卷积网络是CNN的一种变体,也是深度学习领域的一种重要技术,它使用较大的卷积核来处理图像数据,以提高模型对视觉信息的理解和处理能力。

这种类型的网络能够捕捉到更多的空间信息,因为它的大步长和大感受野可以一次性覆盖图像的更多区域。比如美团提出的PeLK网络,内核大小可以达到101x101,同参数量下性能反超 ViT,目前已被CVPR 2024收录。

更值得一提的,大核卷积网络不仅在性能上有所提升,在ImageNet分类等任务上,也展现出了优于ViT和ConvNet架构的效果。比如腾讯+港中文提出的UniRepLKNet,只用ImageNet-22K预训练,精度和速度SOTA,ImageNet达到88%。

当然效果惊人的成果远不止这些,我这次挑选了10个大核卷积网络最新创新方案,开源的项目代码都有,供有论文需求的同学参考学习。

论文原文以及开源代码需要的同学看文末

PeLK: Parameter-efficient Large Kernel ConvNets with Peripheral Convolution

方法:论文提出了外围卷积,通过参数共享有效减少了密集网格卷积 90% 以上的参数数量,并设法将内核尺寸扩大到极大。在此基础上,作者提出了参数高效的大核网络(PeLK)。

创新点:

  • 密集网格卷积(Dense Grid Convolution)相较于条纹卷积(Stripe Convolution)具有持续的优势,无论是在多种核大小下还是在不同的任务中,密集网格卷积都能够表现出更好的性能。

  • 引入人类外周视觉机制(Peripheral Vision)的概念来提高大核卷积网络的参数效率,通过参数共享有效地减少了密集网格卷积的参数数量,并且能够将卷积的复杂性从O(K^2)降低到O(log K)。

UniRepLKNet: A Universal Perception Large-Kernel ConvNet for Audio, Video, Point Cloud, Time-Series and Image Recognition

方法:论文探索了大卷积核的卷积神经网络(ConvNet)的架构设计和在多模态领域的通用感知能力,填补了现有大卷积核ConvNet的架构设计不足和在非视觉领域的应用研究空白,通过提出四个架构准则设计了UniRepLKNet,并在图像识别、时间序列预测和音频识别等任务上取得了领先的性能,验证了大卷积核的重要性和ConvNet的通用感知能力。

创新点:

  • 大核ConvNet架构设计:
    • 提出了四个关于大核ConvNet设计的指导原则,其中核心原则是利用大核与小核的本质区别,即大核可以在不加深网络的情况下实现更广阔的感受野。

    • 根据这些指导原则,提出的大核ConvNet在图像识别任务中取得了领先的性能,相比于其他强大的竞争模型,具有更好的性能和更高的速度。

  • 大核ConvNet在多模态领域的普适感知能力:
    • 发现大核ConvNet在原本不擅长的领域具有出色的性能表现。通过特定的模态相关预处理方法,该模型在时间序列预测和音频识别任务上实现了业界领先的性能,即使没有进行模态特定的架构定制化。

    • 证明了大核ConvNet在多模态任务中的卓越性能,为ConvNet在新领域的应用开辟了新的可能性。

LSKNet: Large Selective Kernel Network for Remote Sensing Object Detection

方法:论文主要介绍了一种用于遥感目标检测的新方法,即大型选择性核网络(LSKNet)。LSKNet的整体架构基于最近流行的结构,并使用了重复的构建块。作者通过定义Rc作为期望选择RF区域与GT边界框区域的比例来研究每个目标类别的感受野范围。

创新点:

  • 作者首次尝试将大核卷积应用于遥感目标检测,并研究了其在这一领域的重要性。通过将大核卷积分解为两个深度卷积核,作者提出了一种适用于遥感的LSKNet架构,能够充分利用遥感图像的特点,实现对不同对象类型的广泛和可适应的上下文理解。

  • 作者提出了一种空间选择机制,用于在不同尺度上从大卷积核中选择特征图。通过通道平均池化和通道最大池化,作者有效地提取了特征之间的空间关系,并使用卷积层将池化特征转换为空间注意力图。然后,通过相应的空间选择掩码,对分解的大核卷积特征进行加权并融合,以获得最终的关注特征。

Shift-ConvNets: Small Convolutional Kernel with Large Kernel Effects

方法:论文提出了一种新的操作符,通过正则卷积实现大卷积核效果,从而在广泛的设备范围内实现了CNN的最新进展。论文还提出了一种新的剪枝操作,通过粗粒度剪枝实现了稀疏组卷积。同时,论文还提出了一种基于偏移操作的算子来改进卷积操作,并将其应用于改进的模块结构中。

创新点:

  • 通过使用shift-wise操作,作者实现了使用标准卷积进行大卷积核效果,并通过剪枝得到了稀疏组卷积。这一方法能够将大卷积核的效果与标准CNN的先进性结合起来,拓展了CNN的应用领域。

  • 作者提出了一种新的shift-wise操作方法,通过将输入特征进行分组和位移,模拟多个卷积核尺寸,从而创建多个输出分支。然后,将这些输出分支合并为一个单一的分支。这种方法能够在保持整体网络结构不变的同时,不断优化数据流形的依赖关系。

关注下方《学姐带你玩AI》🚀🚀🚀

回复“大核卷积”获取全部论文+代码

码字不易,欢迎大家点赞评论收藏

这篇关于新一代大核卷积反超ViT和ConvNet!同参数量下性能、精度、速度完胜的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1062451

相关文章

JVisualVM之Java性能监控与调优利器详解

《JVisualVM之Java性能监控与调优利器详解》本文将详细介绍JVisualVM的使用方法,并结合实际案例展示如何利用它进行性能调优,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录1. JVisualVM简介2. JVisualVM的安装与启动2.1 启动JVisualVM2

Java使用MethodHandle来替代反射,提高性能问题

《Java使用MethodHandle来替代反射,提高性能问题》:本文主要介绍Java使用MethodHandle来替代反射,提高性能问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录一、认识MethodHandle1、简介2、使用方式3、与反射的区别二、示例1、基本使用2、(重要)

使用雪花算法产生id导致前端精度缺失问题解决方案

《使用雪花算法产生id导致前端精度缺失问题解决方案》雪花算法由Twitter提出,设计目的是生成唯一的、递增的ID,下面:本文主要介绍使用雪花算法产生id导致前端精度缺失问题的解决方案,文中通过代... 目录一、问题根源二、解决方案1. 全局配置Jackson序列化规则2. 实体类必须使用Long封装类3.

PyTorch高级特性与性能优化方式

《PyTorch高级特性与性能优化方式》:本文主要介绍PyTorch高级特性与性能优化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、自动化机制1.自动微分机制2.动态计算图二、性能优化1.内存管理2.GPU加速3.多GPU训练三、分布式训练1.分布式数据

Java的"伪泛型"变"真泛型"后对性能的影响

《Java的伪泛型变真泛型后对性能的影响》泛型擦除本质上就是擦除与泛型相关的一切信息,例如参数化类型、类型变量等,Javac还将在需要时进行类型检查及强制类型转换,甚至在必要时会合成桥方法,这篇文章主... 目录1、真假泛型2、性能影响泛型存在于Java源代码中,在编译为字节码文件之前都会进行泛型擦除(ty

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Redis中高并发读写性能的深度解析与优化

《Redis中高并发读写性能的深度解析与优化》Redis作为一款高性能的内存数据库,广泛应用于缓存、消息队列、实时统计等场景,本文将深入探讨Redis的读写并发能力,感兴趣的小伙伴可以了解下... 目录引言一、Redis 并发能力概述1.1 Redis 的读写性能1.2 影响 Redis 并发能力的因素二、

Golang中拼接字符串的6种方式性能对比

《Golang中拼接字符串的6种方式性能对比》golang的string类型是不可修改的,对于拼接字符串来说,本质上还是创建一个新的对象将数据放进去,主要有6种拼接方式,下面小编就来为大家详细讲讲吧... 目录拼接方式介绍性能对比测试代码测试结果源码分析golang的string类型是不可修改的,对于拼接字

Python中如何控制小数点精度与对齐方式

《Python中如何控制小数点精度与对齐方式》在Python编程中,数据输出格式化是一个常见的需求,尤其是在涉及到小数点精度和对齐方式时,下面小编就来为大家介绍一下如何在Python中实现这些功能吧... 目录一、控制小数点精度1. 使用 round() 函数2. 使用字符串格式化二、控制对齐方式1. 使用

mysql线上查询之前要性能调优的技巧及示例

《mysql线上查询之前要性能调优的技巧及示例》文章介绍了查询优化的几种方法,包括使用索引、避免不必要的列和行、有效的JOIN策略、子查询和派生表的优化、查询提示和优化器提示等,这些方法可以帮助提高数... 目录避免不必要的列和行使用有效的JOIN策略使用子查询和派生表时要小心使用查询提示和优化器提示其他常