周报5.10

1. 摘要与核心贡献

一句话总结

该论文提出了一种纯粹的 Transformer 架构用于图像识别任务,通过大规模预训练和迁移学习,在多个基准数据集上实现了与 CNN 相比更优的性能并且减少了训练资源需求。

贡献列表

  1. 提出了一种将图像分割为固定大小补丁(patches)并用 Transformer 处理图像识别任务的全新方法------Vision Transformer (ViT)
  2. 验证了大规模预训练对 Vision Transformer 在图像分类任务中显著提升性能,甚至超越了当前最先进的 CNNs。
  3. 表明在图像处理中使用基于序列的 Transformer 比传统的基于像素的 CNNs 能更有效地建模图像语义结构,且对数据大小敏感性较低。

2. 引言:问题背景与研究动机

问题定义

图像识别是计算机视觉中的核心任务之一,传统的卷积神经网络(CNNs)在这一领域表现出主导地位。然而,近年来,Transformer 架构在自然语言处理(NLP)领域取得了巨大成功,但其在视觉任务中的应用仍面临挑战。本文旨在探讨如何直接应用 Transformer 架构进行图像识别,而不依赖于 CNN 的结构或特性。

现有方法的局限

虽然一些工作尝试将 Transformer 与 CNN 结合,如在 CNN 输出上使用注意力机制(如在图像分类与目标检测任务中),但这些混合方法通常需要复杂的工程设计。而纯 Transformer 模型由于其全局注意力机制,在处理图像时不支持卷积网络的平移不变性和局部结构特性,从而在不使用强力正则化时,在小规模数据集上表现不如 CNN。

本文思路

作者主张直接使用 Transformer 模型,对图像进行补丁分割,将这些补丁转换为序列,并在此序列上使用标准 Transformer 编码器,从而实现了图像识别任务的端到端建模。他们认为,虽然 Transformer 在小区分度任务中不如 CNN,但在大规模数据预训练下,其性能可以与 CNN 相当或超越。


3. 方法论深度解析

3.1 整体架构

Vision Transformer (ViT) 的架构如图 1 所示:

  • 图像分割:将输入图像分割为固定大小的补丁(通常为16×16)。
  • 补丁嵌入:将这些补丁进行线性投影,得到补丁嵌入(patch embeddings)。
  • 位置嵌入:添加位置嵌入以保留空间信息。
  • Transformer 编码器:将输入补丁序列送入标准 Transformer 编码器,其中包含多头自注意力(MSA)和 MLP 层。
  • 分类标记(class token):通过添加一个可学习的分类标记,进行分类任务。

核心思想

ViT 通过将图像视为由补丁组成的一维序列进行建模,完全绕过了 CNN 的二维架构和提升共享性。其关键思想是:通过大规模预训练和 Transformer 的全局注意力机制在图像分类中获取有效的表示,而非依赖于 CNN 的局部结构特征。

3.2 核心组件/模块拆解

线性补丁嵌入 (Linear Patch Embedding)

  • 输入: 图像分割为 N N N个 P × P P \times P P×P补丁,每个补丁有 C 个通道,所以输入是 x ∈ R H × W × C x \in \mathbb{R}^{H \times W \times C} x∈RH×W×C。
  • 输出: 将这些补丁线性投影到低维空间,得到 z 0 z_0 z0,其维度为 ( N + 1 ) × D (N + 1) \times D (N+1)×D(包含分类标记)。
  • 内部机理: 使用线性变换 E ∈ R P 2 ⋅ C × D E \in \mathbb{R}^{P^2 \cdot C} \times D E∈RP2⋅C×D,将图像展开为补丁序列后映射为 D D D 维嵌入。
  • 设计动机: 保持模型简单且与 NLP 中的 Transformer 架构一致,避免引入误导性的先验(inductive bias)。这种设计更利于大规模预训练,并使模型能够自然演化图像的全局结构。

分类标记 (Class Token)

  • 输入: 当前输入补丁序列。
  • 输出: 最终的分类嵌入 y ∈ R D y \in \mathbb{R}^D y∈RD 基于分类标记的输出。
  • 内部机理: 在 Transformer 编码器的最终状态中提取分类标记,视为图像整体的表示。
  • 设计动机: 虽然 CNN 中每个卷积层都对图像有理解,但将全图的主要语义编码到输出的少量标记中更具有可解释性且能够节省计算资源。

多头自注意力 (Multi-Head Self-Attention, MSA)

  • 输入: 补丁嵌入和位置嵌入的结合。
  • 输出: 通过注意力机制处理特征,提取不同局部的相互关系。
  • 内部机理: 每个注意力头提取图像不同区域之间的关系,如图 7 所示,每个注意力头的注意力距离(attention distance)是其融合信息的能力体现。
  • 设计动机: 替代 CNN 的局部卷积操作,同时通过多头自注意力实现全局建模。

