昇思25天学习打卡营第35天|计算机视觉-Vision Transformer图像分类

昇思25天学习打卡营第35天|计算机视觉-Vision Transformer图像分类

Vision Transformer(ViT)简介

  1. ViT则是自然语言处理和计算机视觉两个领域的融合结晶。在不依赖卷积操作的情况下,依然可以在图像分类任务上达到很好的效果。
  2. 主体结构是基于Transformer模型的Encoder部分

ViT图像分类流程

  1. 数据集的原图像被划分为多个patch(图像块)后,将二维patch(不考虑channel)转换为一维向量,再加上类别向量与位置向量作为模型输入。
  2. 模型主体的Block结构是基于Transformer的Encoder结构,但是调整了Normalization的位置,其中,最主要的结构依然是Multi-head Attention结构
  3. 模型在Blocks堆叠后接全连接层,接受类别向量的输出作为输入并用于分类。通常情况下,我们将最后的全连接层称为Head,Transformer Encoder部分为backbone。

多头注意力(Multi-Head Attention)层

该结构基于自注意力(Self-Attention)机制,是多个Self-Attention的并行组成。

Self-Attention:对于序列中的每一个位置,其它所有位置的表示对它的贡献是不同的,这些贡献通过一个注意力分数来衡量

  1. 线性变换 :将输入矩阵 X通过三个不同的线性变换得到查询 (Query)、键 (Key) 和值 (Value) 向量
  2. 计算注意力分数:注意力分数通过查询向量和键向量的点积来计算,表示第 i个位置与第 j个位置的相关性。

加权求和:最终的输出是值向量 V 的加权求和,权重是注意力分数。

Multi-Head Attention:为了进一步提升模型的表达能力,会将Self-Attention扩展成Multi-Head Attention通过多个独立的注意力头来计算多个不同的注意力分布,然后将这些分布拼接起来,再通过一个线性变换得到最终的输出。

总结来说,多头注意力机制在保持参数总量不变的情况下,将同样的query, key和value映射到原来的高维空间(Q,K,V)的不同子空间(Q_0,K_0,V_0)中进行自注意力的计算,最后再合并不同子空间中的注意力信息。

前馈神经网络层(Feed Forward Network)

FFN 通常由两个全连接层和一个非线性激活函数组成,提供非线性变换,增加模型的参数量。

残差链接(Residual Connection)

它的主要思想是为每一层的输出添加一个快捷连接 (shortcut connection),将输入直接传递到输出,减少了深层网络中常见的梯度爆炸和梯度消失现象。

多层感知机(Multilayer Perceptron)

最后一个 Transformer 块的输出经过 MLP 进行分类。

相关推荐
CCIE-Yasuo17 分钟前
网络安全-学习数据库-Mysql-2
数据库·学习·mysql
La Pulga1 小时前
【FreeRTOS源码学习笔记】任务切换
单片机·mcu·学习·嵌入式·freertos·实时操作系统
song150265372981 小时前
小型零部件外观检测难?AI机器视觉检测设备,适配全行业小件质检
人工智能·计算机视觉·视觉检测
xsd202411181 小时前
AI 智能美甲推荐系统技术全解析
人工智能·计算机视觉
原子延迟1 小时前
批量压缩视频会变大?HandBrake等3款(2026)
图像处理·人工智能·计算机视觉·音视频
li星野2 小时前
【学习记录】逻辑分析仪完全入门:从品牌方案到采样率、存储深度的核心概念解析
学习
旖旎夜光2 小时前
【C++ 基础入门】类和对象(上):封装、对象模型与 this 指针
开发语言·c++·笔记·学习
WEI_YANG_JU3 小时前
初中数学教学中合作学习的研究与实践
学习
码农小韩3 小时前
FPGA学习(一)——LED点灯与开发流程
学习·fpga开发·入门·环境配置·仿真·点灯
apple_692658853 小时前
基于 Qwen-Image-2.1 的人物替换 LoRA 模型及部署工作流 人物替换的效果 吊打闭源
人工智能·计算机视觉