PVT(Pyramid Vision Transformer)算法整理

整体架构

整个“金字塔”架构分为4个stage,每个stage内的基础结构是相似的,即:

Patch Embedding:目的在于将信息分块,降低单张图的图片大小,但会增加数据的深度

Transformer Encoder:目的在于计算图片的attention value,由于深度变大了,计算复杂度会变大,所以在这里作者使用了Special Reduction来减小计算复杂度

具体模块

Patch Embedding

Patch Embedding部分与ViT中对与图片的分块操作是一样的,即:

将原图切成总数为pi×pip_i\times p_ipi​×pi​的patches

具体操作: 使用卷积操作,kernal_size=Hpi,stride=Hpi\mathrm{kernal\_size}=\frac{H}{p_i},\mathrm{stride}=\frac{H}{p_i}kernal_size=pi​H​,stride=pi​H​

将每个patch内的数据拉平,然后进行LayerNorm,此时每个patch内的数据大小为Hi−1Wi−1pi2×Ci\frac{H_{i-1}W_{i-1}}{p_i^2}\times C_ipi2​Hi−1​W

为“灯泡”而生 Fotodiox发大尺寸滤镜
御泥坊苏宁自营正品行货价格