文章目录
前言
论文链接:https://arxiv.org/abs/2104.01136
代码链接:https://github.com/facebookresearch/LeViT
ViT -> DeiT -> LeViT
DeiT不改变ViT的架构,用好的超参和加入了一个distillation token提高了性能,减少了计算量。
LeViT在transformer中引入卷积,使模型更小(width and spatial resolution),推理更快。还引入了注意偏差attention bias,一种在视觉transformer中整合位置信息的新方法。
本文主要贡献:
- 一个将注意力作为下采样机制的multi-stage transformer
- 一种计算效率高的patch descriptor,可减少第一层中的特征数量。
- 一种学习到的、per-head translation-invariant 的attention bias,取代了ViT的position embedding
- 重新设计的attention-MLP block,在给定计算时间内提高了网络容量。
1. 模型
1.1 设计原则
第一步:获得一个可共用的representation。
将classification embedding的作用打折扣,ViT是一个处理activation maps的stack of layers. 实际上中间的token embeddings可以认为是FCN中的传统 C C Cx H H Hx W W Wactivation maps. 因此,那些给activation maps的操作,如池化,卷积,可以用在DeiT的中间representation上。
1.2 模型组件
patch embedding
作者实验证明在transformer stack的输入前加一个小的卷积网络可以提高精度。
no classitication token
为了使用BCHW张