12/31

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 摘要
  • Abstract
  • 文献阅读:用于密集预测的多路径视觉Transformer
    • 1、研究背景
    • 2、方法提出
    • 3、相关方法
      • 3.1、Vision Transformers for dense predictions
      • 3.2、Comparison to Concurrent work
    • 4、Multi-Path Vision Transformer 结构实现
      • 4.1、Multi-Scale Patch Embedding
      • 4.2、Multi-path Transformer
    • 5、实验测试
    • 6、文章贡献
  • Transformer 复习
    • 1、什么是Transformer
    • 2、Transformer模型的框架
    • 3、Encoder
      • 3.1、Encoder的作用
      • 3.2、Encoder中Block的详细实现
    • 4、Decoder
      • 4.1、Decoder的作用
      • 4.2、可能性序列的产生过程
    • 5、Encoder和Decoder之间的连接
    • Encoder和Decoder之间的连接主要集中在Cross attention当中,其主要两个输入由Encoder输入,另外一个由Decoder输入,这些输入都是通过各自的Self-attention(Mask)处理后输入到Cross attention进行下一步处理,这样便完成了两个结构之间的连接。 ![请添加图片描述](https://img-blog.csdnimg.cn/a41d7caad0fb4c48b6bdedfdb0a9578f.png)


摘要

本周主要阅读了2022CVPR的文章,用于密集预测的多路径视觉Transformer,在文章中讲解了当前Transformer对于多尺度的密集预测的困难之处,并提出了一种方法多路径视觉Transformer方法来解决,其主要思路就是通过嵌入CNN对多路径的物体进行特征提取,最后将特征重新聚合得到一种多路径的视觉密集预测的方法。在最终测试下,都取得比较好的成绩。另外我还对Transformer的相关知识进行了复习。

Abstract

This week I mainly read articles from CVPR 2022, focusing on the multi-path visual Transformer for dense prediction. In the article, the difficulties of current Transformer for dense prediction at multiple scales are explained, and a method, the multi-path visual Transformer method, is proposed to solve them. The main idea is to extract features from multiple paths of objects through embedding CNN, and finally re-aggregate the features to obtain a method for dense prediction of multiple paths of vision. In the final test, good results were achieved. In addition, I also reviewed the related knowledge of Transformer.


文献阅读:用于密集预测的多路径视觉Transformer

Title: MPViT: Multi-Path Vision Transformer for Dense Prediction
Author:Youngwan Lee, Jonghee Kim, Jeff Willette, Sung Ju Hwang
From:2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)

1、研究背景

⾃推出以来,Transformer 对⾃然语⾔处理(NLP)产⽣了巨⼤影响。同样Vision Transformer (ViT) 的出现推动了计算机视觉社区的发展。因此,最近基于 Transformer 的视觉⼯作出现了爆炸式增⻓,涵盖静态图像分类等任务,物体检测和语义分割到视频分类等时间任务和对象跟踪 。对于诸如对象检测和分割之类的密集预测任务来说,表示关重要多尺度特征⽤于区分不同⼤⼩的物体或区域。现代 CNN 主⼲在密集预测⽅⾯表现出更好的性能,在卷积核级别利⽤多个尺度,或特征级别。初始⽹络 或 VoVNet 在同⼀特征级别利⽤多粒度卷积核,产⽣不同的感受野,进⽽提⾼检测性能。⼈⼒资源⽹通过同时聚合整个卷积层的精细和粗略特征来表⽰多尺度特征。尽管 CNN 模型被⼴泛⽤作密集预测的特征提取器,CNN的性能已经被ViT超越。ViT 变体重点关注如何解决应⽤于⾼分辨率密集预测时⾃注意⼒的⼆次复杂度,他们较少关注构建有效的多尺度表⽰。

2、方法提出

