Vision Transformer模型简述(图像分类篇)

主要素材来源链接 https://blog.csdn.net/qq_37541097?spm=1001.2014.3001.5509

模型的组成

Vision Transformer模型简述(图像分类篇)_第1张图片

简单而言,模型由三个模块组成:

  • Linear Projection of Flattened Patches (嵌入层)
  • Transformer Ecoder
  • MLP Head(用于分类)

embeding层

Vision Transformer模型简述(图像分类篇)_第2张图片
一般的输入图像是[H,W,C]是三维的,这个格式是不符合Transformer Encoder的输入要求的。***所以我们这一层的主要目的就是变换"三维矩阵变成二维矩阵"***。
主要步骤:
1.将一张图片按给定的大小分成一堆patches。
2.通过线性映射将每个Patch映射到一维向量(token)中。Vision Transformer模型简述(图像分类篇)_第3张图片
注意:在输入Transformer Encoder之前注意需要加上[class]token以及Position Embedding

Transformer Encoder模块

Vision Transformer模型简述(图像分类篇)_第4张图片Transformer Encoder其实就是重复堆叠Encoder Block L次。

  • Layer Norm (是NLP领域的,这是相对于图像领域的BN)
  • Multi-Head Attention
  • Dropout/DropPath
  • MLP Block,如下面所所示
    Vision Transformer模型简述(图像分类篇)_第5张图片

MLP Head

Vision Transformer模型简述(图像分类篇)_第6张图片

你可能感兴趣的:(图像分类,深度学习)