本文将深入探讨 ViT 是如何将 Transformer 架构引入视觉领域的,包括其核心思想、实现方式、关键技术点以及与传统 CNN 的对比优势。
一、从 NLP 到 CV:Transformer 的迁移尝试
Transformer 最初是为了解决长距离依赖问题而设计的,它通过自注意力机制(Self-Attention)来捕捉输入序列中各个元素之间的全局关系。这一特性使得 Transformer 在处理文本时能够更好地理解上下文语义。
在视觉领域,传统的 CNN 主要依靠局部感受野进行特征提取,虽然堆叠多层可以扩大感受野,但其本质上仍是一种局部操作。为了获得更全局的感知能力,研究人员开始思考是否可以将 Transformer 应用于图像处理。
二、ViT 的核心思想:将图像视为“词序列”
ViT 的核心创新在于将图像划分为多个小块(patches),并将这些图像块类比于 NLP 中的“单词”,从而构建一个类似文本序列的输入结构。具体步骤如下:
1. 图像分块(Image Patching)
ViT 将输入图像划分为固定大小的小块,例如 16×16 像素的图像块。假设输入图像为 224×224,则会被划分为 (224/16) × (224/16) = 14×14 = 196 个图像块。
2. 嵌入映射(Patch Embedding)
每个图像块被展平成一个向量(如 16×16×3=768 维),然后通过一个线性变换(可视为嵌入矩阵)将其映射到低维空间,形成 patch embeddings。
3. 添加位置编码(Positional Encoding)
由于 Transformer 本身不具备顺序信息,ViT 引入了位置编码(Positional Encoding)以保留图像块的空间位置信息。这些位置编码可以是学习得到的参数或固定的函数生成。
4. 添加类别标记(Class Token)
ViT 在所有 patch embeddings 前添加一个特殊的可学习向量 [class] token,类似于 BERT 中的 [CLS] 标记。最终该 token 的输出将用于图像分类任务。
5. 输入 Transformer 编码器
经过上述处理后,图像数据被转换为一个序列输入,进入标准的 Transformer 编码器中进行处理。编码器由多头自注意力机制(Multi-head Self-Attention)、前馈神经网络(Feed-Forward Network)以及层归一化(LayerNorm)组成。
三、训练与优化策略
ViT 的训练策略也借鉴了 NLP 中的一些经验:
1. 预训练 + 微调模式
ViT 通常先在大规模图像数据集(如 JFT-300M)上进行预训练,然后再在目标数据集(如 ImageNet)上进行微调。这种两阶段训练方式显著提升了模型泛化能力。
2. 使用混合架构作为过渡方案
早期研究发现,纯 ViT 模型在小数据集上的表现不如 CNN。为此,一些改进版本(如 DeiT、ConViT)提出了加入蒸馏损失、使用卷积增强位置信息等方法来提升性能。
四、ViT 的优势与挑战
1. 优势
- 全局注意力机制:相比 CNN 的局部感受野,ViT 能够捕捉图像中更远距离的信息交互。
- 可扩展性强:随着模型规模和训练数据的增长,ViT 的性能提升更为明显。
- 多模态潜力:由于其与 NLP 的兼容性,ViT 更容易与其他模态(如文本)结合,推动跨模态任务的发展。
2. 挑战
- 数据需求大:ViT 在小数据集上表现不佳,需要大量数据支撑才能发挥其优势。
- 计算资源高:Transformer 的计算复杂度较高,尤其是在图像分辨率较大的情况下。
- 局部细节建模不足:尽管具有全局视野,但在细粒度识别任务中可能不如专门设计的 CNN 模型。
五、ViT 对视觉领域的深远影响
ViT 的出现不仅在技术层面实现了 Transformer 向视觉领域的迁移,更重要的是开启了视觉模型架构的新纪元。随后涌现出一系列基于 Transformer 的视觉模型,如 Swin Transformer、PVT、CoaT 等,它们在图像分类、目标检测、语义分割等多个任务中都取得了优异成绩。
此外,ViT 还促进了多模态学习的发展。例如,CLIP 和 ALIGN 等模型利用 ViT 作为图像编码器,结合文本 Transformer,实现了零样本迁移学习的能力。

六、结语
Vision Transformer 成功地将原本属于 NLP 的 Transformer 架构引入视觉领域,打破了 CNN 长期垄断的局面。它不仅展示了 Transformer 在图像任务中的强大潜力,也为未来视觉模型的设计提供了全新的思路。尽管 ViT 存在一些局限性,但随着研究的不断深入和技术的进步,相信基于 Transformer 的视觉模型将在更多实际场景中展现其价值。
在未来,我们可以期待更加轻量化、高效、适用于移动端设备的视觉 Transformer 模型出现,同时也将进一步探索其在视频分析、三维视觉、医学影像等领域的应用前景。