昇思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 进行分类。

相关推荐
sunshine22 girl3 小时前
Java学习一 环境配置2 安装和基本使用Idea
java·学习·intellij-idea
Kobebryant-Manba4 小时前
学习Bert微调
人工智能·学习·bert
xian_wwq4 小时前
【学习笔记】深度认知系列-第14讲 端侧AI崛起——为什么AI正在从云端走向本地
人工智能·笔记·学习
我爱cope5 小时前
【计算机网络 | 传输层3:TCP 协议概述:面向连接、可靠传输到底意味着什么?】
网络·网络协议·学习·tcp/ip·计算机网络·传输层
代码的小搬运工7 小时前
KVO学习
学习·ios·cocoa
公爵爱学习7 小时前
无人机视觉识别前序-Linux-YOLO安装
python·yolo·计算机视觉·conda·无人机
辣知7 小时前
辣知·化智47 黄帝陵与民族精神归途
学习
天一生水water7 小时前
基于重构的无监督/单类时间序列异常检测
人工智能·深度学习·重构·transformer
知识分享小能手8 小时前
深度学习学习教程,从入门到精通,数值计算 — 知识点详解(4)
人工智能·深度学习·学习
智购科技自动售货机厂家8 小时前
2026自动售货机设备清洁效果自动验证:从图像比对到评分算法的工程实践~YH
人工智能·算法·计算机视觉