【CNN】ConvMixer探究ViT的Patch Embedding: Patches Are All You Need?

Patches Are All You Need?

探究Patch Embedding在ViT上的作用,CNN是否可用该操作提升性能?

论文链接:https://openreview.net/pdf?id=TVHS5Y4dNvM
代码链接:https://github.com/tmp-iclr/convmixer

1、摘要

  ViT的性能是由于Transformer架构本身的固有优势,还是至少部分归因于使用patch作为输入表示?文中提出了一些证据支持后者:具体来说,提出了ConvMixer,这是一种极其简单的模型,其本质类似于ViT和更基础的MLP-Mixer,它直接处理patch作为输入,分离空间和通道维度的混合,并在整个网络中保持相同大小和分辨率。然而,ConvMixer仅使用标准卷积来实现混合步骤。尽管其简单,实验展示了ConvMixer在相似参数量和数据集大小下,优于ViT、MLP-Mixer及其变体,并且在性能上超过了经典的视觉模型,如ResNet。

目录

  • Patches Are All You Need?
    • 1、摘要
    • 2、关键问题
    • 3、原理
      • A Simple Model: ConvMixer
    • 4、实验
      • Training setup.
      • Results.
      • Comparisons.
      • CIFAR-10 Experiments.
    • 5、相关工作
    • 6、总结
    • 7、附录:可视化

2、关键问题

  - 由于Transformer中使用的自注意力层的计算成本会随着图像中像素数量的平方增长,如果直接在像素级别应用,代价会过高,因此通常会将图像分割成多个“patch”,线性嵌入,然后直接对这些patch应用Transformer。

  - 视觉Transformer的强大性能是否更多地源于patch-based表示,而非Transformer架构本身?
在这里插入图片描述

3、原理

A Simple Model: ConvMixer

在这里插入图片描述

  提出的模型,称为ConvMixer,由一个patch嵌入层,随后是简单全卷积块的重复应用。如图2所示,保持patch嵌入的二维空间结构。使用patch大小为 p p p和嵌入维度为 h h h的patch嵌入,可以通过 c c c个输入通道的卷积实现,输出通道为 h h h,卷积核大小为 p p p,步长为 p p p
KaTeX parse error: Expected 'EOF', got '_' at position 98: …p, \text{kernel_̲size}=p)}) + z_…

  ConvMixer块本身包含深度卷积DWConv(即组卷积,组数等于通道数 h h h)随后是point-wise卷积(即 1 × 1 1 \times 1 1×1卷积)。在第3节将解释,ConvMixer在深度卷积中使用异常大的卷积核尺寸时效果最佳。每个卷积操作后都跟着激活函数和后激活的批归一化:
