简要论文笔记:Conformer: Local Features Coupling Global Representations for Visual Recognition

本文主要是介绍简要论文笔记:Conformer: Local Features Coupling Global Representations for Visual Recognition,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者团队:

Zhiliang Peng,Wei Huang,Shanzhi Gu,Lingxi Xie,Yaowei Wang,Jianbin Jiao,Qixiang Ye国科大,华为,鹏城实验室

在下面我们将简要总结一下介绍一下Conformer,有兴趣的读者可以看下原文:论文原文

VIT后很多工作都是想办法把transforemer和convolution结合起来,希望同时享受各自的优点。这篇文章也是如此。

目录

一.论文试图解决什么问题?

二.有没有相关类似的工作?

三.论文的贡献是什么?

四.论文中提到的解决方案是什么?

核心网络结构


一.论文试图解决什么问题?

在Visual Transformer中,虽然级联自注意力模块可以捕获长距离特征依赖关系,但会破坏局部特征细节,虽然已经有工作提出了一个标记化模块或利用CNN特征图作为输入tokens来捕获特征相邻信息。然而不幸的是,关于如何精确的将局部特征和全局表示相互嵌入的问题依然存在。CNN虽然擅长提取局部细节,但是难以捕获全局表示,虽然已经有相关将全局线索引入CNN的工作,但是它们或意味着更低的空间分辨率或意味着将有可能会恶化局部特征细节。

二.有没有相关类似的工作?

有。作者不是第一个考虑将convolution和transformer结合起来的人,之前也有一些工作做的这方面。

ContNet:降参数量的时候可以考虑用这个

T2TViT:多个tokens并成一个token,这是soft spilt,类似conv的想法,存在着重叠部分。

ConTNet:在vit中加入了一个conv embedding,就是先把tokens reshape成图,然后用卷积完成下采样以及相邻token的交互。这样tokens越来越少,embedding越来越多。在多头注意力部分利用层深可分离卷积做Convolutional Projection,取代了线性投影(降计算量,提取局部特征)

DeiT:提出使用蒸馏token将基于CNN的特征转移到visual transformers

DETR:将CNN提取的局部特征提供给transformer encoder-decoder,以串行方式对特征之间的全局关系进行建模。

三.论文的贡献是什么?

1.提出了一种双重网络结构,称为conformer,它最大限度地保留了局部特征和全局表示。

2.提出了特征耦合单元(FCU),以交互方式将卷积局部特征与基于transforemers的全局表示融合。

3.在可比的参数复杂性下,Conformer的性能明显优于CNN和visual transformers。Conformer继承了CNN和visual transformers的结构和泛化优势,展示了成为通用骨干网络的巨大潜力。

四.论文中提到的解决方案是什么?

核心网络结构

 CNN Branch:CNN分支方面采用特征金字塔结构,特征图的分辨率随着网络深度的增加而降低,而通道数增加,作者将分支分为了四个阶段,每个阶段由多个卷积块组成,每个卷积块包含个bottlenecks。按照ResNet中的定义,bottleneck包含一个1*1下投影卷积、一个3*3空间卷积、一个1*1的上投影卷积,以及bottleneck的输入和输出之间的残差连接。在实验中,在第一个卷积中设置为1,在随后的N-1个卷积块中满足>=2。

visual transformers通过一个步骤将图像patch投影到一个向量中,导致局部细节丢失。而在CNN中,卷积核在重叠的特征图上滑动,这提供了保留精细局部特征的可能性。因此,CNN分支能够为transformer分支连续提供局部特征细节

 Transformer Branch:在VIT之后,这个分支包含N个重复的Transfoerm blocks。如上面的网络结构图所示,每个transformer block由一个多头自注意力模块和一个MLP block(包含一个上投影fc层和一个下投影fc层)组成。LayerNorms应用于自注意力层和MLP block中的每一层和残差连接之前。对于tokenization,作者通过线性投影层将主干模块生成的特征图压缩为没有重叠的14*14 patch embeddings,该线性投影层是一个4*4卷积,步长为4。然后将类token假装成patch embeddings进行分类。考虑到CNN分支(3*3卷积)对局部特征和空间位置信息进行编码,不再需要位置embeddings。这有助于提高下游任务的图像分辨率。

这篇关于简要论文笔记:Conformer: Local Features Coupling Global Representations for Visual Recognition的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/638380

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit