CVPR2024 | 大核卷积新高度101x101,美团提出PeLK

https://arxiv.org/pdf/2403.07589.pdf

本文概述

最近,一些大核卷积网络以吸引人的性能和效率进行了反击。然而,考虑到卷积的平方复杂度,扩大内核会带来大量的参数,而大量的参数会引发严重的优化问题。由于这些问题,当前的 CNN 妥协以条带卷积的形式扩展到 (即 + ),并随着内核大小的持续增长而开始饱和。

在本文中,我们深入研究解决这些重要问题,并探讨我们是否可以继续扩展内核以获得更多性能提升。受人类视觉的启发,我们提出了一种类人外围卷积,通过参数共享有效减少了密集网格卷积 90% 以上的参数数量,并设法将内核尺寸扩大到极大。我们的外围卷积的行为与人类高度相似,将卷积的复杂性从降低到 而不会产生适得其反的性能。在此基础上,我们提出了参数高效的大核网络(PeLK)。我们的 PeLK 在各种视觉任务上(包括 ImageNet 分类、​​ADE20K 上的语义分割和 MS COCO 上的对象检测)优于现代视觉 Transformer 和 ConvNet 架构(如 Swin、ConvNeXt、RepLKNet 和 SLaK)。我们第一次成功地将 CNN 的内核大小扩展到前所未有的 并展示了持续的改进。

出发点

我们首先研究密集网格卷积是否比条纹卷积更好。我们采用统一的现代框架SLaK来进行这项研究。根据 RepLKNet,大内核卷积对下游任务的促进作用远大于 ImageNet 分类。因此,我们不仅在 ImageNet-1K 上进行评估,还以 ADE20K 作为基准进行评估。

遵循 SLaK,我们在 ImageNet 上训练所有模型以进行 120 轮训练。数据增强、正则化和超参数都设置相同。然后我们使用预训练模型作为 ADE20K 的骨干。具体来说,我们使用 MMSegmentation实现的 UperNet 和 80K 迭代训练计划。我们不使用任何先进技术或自定义算法,因为我们只寻求评估骨干网。

SLaK 介绍了将内核扩展为 51 × 51 的两步方法:1)将大内核分解为两个矩形、平行的内核; 2)使用动态稀疏性并扩展更多宽度。为了彻底分析卷积形式的效果,我们进行了带稀疏性和不带稀疏性的实验。默认情况下,我们重新参数化 5 × 5 卷积以缓解 SLaK 和 RepLKNet 所采取的优化问题。表1的结果表明,无论动态稀疏性如何,密集网格卷积都超过了条带卷积

我们进一步探索不同内核大小下的卷积形式(即 K × K 与 K × N)。具体来说,我们将 SLaK 的 stripe conv 的短边固定为 5 作为默认设置(N=5),然后逐渐将 K 从 51 减少到 7。我们不使用动态稀疏性来对卷积形式进行纯粹的消融。如图2所示,密集网格卷积在多个内核尺寸下始终优于条带卷积,并且增益随着内核尺寸的增加而增加,展示了密集网格大内核卷积的本质优势

然而,密集网格卷积的平方复杂度会带来参数激增。例如,如图 2 所示,将内核从 7 扩大到 51 只会为 stripe conv 带来 7.3 个 × 参数,而密集 conv 则为 53.1 × 参数。鉴于人类的周边视觉的周边区域只有极少量的感光细胞,我们认为密集的参数对于周边相互作用来说并不是必需的。受此启发,我们寻求通过引入周边视觉机制来降低参数复杂度,同时保留密集计算以保持密集卷积的强大性能

本文方案

类似于人类的周边视觉,我们的周边卷积的共享网格主要由两个核心设计组成:

  • i)聚焦和模糊机制。如图1(b)所示,我们将细粒度参数保留在卷积核的中心区域,其中共享网格设置为1(即不共享)。对于外围区域,我们利用大范围参数共享来利用外围视觉的空间冗余。中心区域的细粒度至关重要,而外围区域可以承受大范围的参数共享,而不会产生适得其反的性能

  • ii) 共享粒度呈指数级增加。人类视力以准指数模式下降[35]。受此启发,我们设计了以指数级增长的方式增长的共享网格。这种设计可以优雅地将卷积的参数复杂度从 𝑂 ⁢ ( 𝐾 2 ) 降低到 𝑂 ⁢ ( log ⁡ 𝐾 ) ,从而可以进一步扩大密集卷积的内核大小。

尽管所提出的外围卷积有效地减少了密集卷积的参数,但大范围的参数共享可能会带来另一个问题:外围区域的局部细节模糊。尤其是当内核大小以外围卷积的形式放大到50以上甚至100以上时,当单个参数需要处理 8 × 8 甚至 16 × 16

