5.08.7 CMT: Convolutional Neural Networks Meet Vision Transformers

1. 介绍

将基于 Transformer 的架构应用于视觉领域,并在图像分类、目标检测和语义分割等各种任务中取得了有希望的结果。 Vision Transformer (ViT)是第一个用纯 Transformer 替代传统 CNN 主干的工作。输入图像(224×224×3)首先被分割成196个不重叠的patch(每个patch的固定大小为16×16×3),这类似于NLP中的单词token。然后将这些补丁送入堆叠的标准转换器块中,以对全局关系进行建模并提取用于分类的特征。

Transformer模型的不足

  • 在ViT和其他基于Transformer的模型中将图像分割成补丁。这样做可以大大简化将 Transformer 应用到基于图像的任务的过程。补丁序列可以直接输入标准转换器,可以很好地捕获补丁之间的远程依赖关系。        然而,它忽略了基于序列的 NLP 任务和基于图像的视觉任务之间的根本区别,例如每个块内的 2D 结构和空间局部信息。其次,由于 patch 大小固定,Transformer 很难显式地提取低分辨率和多尺度特征,这对检测和分割等密集预测任务提出了很大的挑战。

在图像和视频处理中,低分辨率通常指的是图像或视频所包含的像素数量较少,导致图像的细节和清晰度较低。

在多尺度特征中,“尺度”一词具有特定的含义。它主要指的是观察或研究对象的空间或时间范围的大小或粒度

  • 与基于卷积的CNN的O(NC^2)相比,Transformer中自注意力模块的计算和内存成本是输入分辨率的二次方O(N^2C)。在使用Transformer处理高分辨率图像时必然会出现GPU显存不足、计算效率低下的问题。

我们站在 CNN 和 Transformer 的交叉点上,提出了一种新颖的 CMT(CNN 与 Transformer)视觉识别架构。所提出的 CMT 利用 CNN 的优点来弥补使用纯 Transformer 时的上述限制。

输入图像首先经过卷积茎进行细粒度特征提取,然后输入到一堆CMT块中进行表示学习。引入的 CMT 块是 Transformer 块的改进变体,其局部信息通过深度卷积得到增强。与ViT相比,CMT第一阶段生成的特征可以保持更高的分辨率,即H/4 \times W/4,而ViT中的H/16 \times W/16,这对于其他密集预测任务至关重要。

采用与CNN类似的阶段式架构设计,使用步长为2的四个卷积层,逐渐降低分辨率(序列长度)并灵活增加维度。分阶段的设计有助于提取多尺度特征并减轻高分辨率带来的计算负担。 CMT模块中的局部感知单元(LPU)反向残差前馈网络(IRFFN)可以帮助捕获中间特征中的局部和全局结构信息,并提高网络的表示能力。最后,使用平均池化来替换ViT中的类别标记以获得更好的分类结果。

2. 相关工作

深度神经网络通常建立在基本块的基础上,其中一系列卷积层顺序堆叠以捕获中间特征中的局部信息。然而,小卷积核的有限感受野使得获取全局信息变得困难,阻碍了网络在分类、目标检测和语义分割等挑战性任务上的高性能。

卷积神经网络

AlexNet和VGGNet 表明,由卷积层和池化层组成的深度神经网络可以在识别中获得足够的结果。 GoogleNet 和 InceptionNet 证明了基本块内多路径的有效性。ResNet 通过向基础网络每两层添加快捷连接,表现出更好的泛化能力。

Wang等人提出在深度残差网络的中间阶段之间顺序堆叠注意力模块。 SENet 和 GENet 通过对通道之间的相互依赖性进行建模来自适应地重新校准通道特征响应。 NLNet 将自注意力机制纳入神经网络中,提供跨所有空间位置的成对交互,以增强远程依赖性。

视觉Transformer

开创性的工作 ViT 将从 NLP 继承的 Transformer 架构直接应用于以图像块为输入的分类。

DeiT 引入了一种新的训练范式,将 ViT 扩展为直接在 ImageNet-1K 上训练的数据高效的 Transformer。T2T-ViT 提出通过将相邻标记递归聚合为一个标记来嵌入视觉标记。TNT 提出分别通过内部和外部 Transformer 块对块级和像素级表示进行建模。 PVT 将金字塔结构引入 ViT,可为各种像素级密集预测任务生成多尺度特征图。

Transformer 还用于解决其他视觉任务,如物体检测、语义分割、图像检索和低级视觉任务。

