赞
踩
论文:https://arxiv.org/pdf/2104.01136.pdf
代码:https://github.com/facebookresearch/LeViT
预备知识:Transformer 、ViT 和 DeiT
整体架构:
四层卷积、三个阶段
交替使用MLP和attention
模型\残差块 | attention head | 神经网络 |
---|---|---|
ViT | 8 | 两层MLP |
LeViT | 4/6/8 | 两层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。
上图(架构图),我们选择对输入应用4层3×3卷积(stride 2)来降低分辨率。特征图(通道)数量是 C = 3
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。