为了解决这个问题,我们提出了基于内核的位置嵌入。形式上,给定一组输入特征 𝑋 ,我们通过与内核权重 w ∈ ℝ 𝑐 in × 𝑐 out × k × k 的卷积来处理这些特征。我们使用 trunc normal [53] 初始化来初始化嵌入 h ∈ ℝ 𝑐 in × k × k 的位置。

架构设计

基于上述设计和观察,我们现在详细阐述了参数高效的大型内核网络(PeLK)的架构。我们主要按照ConvNeXt和SLaK来构建多种尺寸的模型。具体来说,PeLK还采用了4阶段的框架。我们用带有 4 × 4 内核和 4 步幅的卷积层构建茎。对于微小尺寸,阶段的块编号为 [ 3 , 3 , 9 , 3 ] ;对于小尺寸/基本尺寸,阶段的块编号为 [ 3 , 3 , 27 , 3 ] 。 PeLK 不同阶段的内核大小默认为 [ 51 , 49 , 47 , 13 ] 。对于 PeLK-101,内核大小放大至 [ 101 , 69 , 67 , 13 ] 。

默认情况下,我们将中心 5 × 5 区域保持为细粒度。对于PeLK-101,我们将中心区域放大到 7 × 7 来调整增加的内核。继 SLaK 之后,我们还使用动态稀疏性来增强模型容量。所有超参数设置相同( 1.3 × 宽度,40% 稀疏度)。

本文实验

小结

本文探讨了超大核卷积神经网络的设计,我们提出了一种新的卷积形式,称为外围卷积,它可以将密集卷积的参数复杂度从 𝑂 ⁢ ( 𝐾 2 ) 降低到 𝑂 ⁢ ( log ⁡ 𝐾 ) ,同时保持密集卷积的优点。基于所提出的外围卷积,我们设计了极大的密集内核 CNN,并在各种视觉任务中取得了显着的改进。我们强有力的结果表明,受生物学启发的机制可以成为促进现代网络设计的有前途的工具。

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

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

相关文章

安卓之四大组件

组件描述Activity(活动)在应用中的一个Activity可以用来表示一个界面,意思可以理解为“活动”,即一个活动开始,代表 Activity组件启动,活动结束,代表一个Activity的生命周期结束。一个Android应用必须通过Activity来运…

Xcode 15.3 Archive失败

Xcode 15.3 Archive失败 背景 升级 Xcode 到 15.3,真机运行正常。打包的时候发现 Archive 失败。 提示: Call parameter type does not match function signature! 仔细看报错里是和HandyJSON相关的提示。 解决 起初以为和 Pod 库有关系,…

docker容器启动rabbitmq

docker容器启动rabbitmq 一、RabbitMQ部署1.1.在线拉取mq镜像1.2.运行mq容器1.3.访问mq 二、RabbitMQ的集群2.1.集群分类2.1.设置 /etc/hosts文件 endl 一、RabbitMQ部署 1.1.在线拉取mq镜像 # 在线拉取 docker pull rabbitmq:3-management1.2.运行mq容器 docker run \ -e R…

Kafka-生产者报错javax.management.InstanceAlreadyExistsException

生产者发送消息到 kafka 中,然后控制台报错 然后根据日志查看 kafka 的源码发现了问题原因 说的是MBean已经注册了,然后报异常了,这样就会导致生产者的kafka注册失败, 原因是项目上生产者没有配置clientId,默认都是空导致的, 多个生产者(项目)注册到kafka集群中的 id 都相同。 …

微服务分布式基于Springcloud的拍卖管理系统597wx

越来越多的用户利用互联网获得信息,但各种信息鱼龙混杂,信息真假难以辨别。为了方便用户更好的获得信息,因此,设计一种安全高效的拍卖管理系统极为重要。 为设计一个安全便捷,并且使用户更好获取拍卖管理系统&#xff…

探寻殷墟文化,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建殷墟考古场景下的甲骨文字符检测识别分析系统

甲骨文是一种非常历史悠久的古老文字,在前面我们基本上很少有涉及这块的内容,最近正好在做文字相关的项目开发研究,就想着基于甲骨文的场景来开发对应的检测识别系统,在前文中我们基于系列YOLO算法模型开发构建了在仿真数据实验场…

C#,图论与图算法,图着色问题(Graph Coloring)的威尔士-鲍威尔(Welch Powell Algorithm)算法与源代码

Welsh, D.J.A. and Powell, M.B. (1967) An Upper Bound for the Chromatic Number of a Graph and Its Application to Timetabling Problems. 《The Computer Journal》, 10, 85-86. 《The Computer Journal》 1 图着色算法概述 1967年,Welsh和Powell算法引入了…

Rudolf and the Ball Game