Transformer 的网络与卷积层相结合,整体架构遵循先前阐述的卷积神经网络,例如 ResNet 和 EfficientNet 。

3. 方法

3.1 整体架构

建立一个充分利用 CNN 和 Transformer 优点的混合网络。

DeiT直接将输入图像分割为非重叠的补丁,补丁内的结构信息只能用线性投影来建模。为了克服这个限制,利用茎结构,有一个步长为2的3*3卷积核和一个大小为32的输出通道来减少输入图像的大小,然后是另外两个步长为1的3×3卷积为了更好地提取局部信息。

我们的模型有四个阶段来生成不同尺度的特征图,这对于密集预测任务非常重要。为了产生层次表示,在每个阶段之前应用由卷积和层归一化(LN)组成的补丁嵌入层,以减少中间特征的大小(分辨率的2倍下采样),并将其投影到更大的维度(尺寸放大 2 倍)。在每个阶段,几个 CMT 块按顺序堆叠以进行特征转换,同时保持输入的相同分辨率。

分辨率的2倍下采样:将图像的分辨率降低为原来的一半。具体来说,在数字图像处理中,下采样(downsampling)是一个常见的操作,其目的是减少图像的数据量或分辨率。

例如,CMT-S 的“阶段 3”包含 16 个 CMT 块,如图所示。CMT 块能够捕获本地和远程依赖关系。

给定输入图像,我们可以获得四个不同分辨率的分层特征图,类似于 ResNet 和 EfficientNet 等典型 CNN。通过上述相对于输入的步长为 4、8、16 和 32 的特征图,我们的 CMT 可以获得输入图像的多尺度表示,并且可以轻松应用于目标检测和语义分割等下游任务。

较大的步长值会导致输出的特征图尺寸变得更小,因为卷积核会跳过更多的输入像素。

3.2 CMT Block

CMT 模块由本地感知单元(LPU)、轻量级多头自注意力(LMHSA)模块和反向残差前馈网络(IRFFN)组成。

本地感知单元(LPU)

旋转和平移是视觉任务中两种常用的数据增强方式,但这些操作并不会改变模型的最终结果。 我们期望这些任务具有平移不变性。然而,以前的Transformer中使用的绝对位置编码最初是为了利用标记的顺序而设计的,但它破坏了这种不变性,因为它为每个补丁添加了唯一的位置编码。此外,Vision Transformer忽略了补丁内部的局部关系和结构信息。为了缓解这些限制,我们提出了局部感知单元(LPU)来提取局部信息。

\mathrm{LPU(X)}=\mathrm{DWConv}(\mathbf{X})+\mathbf{X},其中\mathbf{X}\in\mathbb{R}^{H\times W\times d}, H\times W是当前阶段输入的分辨率,d表示特征的维度。

与传统的标准卷积不同,深度卷积(Depth-wise convolution)对每个输入通道独立进行卷积运算。具体来说,每个卷积核仅与对应的单一输入通道进行卷积,而不是与所有通道同时卷积。因此,深度卷积完成后得到的特征图数量与输入的通道数相同,无法扩展通道数。

深度卷积的优点在于其可以显著减少参数量和计算量,从而加速模型的推理速度和运行效率

轻量级多头自注意力(Lightweight MHSA)

在原始自注意力模块中,输入X\in R^{n\times d}在线性变换时,查询

Q\in R^{n\times d_k},K\in R^{n\times d_k},V\in R^{n\times d_v},其中n=H\times W是补丁的数量。在图中省略了张量从 H × W × d 到 n×d 的重塑操作。符号 dd_kd_v 分别是输入、键(查询)和值的维度。然后自注意力模块的应用如下:

\mathrm{Attn}(\mathbf{Q},\mathbf{K},\mathbf{V})=\mathrm{Softmax}(\frac{\mathbf{Q}\mathbf{K}^{T}}{\sqrt{d_{k}}})\mathbf{V}

在注意力操作之前使用步幅为 k 的 k × k 深度卷积来减小 K 和 V 的空间大小。

\mathbf{K}^{\prime}=\mathrm{DWConv}(\mathbf{K})\in\mathbb{R}^{\frac n{k^2}\times d_k}以及\mathbf{V}^{\prime}=\mathrm{DWConv}(\mathbf{V})\in\mathbb{R}^{\frac n{k^2}\times d_v}。此外,我们为每个自注意力模块添加相对位置偏差B,相应的轻量级注意力定义为:

