当前位置: 首页 > news >正文

Vision Transformer (ViT) 技术解析 - 鹏展

论文:[2010.11929] An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

概述

Vision Transformer (ViT) 将标准 Transformer 架构直接应用于图像分类任务。模型架构基于《Attention is all you need》中的 Transformer Encoder,针对视觉任务仅做了最小化的修改。训练流程采用两阶段策略,先在大规模数据集上进行预训练(图像分类),再在下游任务(目标检测、图像分割等)的小规模数据集上进行微调。

模型架构

ViT 整体架构如下:

模型架构

输入处理:Patch Embedding

ViT 需要解决的首要问题是如何将图像转换为 Transformer 可处理的序列格式。输入图像的维度为 (batch_size, height, width, channel)​,而 Transformer 期望的输入格式是 (batch_size, seq_len, d_model)​。ViT 采用的方案是将图像切分为 N 个 P×P 的 patches,每个 patch 展平后通过线性投影层进行映射,最终得到维度为 (batch_size, N, P² × channel)​ 的序列。其中 patch 数量 N 的计算公式为 N=\frac{height \times width}{P^2}。在这个设计中,每个 patch 在 Transformer 中扮演的角色等价于 NLP 任务中的 token。

Class Token

参考 BERT 的设计,ViT 在 patch 序列前添加一个可学习的 class token [CLS]​,用于聚合全局图像信息。添加该 token 后,序列维度变为 (batch_size, N+1, P² × channel)。这个 token 经过 Transformer 处理后的输出将用于最终的分类任务。

位置编码

由于 patch 切分会丢失空间位置信息,ViT 通过加性位置编码来恢复这些信息。具体实现上采用可学习的位置嵌入,通过加法的方式融入 patch embeddings,这一操作不改变数据维度,仍保持为 (batch_size, N+1, P² × channel)。论文的实验结果表明,一维位置编码与二维位置编码的性能相当,这说明 Transformer 的自注意力机制能够自动学习到二维空间关系。

Transformer Encoder

ViT 使用标准 Transformer Encoder,但在实现细节上有两处修改。第一处是 Layer Normalization 的位置,原始 Transformer 采用 Post-LN 方式(自注意力 → 残差 → LN),而 ViT 采用 Pre-LN 方式(LN → 自注意力 → 残差)。第二处是激活函数的选择,ViT 使用 GELU 替代了原始 Transformer 中的 ReLU。除此之外,Transformer 内部的多头自注意力、前馈网络等机制与标准实现保持一致。

分类输出

经过多层 Transformer Encoder 处理后,模型输出的维度为 (batch_size, N+1, P² × channel)​。对于分类任务,只需要提取 [CLS] token 对应的输出,即每个 batch 的第一个位置,得到维度为 (batch_size, P² × channel)​ 的特征向量。这个特征向量随后通过 MLP Head 进行线性变换,将维度映射到类别空间,最终输出 (batch_size, N_class)​ 的 logits,其中 N_class 是数据集的类别总数。经过 softmax 归一化后得到类别概率分布,概率最大的类别即为模型的预测结果。

技术要点

ViT 的核心贡献在于证明了纯 Transformer 架构在视觉任务上的有效性。通过将图像切分为 patches 并进行线性投影,ViT 成功地将视觉问题转化为序列建模问题。位置编码的引入保留了空间信息,而 [CLS] token 的设计则借鉴了 BERT 在 NLP 领域的成功经验。在实现层面,Pre-LN 和 GELU 激活函数的使用提升了训练效率和模型性能。这种架构设计为后续的多模态模型(如 CLIP、DALL-E)提供了重要的基础参考。

http://www.jsqmd.com/news/487342/

相关文章:

  • Zemax物理光学传播(POP)实战:从高斯光束到像差分析的完整流程
  • 2025绿豆盒子UI8影视APP源码深度解析:FastAdmin后台与TV端反编译实战
  • 从零开始理解滑动窗口协议:停等、后退N帧、选择重传的实战对比
  • 【互连网络架构演进】从蝶形到扁平蝶形:高基数网络的经济高效之路
  • AudioSeal Pixel Studio参数详解:watermarking strength与audibility平衡点
  • 从伏安特性曲线看电子元件:线性与非线性电阻的实测与解析
  • 扩展欧几里得、中国剩余定理
  • Visual C++ Redistributable故障排除全攻略:三步解决DLL缺失与应用崩溃难题
  • 欧拉函数、逆元
  • 2026 免费 PPT 工具推荐|博主实测,零成本高效出专业稿​ - 品牌测评鉴赏家
  • 告别复制粘贴!用这款Word插件实现多文档内容高效整理(含避坑指南)
  • 2026年3月苏州门帘类企业最新推荐:磁吸门帘、棉门帘、PVC门帘、防静电棉门帘、挡风门帘、车间门帘、冷库门帘、磁吸防蚊纱门帘等品类选择指南 - 海棠依旧大
  • Mapbox GL JS 坐标转换全解析:从点击事件到Marker精准落位
  • FireRed-OCR Studio部署教程:低成本GPU服务器上的工业级OCR落地
  • 2026实测|5款主流PPT工具全解析,AI博主亲测,新手/职场人闭眼抄作业 - 品牌测评鉴赏家
  • 刷题记录表1
  • 永辉超市卡闲置?教你轻松兑换现金 - 京顺回收
  • 开箱即用的Sambert语音合成:多情感控制,快速搭建你的AI配音系统
  • AI博主私藏|6个宝藏PPT模板网站,告别熬夜改稿,新手也能做出高级感 - 品牌测评鉴赏家
  • 轻量级媒体工具MPC-HC:开源播放器的高效配置与性能调优指南
  • DAMOYOLO-S模型微调保姆级教程:使用自定义数据集训练行业专用检测器
  • PICkit5脱机烧录实战:从MPLAB X到TF卡配置全流程(附常见问题解决)
  • 20252910 2025-2026-2 《网络攻防实践》 第1周作业
  • 2026告别PPT制作焦虑!这些网站让你轻松出圈 - 品牌测评鉴赏家
  • RexUniNLU零样本NLP系统参数详解:schema配置、输入格式、JSON输出规范
  • 2026毕业季必备:降AI率工具红黑榜(真实使用体验) - 我要发一区
  • 实战演练:基于快马平台构建电商购物车并发测试沙箱环境
  • 论文AI率反复降不下来?可能是这几个环节出了问题 - 我要发一区
  • d2s-editor:5大维度重构暗黑破坏神2单机游戏体验
  • AI 博主实测|2026 主流 PPT 制作工具全盘点​ - 品牌测评鉴赏家