Vision Transformer 理论速记:Patch 到分类头


Vision Transformer(ViT)

一、背景:从卷积到Transformer

在计算机视觉领域,卷积神经网络长期占据主导地位。 从LeNet到ResNet,CNN通过卷积层在图像上滑动窗口,捕捉局部特征(如边缘、纹理、形状)。然而,CNN有两个主要限制:

  1. 局部性:卷积核一次只能看到图像的一小部分,很难直接捕捉远处像素之间的关系。
  2. 归纳偏置强:CNN预设了局部平移不变性等假设,对数据依赖较强。

而在自然语言处理(NLP)领域Transformer 模型凭借 自注意力机制彻底取代了RNN与LSTM,成为理解序列数据的王者。

于是,研究者提出了一个大胆想法:既然Transformer能捕捉文本中词与词之间的依赖关系,那么能不能让它理解图像中像素块与像素块之间的关系?这就是 Vision Transformer(ViT) 的诞生。


二、核心思想:把图像当成“句子”

Transformer原本是为处理序列而设计的。为了让它能处理图像,ViT做了一个关键转换:

把一张图像切成许多小块(Patch),然后把这些小块视为“词”。

举个例子:

假设我们有一张尺寸为 224×224 的彩色图像。ViT会把它切成 16×16 的小块。因此一共有:$ (224 / 16)^2 = 14 \times 14 = 196 \text{个Patch}$

每个Patch包含 (16×16×3 = 768) 个像素值。

这些Patch会被展平(Flatten)成一个向量,然后通过一个线性层映射成固定长度的 嵌入向量(Embedding),就像词向量一样。

于是,一张图像就变成了一个“有196个词的句子”。


三、ViT的模型结构

Vision Transformer的整体结构与原始Transformer非常相似,由以下几个部分组成:

1. Patch Embedding(图像块嵌入)

  • 将每个小图像块展平并映射到固定维度的向量空间;
  • 类似于NLP中的词向量;
  • 输出一个序列:[x₁, x₂, …, xₙ],每个xᵢ代表一个Patch。

2. 加入分类标识符 [CLS]

  • ViT像BERT一样,在序列最前面加一个特殊的 [CLS] token
  • 这个token的最终输出会被用来表示整张图像的特征,用于分类任务。

3. 位置编码(Positional Encoding)

  • Transformer本身对序列顺序不敏感,所以要告诉模型每个Patch在图像中的位置
  • ViT通过位置编码加到每个Patch的嵌入中,让模型知道空间结构信息。

4. Transformer Encoder 模块

  • 包含多个 自注意力层前馈层

    • 多头自注意力:模型可以同时从多个角度理解Patch之间的关系,比如形状、颜色、位置等。
    • 前馈神经网络:对每个Patch的特征进行非线性变换,增强表示能力。
  • 这些层通常堆叠 12~24层,构成深层的Transformer。

5. 全连接层

最终,[CLS] token 的输出向量会被送入一个全连接层(MLP Head)做分类输出。


四、ViT的优势与挑战

1. 优势:

  • 全局建模能力强: Transformer能同时看到所有Patch,轻松捕捉全局依赖。
  • 可扩展性好: 随着模型规模和数据量增加,性能线性提升。
  • 通用性强:ViT可与NLP统一框架结合。

2. 挑战:

  • 数据需求大:ViT训练需要极大量的数据才能超过CNN,比如论文中在 JFT-300M(3亿张图片) 上训练。
  • 缺乏平移不变性:CNN天然具有平移特性,而ViT需要学习这种特性。
  • 计算成本高:Self-Attention对序列长度是二次复杂度,图像块太多时计算量庞大。

五、后续改进

模型 改进方向 主要特性
DeiT (Data-efficient Image Transformer) 数据效率 用知识蒸馏减少数据需求
Swin Transformer 局部注意力 将图像分成窗口处理,计算量降低
PVT (Pyramid Vision Transformer) 多尺度特征 模仿CNN金字塔结构
ViT-H/16, ViT-L/32 模型规模 更深更宽的ViT版本

这些改进让ViT逐渐在ImageNet、COCO等任务上超越CNN。


六、论文信息

Title: An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
Authors: Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, et al.
Institution: Google Research / Brain Team
Published: 2020
Link: https://arxiv.org/abs/2010.11929


Author: linda1729
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source linda1729 !
评论
  TOC