爱站网长尾,南通网站怎么推广,行情软件排行榜前十名,wordpress前台不成功提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 摘要Abstract文献阅读#xff1a;用于密集预测的多路径视觉Transformer1、研究背景2、方法提出3、相关方法3.1、Vision Transformers for dense predictions3.2、C… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 摘要Abstract文献阅读用于密集预测的多路径视觉Transformer1、研究背景2、方法提出3、相关方法3.1、Vision Transformers for dense predictions3.2、Comparison to Concurrent work 4、Multi-Path Vision Transformer 结构实现4.1、Multi-Scale Patch Embedding4.2、Multi-path Transformer 5、实验测试6、文章贡献 Transformer 复习1、什么是Transformer2、Transformer模型的框架3、Encoder3.1、Encoder的作用3.2、Encoder中Block的详细实现 4、Decoder4.1、Decoder的作用4.2、可能性序列的产生过程 5、Encoder和Decoder之间的连接Encoder和Decoder之间的连接主要集中在Cross attention当中其主要两个输入由Encoder输入另外一个由Decoder输入这些输入都是通过各自的Self-attention(Mask)处理后输入到Cross attention进行下一步处理这样便完成了两个结构之间的连接。  摘要
本周主要阅读了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 AuthorYoungwan Lee, Jonghee Kim, Jeff Willette, Sung Ju Hwang From2022 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 embeddingMPViT同时嵌入相同大小的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 tokenpatch大小分别为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进行下一步处理这样便完成了两个结构之间的连接。