z l ′ = BN ( σ ConvDepthwise ( z l − 1 ) ) + z l − 1 ( 2 ) z^{'}_{l} = \text{BN}(\sigma{\text{ConvDepthwise}(z_{l-1})}) + z_{l-1} \ (2) zl=BN(σConvDepthwise(zl1))+zl1 (2)

z l + 1 = BN ( σ ConvPointwise ( z l ) ) ( 3 ) z_{l+1} = \text{BN}(\sigma{\text{ConvPointwise}(z_l)}) \ (3) zl+1=BN(σConvPointwise(zl)) (3)

  经过多次这样的块应用后,进行全局池化,得到一个大小为 h h h的特征向量,然后将其传递给softmax分类器。如图 3 所示,这是在 PyTorch 中实现 ConvMixer 的示例。
在这里插入图片描述

Design parameters. \ ConvMixer的实例化依赖于四个参数

(1) "宽度"或隐藏维度 h h h(即嵌入块的维度);

(2) 深度 d d d,或 ConvMixer 层的重复次数;

(3) 控制模型内部分辨率的 p a t c h patch patch大小 p p p

(4) 深度卷积层的内核大小 k k k

  根据隐藏维度 h h h和深度 d d d来命名ConvMixer,例如 C o n v M i x e r − h / d ConvMixer-h/d ConvMixerh/d。文中将原始输入大小 n n n除以 p a t c h patch patch大小 p p p称为内部分辨率;然而,ConvMixer支持可变大小的输入

Motivation. 架构基于Tolstikhin 等人(2021)提出的混合思想。具体来说,选择深度卷积来混合空间位置,点卷积来混合通道位置,以此分离通道和空间的混合。先前工作的关键点是,MLP和自注意力可以混合远处的空间位置,即它们可以具有任意大的感受野。因此,使用了具有异常大内核大小的卷积来混合远处的空间位置。虽然自注意力和MLP在理论上更灵活,能够实现大感受野和内容感知行为,但卷积的先验偏置非常适合视觉任务,且数据效率高。通过使用这种标准操作,还可以观察到patch表示本身与卷积网络中金字塔形、逐层下采样的传统设计相比的影响。

4、实验

Training setup.

  主要在ImageNet-1k分类上评估ConvMixers,无需任何预训练或其他数据。将 ConvMixer 添加到 timm 框架中(Wightman,2019 年),并使用接近标准的设置对其进行训练:除了默认的timm增强之外,实验还使用了 RandAugment(Cubuk 等人,2020 年)、mixup(Zhang 等人,2017 年)、CutMix(Yun 等人,2019 年)、随机擦除(Zhong 等人,2020 年)和梯度范数剪裁。实验使用了AdamW(Loshchilov&Hutter,2018)优化器和一个简单的triangular learning rate策略。由于计算能力有限,在 ImageNet 上完全没有进行超参数调整,并且训练的epoch比竞争对手少。因此,所提模型可能过度或欠正则化,文章报告的精度可能低估了模型的能力。

Results.

在这里插入图片描述
  具有 52M 参数的 ConvMixer-1536/20 在 ImageNet 上可以达到 81.4% 的Top-1准确率,而具有 21M 参数的 ConvMixer-768/32 可以达到 80.2%(见表 1)。更宽的 ConvMixer 似乎收敛在更少的 epoch 中,但对内存和计算都很依赖。它们也适用于大内核大小:当内核大小从 k = 9 k = 9 k=9减小到 k = 3 k = 3 k=3时,ConvMixer-1536/20的准确率损失了 ≈ 1 ≈1% 1(我们在附录A和B中详细讨论了内核大小)。在实验中,具有较小patch的ConvMixers要好得多,类似于Sandler等人(2019);作者认为更大的补丁需要更深的 ConvMixer。除了将补丁大小从 7 个增加到 14 个之外,其他条件都保持不变,ConvMixer-1536/20 实现了 78.9% 的Top-1准确率,但速度提高了约 $4 \times $。实验用ReLU训练了一个模型,以证明在最近的各向同性模型中流行的GELU(Hendrycks&Gimpel,2016)是不必要的。

Comparisons.

  所提模型和仅 ImageNet1k 的训练设置与最近的基于patch的模型(如 DeiT)非常相似(Touvron 等人,2020 年)。由于 ConvMixer 的简单性,作者专注于仅比较适用于 ImageNet-1k 设置的最基本的各向同性基于patch的架构,即 DeiT 和 ResMLP。为了与标准基线进行公平的比较,作者使用与 ConvMixer 完全相同的参数训练了 ResNets;虽然这种参数选择是次优的(Wightman 等人,2021 年),但对于 ConvMixer 来说也可能是次优的,因为作者没有进行超参数调整。

  从表1和图1可以看出,ConvMixer在给定的参数下实现了具有竞争力的精度:ConvMixer-1536/20的性能优于ResNet-152和ResMLP-B24,尽管参数要少得多,并且可与DeiT-B竞争。ConvMixer-768/32 仅使用了 ResNet-152 的三分之一参数,但同样准确。请注意,与 ConvMixer 不同,DeiT 和 ResMLP 结果涉及超参数调优,当大量资源专门用于调优 ResNets 时,包括训练两倍的 epoch,它们的性能仅比同等大小的 ConvMixer 约高出 0.2%(Wightman 等人,2021 年)。然而,ConvMixer 的推理速度比竞争对手慢得多,这可能是因为它们的patch大小较小;超参数调整和优化可以缩小这一差距。有关更多讨论和比较,请参阅表 2 和附录 A.
在这里插入图片描述

CIFAR-10 Experiments.

  作者还在 CIFAR-10 上进行了小规模的实验,其中 ConvMixers 以低至 0.7M 的参数实现了超过 96% 的准确度,证明了卷积归纳偏置的数据效率。这些实验的细节见附录B
在这里插入图片描述在这里插入图片描述

5、相关工作

Isotropic architectures. 视觉Transformer激发了一种新的“同质化”架构理念,即网络中各层的大小和形状保持一致,首层使用patch嵌入。这些模型类似于重复的Transformer编码器块(Vaswani et al., 2017),其中自注意力和MLP操作被不同的操作所替换。例如,MLP-Mixer(Tolstikhin et al., 2021)用跨不同维度(即空间和通道位置混合)的MLP替换两者;ResMLP(Touvron et al., 2021a)则是这一主题的数据效率变体。CycleMLP(Chen et al., 2021)、gMLP(Liu et al., 2021a)和视觉置换器(Hou et al., 2021)则用各种新颖操作替换一个或两个块。这些模型表现出色,通常归功于新颖操作的选择。相反,Melas-Kyriazi(2021)提出了基于MLP的同质化视觉模型,并推测patch嵌入可能是其性能的关键。ResMLP尝试用(小内核)卷积替换其线性交互层,表现出良好性能,但保留了基于MLP的跨通道层,并未进一步探索卷积。正如我们对ConvMixers的研究所示,这些工作可能混淆了新操作(如自注意力和MLP)的效果与patch嵌入使用以及由此产生的同质化架构的影响。

  在视觉Transformer出现之前,已有研究探讨了同质化(或“等距”)的MobileNets(Sandler et al., 2019),甚至以另一种方式实现了patch嵌入。他们的架构简单地重复同质化的MobileNetv3块。他们发现了patch大小与准确性的权衡,这与我们的经验相符,并训练出了性能相近的模型(见附录A,表2)。然而,他们的块远比我们的复杂;我们的工作在于简洁性和动机。

Patches aren’t all you need. 一些论文通过替换标准patch嵌入以提高视觉Transformer的性能,如Xiao et al. (2021)和Yuan et al. (2021a)使用标准卷积茎,而Yuan et al. (2021b)则重复组合附近的patch嵌入。然而,这将patch嵌入的使用效果与添加卷积或类似归纳偏置(如局部性)的效果混为一谈。我们试图关注patch嵌入的使用。

CNNs meet ViTs. 许多努力试图将卷积网络的特性融入视觉Transformer,反之亦然。自注意力可以模拟卷积(Cordonnier et al., 2019),并可以初始化或正则化以类似卷积;其他工作则直接在Transformer中添加卷积操作(Dai et al., 2021;Guo et al., 2021),或包括下采样以更接近传统的金字塔形卷积网络(Wang et al., 2021)。相反,自注意力或类似注意力的操作可以补充或替代ResNet风格模型中的卷积(Bello et al., 2019;Ramachandran et al., 2019;Bello, 2021)。尽管这些尝试在某种程度上都取得了成功,但它们与我们的工作是独立的,我们的目标是强调大多数ViT共有的架构影响,通过展示它与表达能力较低的操作。

6、总结

  文中介绍了ConvMixers,这是一种极其简单的模型,仅使用标准卷积就独立地对嵌入的patch的空间和通道位置进行混合。受ViT和MLP-Mixer大感受野的启发,使用大卷积核尺寸能显著提升性能。ConvMixers超越了Vision Transformer和MLP-Mixer,并与ResNets、DeiT和ResMLPs相当。

  文中提供了证据,表明日益普遍的“同质化”架构,即简单的patch嵌入基础,本身就是深度学习的强大模板。patch嵌入允许所有下采样一次性完成,立即降低内部分辨率,从而增加有效感受野,使得混合远处空间信息更加容易。文中指出,注意力并非语言处理向计算机视觉的唯一输出:使用patch嵌入,即token化输入,同样是一种强大且重要的启示。

7、附录:可视化

  在图4和图5中,分别可视化了 p = 14 p = 14 p=14的 ConvMixer-1536/20 和 p = 7 p = 7 p=7 的 ConvMixer-768/32 的patch embedding层的(完整)权重。与Sandler等人(2019)非常相似,该层由类似Gabor的过滤器以及“彩色球体”或粗糙边缘探测器组成。 过滤器似乎比 MLP-Mixer 学习的过滤器更有结构(Tolstikhin 等人,2021 年);与 MLP-Mixer 不同的是,从 p = 14 p = 14 p=14 p = 7 p = 7 p=7 的权重看起来大致相同:后者看起来只是前者的缩减采样版本。因此,目前尚不清楚为什么看到较大补丁的准确性会下降。然而,一些滤波器本质上看起来像噪声,可能表明需要更多的正则化或更长的训练,甚至需要更多的数据。归根结底,作者不能过多地解读这里所学的表征。图 6 绘制了 ConvMixer 连续层的隐藏卷积核。最初,内核似乎相对较小,但在后面的层中利用了它们允许的全尺寸;有一个清晰的特征层次结构,正如人们所期望的那样 标准卷积架构.有趣的是,Touvron 等人 (2021a) 对 ResMLP 看到了类似的效果,其中早期层看起来像小核卷积,而后期层则更加分散,尽管这些层由无约束矩阵乘法而不是卷积表示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

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

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

相关文章

我的 256天 创作纪念日

创作纪念日 我与CSDN的初识耕耘后的收获有笑有泪的日常小小的成就我的憧憬 我与CSDN的初识 在大一上学期的C语言课程中,我首次接触到CSDN。那时,面对众多难以理解的题目,我不得不频繁搜索相关知识和题解,CSDN成了我的救星。这个经…

这几个小众SaaS知识库工具原来这么好用,强烈推荐!

时代的进步和科技的发展,让我们有了更多高效的工作工具。由于云计算和SaaS(Software as a Service)的普及,越来越多的知识库工具被广大用户所知和使用。今天,就让我来为你推荐几款小众但卓效独特的SaaS知识库工具。 首…

市场首款!华邦电子发布内置PQC算法的闪存产品

3月27日,全球领先的半导体内存解决方案供应商华邦电子股份有限公司推出TrustME Secure Flash W77Q系列的最新扩展,包括256Mb、512Mb和1Gb器件。 这些突破性的安全闪存设备是市场上首款针对后量子密码学(PQC)实施Leighton-Micali签…

FSP7罗德与施瓦茨FSP7频谱分析仪

181/2461/8938产品概述: 罗德与施瓦茨 FSP7 频谱分析仪以其创新的测量和大量标准功能而著称。FSP7 没有提供多种选项,而是标配了最先进的频谱分析仪所需的所有功能和接口。FSP 具有如此丰富的功能,以极具吸引力的性价比提供最先进的频谱分析…

windows下Msys2编译OpenOCD方法与总结

windows下Msys2编译OpenOCD方法与总结 参考博客: 编译的总体方法:https://blog.csdn.net/MicroMehhh/article/details/135721360lib-usb库问题的解决办法:https://github.com/espressif/openocd-esp32/issues/162编译方法参考: …

智过网:一建继续教育,操作指南与周期解析

随着社会的快速发展和技术的不断更新,建筑行业对从业人员的专业素质要求也在逐步提高。为了确保一级建造师的专业技能能够与时俱进,满足行业发展的需求,继续教育成为了必不可少的环节。本文将详细解析一建继续教育的操作流程及其周期安排&…

前端开发学习笔记 3 (Chrome浏览器调试工具、Emmet语法、CSS复合选择器、CSS元素选择模式、CSS背景)

文章目录 Chrome浏览器调试工具Emmet语法CSS复合选择器后代选择器子选择器并集选择器伪类选择器 CSS元素选择模式元素选择模式概述CSS块标签CSS行内标签CSS行内块标签CSS元素显示模式转换 CSS背景CSS背景颜色CSS背景图片CSS背景图片平铺CSS背景图片位置CSS背景图片固定CSS背景复…

解锁网络安全新境界:雷池WAF社区版让网站防护变得轻而易举!

网站运营者的救星:雷池WAF社区版 ️ 嘿朋友们!今天我超级激动要跟你们分享一个神器——雷池WAF社区版。这个宝贝对我们这帮网站运营者来说,简直就是保护伞! 智能语义分析技术:超级侦探上线 先说说为啥我这么稀饭它。雷…

10倍提效!用ChatGPT编写系统功能文档。。。

系统功能文档是一种描述软件系统功能和操作方式的文档。它让开发团队、测试人员、项目管理者、客户和最终用户对系统行为有清晰、全面的了解。 通过ChatGPT,我们能让编写系统功能文档的效率提升10倍以上。 ​《Leetcode算法刷题宝典》一位阿里P8大佬总结的刷题笔记…

TCP挥手中TIME_WAIT存在的原因

四次挥手的一般过程如图所示: 在客户端收到FIN结束报文的时候不是立刻进入CLOSED状态,而是进入TIME_WAIT状态,一般等2MLS后进入关闭状态。 原因: 1.可靠地终止 TCP 连接。 2.保证让迟来的 TCP报文段有足够的时间被识别并丢弃。 …

长文本大模型火爆国内AI市场,算力需求激增引领行业变革

近期,一款名为Kimi的大模型火爆国内AI市场,以其出色的长文本处理能力和广泛的应用前景吸引了众多关注。随着Kimi等长文本大模型的流行,算力需求持续增长,为AI行业带来了新的变革和机遇。 Kimi突破长文本处理极限,为复杂…

Leetcode-Hot 100题目分类

哈希 &#xff08;以空间换时间&#xff09; 1 两数之和 原始的暴力破解的方法&#xff1a; class Solution {public int[] twoSum(int[] nums, int target) {/** 暴力破解的方法 */int[] result new int[2];int length nums.length;for(int i 0;i<length;i){for(int j…

win10鼠标无限转圈圈是什么原因,win10系统鼠标无限转圈圈

win10鼠标无限转圈圈是什么原因?一般后台有程序在运行,鼠标出现圆圈转动则代表正在加载中,等待一会就好了。若如果转了好久的圈圈,程序没有响应,点击桌面也没有反应,则尝试打开任务管理器,将未响应或异常的程序强制结束掉。其实,出现这种情况,有可能是win10系统中的一…

【氮化镓】GaN SP-HEMT的栅极可靠性

概括总结&#xff1a; 本文研究了氮化镓&#xff08;GaN&#xff09;肖特基型p-栅高电子迁移率晶体管&#xff08;GaN SP-HEMT&#xff09;的栅极鲁棒性和可靠性&#xff0c;通过一种新的电路方法评估了在实际转换器中栅极电压&#xff08;VGS&#xff09;过冲波形的栅极电压应…

第四百四十二回 再谈flutter_launcher_icons包

文章目录 1. 概念介绍2. 使用方法3. 示例代码4. 经验与总结4.1 经验分享4.2 内容总结 我们在上一章回中介绍了"overlay_tooltip简介"相关的内容&#xff0c;本章回中将 再谈flutter_launcher_icons包.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 …

dockerhub右键快速搜索脚本

Chrome 浏览器扩展的后台脚本&#xff0c;用于创建右键菜单项&#xff0c;并根据用户的操作在新的标签页中打开 Docker Hub 网站或者进行搜索。 // 创建右键菜单项&#xff0c;用于打开 Docker Hub 网站 chrome.contextMenus.create({id: search-home, // 菜单项的唯一标识符t…

吴恩达2022机器学习专项课程(一) 4.6 运行梯度下降第一周课程实验:线性回归的梯度下降算法

问题预览/关键词 更新梯度下降对模型拟合&#xff0c;等高线图&#xff0c;3d空间图的变化。什么是批量梯度下降。实验目标计算梯度运行梯度下降梯度下降迭代次数和成本函数的关系可视化模型预测在等高线图上的梯度下降学习率过大报错问题 笔记 1.模型拟合&#xff0c;等高线…

刷题之Leetcode283题(超级详细)

283.移动零 283. 移动零https://leetcode.cn/problems/move-zeroes/ 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nu…

Qt环形颜色选择控件, 圆环颜色选择器

参考文章Qt编写自定义控件&#xff1a;环形颜色选择控件_qconicalgradient圆环渐变-CSDN博客 感谢作责提供的方法&#xff0c;下面程序的基础思路同参考文章。 为了更方便使用&#xff0c;这个选择器是基于64色表的&#xff0c;会显示选中的索引和色值。颜色选择时计算方式也…

腾讯云优惠券介绍、领券入口及使用教程分享

腾讯云作为国内领先的云服务提供商&#xff0c;为广大用户提供了稳定、高效、安全的云计算服务。为了吸引用户上云&#xff0c;腾讯云推出了优惠券活动。本文将对腾讯云优惠券进行详细介绍&#xff0c;包括优惠券的种类、领券入口以及使用教程&#xff0c;助力大家轻松上云&…