\mathrm{LightAttn}(\mathbf{Q},\mathbf{K},\mathbf{V})=\mathrm{Softmax}(\frac{\mathbf{QK}^{\prime T}}{\sqrt{d_{k}}}+\mathbf{B})\mathbf{V}^{\prime}

其中\mathbf{B}\in\mathbb{R}^{n\times\frac{n}{k^{2}}}是随机初始化且可学习的,学习到的相对位置偏差也可以通过 双三次插值(bicubic interpolation) 变为不同尺寸大小 m1 × m2 的B' \in R^{m1\times m2}。 \mathbf{B}^{\prime}=\mathrm{Bicubic}(\mathbf{B})

轻量级多头自注意力 (LMHSA) 模块通过考虑 h 个“头”来定义,即,将 h 个 LightweightAttention 函数应用于输入。每个头输出一个大小为n\times \frac{d}{h} 的序列。然后,将这些 h 个序列连接成一个n\times d序列。

反向残差前馈网络(IRFFN)

ViT中提出的原始 FFN 由两个由 GELU 激活分隔的线性层组成。第一层将维度扩大了 4 倍,第二层以相同的比例缩小了维度:

\mathrm{FFN}(\mathbf{X})=\mathrm{GELU}(\mathbf{X}W_1+b_1)W_2+b_2,其中W_1\in R^{d\times 4d}W_2\in R^{4d\times d}分别表示两个线性层的权重。符号 b1 和 b2 是偏置项。反向残差前馈网络(IRFFN)与反向残差块类似。

\mathrm{IRFFN}(\mathbf{X})=\mathrm{Conv}(\mathcal{F}(\mathrm{Conv}(\mathbf{X})))

\\\mathcal{F}(\mathbf{X})=\mathrm{DWConv}(\mathbf{X})+\mathbf{X}

深度卷积用于提取局部信息,额外的计算成本可以忽略不计。

扩展比(expansion ratio)是一个关键参数,它指的是在扩展层(如MobileNetV1)中,特征图的通道数相对于输入通道数的增加比例。通过增加通道数,扩展层能够捕获更多的特征信息,从而提高网络的表示能力。 

CMT块公式表示

\mathbf{Y}_{i} =\mathrm{LPU}(\mathbf{X}_{i-1})\mathbf{Z}_{i} =\mathrm{LMHSA}(\mathrm{LN}(\mathbf{Y}_{i}))+\mathbf{Y}_{i}\mathbf{X}_{i} =\mathrm{IRFFN(LN}(\mathbf{Z}_{i}))+\mathbf{Z}_{i}

其中 Y_i 和 Z_i 分别表示第 i 个块的 LPU 和 LMHSA 模块的输出特征。 LN 表示层归一化。我们在每个阶段堆叠几个 CMT 块以进行特征转换和聚合。

3.3 复杂性分析

标准Transformer块

由 MHSA 模块和 FFN 组成。给定大小为 n × d 的输入特征,计算复杂度 (FLOP) 可以计算为:

\mathcal{O}(\mathrm{MHSA})=2nd(d_{k}+d_{v})+n^{2}(d_{k}+d_{v})

\mathcal{O}(\mathrm{FFN})=2nd^{2}r

 其中 r 是FFN的扩展比例,d_kd_v分别是key和value的维度。

ViT 设定 d = dk = dv 且 r = 4,成本可以简化为:

\mathcal{O}(\mathrm{Transformer~block}) =\mathcal{O}(\mathrm{MHSA})+\mathcal{O}(\mathrm{FFN}) =12nd^{2}+2n^{2}d

CMT块的FLOPs如下:

\mathcal{O}(\mathrm{LPU})=9nd,                        ​​​​​​​        \mathcal{O}(\mathrm{LMHSA})=2nd^{2}(1+1/k^{2})+2n^{2}d/k^{2}\mathcal{O}(\mathrm{IRFFN})=8nd^{2}+36nd

\mathcal{O}(\mathrm{CMT~block})=\mathcal{O}(\mathrm{LPU})+\mathcal{O}(\mathrm{LMHSA})+\mathcal{O}(\mathrm{IRFFN})\\=10nd^{2}(1+0.2/k^{2})+2n^{2}d/k^{2}+45nd

3.4 扩展策略

