详细解读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一样的线性复杂度。
相关文章
|
机器学习/深度学习 算法 数据挖掘
即插即用 | 通过自适应聚类Transformer来提升DERT目标检测器的速度(文末附论文下载)(一)
即插即用 | 通过自适应聚类Transformer来提升DERT目标检测器的速度(文末附论文下载)(一)
958 0
|
9月前
|
机器学习/深度学习
YOLOv8改进 | 2023主干篇 | RepViT从视觉变换器(ViT)的视角重新审视CNN
YOLOv8改进 | 2023主干篇 | RepViT从视觉变换器(ViT)的视角重新审视CNN
452 1
YOLOv8改进 | 2023主干篇 | RepViT从视觉变换器(ViT)的视角重新审视CNN
|
9月前
|
机器学习/深度学习 网络架构
YOLOv8改进 | 2023主干篇 | 利用RT-DETR特征提取网络PPHGNetV2改进YOLOv8(超级轻量化精度更高)
YOLOv8改进 | 2023主干篇 | 利用RT-DETR特征提取网络PPHGNetV2改进YOLOv8(超级轻量化精度更高)
589 1
|
9月前
|
机器学习/深度学习 编解码
YOLOv5改进 | 2023主干篇 | RepViT从视觉变换器(ViT)的视角重新审视CNN
YOLOv5改进 | 2023主干篇 | RepViT从视觉变换器(ViT)的视角重新审视CNN
372 0
|
机器学习/深度学习 编解码 自然语言处理
基于EasyCV复现ViTDet:单层特征超越FPN
ViTDet其实是恺明团队MAE和ViT-based Mask R-CNN两个工作的延续。MAE提出了ViT的无监督训练方法,而ViT-based Mask R-CNN给出了用ViT作为backbone的Mask R-CNN的训练技巧,并证明了MAE预训练对下游检测任务的重要性。而ViTDet进一步改进了一些设计,证明了ViT作为backone的检测模型可以匹敌基于FPN的backbone(如SwinT和MViT)检测模型。
|
机器学习/深度学习 自然语言处理 算法
涨点技巧 | 旷视孙剑等人提出i-FPN:用于目标检测的隐式特征金字塔网络(文末获取论文)(一)
涨点技巧 | 旷视孙剑等人提出i-FPN:用于目标检测的隐式特征金字塔网络(文末获取论文)(一)
328 0
涨点技巧 | 旷视孙剑等人提出i-FPN:用于目标检测的隐式特征金字塔网络(文末获取论文)(一)
|
编解码 数据挖掘 计算机视觉
详细解读PVT-v2 | 教你如何提升金字塔Transformer的性能?(附论文下载)(二)
详细解读PVT-v2 | 教你如何提升金字塔Transformer的性能?(附论文下载)(二)
523 0
|
机器学习/深度学习 编解码 PyTorch
金字塔ViT | 华为提出使用金字塔结构改进Transformer,涨点明显(Pytorch逐行解读)
金字塔ViT | 华为提出使用金字塔结构改进Transformer,涨点明显(Pytorch逐行解读)
319 0
|
机器学习/深度学习 编解码 计算机视觉
Transformer新SOTA | 超越SWin、CSWin,MAFormer再探ViT Backbone新高度
Transformer新SOTA | 超越SWin、CSWin,MAFormer再探ViT Backbone新高度
288 0
|
计算机视觉
目标检测无痛涨点新方法 | DRKD蒸馏让ResNet18拥有ResNet50的精度(二)
目标检测无痛涨点新方法 | DRKD蒸馏让ResNet18拥有ResNet50的精度(二)
167 0

相关实验场景

更多