Files
fzu-product/4.人工智能/4.6.7.1VIT.md
camera-2018 c43e32de1e Revert "Delete 4.人工智能 directory"
This reverts commit d77a9b0c51.
2023-07-22 22:04:47 +08:00

2.4 KiB
Raw Blame History

VIT

前言

VIT前Transformer模型被大量应用在NLP自然语言处理当中而在CV领域Transformer的注意力机制attention也被广泛应用比如Se模块CBAM模块等等注意力模块这些注意力模块能够帮助提升网络性能。

VIT的工作展示了不需要依赖CNN的结构也可以在图像分类任务上达到很好的效果

同时VIT也影响了近2年的CV领域改变了自2012年AlexNet提出以来卷积神经网络在CV领域的绝对统治地位。

在本节内容中我们会带你了解这一框架。

论文

知乎 论文

模型详解

模型主题结构

结构上VIT 采取的是原始 Transformer 模型,方便开箱即用,即在 encoder-decoder 结构上与 NLP 的 Transform 模型并无差别。

主要做出的贡献在于数据处理和分类头

Patch embedding

从 Word embedding 到 Patch embedding

Word embedding

简单来说就是用特殊的向量来表示一个句子中的某个词

即例如

今天天气不错,我要去看电影

其中则编码为[0.50.60.6]

而具体来说 Word embedding 分为以下两步

  1. 对 context 进行分词操作。
  2. 对分好的词进行 one-hot 编码,根据学习相应的权重对 one-hot 编码进行 Nembedded_dim维空间的映射.
Patch embedding

简单来说 用一个特殊的向量来表示一张图片中某块图

例如

其中该张图片的编码为[0.50.60.3....]

具体来说

  1. 先对图片作分块
    1. 假设原始输入的图片数据是 H * W * C,
    2. 假设每个块的长宽为(P, P),那么分块的数目为 N=H W / (P P)
    3. 其中 vit 的分块是定下每一块的大小然后块的数量为计算结果
  2. 然后对每个图片块展平成一维向量
    1. 每个向量大小为 P * P * C
  3. 接着对每个向量都做一个线性变换(即全连接层),得到 patch embedding

视频