[特殊字符] 视觉Transformer (ViT) 原理及性能突破:从CNN到大规模自注意力机制的迁移

📚 视觉Transformer (ViT) 原理及性能突破:从CNN到大规模自注意力机制的迁移

https://arxiv.org/html/2010.11929

源文件: An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale (arXiv:2010.11929)
核心主题: 证明纯粹的Transformer架构,仅通过大规模预训练,可以达到或超越传统的卷积神经网络(CNN)在图像识别任务上的性能。

🎯 核心洞察与研究意义

本文的关键突破在于提出了一种范式转变:深度学习的能力不再仅仅依赖于网络固有的归纳偏置(Inductive Biases) ,而是高度耦合于模型规模(Scaling)和训练数据量(Data Scale)。

  • 机制替代法: ViT将图像视为一系列离散的图像块(Patches),并通过标准Transformer处理这些图像块序列,成功将NLP中的自注意力机制(Self-Attention)扩展到了CV领域。
  • 计算效率革命: 在JFT-300M等超大型数据集上,ViT展示了卓越的性能,同时占用的计算资源(例如,训练成本)远低于SOTA的CNN模型。
  • 核心结论: CNN的局部性、平移不变性等内置偏置在超大规模数据集的足够优化和足够长的训练时,可以通过Transformer的模式识别和学习过程进行取代与超越。

🔬 工作流程与技术实现 (Methodology & Formulas)

ViT成功的核心在于它模拟了图像块到序列数据的过程,使得整个流程可以被纳入标准的Transformer编码器结构内。

1. 输入预处理:图像到Token的序列化 (Patching)

步骤 描述 数学/概念
图像重塑 将原始图像 x∈RH×W×C\mathbf{x} \in \mathbb{R}^{H \times W \times C}x∈RH×W×C 划分为非重叠的 P×PP \times PP×P 图像块。 NNN (Token数量) =(H⋅W)/P2= (H \cdot W) / P^2=(H⋅W)/P2
Patch Embedding 每个图像块 xp\mathbf{x}_pxp 通过可训练的线性投影 E\mathbf{E}E 映射到一个高维的潜在向量空间 DDD。 xpE\mathbf{x}_p\mathbf{E}xpE
序列构建 构造最终输入序列 z0\mathbf{z}_0z0,必须包含三个关键组成部分: 输入序列 : z0=xclass;xpE;⋯ ;xNE+Epos\mathbf{z}0 = \\mathbf{x}_{\\text{class}}; \\mathbf{x}_p\\mathbf{E}; \\cdots; \\mathbf{x}_N\\mathbf{E} + \mathbf{E}{\text{pos}}z0=xclass;xpE;⋯;xNE+Epos
组成元素 1. [class] Token (xclass\mathbf{x}_{\text{class}}xclass): 用于捕获全局分类结果的特殊可学习Token。 2. Patches (xpE\mathbf{x}_p\mathbf{E}xpE): 嵌入的图像块特征。 3. 位置嵌入 (Epos\mathbf{E}_{\text{pos}}Epos): 弥补Transformer缺乏空间/顺序信息。

2. Transformer 编码器结构详解

编码器层 ℓ\ellℓ 通过迭代的自注意力与MLP块来提炼特征。

  • 自注意力层 (MSA): zℓ′=MSA⁡(LN⁡(zℓ−1))+zℓ−1\mathbf{z}'{\ell} = \operatorname{MSA}(\operatorname{LN}(\mathbf{z}{\ell-1})) + \mathbf{z}_{\ell-1}zℓ′=MSA(LN(zℓ−1))+zℓ−1
  • MLP层: zℓ=MLP⁡(LN⁡(zℓ′))+zℓ′\mathbf{z}{\ell} = \operatorname{MLP}(\operatorname{LN}(\mathbf{z}'{\ell})) + \mathbf{z}'_{\ell}zℓ=MLP(LN(zℓ′))+zℓ′
  • 关键细节 (高分辨率): 当在更高分辨率上进行微调时,必须使用 **2D插值(2D Interpolation)**来调整预训练的位置嵌入,以保持空间位置信息的完整性。

📊 性能分析与量化指标 (Experimental Results)

模型的评估是在 ImageNet、CIFAR-100、VTAB等多个数据集上进行的,性能提升是系统性和跨任务的。

1. 状态前沿对比 (State-of-the-Art Comparison)

Benchmark ViT-H/14 (JFT) BiT-L (JFT) Noisy Student (SOTA) 🏆 性能提升 (ViT)
ImageNet 88.55% 87.54% 88.4/88.5% ✅ 达到SOTA
ImageNet ReaL 90.72% 90.54% 90.55% ✅ 显著超越
CIFAR-100 94.55% 93.51% --- 🥇 领先优势明显
VTAB (19 tasks) 77.63% 76.29% --- ✅ 优于传统方法
训练资源消耗 2.52k TPUv3-core-days 9.99k 12.31k 🚀 资源消耗大幅降低
  • 数据规模依赖: ViT 的性能曲线强烈依赖于训练数据规模:在小型数据集(如ImageNet)上,CNN具有优势;但在大型数据集(如JFT-300M)上,ViT的指数级增长证明了数据量是决定模型上限的决定性因素。

🛠️ 资源与学习要点总结

本论文为后续研究树立了两个关键指导原则:

  1. Scaling Law驱动: 所有需要构建视觉模型的新项目,都应将大规模预训练数据获取与模型架构设计视为首要任务。
  2. 模块化方法: Hybrid模型提供了一个可行的折衷方案,即将CNN的局部特征提取能力与Transformer的全局建模能力相结合,实现最佳性能与计算投入的最佳平衡点。
相关推荐
用户0807759078510 小时前
从输入到输出:大模型推理全流程复盘(含纠错清单)
深度学习
jay神10 小时前
基于 YOLOv8 的手势识别系统(Web 版)
前端·人工智能·python·深度学习·yolo·计算机视觉·计算机毕业设计
武子康14 小时前
H3-World 写了 CPU offload,为什么还不能保证塞进 48GB?
大数据·人工智能·深度学习
严肃小白兔19 小时前
第 04/24 期:深度学习中的损失函数及其数学解释
人工智能·深度学习
BYSJMG19 小时前
计算机毕业设计选题推荐:【基于深度学习的车辆损坏严重程度评估方法研究】ResNet50 图像分类
人工智能·深度学习·目标检测·机器学习·计算机视觉·分类·课程设计
在所不辞兄20 小时前
为什么在电池供电场景下,不能采用固定电压频率策略,而需要动态调整以最大化 Race-to-Sleep 收益?
人工智能·深度学习·神经网络·机器学习
BYSJMG21 小时前
计算机毕业设计选题推荐|【基于深度学习的电梯电动车违规进入检测研究】YOLO26m+可视化大屏
人工智能·深度学习·神经网络·目标检测·机器学习·计算机视觉·课程设计
盼小辉丶21 小时前
PyTorch强化学习实战(35)——多智能体强化学习
人工智能·pytorch·深度学习·强化学习
武子康2 天前
H3-World 的动作能按时发生,为何还不能据此判断实时互动?
人工智能·深度学习·agent
Rocky Ding*2 天前
【三年面试五年模拟】2026-11-05_月之暗面大模型算法岗一面、二面面经全解析
论文阅读·人工智能·深度学习·机器学习·aigc·强化学习·ai-native