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

news2024/11/15 11:16:57

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.coloradmin.cn/o/1517706.html

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

相关文章

code摘录日记[矩阵变元素,变列向量,3D表面图,table行列设置] Matlab

矩阵变元素&#xff0c;变列向量 W1(Z1 < Z2) nan; % Z1,Z2 all matrix,Only plot points where Z1 > Z2;Z1 < Z2位置值填为NaNx x(:); % Now x is a 30-by-1 vector; matrix变列vector技巧3D表面图 hand figure; % Handle to the figure, for more plotting later…

QComboBox相关的qss学习

QT有关QCobobox控件的样式设置&#xff08;圆角、下拉框&#xff0c;向上展开、可编辑、内部布局等&#xff09;_qcombobox样式-CSDN博客 原始图&#xff1a; 红色边框&#xff1a; QComboBox{ border:2px solid rgb(255, 85, 0); } 绿色背景&#xff1a; QComboBox{ border…

[云原生] Prometheus自动服务发现部署

一、部署服务发现 1.1 基于文件的服务发现 基于文件的服务发现是仅仅略优于静态配置的服务发现方式&#xff0c;它不依赖于任何平台或第三方服务&#xff0c;因而也是最为简单和通用的实现方式。 Prometheus Server 会定期从文件中加载 Target 信息&#xff0c;文件可使用 YAM…

App Inventor 2 Clipboard 拓展:实现剪贴板的复制粘贴功能

效果如下&#xff1a; 此 Clipboard 拓展由中文网开发及维护&#xff0c;最新版本 v1.0&#xff0c;基于 TaifunClipboard 开发。 使用方法 属性及方法很简单&#xff0c;默认操作成功后显示提示信息&#xff0c;SuppressToast设置为 假 后&#xff0c;则不显示提示信息。 经测…

中创ET4410台式电桥固件升级工具(修复了列表扫描的BUG)

中创ET4410台式LCR数字电桥固件升级工具和最新版固件&#xff08;修复了列表扫描的BUG&#xff09; 中创ET4410 台式LCR数字电桥 简单开箱测评&#xff1a;https://blog.zeruns.tech/archives/763.html 之前买的中创ET4410台式LCR数字电桥固件有BUG&#xff08;胜利的VC4090C…

OpenCV实战(33)——OpenCV与深度学习的碰撞

OpenCV实战&#xff08;33&#xff09;——OpenCV与深度学习的碰撞 0. 前言1. 深度学习和卷积神经网络2. 使用深度学习进行人脸检测2.1 SSD 简介2.2 使用 SSD 执行人脸检测 3. 完整代码小结系列链接 0. 前言 深度学习是机器学习的一个子领域&#xff0c;基于传统的神经网络和卷…

6-LINUX-- C 程序的编译与调试

一.环境搭建 1.gcc的安装 1>.切换到管理员模式 sudo su ----> 输入密码 2>.apt install gcc //C语言的编译环境 3>.apt install g //c编译环境的搭建 4>.install update //软件升级 2.gcc分步编译链接 &#xff08;1&#xff09;预编译 gcc -E…

如何配置Apache的反向代理

目录 前言 一、反向代理的工作原理 二、Apache反向代理的配置 1. 安装Apache和相关模块 2. 配置反向代理规则 3. 重启Apache服务器 三、常见的使用案例 1. 负载均衡 2. 缓存 3. SSL加密 总结 前言 随着Web应用程序的不断发展和扩展&#xff0c;需要处理大量的请求和…

DDos攻击如何被高防服务器有效防范?

德迅云安全-领先云安全服务与解决方案提供商 什么是DDos攻击&#xff1f; DDos攻击是一种网络攻击手段&#xff0c;旨在通过使目标系统的服务不可用或中断&#xff0c;导致无法正常使用网络服务。DDos攻击可以采取多种方式实施&#xff0c;包括洪水攻击、压力测试、UDP Flood…

Python基于大数据的豆瓣电影分析,豆瓣电影可视化系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

Xcode 15.3 Archive失败

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

数据库04 - 03 E-R图案例,E-R图转换成为关系模式

大学的E-R图 01. 02.解释 E-R图转换成为关系模式 一.强实体集的转化 01.实体是对应的元组 02.实体集的主码就是关系模式中的主码 例如&#xff1a; 03.强实体集的复合属性 例如&#xff1a; 实体集instructor 关系模式instructor&#xff08;没有派生和多值&#xff09…

Vue手写模拟步骤条

效果图&#xff1a; 如果要使用element的步骤条就需要强行修改样式&#xff0c;参考之前的那篇步骤条。这里我采用手写div 代码&#xff1a; 思路是给最外层的div一个左边框&#xff0c;给里面的step-item设置左边框为图片&#xff0c;通过定位来移动。 <div class"m…

uniapp运行钉钉小程序

因项目原因&#xff0c;公司需要在钉钉里面开发小程序。之前用uniapp开发过app&#xff0c;H5&#xff0c;小程序。还真没尝试过钉钉小程序&#xff0c;今天就简单的记录下uniapp运行钉钉小程序中的过程。 在项目目录新建package.json文件&#xff0c;在文件中添加如下代码&am…

排序算法:快速排序(递归)

文章目录 一、创始人托尼霍尔的快速排序二、挖坑法三、前后指针法 所属专栏:C初阶 引言&#xff1a;这里所说的快速排序有三种&#xff0c;第一种是霍尔大佬自创的&#xff0c;还有一种叫做挖坑法&#xff0c;另外一种叫前后指针法 一、创始人托尼霍尔的快速排序 1.这里我们先…

vue3中的文字滚动播报

vue3中的文字滚动播报 之前UI框架一直使用的elementPlus&#xff0c;有个需求&#xff0c;需要在页面上写个滚动播放新闻的功能&#xff0c;发现UI框架居然没有这个组件。花了一下午&#xff0c;在ChatGPT的帮助下&#xff0c;总算写成功了&#xff0c;先看最终展示效果 web页…

CSS基本选择器

文章目录 1. ID 选择器1.1. 语法1.2. 完整写法 2. 类选择器2.1. 语法2.2. 完整写法 3. 元素选择器4. 通配选择器5. 基本选择器优先级6. 基本选择器的总结7. Google 案例 1. ID 选择器 以 # 开头&#xff0c;后面跟着 ID 名称&#xff0c;根据元素的 ID 名称选择元素&#xff0…

JavaEE--小Demo

目录 下载包 配置 修改文件 pom.xml application.properties 创建文件 HelloApi.java GreetingController.java Greeting.java DemoApplication.java 运行包 运行命令 mvn package cd target dir java -jar demo-0.0.1-SNAPSHOT.jar 浏览器测试结果 下载包 …

D-Star 寻路算法

D-Star 寻路算法 下面简写 D-Star 为 D* D算法&#xff1a;D 算法”的名称源自 Dynamic A Star,最初由Anthony Stentz于“Optimal and Efficient Path Planning for Partially-Known Environments”中介绍。它是一种启发式的路径搜索算法&#xff0c; 适合面对周围环境未知或者…

Unity Timeline学习笔记(2) - PlayableTrack

PlayableTrack 是可自定义播放的轨道。我们可以通过进入轨道后调用自己的函数方法&#xff0c;使用起来也是比较顺手的。 添加轨道 我们点击加号添加 这样就有一个空轨道了&#xff0c;然后我们创建两个测试脚本。 添加脚本 分别是Playable Behaviour和PlayableAsset脚本。…