作者以不同于现有Transformer的视角,探索多尺度path embedding与multi-path结构,提出了Multi-path Vision Transformer(MPViT)。通过使用 overlapping convolutional patch embedding,MPViT同时嵌入相同大小的patch特征。然后,将不同尺度的Token通过多条路径独立地输入Transformer encoders,并对生成的特征进行聚合,从而在同一特征级别上实现精细和粗糙的特征表示。在特征聚合步骤中,引入了一个global-to-local feature interaction(GLI)过程,该过程将卷积局部特征与Transformer的全局特征连接起来,同时利用了卷积的局部连通性和Transformer的全局上下文。

3、相关方法

3.1、Vision Transformers for dense predictions

密集的计算机视觉任务,如目标检测和分割,需要有效的多尺度特征表示,以检测或分类不同大小的物体或区域。Vision Transformer(ViT)构建了一个简单的多阶段结构(即精细到粗糙),用于使用单尺度patch的多尺度表示。然而ViT的变体专注于降低自注意的二次复杂度,较少关注构建有效的多尺度表示。CoaT通过使用一种co-scale机制,同时表示精细和粗糙的特征,允许并行地跨层注意,从而提高了检测性能。然而,co-scale机制需要大量的计算和内存开销,因为它为基础模型增加了额外的跨层关注(例如,CoaT-Lite)。因此,对于ViT体系结构的多尺度特征表示仍有改进的空间。

3.2、Comparison to Concurrent work

CrossViT利用了不同的patch大小和单级结构中的双路径,如ViT和XCiT。然而,CrossViT的分支之间的相互作用只通过[CLS]token发生,而MPViT允许所有不同规模的patch相互作用。此外,与CrossViT(仅限分类)不同的是,MPViT更普遍地探索更大的路径维度(例如,超过两个维度),并采用多阶段结构进行密集预测。

4、Multi-Path Vision Transformer 结构实现

在这里插入图片描述

4.1、Multi-Scale Patch Embedding

请添加图片描述
通过改变stride和padding来调整token的序列长度。也就是说,可以输出具有不同patch大小的相同大小(即分辨率)的特征。因此,这样就能并行地形成了几个具有不同卷积核大小的卷积patch embedding层。例如,如上图的Multi-Scale Patch Embedding 结构种,可以生成相同序列长度的不同大小的vision token,patch大小分别为3×3,5×5,7×7。
由于具有相同通道和滤波器大小的连续卷积操作扩大了接受域,并且需要更少的参数,在实践中选择了连续的3×3卷积层。为了减少参数量,在实践中选择了两个连续的3×3卷积层代替5×5卷积。对于triple-path结构,使用三个连续的3×3卷积,通道大小为C’,padding为1,步幅为s,其中s在降低空间分辨率时为2,否则为1。因此通过该层可以得到相同大小的特征F3x3(Xi)、F5x5(Xi)、F7x7(Xi)

  • 注意:为了减少模型参数和计算开销,采用3×3深度可分离卷积,包括3×3深度卷积和1×1点卷积。每个卷积之后都是Batch Normalization 和一个Hardswish激活函数。接着,不同大小的token embedding features 分别输入到Multi-path transformer Block 中的 encoder 中。

4.2、Multi-path Transformer

  • Convolutional Local Feature 和 Transformer Encoder
    Transformer中的self-attention可以捕获长期依赖关系(即全局上下文),但它很可能会忽略每个patch中的结构性信息和局部关系。相反,cnn可以利用平移不变性中的局部连通性,使得CNN在对视觉对象进行分类时,对纹理有更强的依赖性,而不是形状。因此,MPViT以一种互补的方式将CNN与Transformer结合起来。其中为了表示局部特征,其采用了一个 depthwise residual bottleneck block,包括1×1卷积、3×3深度卷积和1×1卷积和残差连接。
  • Global-to-Local Feature Interaction
    请添加图片描述

5、实验测试

