Vision Transformer(VIT)原理总结

简介: Vision Transformer(VIT)原理总结

1120.jpg

VIT,文章题名为An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale,发表于2020年10月。基于纯Transformer结构来做图像分类任务,论文中相关实验证明在大规模数据集上做完预训练后的ViT模型,在迁移到中小规模数据集的分类任务上以后,能够取得比CNN更好的性能。

✨1 网络结构

6f72673e5cd549b4a329ffab418c9eda.png

如上图,按照红框可分为四块:

图像预处理:Transformer不能直接处理图像。因此,需要将图像分层NxN的图像块。如果图像分辨率变大,而要求图像块尺寸不变,增加图像块数量即可。

展平层:第二个红框(Linear Projection of Fallttened Patches)将图像块展平为一维(NxN=>N^2X1)。

Transformer Encoder:依次赋予展平的图像块类别记号和位置编码并输入Transormer的编码器,输出结果。注意,因为这里是分类任务而不是生成任务,因此不需要解码器。

MLP:取Transformer编码器输出的第一个embedding,将其输入到分类网络,即MLP中,输出所属类别概率

✨2 Transformer Encoder

Transformer原理在另一个文章中总结过,这里主要介绍之前没有提过的类别记号

假设,图像经过预处理和展平层后得到维度为(Batch size, block_num, D)的矩阵X。

🍔2.1 类别记号

如果没有class token,我们将X与位置编码相加再通过Transformer Encoder后,仍然输出维度为(Batch size, Block num, D)的矩阵。但是输入分类网络的变量维度只需要(Batch size, 1, D),这就很难决定用Block num个变量中哪一个进行分类。(原因)

因此,输入Tranformer Encoder之前,将X与一个维度为(Batch size, 1, D)的类别记号编码进行拼接,最终维度为(Batch size, Block num + 1, D),然后与维度为(Batch size, Block num + 1, D)的位置编码相加,并输入Transformer Encoder。最终输出结果的维度为(Batch size, Block num+1, D),此时利用切片,获得第一个变量(Batch size, 1, D)输入MLP进行分类。(具体做法)

省略Batch Size维度该过程如下图:

82767c471c024ecd94762e200918b8da.png

需要注意的是,类别记号也是一个可学习编码变量,正常初始化即可。

✨3 MLP

853ac125c0a241818c6aecf61db43e94.png

MLP结构如下,其中FC(全连接层)和tanh(激活函数)可选,Linear用于分类。

4 ✨参考文章

1️⃣https://zhuanlan.zhihu.com/p/617175563

相关文章
|
网络协议 Java
【工具】Mermaid + 大模型画流程图
最近看面试文章关于TCP三次握手和四次挥手的文章,时常会看到有类似的图去描述这样的过程。当然觉得这样的图还是蛮规范的,属于流程图的一种,是否有工具可以自动生成呢?但没有细想,昨天刷V2EX看到也有老哥发出了这样的问题。于是顺着评论区大佬的回答,我GET到了一个工具Mermaid 这里三次握手的图取自小林coding的文章
2070 0
|
SQL 前端开发 安全
详细介绍前后端分离必备的接口规范,包括命名规范、参数规范、错误处理规范等
详细介绍前后端分离必备的接口规范,包括命名规范、参数规范、错误处理规范等
3852 1
|
4月前
|
机器学习/深度学习 人工智能 监控
NeurIPS 2025 Spotlight!跨模态重识别革命!东北大学等 MDReID 图像信息智能匹配
东北大学等提出MDReID,获NeurIPS 2025 Spotlight!该方法实现跨模态行人重识别,创新性地将图像特征解耦为通用与专用特征,支持RGB、NIR、TIR等任意模态自由匹配,显著提升异源图像检索精度,推动安防、监控等领域智能化发展。
262 1
NeurIPS 2025 Spotlight!跨模态重识别革命!东北大学等 MDReID 图像信息智能匹配
|
5月前
|
存储 机器学习/深度学习 自然语言处理
Transformer参数规模深度解析:从模型聪明说到实际影响
Transformer参数规模显著影响模型能力,参数越多,知识容量与模式识别能力越强,但存在边际效应和过拟合风险。现代大模型通过混合专家、量化压缩等技术提升参数效率,未来趋势是优化参数使用而非盲目扩大规模,实现性能与效率的平衡。(238字)
|
6月前
|
人工智能 缓存 算法
大模型推理优化:推测解码技术详解
本文深入解析大语言模型推理中的革命性技术——推测解码(Speculative Decoding)。通过分析自回归解码的序列性瓶颈,详细阐述推测解码的核心原理、验证机制和实现策略。文章包含完整的算法实现、多方案性能对比以及实际部署指南,展示如何在不影响生成质量的前提下将推理速度提升2-3倍。
793 0
|
机器学习/深度学习 人工智能 自然语言处理
DAPO: 面向开源大语言模型的解耦裁剪与动态采样策略优化系统
DAPO(Decoupled Clip and Dynamic Sampling Policy Optimization)是由字节跳动提出的一种突破性的开源大语言模型强化学习系统。基于Qwen2.5-32B基础模型,DAPO在AIME 2024测试中以50分的优异成绩超越了现有最佳模型,
1288 6
DAPO: 面向开源大语言模型的解耦裁剪与动态采样策略优化系统
|
机器学习/深度学习 自然语言处理 TensorFlow
深入浅出:理解和实现深度学习中的卷积神经网络(CNN)
在当今的数据驱动世界,深度学习已经成为许多领域的关键技术。本文将深入探讨卷积神经网络(CNN)的原理、结构和应用,旨在帮助读者全面理解这项强大的技术,并提供实际的实现技巧。
697 27
|
机器学习/深度学习 人工智能 芯片
一文详解多模态大模型发展及高频因子计算加速GPU算力 | 英伟达显卡被限,华为如何力挽狂澜?
近年来,全球范围内的芯片禁令不断升级,给许多企业和科研机构带来了很大的困扰,需要在技术层面进行创新和突破。一方面,可以探索使用国产芯片和其他不受限制的芯片来替代被禁用的芯片;另一方面,可以通过优化算法和架构等方法来降低对特定芯片的依赖程度。
1683 0
|
Java 数据库连接 Apache
深入理解Apache Commons Pool2池化技术
深入理解Apache Commons Pool2池化技术
|
缓存 人工智能 自然语言处理
LLM 大模型学习必知必会系列(三):LLM和多模态模型高效推理实践
LLM 大模型学习必知必会系列(三):LLM和多模态模型高效推理实践
LLM 大模型学习必知必会系列(三):LLM和多模态模型高效推理实践