ViT(Vision Transformer)解析 - 知乎
Vision Transformer模型

ViT将Transformer结构完全替代卷积结构完成分类任务,并在超大规模数集上取得了超越CNN的效果。它首先将输入图像裁剪为固定尺寸的图像块,并对其进行线性映射后加入位置编码,输入到标准的Transformer编码器。为了实现分类任务,在图像块的嵌入序列中增加一个额外的可学习的类别字符(Class token)。
模型由三个模块组成:
1.Linear Projection of Flattened Patches(Embedding层)
2.Transformer Encoder
3.MLP Head(最终用于分类的层结构)
ViT步骤
按照上面的流程图,一个ViT block可以分为以下几个步骤
(1) patch embedding:例如输入图片大小为224x224,将图片分为固定大小的patch,patch大小为16x16,则每张图像会生成224x224/16x16=196个patch,即输入序列长度为196,每个patch维度16x16x3=768,线性投射层的维度为768xN (N=768),因此输入通过线性投射层之后的维度依然为196x768,即一共有196个toke

最低0.47元/天 解锁文章
591

被折叠的 条评论
为什么被折叠?



