PVT:Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions论文学习

目录

  • 摘要
  • 论文结构
  • 方法
    • CNN金字塔结构
    • Transformer编码器
    • 维度分析
  • 实验及结果
    • 图像分类
    • 目标检测
    • 其他

摘要

PVT是把金字塔结构引入到Transformer中,使得它可以像ResNet那样无缝接入到各种下游任务中(如:物体检测,语义分割),同时也取得了非常不错的效果。
论文地址:Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions
代码地址:PVT

论文结构

  • 第一部分介绍了以CNN为backbone的ViT网络在像素级的密集任务上会遇到一些问题。为了解决这些问题提出了PVT,并取得了很好的效果。
  • 第二部分介绍了计算机视觉中常用CNN作为backb、密集预测任务的种类和在计算机视觉中的自我感知和Transformer的相关说明。
  • 第三部分开始介绍PVT的整体结构、Transformer特征金字塔、Transformer编码器和具体细节。
  • 第四部分是如何把PVT应用于下游结构。
  • 第五部分是实验及结果。

方法

CNN金字塔结构

CNN结构常用的是一种金字塔架构。
简单的概括就是:
1)feature map的分辨率随着网络加深,逐渐减小;
2)feature map的channel数随着网络加深,逐渐增大。
PVT:Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions论文学习_第1张图片

图1

如图1所示,CNN网络一般可以划分为不同的stage,在每个stage开始时,特征图的长和宽均减半,而特征维度(channel)扩宽2倍。一是采用stride=2的卷积或者池化层对特征降维可以增大感受野,另外也可以减少计算量,但同时空间上的损失用channel维度的增加来弥补。
PVT采用和CNN类似的架构,将网络分成不同的stages,每个stage相比之前的stage特征图的维度是减半的,这意味着tokens数量减少4倍,具体结构如图2。
PVT:Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions论文学习_第2张图片

图2 提出的金字塔视觉转换器(PVT)的总体结构。整个模型分为四个阶段,每个阶段由一个贴片嵌入层和一个Li层变压器编码器组成。按照金字塔结构,四个阶段的输出分辨率从4步逐步缩小到32步。

Transformer编码器

PVT:Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions论文学习_第3张图片

图4 Multi-head attention (MHA) vs. spatialreduction attention (SRA).

PVT为了进一步减少计算量,将常规的multi-head attention (MHA)用spatial-reduction attention (SRA)来替换。SRA的核心是减少attention层的key和value对的数量,常规的MHA在attention层计算时key和value对的数量为sequence的长度,但是SRA将其降低为原来的 1 / R 2 1/R^2 1/R2。SRA的具体结构如图3。

维度分析

每个stage的输入都是一个维度 的3-D特征图,对于第1个stage,输入就是RGB图像,对于其它stage可以将tokens重新reshape成3-D特征图。在每个stage开始,首先像ViT一样对输入图像进行token化,即进行patch embedding,patch大小均采用2x2大小(第1个stage的patch大小是4x4),该stage最终得到的特征图维度是减半的,tokens数量对应减少4倍。PVT共4个stage,和ResNet类似,4个stage得到的特征图相比原图大小分别是1/4,1/8,1/16和1/32。由于不同的stage的tokens数量不一样,所以每个stage采用不同的position embeddings,在patch embed之后加上各自的position embedding,当输入图像大小变化时,position embeddings也可以通过插值来自适应。
PVT为了减少计算量,不同的stages采用的网络参数是不同的。PVT不同系列的网络参数设置如图4所示,这里 P P P 为patch的size, C C C为特征维度大小, N N N为MHA(multi-head attention)的heads数量, E E E为FFN的扩展系数,transformer中默认为4。
PVT:Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions论文学习_第4张图片

图4 PVT系列详细设置 本设计遵ResNet的两个原则:(1)随着网络发展的越深,隐维数逐渐增大,输出分辨率逐渐缩小;(2)计算量大资源集中在第三阶段。

实验及结果

主要是将PVT与两个被广泛用于许多下游任务的基准测试、最具代表性的CNN主干进行比较,即ResNet和ResNeXt。

图像分类

在ImageNet dataset进行了实验,使用ImageNet 2012数据集,包含128万个训练图像和来自1000个类别的50K验证图像。
结果如图5。
PVT:Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions论文学习_第5张图片

图5

在相同的参数数目和计算预算下,PVT模型优于传统的CNN主干模型。

目标检测

在COCO train2017(118k图片)上接受训练,并在val2017(5k图片)上接受测试。
结果如图6。
PVT:Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions论文学习_第6张图片

图6

使用RetinaNet进行目标检测时,当参数个数相当时,PVT变体明显优于其对应变体,表明PVT可以作为CNN主干的一个很好的目标检测替代方案。

其他

文章还在语义分割等方面做了实验,这里不再展开叙述。

你可能感兴趣的:(PVT:Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions论文学习)