3.3 关键公式与算法

公式 1. 补丁嵌入

z 0 = [ x class ; x 1 pE ; x 2 pE ; ⋯   ; x N pE ] + E pos z_0 = [x_{\text{class}}; x_1^{\text{pE}}; x_2^{\text{pE}}; \cdots; x_N^{\text{pE}}] + E_{\text{pos}} z0=[xclass;x1pE;x2pE;⋯;xNpE]+Epos

  • 公式目标: 将图像拆分成补丁嵌入,并添加位置嵌入以保留其空间关系。
  • 含义: x class ∈ R D x_{\text{class}} \in \mathbb{R}^{D} xclass∈RD 是一个可学习的分类标记; x i pE ∈ R P 2 ⋅ C × D x_i^{\text{pE}} \in \mathbb{R}^{P^2 \cdot C \times D} xipE∈RP2⋅C×D 是补丁投影后的嵌入; E pos ∈ R ( N + 1 ) × D E_{\text{pos}} \in \mathbb{R}^{(N+1) \times D} Epos∈R(N+1)×D 是可学习的位置嵌入。
  • 直觉: 通过将补丁展平为序列,并添加位置嵌入,ViT 可以对图像的结构进行拓扑建模,类似于文本处理中对 token 的建模。

公式 2. 多头自注意力

z ℓ ′ = MSA ( LN ( z ℓ − 1 ) ) + z ℓ − 1 , ℓ = 1 , ... , L z'\ell = \text{MSA}(\text{LN}(z{\ell-1})) + z_{\ell-1}, \quad \ell = 1, \dots, L zℓ′=MSA(LN(zℓ−1))+zℓ−1,ℓ=1,...,L

  • 目标: 通过异步的注意力机制增强模型对补丁间关系的建模能力。
  • 各部分含义: LN 是层归一化(Layer Normalization),它的作用是稳定转换层的训练过程; z ℓ ∈ R ( N + 1 ) × D z_{\ell} \in \mathbb{R}^{(N+1) \times D} zℓ∈R(N+1)×D 是通过自注意力和 MLP 得到的每个 Transformer 层的输出。
  • 直觉: 像 CNN 的卷积特征图一样,Transformer 通过自注意力机制提取不同补丁间的相关特征,从而实现图像的全局理解。

4. 实验设计与结果分析

实验设置

论文评估了 ViT、ResNet 和混合模型在多个图像分类基准(如 ImageNet、CIFAR-100、VTAB 等)的迁移性能。实验细节包括:

  • 数据集: ImageNet (1.3M 图像, 1k 类别),ImageNet-21k (14M 图像, 21k 类别),JFT-300M(303M 高分辨率图像,18k 类别)。
  • 评估方法:
    • Few-shot Accuracy: 基于少数样本的分类准确率。
    • Fine-tuning Accuracy: 在标准数据集下的微调性能。
    • Self-supervised Pre-training: 使用掩码补丁预测等任务进行自监督预训练,如图 4 所示。

主实验结果

论文比较了 ViT 各变体(ViT-B/32、ViT-L/16、ViT-H/14)与最先进的 CNNs(如 BiT、EfficientNet)在多个任务上的分类性能,如表 2 所示:

  • ViT-L/16 在预训练于 JFT-300M 的情况下,在 ImageNet 上达到了 87.76% 的准确率,而 BiT(基于 ResNet152x4)为 87.54%。
  • ViT-H/14 在原始 ImageNet 数据上达到了 88.55% 的准确率,明显优于当前最佳 ResNet 模型(88.4%)。
  • 在商品(如 Shoe、Car、Bird)等自然图像上,ViT 成绩高于 ResNet,证明其已能够学习更高层的图像特征。
  • 在 VTAB(19 个任务组成的多任务基准)上,ViT-H/14 达到 77.63% 的准确率,而 BiT 为 76.29%。

说明

这些结果表明,限定补丁大小且将图像视为序列的任务,配合大规模预训练,可以比标准 CNN 更高效地学习图像特征,即使其他模型引入了一些 CNN 的局部结构(如混合模型)。

消融实验

论文通过多种方式验证了位置嵌入、补丁大小、Transformer 层深度等的关键参数:

  • 位置嵌入: 对于 ViT-B/16 模型,无论是使用1D还是2D位置嵌入,其准确率都相近(表 8),说明即使没有具体的位置信息,Transformer 自注意力也能很好地建模图像结构。
  • 补丁大小: 分析了16×16、32×32、64×64等不同大小的补丁如何影响准确率(图 5)。
  • 模型深度: 增加模型深度显著提升了准确率(图 11),这与传统 CNN 的接收域(receptive field)特性相似。

