![](https://img-blog.csdnimg.cn/ee42f001bc53469e9bd8548d1dad0033.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Transformer
文章平均质量分 89
Transformer模型由编码器(Encoder)和解码器(Decoder)组成。编码器负责将输入序列进行编码,解码器负责生成输出序列。每个编码器和解码器层都由多头自注意力机制和前馈神经网络组成。自注意力机制允许模型在编码和解码过程中关注输入序列的不同部分,从而更好地捕捉上下文信息。
athrunsunny
这个作者很懒,什么都没留下…
展开
-
DQ-DETR: DETR WITH DYNAMIC QUERY FOR TINY OBJECTDETECTION 学习笔记
此DQ-DETR与提出的同名,其主要集中于小目标的检测尽管之前的类似DETR的方法在通用目标检测中取得了成功,但在小目标检测方面仍然具有挑战性,因为目标 Query 的位置信息并未针对检测小物体进行定制,这些小物体的尺寸比一般物体小得多。此外,类似DETR的方法使用固定数量的 Query ,这使得它们不适用于只包含小物体的航空数据集,且不同图像之间的实例数量不平衡。原创 2024-04-20 22:12:30 · 1083 阅读 · 0 评论 -
RMT: Retentive Networks Meet Vision Transformers学习笔记
Transformer首次出现在自然语言处理领域,后来迁移到计算机视觉领域,在视觉任务中表现出出色的性能。然而,最近,Retentive Network(RetNet)作为一种有可能取代Transformer的架构出现,引起了自然语言处理社区的广泛关注。因此,作者提出了一个问题,即将RetNet的思想迁移到视觉领域是否也能为视觉任务带来出色的性能。为了解决这个问题,作者将RetNet和Transformer结合起来,提出了RMT。原创 2024-04-14 23:10:06 · 1377 阅读 · 0 评论 -
GroupMixFormer:Advancing Vision Transformers with Group-Mix Attention论文学习笔记
ViT 已被证明可以通过使用多头自注意力 (MHSA) 对远程依赖关系进行建模来增强视觉识别,这通常被表述为Query-Key-Value 计算。但是,从“Query”和“Key”生成的注意力图仅捕获单个粒度的token-to-token的相关性。在本文中,作者认为自注意力应该有一个更全面的机制来捕捉 tokens和groups(即多个相邻tokens)之间的相关性,以获得更高的表征能力。原创 2024-01-20 15:47:26 · 1413 阅读 · 0 评论 -
MS-DETR: Efficient DETR Training with Mixed Supervision论文学习笔记
DETR 通过迭代生成多个基于图像特征的目标候选者,并为每个真实目标分配一个候选者,从而实现端到端的目标检测。在原始DETR中使用一对一监督的传统训练方法缺乏对检测候选者的直接监督。作者旨在通过明确监督候选生成过程,将一对一监督和多对多监督混合,来提高DETR训练效率。MS-DETR简单地将多对多监督应用到用于推理的主要解码器(primary decoder)object query 上。原创 2024-01-15 22:35:20 · 1356 阅读 · 0 评论 -
TransNeXt:稳健的注视感知ViT学习笔记
由于残差连接中的深度衰减效应,许多依赖堆叠层进行信息交换的高效视觉Transformer模型往往无法形成足够的信息混合,导致视觉感知不自然。为了解决这个问题,本文提出了一种基于生物模拟的聚合注意力,这是一种模拟生物注视(biological foveal vision)和连续眼动的设计基础的token mixer,它允许特征图上的每个Token都具有全局感知。原创 2023-12-28 22:42:23 · 2553 阅读 · 0 评论 -
Group DETR:分组一对多匹配是加速DETR收敛的关键学习笔记
就是将输入decoder的query由300拓展到300*11(group)共3300,将其同时输入到decoder中一起计算。在计算loss时,在匈牙利匹配阶段会拆分为11组分别进行匹配,最后将各组的匹配结果,也就是索引值,再加上所在。原创 2023-12-06 10:39:07 · 1288 阅读 · 0 评论 -
Co-DETR:DETRs与协同混合分配训练代码学习笔记
此外,作者通过从这些辅助头部提取正坐标来进行额外的定制正查询,以提高解码器中正样本的训练效率。这里的encoder和decoder的deformable attention在\anaconda3\envs\codetr\Lib\site-packages\mmcv\ops\multi_scale_deform_attn.py中。代码的配置文件\Co-DETR\projects\configs\co_deformable_detr\co_deformable_detr_r50_1x_coco.py。原创 2023-11-25 23:15:51 · 2224 阅读 · 0 评论 -
Co-DETR:DETRs与协同混合分配训练论文学习笔记
作者提出了一种新的协同混合任务训练方案,即Co-DETR,以从多种标签分配方式中学习更高效的基于detr的检测器。这种新的训练方案通过训练ATSS和等一对多标签分配监督下的多个并行辅助头部,可以很容易地提高编码器在端到端检测器中的学习能力。此外,作者通过从这些辅助头部提取正坐标来进行额外的定制正查询,以提高解码器中正样本的训练效率。在推理中,这些辅助头被丢弃,因此,作者的方法不给原始检测器引入额外的参数和计算成本,同时不需要手工制作的非最大抑制(NMS)。原创 2023-11-23 23:26:13 · 3487 阅读 · 0 评论 -
理解transformer源码
本文参考哈佛开源代码,对代码进行了一些修改,结合论文学习笔记加深对transformer算法整体的理解。import copyimport mathimport timeimport numpy as npimport torchimport torch.nn as nnimport torch.nn.functional as Ffrom torch.autograd import Variable##################################...原创 2022-01-05 17:52:58 · 3139 阅读 · 0 评论 -
FoLR:Focus on Local Regions for Query-based Object Detection论文学习笔记
自从DETR问询式检测器首次亮相以来,基于查询的方法在目标检测中引起了广泛关注。然而,这些方法面临着收敛速度慢和性能亚优等挑战。值得注意的是,在目标检测中,自注意力机制经常因其全局聚焦而妨碍了收敛。为了解决这些问题,作者提出了FoLR,一种仅包含解码器的类似Transformer的架构。作者通过隔离不相关目标之间的连接来增强自注意力机制,使其聚焦于局部区域而不是全局区域。作者还设计了自适应采样方法,从特征图中基于查询的局部区域提取有效特征。原创 2023-10-24 23:35:20 · 903 阅读 · 0 评论 -
Transformer学习笔记
Transformer 这一概念是在论文Attention is All You Need 中提出,感兴趣的可以通过链接阅读原文。这篇文章主要讲讲我对Transformer这个模型学习的理解。什么是Transformer?Transformer可以理解为一个黑盒,我们将一段序列输入模型,经过Transformer之后,输出另一段序列,这个序列可以是翻译,可以是摘要。而Transformer最重要的创新在于使用注意力机制,注意力机制能够关注输入序列中感兴趣的部分,并分配...原创 2021-12-13 23:53:49 · 4731 阅读 · 0 评论 -
Next-ViT论文学习笔记
由于复杂的注意力机制和模型设计,大多数现有的ViTs在现实的工业部署场景中不能像CNNs那样高效地执行,例如TensorRT和CoreML。这带来了一个明显的挑战:视觉神经网络能否设计为与CNN一样快的推理和与ViT一样强大的性能?最近很多工作试图设计CNN-Transformer混合架构来解决这个问题,但这些工作的整体性能远不能令人满意。......原创 2022-08-27 11:48:48 · 785 阅读 · 1 评论 -
DINO代码学习笔记(四)
outputs_coord_list是将当前层的输出经过Linear后得到的Δb加上前一层输出的refence points,得到当前层的输出,维度为[6,N,1100,4],也就是论文中提到的Look Forward Twice;outputs_class就是每一层的输出经过Linear后得到,维度为[6,N,1100,91]。中将decoder部分给捋了一遍,以上将DINO的主体部分给过了一遍,使用了DINO_4scale.py的默认配置,最后一部分就是loss部分。之前的参数处理给捋了一遍。原创 2023-06-05 23:01:16 · 1660 阅读 · 4 评论 -
DINO代码学习笔记(三)
2、对生成的proposals进行有效性判断,将proposals的值转换为logistic函数的逆运算,并将mask为True的填充位置和无效的proposals位置的元素填充为无穷大。对output_proposals进行有效性判断,即判断output_proposals的值是否在(0.01, 0.99)的范围内,并生成一个形状为[N, 9350, 1]的布尔张量。3、处理记忆部分,将mask为True的填充位置的元素填充为0,并将无效的proposals位置的元素填充为0。之前的参数处理给捋了一遍。原创 2023-06-05 11:49:43 · 2157 阅读 · 3 评论 -
DINO代码学习笔记(二)
在中已经将输入transformer之前的参数处理给捋了一遍,接下就是将这些参数传给transformer。DINO的transformer使用了Deformable-DETR中的可变性transformer(他们之前的工作也有用到)这里还是使用之前的一些设置,为了连贯,这里提前声明:1、输入尺寸[2,3,640,701],2、src为[[N,256,80,88],[N,256,40,44],[N,256,20,22],[N,256,10,11]],其中N=2,原创 2023-06-05 00:17:53 · 2399 阅读 · 2 评论 -
DINO代码学习笔记(一)
先上官方架构图:DINO通过使用对比式的去噪训练、混合查询选择方法进行锚点初始化以及look forward twice方案进行边界框预测,从而在性能和效率上改进了先前的DETR-like模型。原创 2023-06-04 19:02:43 · 4944 阅读 · 0 评论 -
DN-DETR代码学习笔记
论文地址:DN-DETR是在DAB-DETR的基础上完成的,DN-DETR的作者认为导致DETR类模型收敛慢的原因在于匈牙利匹配所导致的二意性,即匈牙利算法匹配的离散性和模型训练的随机性,导致ground-truth的匹配变成了一个动态的、不稳定的过程。举个例子,在epoch=8時,1号预测框与2号真实框匹配,但到了epoch=9時,5号预测框与2号真实框相匹配。原创 2023-05-29 21:27:44 · 1542 阅读 · 0 评论 -
SG Former论文学习笔记
超越SWin和CSWin Transformer的新模型论文地址:ViT在各种视觉任务中虽然成功,但它的计算成本随着Token序列长度的增加呈二次增长,这在处理大型特征图时大大限制了其性能。为了减轻计算成本,先前的研究依赖于要么限制在局部小区域内的细粒度Self-Attention,要么采用全局Self-Attention,但要缩短序列长度,从而导致粗粒度的问题。Self-Guided Transformer(SG-Former),以实现具有自适应细粒度的有效全局Self-Attention。原创 2023-10-03 17:22:02 · 1900 阅读 · 7 评论 -
CSwin Transformer 学习笔记
Cswin提出了上图中使用交叉形状局部attention,为了解决VIT模型中局部自注意力感受野进一步增长受限的问题,同时提出了局部增强位置编码模块,超越了Swin等模型,在多个任务上效果SOTA(当时的SOTA,已经被SG Former超越)。模型整体结构如上所示,由和4个stageblock所堆叠而成,每个后面都会接入一个conv层,用来对featuremap进行下采样。和典型的R50设计类似,每次下采样后,会增加dim的数量,一是为了提升感受野,二是为了增加特征性。原创 2023-10-11 16:55:27 · 725 阅读 · 1 评论 -
试图带你一文搞懂transformer注意力机制(Self-Attention)的本质
162和160之间的距离为2,162与166之间的距离为4,160与166之间的距离为6,那么162->160取4/6的权重,162->166取2/6的权重。因为162在[160,166]之间,所以这里很容易的为他们分配更多的权重,更加的注意他们,越近分配的权重越大,分别为他们分配了2/3和1/3的注意力权重。但是在字典中,可能其他的键值对(key,value)对该query也可能存在影响,但是我们没有用上,那么要怎么用上字典中的所有数据,让估计的值更准确呢?所对应的注意力权重,那么体重的预测值。原创 2023-10-12 18:27:00 · 1038 阅读 · 0 评论 -
Deformable-DETR代码学习笔记
其中的大部分内容都是通用的,唯一的区别在于backbone中resnet输出的feature map,DETR输出的是[N,2048,H,W]维的tensor,而Deformable-DETR输出resnet最后三层的feature map,channel的维度分别为512,1024,2048,尺度分别除以8,16,32。Deformable-DETR代码基本沿用了DETR的工程,主要改了transformer部分的代码,输入的图像经过backbone以及数据进入encoder之前的部分内容可以参看。原创 2023-05-14 01:04:24 · 1777 阅读 · 0 评论 -
Swin Transformer 代码学习笔记(目标检测)
为了方便将img_scale设置为[(224,224)],此时的数据集中的图片会进行resize,并且将短边padding成32的倍数,按最长边与224的比例缩放最短边,即 x=短边 / (500/224),x即为缩放后的实际长度,比如输入时500*287(w*h)的图片,缩放后的短边长为287 * 224 / 500 = 129,由于输入的图像尺寸需要是32的倍数,此时需要向上取整,所以padding后的短边长为160。接下来把这部分代码拆分出来解读。主体位于SwinTransformer类中。原创 2022-05-23 23:58:54 · 8641 阅读 · 3 评论 -
DETR代码学习笔记(一)
当训练时,使用torch.manual_seed(seed)函数,只要网络参数不变的情况下,网络的参数初始化每次都是固定的;如果没有设置,每次训练时的初始化都是随机的,导致结果不确定。例如:要训练自己的数据集通常需要对num_classes进行设置。(其中num_classes的设置根据自己数据集类别数量+1,也就是说,假设coco的数据集中总共有90个类,此时的num_classes就是91)假设刚开始设置的num_classes=5,那么只要训练过程中网络的参数不变,...原创 2022-02-17 15:02:12 · 7924 阅读 · 22 评论 -
DETR代码学习笔记(二)
上一篇DETR代码学习笔记(一)记录完了DETR的backbone以及数据进入encoder之前的部分,这篇开始介绍DETR的transformer部分,大体上DETR的transformer和Attention is All You Need中提出框架基本是一致的,只是数据上有些不同。首先是encoder部分,整个encoder部分,从代码上可以很直观的看出他的整体流程,其中的最初的q,k是由backbone中得到的Feature Map加上位置编码得到,这个位置编.........原创 2022-02-26 13:05:18 · 7360 阅读 · 25 评论 -
DETR代码学习笔记(三)
前两篇博文已经将DETR中的数据输入以及transformer大致记录完,感兴趣的可以往回看:DETR代码学习笔记(一)DETR代码学习笔记(二)整个算法流程中最难的应该是损失函数的设计,很有意思的是DETR中使用了匈牙利算法,该算法的一般理解是在某个任务中,比如打扫卫生,找到耗时最少的工作分配方式,在DETR中就是找到最优匹配。大致的理解可以看我的另一篇博文理解匈牙利算法。这里偷个懒,要注意的都注释在代码中了,直接看代码......原创 2022-03-16 11:03:32 · 3828 阅读 · 12 评论 -
DAB-DETR代码学习笔记
先上一张整体架构图 :论文地址:文章全名《DYNAMIC ANCHOR BOXES ARE BETTER QUERIES FOR DETR》,文中提到使用box坐标不仅有助于使用显式位置先验来提高query-to-feature的相似性,消除DETR中训练收敛缓慢的问题,而且还允许我们使用框宽度和高度信息来调整位置注意力图。原创 2023-05-23 21:11:18 · 1730 阅读 · 1 评论 -
RT-DETR代码学习笔记(DETRs Beat YOLOs on Real-time Object Detection)
基于Transformer的端到端检测器(DETR)已经取得了显著的性能。然而,DETR的高计算成本问题尚未得到有效解决,这限制了它们的实际应用,并使它们无法充分利用无后处理的好处,如非最大值抑制(NMS)。本文首先分析了现代实时目标检测器中NMS对推理速度的影响,并建立了端到端的速度基准。为了避免NMS引起的推理延迟,作者提出了一种实时检测Transformer(RT-DETR),这是第一个实时端到端目标检测器。原创 2023-11-09 11:07:46 · 1633 阅读 · 0 评论 -
RT-DETR论文学习笔记(DETRs Beat YOLOs on Real-time Object Detection)
目标检测是一项基本的视觉任务,涉及识别和定位图像中的目标。现代目标检测器有两种典型的体系结构:基于CNN,基于Transformer。在过去的几年里,人们对基于CNN的目标检测器进行了广泛的研究。这些检测器的架构已经从最初的两阶段发展到一阶段,并且出现了两种检测范式,Anchor-Base和Anchor-Free。这些研究在检测速度和准确性方面都取得了重大进展。基于Transformer的目标检测器(DETR)由于消除了各种手工设计的组件,如非最大值抑制(NMS),自提出以来,受到了学术界的广泛关注。原创 2023-04-20 00:14:46 · 6332 阅读 · 5 评论