An IMage Is Worth 16 X 16 Words (VIT):
1. 网络
1.1 emb层
-
每张图N个patch,将patch flatten成一维
-
将每个patch的维度用线性层升到D维,这层叫patch embeddings
-
开始加cls, 每个emb要加pos_emb
E是linear pro
1.2 剩下部分
- MSA是multiheaded self- attention
- LN - layer-norm
- MLP激活函数是GELU
- 每层都加了残差的
1.3 work的原因
- CNN过于拘泥于局部邻居,而VIT的self-att层是全局的
- 除了pos emb, VIT没有任何关于位置的提示,这意味着训练出的可以获得更好的泛化性
1.4 CNN+VIT
先把原始图像过一遍CNN,然后将CNN的feature map当作原始图像输入到VIT中。
1.5 在更高维度微调
patch数量会更多,所以pos emb会失效,所以作者对pos emb进行了一个二维的插值(interpolation)
2.实验
mask patch对VIT有用
策略(patch维度):
50%替换:
- 80%ask
- 10%随机patch
略(patch维度):
50%替换:
- 80%ask
- 10%随机patch
- 10%不变