这些消融实验验证了ViT 的性能主要取决于补丁标记和 Transformer 深度,而位置嵌入的影响相对较小,这源于 Transformer 的全局注意力机制

可视化/案例分析

在图 6 和图 14 中,展示了 ViT 在不同任务中的注意力热力图(attention maps),可以看出:

  • ViT 在高分辨率的图中能够将注意力集中在图像的语义部分。
  • 在更简单任务中,如 CIFAR-10,ViT 自身的性能不足以胜过 ResNet。
  • 混合模型(如 ViT 和 ResNet 结合)在对象检测和语义分割等任务中表现优于纯 Transformer。

然而,图 6 展示的分布表明,纯 Transformer 在高分辨率图像中也具备复杂的空间建模能力,这与预期相符。


5. 讨论与思考

优点与创新点

论文贡献在于:

  • 提出一个与 CNN 无任何关系的纯 Transformer 架构,打破了传统图像建模方式。
  • 通过大规模预训练(如 JFT-300M)实验证明了 Transformer 在视觉任务中同样具有强大的学习能力。
  • 模型框架对后续如图像/文本联合任务(如 UNITER)、跨模态检索等具有可扩展性。

局限性与可商榷之处

尽管 ViT 在大规模数据上表现优秀,但在以下方面仍存在争议:

  • 对小数据集的适应能力差:由于缺乏 CNN 的局部损耗(inductive bias),ViT 在没有大量预训练数据时表现不如 CNN。
  • 计算成本高:ViT 需要更多的计算资源训练,如图 5 所示,这可能限制其在某些实际场景的使用(如边缘设备)。
  • 缺乏专家结构:ViT 的全局注意力机制在某些任务(如图像定位)中可能不如 CNN 的局部卷积机制。
  • 对位置嵌入的依赖程度高:尽管辅助嵌入可能不是必需的,但它确实会影响注意力分布和任务性能。

未来工作与启发

ViT 启发了一个新的研究方向------基于 Transformer 的纯图像建模方法,尤其是在基于大规模数据预训练的情况下。未来可能的研究方向包括:

  • 将 ViT 应用于其他视觉任务,如目标检测、分割:已有研究将其扩展到多任务学习中。
  • 探索更高效的自监督训练方法:如图 4 所示,当前的 self-supervised ViT 在 ImageNet 上的准确率仍然低于监督训练。
  • 改进 Transformer 的效率:如引入稀疏注意力(Sparse Attention)、Axial Attention 等可减少计算复杂度。
  • 融合 CNN 与 Transformer:已有尝试表明混合模型(如 AxialResNet)在多任务中表现优于单一架构。
  • 优化模型结构:现有 ViT 在某些任务上的性能仍落后于 CNN,这提示我们可能需要对 Transformer 结构进行更细致的改进。

6. 总结

Vision Transformer (ViT) 是一个突破性的模型,它对图像识别任务提出了从像素级到补丁级的全新建模思路,并通过大规模预训练显著提升了其性能。虽然 ViT 仍有其局限性,但在合适的场景下,特别是在一大数据集上进行训练时,其效率和性能已经可以匹敌甚至超越 CNNs。因此,ViT 为 Transformer 在计算机视觉任务中的进一步发展提供了重要基础,并激励我们探索更多基于 Transformer 的视觉系统。

相关推荐
kdxiaojie2 小时前
U-Boot分析【学习笔记】(3)
linux·笔记·学习
智者知已应修善业3 小时前
【51单片机模拟生日蜡烛】2023-10-10
c++·经验分享·笔记·算法·51单片机
智者知已应修善业3 小时前
【51单片机如何让LED灯从一亮到八,再从八亮到一】2023-10-13
c++·经验分享·笔记·算法·51单片机
qeen873 小时前
【数据结构】二叉树相关经典函数C语言实现
c语言·数据结构·c++·笔记·学习·算法·二叉树
Alice-YUE3 小时前
深入解析 JS 事件循环:浏览器与 Node.js 的差异全解析
前端·javascript·笔记·学习
fanged3 小时前
高通平台IMU的Bringup(TODO)
笔记
远离UE44 小时前
Vulkan学习笔记
笔记·学习
Hammer_Hans4 小时前
DFT笔记46
笔记
声网5 小时前
OpenAI Realtime API 重磅更新:锚定语音模型「深度推理+自主执行」演进路径|Voice Agent 学习笔记
笔记·学习