传送门 题意 思路 暴力枚举每一个妆台的转换条件 code #include<iostream> #include<cstdio> #include<stack> #include<vector> #include<algorithm> #include<cmath> #include<queue> #include<cstring> #include<ma…

Python数据分析-4

1.对于一组电影数据&#xff0c;呈现出rating,runtime的分布情况&#xff1a; #encodingutf-8 import pandas as pd import numpy as np from matplotlib import pyplot as plt file_path "./youtube_video_data/IMDB-Movie-Data.csv" df pd.read_csv(file_path) …

浏览器插件开发初体验(URL OPENER)

https://github.com/sxei/chrome-plugin-demo 参考资料 需求&#xff1a; 1、对于一串文本&#xff0c;提取其中的urls并打开这些url。 2、提取浏览器所有tabs的url和title 例如&#xff1a; // https://www.cnblogs.com/kelelipeng/p/17129941.html // https://www.ruanyifen…

AJAX 05 axios拦截器、数据管理平台

AJAX 学习 AJAX 05 黑马头条-数据管理平台项目准备业务1&#xff1a;验证码登录bootstrap提示框实际业务中的验证码登录token 【注】HTML遗落的知识【注】JS遗漏的知识业务2&#xff1a;个人信息设置 & axios拦截器axios请求拦截器axios响应拦截器 业务3&#xff1a;发布文…

9种分布式ID生成之美团(Leaf)实战

​​​​​ 前几天写过一篇《一口气说出 9种 分布式ID生成方式&#xff0c;面试官有点懵了》&#xff0c;里边简单的介绍了九种分布式ID生成方式&#xff0c;但是对于像美团&#xff08;Leaf&#xff09;、滴滴&#xff08;Tinyid&#xff09;、百度&#xff08;uid-generator&…

Hadoop,Hive 数据预处理CR

记录一次大材小用,我在将.csv电影数据集 电影json数据 导入MySQL时,出现了报错: 很明显,意味着.csv中的数据有非utf8编码的, 尝试使用file查看了下.csv文件的编码格式: 如果不确定原始编码,可以先用file命令尝试检测一下: file -i input.csv该命令会显示文件的MIME类型…

Hive3.0.0安装初始化过程,schematool -dbType mysql -initSchema报错

详细如下&#xff1a; 从字面意思理解&#xff0c;是在hive-site.xml文件3213行出现了非法字符&#xff0c;处理步骤如下 1、使用vi 3213 hive-site.xml打开文件 2、删除“&#8”&#xff0c;保存文件 3、再次执行初始化命令 schematool -dbType mysql -initSchema 4、登…

Xcode15.3 -Library ‘iconv2.4.0‘ not found

今天升级了一下Mac mini 和Xcode15.3&#xff0c;运行项目就报 Library ‘iconv2.4.0’ not found的错误 xcode升级到&#xff1a;15.3(15A240d) 项目在旧版本下&#xff0c;是能通过编译 并且能运行的。 解决方法&#xff1a; 方案1&#xff1a;在Build Phases --> Link…

华为OD技术C卷“测试用例执行计划”Java解答

描述 示例 算法思路1 整体思路是&#xff0c;先读取特性的优先级和测试用例覆盖的特性列表&#xff0c;然后计算每个测试用例的优先级&#xff0c;并将其与测试用例的索引存储到二维数组中。最后按照优先级和索引排序&#xff0c;输出测试用例的索引&#xff0c;即为执行顺序。…

网络编程套接字(4)——Java套接字(TCP协议)

目录 一、Java流套接字通信模型 二、TCP流套接字编程 1、ServerSocket ServerSocket构造方法&#xff1a; ServerSocket方法: 2、Socket Socket构造方法&#xff1a; Socket方法&#xff1a; 三、代码示例&#xff1a;回显服务器 1、服务器代码 代码解析 2、客户端…

配置阿里云加速器

国内镜像中心常用阿里云或者网易云。在本地docker中指定要使用国内加速器的地址后&#xff0c;就可以直接从阿里云镜像中心下载镜像。 2024阿里云-上云采购季-阿里云 [rootlocalhost /]# mkdir -p /etc/docker [rootlocalhost /]# tee /etc/docker/daemon.json <<-EOF &…

windows 安装 gitlab-runner CICD

点击搜索图标 手动输入PowerShell, 右键点击管理员权限打开&#xff0c; 一、安装 安装 gitlab runner 文档参考地址 1、下载exe执行文件 我这里是 win64 https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-windows-amd64.exe 2、创建 gitla…

论文研读笔记2

1.Han异构图网络看不懂。。。正在看 https://zhuanlan.zhihu.com/p/346658317 https://www.bilibili.com/video/BV1fc411z7mx?p19&vd_source6fb54905ed1c5c332b7a606643d8525c 2. 阅读论文&#xff1a;Learning Long- and Short-Term User Literal-Preference with Mu…