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,并在各种视觉任务中取得了显着的改进。我们强有力的结果表明,受生物学启发的机制可以成为促进现代网络设计的有前途的工具。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue手写模拟步骤条

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

opencv中的图像均值模糊—blur

平均模糊是通过对图像的每个像素及其周围像素的值求平均来实现的。 blur函数通过计算输入图像image中每个像素及其邻域内像素的平均值来工作。 // 图像卷积 void QuickDemo::Conv_image_demo(Mat &image) {Mat dst;blur(image, dst, Size(3, 3), Point(-1, -1));// Point(…

增删卜易——八宫六十四卦

之前看倪海厦的《天纪》笔记里面提到了六十四卦世应,觉得不知道这个世应是啥意思。很长时间就没看了,偶然间看到了张文江教授写的一本书《潘雨廷先生谈话录》提到了《卜筮正宗》,“卜筮最后的判断是非理性转义,其他一切都只是形式”,“明人的著作,从京氏易出,如今天几日…

#微信小程序(一个emo文案界面)

1.IDE&#xff1a;微信开发者工具 2.实验&#xff1a;一个emo文案界面 &#xff08;1&#xff09;最好使用rpx &#xff08;2&#xff09;图片宽度占不满&#xff0c;在CSS中设置width为100% &#xff08;3&#xff09;imag图片全部为网页链接图片 3.记录 4.代码 index.htm…

【图论】计算图的n-hop邻居个数,并绘制频率分布直方图

计算图的n-hop邻居个数&#xff0c;并绘制频率分布直方图 在图论中&#xff0c;n-hop邻居&#xff08;或称为K-hop邻居&#xff09;是指从某个顶点出发&#xff0c;通过最短路径&#xff08;即最少的边数&#xff09;可以到达的所有顶点的集合&#xff0c;其中n&#xff08;或…

[linux]信号处理:信号编码、基本API、自定义函数和集合操作的详解

一、信号的概述 1、定义 信号是 Linux 进程间通信的最古老的方式。信号是软件中断&#xff0c;它是在软件层次 上对中断机制的一种模拟&#xff0c;是一种异步&#xff08;不等待&#xff09;通信的方式 。信号可以导致一个正在运行的进程被 另一个正在运行的异步进程中断&a…

Qt_vc++崩溃日志分析

环境 Clion &#xff1a;2019.3.6 Qt &#xff1a;5.9.6&#xff08;vc2015&#xff09; 编译工具&#xff1a;vs2015 update3 崩溃日志收集 自行百度&#xff0c;会查到很多&#xff0c;一下代码仅供参考&#xff08;来自https://blog.csdn.net/weixin_45571586/article/…

修改vscode的相对路径计算逻辑

vscode的相对路径计算逻辑是&#xff0c;"./"表示当前项目的文件夹&#xff0c;而不是当前文件所在的文件夹 做出如下修改&#xff1a; File-->Preferences-->settings 搜索Execute in File Dir , 然后取消勾选

医学图像目标跟踪论文阅读笔记 2024.03.08~2024.03.14

“Inter-fractional portability of deep learning models for lung target tracking on cine imaging acquired in MRI-guided radiotherapy” 2024年 期刊 Physical and Engineering Sciences in Medicine 医学4区 没资源&#xff0c;只读了摘要&#xff0c;用的是U-net、a…

79岁TVB老戏骨宣布离巢另寻生计。

以童星身份出道的香港资深艺人冯素波&#xff08;波姐&#xff09;纵横影视圈超过70年&#xff0c;不少人认识她还是在TVB剧中&#xff0c;不过她昨日却突然宣布要离开TVB&#xff0c;令不少网友震惊。 其实早在几个月前已经有消息称波姐会离开TVB&#xff0c;不过本人一直没有…

爬虫逆向实战(35)-MyToken数据(MD5加盐)