使用upernet作为分割方法,并将ImageNet-1k预训练的MPViTs集成到supernet中。接下来,为了公平比较,训练模型160k次迭代,批大小为16,使用AdamW[38]优化器,学习率为6e-5,权重衰减为0.01。使用标准的单尺度协议报告性能。使用mmseg[11]库实现mpvit。与其他Swin-T、Focal-T和XCiT-S12/16相比,mpvits的性能(48.3%)更高,分别为+3.8%、+2.5%和+2.4%。有趣的是,mpvit也超过了更大的型号,如Swin-S/B, XCiT-S24/16, -M24/16, -S24/8和Focal-S。此外,mpvitb性能优于最近(和更大的)SOTA变压器Focal-B[67]。这些结果表明,MPViT的多尺度嵌入和多路径结构使其具有多样化的特征表示能力。
在这里插入图片描述

6、文章贡献

  • 通过多路径并行设计实现了对多尺度信息的利用
  • 通过深度卷积操作实现了全局上下文的利用(Mask2Former也有一摸一样的结构)
  • 通过对照试验探究了多尺度多路径模型在不同尺度及路径数量下的效果

Transformer 复习

1、什么是Transformer

Transformer其实是一个sequence-to-sequence的模型,而Seq2seq模型是一个输入是sequence以及输出也是一个sequence的模型,其中需要注意的是输出有几种可能,和输入一样长、更短以及更长,当然还有让机器自己决定输出多长的情况。

2、Transformer模型的框架

Transformer模型,即Sequence-to-sequence模型,主要分为两个部分Encoder以及Decoder。输入的sequence经过Encoder进行编码处理,输出处理好的数据向量,之后将该数据向量输入到Decoder进行解码处理,这样最后就能得到想要的最后的输出Sequence结果。

3、Encoder

3.1、Encoder的作用

Sequence-to-sequence模型的Encoder主要作用就是处理一个向量,输出另外一个向量。当然其他模型也能够完成同样的任务,就比如RNN和CNN等模型。然后Encoder处理单元里面,包含了多重的Block,每一层的Block中会经过Self-attention处理。然后再通过Fully Connection进行连接,给下一层的block输出向量。

3.2、Encoder中Block的详细实现

Encoder的每一个Block输出都要经过如下图的步骤,首先原向量要经过self-attention处理得到一个预处理向量,预处理向量再与原向量进行Residual处理,紧接着是进行norm处理,norm处理是为了防止向量值出现过大的偏差,实现方式就是原向量与mean标准值的差,再除以偏离值。norm处理后的向量,会进行fully connection处理,得到新的fc处理向量,与原向量进行residual处理,最后再经过norm处理得到最后的结果。
请添加图片描述

4、Decoder

4.1、Decoder的作用

Sequence-to-sequence模型的Decoder主要作用就是把Encoder输出的向量。经过一系列的处理,最后输出一个可能性序列。如下图所示,将Encoder的输出向量,经过处理,输出成“机器学习”这样的一个序列,就好像机器识别到“机”这个字以后会判断出下一个字是“器”,整个序列是一个可能性序列,是经过softmax处理得到的。
请添加图片描述

4.2、可能性序列的产生过程

由上面的学习可以知道,Decoder会输出一个可能性序列,这个可能性序列实现的方式主要是根据前面的字符影响后面输出的字符,不断重复的影响及输出,就能够输出这样的可能性序列。这样的重复影响就能够联想到self-attention,但是self-attention是所有输出都彼此影响,是无法实现我们所说的可能性序列。因为只需要前者对后者的影响,而不需要后者对前者的影响。所以需要对self attention进行改进,变成masked self attention。如下图所示,它只会让前者影响后者,而不会导致后者影响前者的情况。向量内容的输入顺序是逐个输入,而不是同时输入,这是一个比较大的区别。
请添加图片描述

5、Encoder和Decoder之间的连接

Encoder和Decoder之间的连接主要集中在Cross attention当中,其主要两个输入由Encoder输入,另外一个由Decoder输入,这些输入都是通过各自的Self-attention(Mask)处理后输入到Cross attention进行下一步处理,这样便完成了两个结构之间的连接。
请添加图片描述

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

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