提出了一种适用于基于变压器的网络的新复合缩放策略,该策略使用复合系数 φ 以原则性的方式统一缩放层数(深度)、维度和输入分辨率:

 其中 α、β 和 γ 是通过网格搜索确定的常数,分别用于决定如何将资源分配给网络深度、维度和输入分辨率。

构建的模型 CMT-S 具有与 DeiT-S (ViT-S) 和 EfficientNet-B4 相似的模型大小和计算复杂性。我们还根据提出的扩展策略引入了 CMT-Ti、CMT-XS 和 CMT-B。

4. 实验

通过对图像分类、对象检测和实例分割等多项任务进行实验来研究 CMT 架构的有效性。我们首先将所提出的 CMT 与之前在上述任务上最先进的模型进行比较,然后消除 CMT 的重要元素。

4.1 ImageNet 分类

ImageNet  是一个图像分类基准,包含 1000 个类别的 128 万张训练图像和 5 万张验证图像。为了与最近的工作进行公平比较,我们采用与 DeiT 中相同的训练和增强策略,即使用 AdamW 对模型进行 300 个 epoch 的训练(CMT-Ti 为 800 个,需要更多的 epoch 才能收敛)优化器。

 

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

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

相关文章

系统架构设计师 - 计算机组成与体系结构(1)

计算机组成与体系结构 计算机组成与体系结构计算机结构 ★CPU 组成结构运算器组成控制器组成 计算机体系结构冯诺依曼结构哈弗结构 嵌入式芯片(了解) 存储系统 ★★★★概述Cache主存编址磁盘管理磁盘基本结构与存取过程磁盘优化分布存储磁盘管理 大家好…

绝地求生:杜卡迪联动下架,兰博基尼联动预计在下半年上线!

杜卡迪联名活动即将在5月8日上午八点下架,届时商城内购买-升阶活动将不可用。 杜卡迪下架 本次杜卡迪联名是蓝洞首次以非通行证方式进行的载具联名活动,玩家认为有利有弊。 多数玩家表示非通行证-仅抽奖获取的方式成本太高,部分脸黑玩家本次…

c++ poencv Project2 - Document Scanner

惯例先上结果图: 本文提供一种文本提取思路: 1、首先图像预处理:灰度转换、高斯模糊、边缘提取,膨胀。 Mat preProcessing(Mat img) {cvtColor(img, imgGray, COLOR_BGR2GRAY);GaussianBlur(imgGray, imgBlur, Size(3, 3), 3, …

基于鸢尾花数据集的四种聚类算法(kmeans,层次聚类,DBSCAN,FCM)和学习向量量化对比

基于鸢尾花数据集的四种聚类算法(kmeans,层次聚类,DBSCAN,FCM)和学习向量量化对比 注:下面的代码可能需要做一点参数调整,才得到所有我的运行结果。 kmeans算法: import matplotlib.pyplot a…

从面试官视角出发,聊聊产品经理的面试攻略

一、请进行自我介绍 这题基本是面试的开胃菜了,估计面试多的,自己答案都能倒背如流啦。 其实自我介绍还是蛮重要的,对我来说主要有 3 个作用:面试准备、能力预估、思维评估。 面试准备:面试官每天都要面 3 ~6 人&am…

嵌入式C语言高级教程:实现基于STM32的智能水质监测系统

智能水质监测系统可以实时监控水体的质量,对于环境保护和水资源管理具有重要意义。本教程将指导您如何在STM32微控制器上实现一个基本的智能水质监测系统。 一、开发环境准备 硬件要求 微控制器:STM32F303K8,因其高精度模拟特性而被选用。…

嵌入式C语言高级教程:实现基于STM32的智能照明系统

智能照明系统不仅可以自动调节光源的亮度和色温,还可以通过感应用户的行为模式来优化能源消耗。本教程将指导您如何在STM32微控制器上实现一个基本的智能照明系统。 一、开发环境准备 硬件要求 微控制器:STM32F103RET6,具有足够的处理能力…

苹果再失资深设计师,Jony Ive 团队基本离开;OpenAI 或于下周发布 AI 搜索丨 RTE 开发者日报 Vol.201

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

测试环境搭建整套大数据系统(十六:超级大文件处理遇到的问题)

一:yarn出现损坏的nodemanger 报错现象 日志:1/1 local-dirs usable space is below configured utilization percentage/no more usable space [ /opt/hadoop-3.2.4/data/nm-local-dir : used space above threshold of 90.0% ] ; 1/1 log-dirs usabl…

【SRC实战】合成类小游戏外挂漏洞

挖个洞先 https://mp.weixin.qq.com/s/ZnaRn222xJU0MQxWoRaiJg “以下漏洞均为实验靶场,如有雷同,纯属巧合” 合成类小游戏三个特点: 1、一关比一关难,可以参考“羊了个羊” 2、无限关卡无限奖励,可以参考“消灭星星…

【Qt 学习笔记】Qt常用控件 | 多元素控件 | List Widget的说明及介绍

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 多元素控件 | List Widget的说明及介绍 文章编号&#x…

【Java代码审计】代码审计的方法及常用工具

【Java代码审计】代码审计的方法及常用工具 代码审计的常用思路代码审计辅助工具代码编辑器测试工具反编译工具Java 代码静态扫描工具 代码审计的常用思路 1、接口排查(“正向追踪”):先找出从外部接口接收的参数,并跟踪其传递过…

ICode国际青少年编程竞赛- Python-3级训练场-综合练习3

ICode国际青少年编程竞赛- Python-3级训练场-综合练习3 1、 for i in range(10):if i < 2 or i > 7: Flyer[i].step(1) Dev.step(Dev.y - Item[0].y)2、 for i in range(8):if i < 3 or i > 4:Spaceship.turnRight()else:Spaceship.turnLeft()Spaceship.step(i …

VBA_NZ系列工具NZ06:VBA创建PDF文件说明

我的教程一共九套及VBA汉英手册一部&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到数据库&#xff0c;到字典&#xff0c;到高级的网抓及类的应用。大家在学习的过程中可能会存在困惑&#xff0c;这么多知识点该如何组织…

InLine Chat功能优化对标Github Copilot,CodeGeeX带来更高效、更直观的编程体验!

VSCode中的CodeGeeX 插件上线InLine Chat功能后&#xff0c;收到不少用户的反馈&#xff0c;大家对行内交互编程这一功能非常感兴趣。近期我们针对这个功能再次进行了深度优化&#xff0c;今天详细介绍已经在VSCode插件v2.8.0版本上线的 CodeGeeX InLine Chat功能&#xff0c;以…

IPO压力应变桥信号处理系列隔离放大器 差分信号隔离转换0-10mV/0-20mV/0-±10mV/0-±20mV转4-20mA/0-5V/0-10V

概述&#xff1a; IPO压力应变桥信号处理系列隔离放大器是一种将差分输入信号隔离放大、转换成按比例输出的直流信号混合集成厚模电路。产品广泛应用在电力、远程监控、仪器仪表、医疗设备、工业自控等行业。该模块内部嵌入了一个高效微功率的电源&#xff0c;向输入端和输出端…

海外多语言盲盒系统开发:加快盲盒企业出海

近几年&#xff0c;全球都进入到了潮玩文化发展期&#xff0c;在这种时代背景下&#xff0c;盲盒迅速发展&#xff0c;与消费者建立了深厚的情感连接&#xff0c;市场规模逐渐扩大。目前&#xff0c;我国盲盒企业纷纷布局海外市场&#xff0c;纵观海外庞大的发展空间&#xff0…

MathType7.6最新免费汉化版安装包下载地址

MathType是一款由Design Science公司开发的数学公式编辑器&#xff0c;被广泛用于编辑论文、书籍、报刊、数学试卷、演示文件等&#xff0c;是编辑数学资料的得力工具。以下是对MathType软件的详细介绍&#xff1a; 安装免费版MathType和mathtype7.4产品密钥 MTWE691-011524-9…

基于docker安装flink

文章目录 环境准备Flinkdocker-compose方式二进制部署 KafkaMysql Flink 执行 SQL命令进入SQL客户端CLI执行SQL查询表格模式变更日志模式Tableau模式窗口计算 窗口计算滚动窗口demo滑动窗口 踩坑 环境准备 Flink docker-compose方式 version: "3" services:jobman…

乡村振兴与城乡融合发展:加强城乡间经济、文化、社会等方面的交流与合作,推动城乡一体化发展,实现美丽乡村共荣

目录 一、引言 二、乡村振兴与城乡融合发展的意义 三、城乡交流合作的现状与挑战 &#xff08;一&#xff09;现状 &#xff08;二&#xff09;挑战 四、加强城乡交流合作的策略与路径 &#xff08;一&#xff09;完善城乡交流合作机制 &#xff08;二&#xff09;推动…