一、数据接口分析 主页地址&#xff1a;MyToken 1、抓包 通过抓包可以发现数据接口是/ticker/currencyranklist 2、判断是否有加密参数 请求参数是否加密&#xff1f; 通过查看“载荷”模块可以发现有一个code参数 请求头是否加密&#xff1f; 无 响应是否加密&#xf…

【数学建模】线性规划

针对未来可能的数学建模比赛内容&#xff0c;我对学习的内容做了一些调整&#xff0c;所以先跳过灰色关联分析和模糊综合评价的代码&#xff0c;今天先来了解一下运筹规划类——线性规划模型。 背景&#xff1a; 某数学建模游戏有三种题型&#xff0c;分别是A&#xff0c;B&am…

架构实战--以海量存储系统讲解热门话题:分布式概念

关注我&#xff0c;持续分享逻辑思维&管理思维&#xff1b; 可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导&#xff1b; 有意找工作的同学&#xff0c;请参考博主的原创&#xff1a;《面试官心得--面试前应该如何准备》&#xff0c;《面试官心得--面试时如何进行自…

Jmeter扩展开发--自定义java取样器

简介 jmeter内置了包括&#xff1a;http、https、tcp等各种协议的支持&#xff0c;通常情况只需要做简单的参数配置即可使用。但在某些特殊情况下&#xff0c;还是希望能做自定义压测处理&#xff0c;此时就涉及Jmeter的扩展开发自定义Java取样器&#xff0c;如下图所示&#…

QT 如何防止 QTextEdit 自动滚动到最下方

在往QTextEdit里面append字符串时&#xff0c;如果超出其高度&#xff0c;默认会自动滚动到QTextEdit最下方。但是有些场景可能想从文本最开始的地方展示&#xff0c;那么就需要禁止自动滚动。 我们可以在append之后&#xff0c;添加如下代码&#xff1a; //设置编辑框的光标位…

HTML 列表 || 表格 || 表单

目录 1. 列表1.1 无序列表1.2 有序列表1.3 定义列表 2. 表格2.1 表格基本标签2.2 表格结构标签2.3 合并单元格 3. 表单3.1 input 标签基本使用3.1.1 单选框 radio3.1.2 上传文件 file3.1.3 多选框 checkbox 3.2 表单下拉菜单3.3 表单文本域3.4 label 标签3.5 按钮 button 正文开…

想要自己制作一款游戏,需要掌握哪些基本技能?

你是否曾经沉浸在游戏的世界中&#xff0c;感受到游戏带来的无限乐趣&#xff1f;你是否曾经梦想能够亲手制作一款属于自己的游戏&#xff0c;为玩家带来独特的体验&#xff1f;然而&#xff0c;要实现自己的游戏创作梦想&#xff0c;并不是一件轻松的事情。需要掌握各种技能和…

mac【启动elasticsearch报错:can not run elasticsearch as root

mac【启动elasticsearch报错&#xff1a;can not run elasticsearch as root 问题原因 es默认不能用root用户启动&#xff0c;生产环境建议为elasticsearch创建用户。 解决方案 为elaticsearch创建用户并赋予相应权限。 尝试了以下命令创建用户&#xff0c;adduser esh 和u…

uniapp中人脸识别图片并圈起人脸

效果如上&#xff0c;我用的是阿里云的人脸识别。首先&#xff0c;我们先封装一个阿里云的请求js文件 faceRecognition.js import CryptoJS from crypto-js//SignatureNonce随机数字 function signNRandom() {const Rand Math.random()const mineId Math.round(Rand * 1000…

visual studio 中添加qt类报错问题

添加ImportSetting类&#xff0c;在构造函数声名处已经写Q_OBJECT宏&#xff0c;但仍然报错。 无法解析的外部符号"public::virtual struct QMetaObject const*_cdecl ImportSettingFromFile::metaObject(void)const "(?metaObjectImportSettingFromFileUEBAPEBUQM…