论文链接:https://arxiv.org/abs/2112.11010
代码链接:https://git.io/MPViT
作者以不同于现有Transformer的视角,探索多尺度path embedding与multi-path结构,提出了Multi-path Vision Transformer(MPViT) ,技术框架如下图所示。
conv-stem
输入图像大小为:H×W×3,两层卷积:采用两个3×3的卷积,通道分别为C2/2,C2,stride为2,生成特征的大小为H/4×W/4×C2,其中C2为stage 1的通道大小。从stage 2到stage 4,作者在每个阶段对所提出的 Multi-scale Patch Embedding (MS-PatchEmbed)和 Multi-path Transformer (MP-Transformer)块进行堆叠。
Multi-scale patch embedding
![](https://i-blog.csdnimg.cn/blog_migrate/3ec1794c70515a2e25cbfe1a17d76b0f.png)
作者并行的使用不同尺寸的卷积核(3×3, 5×5, 7×7)处理,可以生成相同序列的 tokens。在实现中,作者使用3×3卷积,同时用两个连续的3×3卷积代替5×5卷积,三个连续的3×3卷积代替7×7卷积。(为降低计算量,全部使用 depth-wise conv 和 point-wise conv,每个卷积之后都是Batch Normalization 和一个Hardswish激活函数)。
Multi-path transformer
![](https://i-blog.csdnimg.cn/blog_migrate/cb3b7b922c5e71fbc89b9a9708c82cf3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/03b538706b30abe34fa8895608184e20.png)
MPViT 将CNN与Transformer结合起来,有一个卷积分支,三个 Transformer 分支。卷积分支采用 MobileNet 的结构。在 Transformer block 中,为了降低计算量采用了 CoaT 中的分解自注意力 Factorized MHSA。
![](https://i-blog.csdnimg.cn/blog_migrate/daa920c038bc844359017fc48249c36c.png)
最后是 Global-to-local feature interaction, 将多个分支的特征拼接并用1×1的卷积融合。和最近的很多方法一样,作进行选择用GAP取代 CLS token。
实验部分不再过多介绍,可以阅读作者论文。