相关文章

GAMES101:作业4记录

文章目录 总览算法编写代码:recursive_bezier()的实现Bezier()函数的实现提高部分:反走样 总览 Bzier 曲线是一种用于计算机图形学的参数曲线。在本次作业中,你需要实现 de Casteljau 算法来绘制由 4 个控制点表示的 Bzier 曲线 (当你正确实现该算法时,…

亚信安慧AntDB数据库两项目分别入选2023“星河”标杆、优秀案例

近日,由中国信息通信研究院、中国通信标准化协会大数据技术标准推进委员会(CCSA TC601)共同组织的第七届大数据“星河(Galaxy)”案例评选结果公示,亚信安慧AntDB数据库两项目入选,其中“基于Ant…

国图公考:研究生可以考选调生吗?

研究生可以报考选调生吗?当然是可以的,但是同样需要满足一定的条件才可以。 除本科生外,具有硕士、博士学位的考生均可申请考试。但是,除了满足应届毕业生的身份,还需要满足年龄限制。一般来说,本科生不超过25岁&…

Kubernetes集群部署Rook Ceph实现文件存储,对象存储,块存储

Kubernetes集群部署Rook Ceph部署Ceph集群 1. Rook Ceph介绍 Rook Ceph是Rook项目中的一个存储方案,专门针对Ceph存储系统进行了优化和封装。Ceph是一个高度可扩展的分布式存储系统,提供了对象存储、块存储和文件系统的功能,广泛应用于提供…

FTP简介FTP服务器的搭建【虚拟机版】以及计算机端口的介绍

目录 一. FTP简介 二. FTP服务器的搭建【虚拟机Windows2012版】 1. 启用防火墙 2. 打开服务器管理器➡工具➡计算机管理 3. 选择本地用户与组➡新建组 4. 给组命名,输入描述,点击创建 5. 新建用户,设置用户名称,添加描述&a…

传感器原理与应用复习--光电式与半导体式传感器

文章目录 上一篇光电传感器光电器件 光纤传感器光纤传感器的工作原理及组成 半导体传感器下一篇 上一篇 传感器原理与应用复习–磁电式与霍尔传感器 光电传感器 光电器件 每个光子的能量为 E h v E hv Ehv h为普朗克常数 6.626 ∗ 1 0 − 34 ( J / s ) 6.626 * 10^{-…

【ARMv8M Cortex-M33 系列 2.3 -- SEGGER JFlash 烧写命令介绍】

请阅读【嵌入式开发学习必备专栏 之Cortex-M33 专栏】 文章目录 SEGGER JFlash 烧写命令介绍JFlash 配置文件 固件烧写地址介绍确定烧写地址 SEGGER JFlash 烧写命令介绍 本文以介绍烧写 Renesas RA4M2 为例,对 JFlash 进行简单介绍。它是 ARM Cortex-M33 微控制器…

华为ensp网络设计期末测试题-复盘

网络拓扑图 地址分配表 vlan端口分配表 需求 The device is running!<Huawei>sys Enter system view, return user view with CtrlZ. [Huawei]un in en Info: Information center is disabled. [Huawei]sys S1 [S1]vlan 99 [S1-vlan99]vlan 100 [S1-vlan100]des IT [S1-…

2023 全球 AI 大事件盘点

本文来自微信公众号硅星人

跨境电商的语言障碍:翻译工具的必要性

随着全球化的加速和电子商务的普及&#xff0c;跨境电商逐渐成为企业拓展市场的重要渠道。然而&#xff0c;跨境电商在带来无限商机的同时&#xff0c;也面临着语言障碍的挑战。由于不同国家和地区的语言和文化差异&#xff0c;跨境电商在产品描述、用户沟通、广告宣传等方面需…

年度总结|存储随笔2023年度最受欢迎文章榜单TOP15-part1

原创 古猫先生 存储随笔 2023-12-31 08:31 发表于上海 回首2023 2-8月份有近半年时间基本处于断更状态 好在8月份后小编没有松懈 &#xff08;虽然2023年度总结&#xff0c;更像是近4个月总结&#xff09; 本年度顺利加V啦&#xff01; 感谢各位粉丝朋友的一路支持与陪伴 …

2024主流的免费电脑数据恢复软件EasyRecovery

EasyRecovery绿色版是一款非常专业的电脑数据恢复工具。它可以全面恢复删除丢失数据&#xff0c;能对电脑误删文件恢复、格式化硬盘数据恢复、手机U盘数据恢复等&#xff0c;能恢复包括文档、表格、图片、音视频等各种文件&#xff0c;此版本经过处理&#xff0c;可永久免费使用…

AcWing算法提高课-2.2.3抓住那头牛

算法提高课整理 CSDN个人主页&#xff1a;更好的阅读体验 本文同步发表于 CSDN | 洛谷 | AcWing | 个人博客 原题链接 题目描述 农夫知道一头牛的位置&#xff0c;想要抓住它。 农夫和牛都位于数轴上&#xff0c;农夫起始位于点 n n n&#xff0c;牛位于点 k k k。 农夫…

golang第五卷---包以及常用内置包归纳

包以及常用内置包归纳 包的概念math包time包sync包 Go 语言官方的包文档网站&#xff1a;包文档 包的概念 Go语言是使用包来组织源代码的&#xff0c;包&#xff08;package&#xff09;是多个 Go 源码的集合&#xff0c;是一种高级的代码复用方案。 任何源代码文件必须属于某…

听GPT 讲Rust源代码--src/tools(37)

File: rust/src/tools/clippy/clippy_lints/src/explicit_write.rs 在Rust源代码中&#xff0c;explicit_write.rs这个文件是Clippy的一个lint插件&#xff0c;其作用是检查代码中的write!、writeln!宏使用时的不当或繁琐的情况&#xff0c;并给出相关的警告或建议。 具体来说&…

可视化设计器介绍

1 、可视化设计器分为&#xff1a; 目录树&#xff1a;包含“页面、逻辑、数据、流程”四种可视化设计模块的切换&#xff0c;及其下设计内容管理与树形展示应用信息与操作区域&#xff1a;支持应用的“预览、发布、自定义主题样式”等操作标签页&#xff1a;支持各个编辑页面…

java方法(method)概述,计算机中的执行原理及案例

引言&#xff1a; 学习了方法&#xff08;method&#xff09;&#xff0c;整理下心得 概述&#xff1a; 1&#xff0c;什么是方法&#xff08;method&#xff09;: 方法是一种语法结构&#xff0c;它可以把一段代码封装成一个功能&#xff0c;以便重复利用 2&#xff0c;使用…

Vue实现导出Excel表格,提示“文件已损坏,无法打开”的解决方法

一、vue实现导出excel 1、前端实现 xlsx是一个用于读取、解析和写入Excel文件的JavaScript库。它提供了一系列的API来处理Excel文件。使用该库&#xff0c;你可以将数据转换为Excel文件并下载到本地。这种方法适用于在前端直接生成Excel文件的场景。 安装xlsx依赖 npm inst…

【计算机网络实验】educoder实验八 IPV6网络及其路由 头歌

第一关 IPV6网络基础 //千万不要破坏文档原有结构与内容&#xff01;&#xff01;&#xff01; //以下均为判断题&#xff0c;F&#xff1a;表示错误&#xff0c;T&#xff1a;表示正确 //答案必须写在相应行末尾括号内&#xff0c;F与T二选一&#xff0c;大写 // 1、ipv6协议…

洛谷:集合与差分

1.学籍管理(map&#xff09; #include<iostream> #include<map> #include<string> using namespace std; map<string,int>a; int n; string name; int op,score; int main() {cin>>n;for(int i1;i<n;i){cin>>op;if(op!4)cin>>na…