《昇思25天学习打卡笔记》---第十四天|应用实践-计算机视觉-Vision Transformer图像分类
Vision Transformer (ViT) 是一种深度学习模型,它借鉴了在自然语言处理(NLP)领域非常成功的Transformer架构,并将其应用到了计算机视觉任务中。ViT的基本思想是将输入的图像切分为固定大小的图像块(patch),并把这些图像块视为序列中的“词”,从而使得Transformer可以直接处理图像数据。
以下是ViT模型的主要组成部分和工作流程:
-
Patch Embedding:
- 输入图像首先被划分为非重叠的固定大小的图像块(例如16x16像素)。
- 这些图像块被展平为向量,并通过一个线性变换(通常是全连接层)映射到更高维度的空间,形成所谓的“补丁嵌入”。
-
Positional Encoding:
- 由于Transformer没有内置的位置感知,因此需要添加位置编码来提供位置信息。这些位置编码是可学习的参数,它们被加到补丁嵌入上,以使模型能够区分图像中不同位置的补丁。
-
Class Token:
- 在序列的开始,通常会加入一个特殊的“类”标记(token),它在整个序列处理过程中累积图像的全局信息,最终用于分类任务。
-
Transformer Encoder Layers:
- 多个Transformer编码器层堆叠在一起,每个编码器层包括多头自注意力(Multi-Head Self-Attention, MSA)模块和前馈神经网络(Feed-Forward Network, FFN)。
- 自注意力机制允许模型考虑输入序列中所有位置的信息,这与传统的卷积神经网络(CNN)仅关注局部信息形成对比。
-
Output Layer:
- 最后一层的输出经过池化或取“类”标记的输出,然后送入一个或多个全连接层,用于分类或其他下游任务。
ViT的一个关键优点是它在没有卷积层的情况下仍然能够在图像分类任务上表现出色,这表明注意力机制能够有效地捕捉图像中的全局特征。然而,ViT在处理小数据集时可能会遇到过拟合问题,并且计算成本相对较高,因为自注意力机制在序列长度增加时的计算复杂度是平方级别的。
自ViT提出以来,许多研究者对其进行了改进,引入了局部注意力、更有效的位置编码和其他优化,以提高效率和性能。此外,ViT的概念也被扩展到了其他计算机视觉任务,如目标检测和语义分割。
这个模型是将Transformer中的Encoder层单独拿了出来,然后进行图像的分类。
学好这个的前置条件是先学好Transformer
昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链
更多推荐

所有评论(0)