当前位置:   article > 正文

论文: LeViT(Transformer 图像分类)_levit论文

levit论文

LeViT: a Vision Transformer in ConvNet’s Clothing for Faster Inference

论文:https://arxiv.org/pdf/2104.01136.pdf
代码:https://github.com/facebookresearch/LeViT

预备知识:TransformerViTDeiT


架构

整体架构:

四层卷积、三个阶段

交替使用MLP和attention

模型\残差块 attention head 神经网络
ViT 8 两层MLP
LeViT 4/6/8 两层MLP

监督分类器和蒸馏分类器


主要贡献

  • 重新设计的残差块:Attention和MLP
  • Patch embedding 块嵌入
  • 使用注意力作为下采样
  • 使用注意力偏置(attention bias)取代ViT的位置嵌入

重新设计Attention和MLP


左图ViT编码器,右图Transformer编码器,第三图LeViT attention块

重新引入卷积组件。虽然许多工作旨在减少分类器和特征提取器的内存占用,但推理速度同样重要,高吞吐量对应更好的能效。在这项工作中,重新引入卷积组件来代替学习卷积特性的Transformer 组件。特别是,我们将Transformer 的统一结构替换为具有池的金字塔,类似于LeNet体系结构。

多分辨率金字塔卷积堆叠形如金字塔(下3上1),在处理过程中,特征图的分辨率随着通道数量的增加而降低。使用ResNet-50级对进行预处理,然后作为Transformer的输入。

LeViT在Transformer架构是一个带有交替MLP和特征块的残差结构。特征块就是 attention 块。

Attention activation。在使用常规线性投影组合不同头部的输出之前,我们对结果 A h V A^hV AhV应用Hardswish激活, A A A Q K ⊤ + B QK^{\top}+B QK+B,V是一个1 × 1卷积的输出, A h V A^hV AhV对应一个空间卷积,投影是另一个1 × 1卷积。

减少 MLP 块 。在ViT中,MLP残差块是一个线性层,它将嵌入维数增加了4倍,应用一个非线性,然后用另一个非线性将其还原到原来的嵌入维数。对于视觉架构,MLP通常在运行时间和参数方面比注意块更昂贵。对于LeViT,“MLP”是1×1卷积,然后是通常的批标准化。为了减少该相位的计算开销,我们将卷积的展开因子从4降低到2。一个设计目标是,注意力和MLP块消耗大约相同数量的FLOPs。


Patch embedding

上图(架构图),我们选择对输入应用4层3×3卷积(stride 2)来降低分辨率。特征图(通道)数量 C = 3

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/92878
推荐阅读
相关标签
  

闽ICP备14008679号