详细解读PVT-v2 | 教你如何提升金字塔Transformer的性能?(附论文下载)(一)

简介: 详细解读PVT-v2 | 教你如何提升金字塔Transformer的性能?(附论文下载)(一)

1简介


计算机视觉中的Transformer最近取得了令人鼓舞的进展。在这项工作中,作者通过添加3个改进设计来改进原始金字塔视觉Transformer(PVTv1),其中包括:

  • 具有卷积的局部连续特征;
  • 具有zero paddings的位置编码,
  • 具有平均汇集。

通过这些简单的修改,PVTv2在分类、检测和分割方面显著优于PVTv1。此外,PVTv2在ImageNet-1K预训练下取得了比近期作品(包括 Swin Transformer)更好的性能。


2Transformer Backbones


ViT将每个图像作为固定长度的token(patches)序列,然后将它们提供给多个Transformer层进行分类。这是第一次证明纯Transformer在训练数据充足时(例如,ImageNet-22k JFT-300M)也可以在图像分类方面表现出最先进的性能。

DeiT进一步探讨了一种数据高效的ViT训练策略和一种蒸馏方法。

为了提高图像分类性能,一些最新的方法对ViT进行了定制化的改进。

T2T-ViT将重叠滑动窗口中的token逐步连接到一个token中。

TNT利用内部和外部的Transformer block分别生成pixel emebding和patch embedding。

CPVT用条件位置编码取代了ViT中嵌入的固定尺寸位置,使其更容易处理任意分辨率的图像。

Cross-ViT通过双支路Transformer处理不同尺寸的图像patch。

Local-ViT将深度卷积融合到vision Transformers中,以提高特征的局部连续性。

为了适应密集的预测任务,如目标检测、实例和语义分割,也有一些方法将CNN中的金字塔结构引入到Transformer主干的设计中。

PVT-v1是第一个金字塔结构的Transformer,它提出了一个有4个阶段的分层Transformer,表明纯Transformer主干可以像CNN对等体一样多用途,并在检测和分割任务中表现更好。

在此基础上,对特征的局部连续性进行了改进,消除了固定尺寸的位置嵌入。例如,Swin Transformer用相对位置偏差替换固定大小的位置嵌入,并限制移动窗口内的自注意。

CvT、CoaTLeViT将类似卷积的操作引入vision Transformers。Twins结合局部注意和全局注意机制获得更强的特征表示。


3金字塔ViT的改进点


与ViT类似,PVT-v1将图像看作是一系列不重叠的patch,在一定程度上失去了图像的局部连续性。此外,PVT-v1中的位置编码是固定大小的,对于处理任意大小的图像是不灵活的。这些问题限制了PVT-v1在视觉任务中的表现。

为了解决这些问题,本文提出了PVT-v2,它通过以下设计改进了PVT-v1的性能:

3.1 Overlapping Patch Embedding

作者利用重叠的patch嵌入来标记图像。如图1(a)所示,对patch窗口进行放大,使相邻窗口的面积重叠一半,并在feature map上填充0以保持分辨率。在这项工作中,作者使用0 padding卷积来实现重叠的patch嵌入。

具体来说,给定一个大小为h×w×c的输入,将其输入到一个步长为S、卷积核大小为2S−1、padding大小为S−1、卷积核数目为的卷积中。输出大小为。

3.2 卷积的前向传播

这里删除固定大小位置编码,并引入0 padding位置编码进pvt如图1所示(b),在前馈网络中的FC层与GELU之间添加一个3×3的depth-wise卷积。

3.3 Linear Spatial Reduction Attention

为了进一步降低PVT的计算成本,作者提出Linear Spatial Reduction Attention(SRA),如图所示。与SRA不同,线性SRA具有像卷积层一样的线性计算和存储成本。具体来说,给定输入规模为h×w×c, SRA的复杂度和线性SRA是:

式中R为SRA的空间压缩比。P为线性SRA的pool size,默认为7。

结合这3种改进,PVTv2可以:

  1. 获得更多的图像和特征图的局部连续性;
  2. 变分辨率输入更加灵活;
  3. 具有和CNN一样的线性复杂度。
