网站建设程序流程cms建站系统哪个好
ViT:视觉 Transformer
- 网络结构
 - Transformer 编码器
 - MLP 头
 - CNN 和 Transformer
 
网络结构
Transformer 的优势:注意力机制相当于一个多标签检索系统,位置嵌入能知道每个单词的位置,而且适合并行。
尝试把 Transformer 迁移到视觉领域。

ViT 在 Transformer 基础上:
- 输入:为了把图像空间序列化,引入了图片切分预处理、patch+位置嵌入
 - 主干:Transformer
 - 输出:MLP头及分类器
 
图片切分预处理:如输入图片大小为 224x224,将图片分为固定大小的patch(16x16),则每张图像会生成  224 ∗ 224 16 ∗ 16 = 196 个 p a t c h \frac{224 * 224}{16*16}=196个patch 16∗16224∗224=196个patch ,把这些图像块摆成一行,即输入序列长度为196。

 在图片块和 Transformer 之间,还有一个全连接层,对维度进行缩放。

 patch+位置嵌入:给每个图像块,添加位置。

 数学公式:
- z 0 = [ x c l a s s ; x p 1 E ; x p 2 E ; ⋯ ; x p N E ] + E p o s , E ∈ R ( P 2 ⋅ C ) × D , E p o s ∈ R ( N + 1 ) × D (1) \begin{gathered} z_0 =[\mathbf{x}_{\mathrm{class}};\mathbf{x}_{p}^{1}\mathbf{E};\mathbf{x}_{p}^{2}\mathbf{E};\cdots;\mathbf{x}_{p}^{N}\mathbf{E}]+\mathbf{E}_{pos}, \mathbf{E}\in\mathbb{R}^{(P^{2}\cdot C)\times D},\mathbf{E}_{pos}\in\mathbb{R}^{(N+1)\times D} \text{(1)} \end{gathered} z0=[xclass;xp1E;xp2E;⋯;xpNE]+Epos,E∈R(P2⋅C)×D,Epos∈R(N+1)×D(1)
 
z 0 z_0 z0 的输入图像进行编码, z 0 z_0 z0表示输入图像的嵌入向量。
x p ( 1 ) \mathbf{x}_{p}^{(1)} xp(1) 表示第一个图像块的嵌入向量, E \mathbf{E} E 是位置嵌入矩阵,用于将图像块的位置信息编码到嵌入向量中。
E pos \mathbf{E}_{\text{pos}} Epos 是位置编码矩阵,用于将位置信息添加到输入数据中。
x c l a s s \mathbf{x}_{\mathrm{class}} xclass向量用于解决图像分类问题,将整个图像的类别信息引入Transformer模型。
Transformer 编码器
计算出  z 0 z_0 z0 后,输入到 Transformer 编码器(没有用解码器):
 
 输入部分:
-  
Layer Norm:把 z 0 z_{0} z0 归一化,再 Q、K、V 分离。
 -  
残差连接,减轻梯度消失、爆炸。
 
MSA:多头注意力,每个注意力头负责捕捉图像的不同局部信息,把图像中多个差异拿出来进行学习。
MLP 头
多层感知机(Multilayer Perceptron,MLP)是一种前馈神经网络:
 
 MLP 分类头就是一个全连接层。
TA 的工作流程:
- 接受编码器的输出
 - 先把 x c l a s s \mathbf{x}_{\mathrm{class}} xclass 提取出来
 - 再分类
 
ViT编码器的输出将是一个形状为(4, 16, 512)的张量。
- 第一个维度4表示批次大小,即有4张输入图像。
 - 第二个维度16表示每张图像被分割为16个图像块。
 - 第三个维度512表示每个图像块的表示维度,即隐藏层的维度。
 
这个编码器输出可以包含输入图像的全局信息和局部信息的组合。
每个图像块的表示捕捉了该图像块的局部特征,而整个编码器输出则综合了所有图像块的信息,包括它们之间的关系,从而提供了更全局的图像信息。
CNN 和 Transformer
CNN擅长处理图像的局部特征,而ViT模型擅长处理图像的全局特征和整体类别信息。
选择CNN模型的情况:
- 当任务关注图像的局部特征,比如纹理、形状、边缘等。
 - 当处理的图像较大,且局部特征在整体中仍然具有较大的重要性。
 - 当数据集较小,而且已经有了一些经典的CNN模型在类似任务上表现良好。
 
选择ViT模型的情况:
- 当任务需要关注图像的全局特征和整体类别信息。
 - 当处理的图像相对较小,且全局结构和上下文信息对于任务很重要。
 - 当数据集较大,可以利用更强大的模型来提取全局信息和学习更复杂的特征。
 
