昇思25天学习打卡营第12天|Vision Transformer图像分类

关于Vision Transformer

Vision Transformer(ViT)结构和工作原理

ViT模型的主体结构是基于Transformer模型的Encoder部分

在这里插入图片描述

  1. 图像分块:ViT首先将输入图像分割成一系列固定大小的patch(例如16x16像素)。然后,每个patch通过线性层转换为固定长度的向量,这些向量将作为Transformer编码器的输入。
  2. 位置嵌入:由于Transformer模型本身不具有处理序列位置信息的能力,ViT引入了可学习的位置嵌入来弥补这一缺陷。位置嵌入是一个与patch嵌入维度相同的向量表,其中每一行代表一个位置向量。通过将位置嵌入与patch嵌入相加,模型能够捕捉到图像中不同位置的信息。
  3. Transformer编码器:ViT模型的核心组件是Transformer编码器,它负责处理经过嵌入的图像块序列。Transformer编码器由多个堆叠的编码器层组成,每个编码器层包含自注意力机制和前馈神经网络。通过多层堆叠,模型能够捕捉到图像中的多层次信息。

Transformer基本原理

Transformer模型:基于Attention机制的编码器-解码器型结构.

在这里插入图片描述
其主要结构为多个Encoder和Decoder模块所组成,其中Encoder和Decoder的详细结构如下:
在这里插入图片描述
Encoder与Decoder由许多结构组成,如:多头注意力(Multi-Head Attention)层,Feed Forward层,Normaliztion层,甚至残差连接(Residual Connection,图中的“Add”)。不过,其中最重要的结构是多头注意力(Multi-Head Attention)结构,该结构基于自注意力(Self-Attention)机制,是多个Self-Attention的并行组成。
所以,理解了Self-Attention就抓住了Transformer的核心。


Attention模块

整体把握Self-Attention的全部过程
在这里插入图片描述
Multi-Head Attention,多头注意力机制就是将原本self-Attention处理的向量分割为多个Head进行处理。
在这里插入图片描述


ViT优势与特点

  1. 全局建模能力:与CNN模型相比,ViT模型摒弃了卷积操作,完全依赖于自注意力机制来处理图像块序列。这种设计使得ViT能够捕捉到图像中的全局信息,并在大规模预训练后在多个图像识别任务中取得优异的结果。
  2. 高效性:在一些实验中,ViT模型在拥有足够多的数据进行预训练时,其表现超过了CNN,并且需要更少的计算资源来训练。
  3. 可扩展性:ViT模型简单且效果好,可扩展性强,成为了Transformer在CV领域的里程碑著作,引爆了后续相关研究。

Tips

Vision Transformer(ViT)是近年来计算机视觉领域的一项重大突破,它将Transformer架构成功引入图像识别任务中,为处理大尺寸图像和长序列数据提供了一种全新的视角。ViT模型通过图像分块、位置嵌入和Transformer编码器等技术手段实现了对图像的全局建模和高效处理,并在多个视觉任务上取得了优异的结果。随着研究的不断深入和技术的发展,ViT模型有望在未来得到更广泛的应用和发展。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 23:02:05       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 23:02:05       5 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 23:02:05       4 阅读
  4. Python语言-面向对象

    2024-07-10 23:02:05       8 阅读

热门阅读

  1. 深入理解Spring Cloud中的服务注册

    2024-07-10 23:02:05       9 阅读
  2. SIFT代码,MATLAB

    2024-07-10 23:02:05       9 阅读
  3. Scala 数据类型

    2024-07-10 23:02:05       11 阅读
  4. DP学习——简单工厂模式

    2024-07-10 23:02:05       9 阅读
  5. 从 Spark 离线数仓到 Flink 实时数仓:实战指南

    2024-07-10 23:02:05       9 阅读
  6. 浅析DDoS高防数据中心网络

    2024-07-10 23:02:05       10 阅读
  7. 奇幻的Python

    2024-07-10 23:02:05       10 阅读
  8. 记录一些简单的linux运维命令

    2024-07-10 23:02:05       9 阅读
  9. python--del

    2024-07-10 23:02:05       9 阅读
  10. BiLSTM模型实现

    2024-07-10 23:02:05       10 阅读