相关文章
Mamba作者新作:将Llama3蒸馏成混合线性 RNN
【9月更文挑战第25天】《Distillation and Acceleration of Hybrid Models》一文由日内瓦大学、Together AI、康奈尔大学和普林斯顿大学的研究者联合发表,提出将大型Transformer模型(如Llama3)蒸馏成混合线性RNN的新方法,旨在提升长序列生成任务的效率。该方法通过权重映射和多阶段蒸馏,结合渐进蒸馏、监督微调及定向偏好优化技术,有效解决了Transformer模型的二次复杂度和高内存需求问题。实验表明,混合模型在聊天基准测试中表现出色,甚至优于原模型,并通过硬件感知解码算法进一步加速推理。然而,该方法在其他任务上的适用性仍有待验证。
102 7
即插即用 | 通过自适应聚类Transformer来提升DERT目标检测器的速度(文末附论文下载)(一)
即插即用 | 通过自适应聚类Transformer来提升DERT目标检测器的速度(文末附论文下载)(一)
1040 0
【YOLOv8改进】D-LKA Attention:可变形大核注意力 (论文笔记+引入代码)
YOLO目标检测专栏探讨了Transformer在医学图像分割的进展,但计算需求限制了模型的深度和分辨率。为此,提出了可变形大核注意力(D-LKA Attention),它使用大卷积核捕捉上下文信息,通过可变形卷积适应数据模式变化。D-LKA Net结合2D和3D版本的D-LKA Attention,提升了医学分割性能。YOLOv8引入了可变形卷积层以增强目标检测的准确性。相关代码和任务配置可在作者博客找到。
【YOLOv8改进】 MSDA:多尺度空洞注意力 (论文笔记+引入代码)
该文介绍了DilateFormer,一种新提出的视觉变换器,它在计算效率和关注接受域之间取得平衡。通过分析ViTs,发现浅层的局部性和稀疏性,提出了多尺度扩张注意力(MSDA),用于局部、稀疏的块交互。DilateFormer结合MSDA块和全局多头自注意力块,形成金字塔架构,实现各视觉任务的顶尖性能。与现有最佳模型相比,在ImageNet-1K分类任务上,DilateFormer性能相当但计算成本降低70%,同时在COCO检测/分割和ADE20K语义分割任务上表现优秀。文章还展示了MSDA的创新点,包括多尺度聚合、局部稀疏交互和减少自注意力冗余。此外,
【YOLOv8改进】BiFPN:加权双向特征金字塔网络 (论文笔记+引入代码)
该专栏深入研究了YOLO目标检测的神经网络架构优化,提出了加权双向特征金字塔网络(BiFPN)和复合缩放方法,以提升模型效率。BiFPN通过双向跨尺度连接和加权融合增强信息传递,同时具有自适应的网络拓扑结构。结合EfficientNet,构建了EfficientDet系列检测器,在效率和准确性上超越先前技术。此外,介绍了YOLOv8如何引入MPDIoU并应用BiFPN进行可学习权重的特征融合。更多详情可参考提供的专栏链接。
涨点技巧 | 旷视孙剑等人提出i-FPN:用于目标检测的隐式特征金字塔网络(文末获取论文)(一)
涨点技巧 | 旷视孙剑等人提出i-FPN:用于目标检测的隐式特征金字塔网络(文末获取论文)(一)
353 0
涨点技巧 | 旷视孙剑等人提出i-FPN:用于目标检测的隐式特征金字塔网络(文末获取论文)(一)
详细解读PVT-v2 | 教你如何提升金字塔Transformer的性能?(附论文下载)(二)
详细解读PVT-v2 | 教你如何提升金字塔Transformer的性能?(附论文下载)(二)
553 0
金字塔ViT | 华为提出使用金字塔结构改进Transformer,涨点明显(Pytorch逐行解读)
金字塔ViT | 华为提出使用金字塔结构改进Transformer,涨点明显(Pytorch逐行解读)
348 0
Shunted Self-Attention | 源于 PvT又高于PvT,解决小目标问题的ViT方法(二)
Shunted Self-Attention | 源于 PvT又高于PvT,解决小目标问题的ViT方法(二)
118 0