Transformer架构最初在自然语言处理(NLP)领域取得了革命性的成功,尤其以其在捕捉长距离依赖关系方面的卓越能力而闻名。受此启发,研究者们开始探索将其应用于计算机视觉(CV)领域。传统上,计算机视觉任务(如图像分类、目标检测、图像分割等)主要由卷积神经网络(CNN)主导,CNN通过其固有的局部感受野、权重共享和平移等变性等归纳偏置,在处理图像数据方面表现出色。然而,CNN在捕捉全局上下文信息和长距离依赖方面可能存在局限性。Transformer的引入为计算机视觉提供了一种新的视角和强大的工具,尤其是在需要全局理解的场景中。
Vision Transformer (ViT) 详解
Vision Transformer (ViT) 是Google团队于2020年提出的一种直接将Transformer架构应用于图像分类的模型,它标志着Transformer在CV领域应用的一个重要里程碑。ViT的核心思想是将图像视为一系列“词块”(patches),然后利用标准的Transformer编码器来处理这些词块序列。
1. ViT的核心架构与步骤
ViT的整体流程可以分解为以下几个关键步骤:
-
图像分块 (Image Patching):
给定一个输入图像 x∈RH×W×Cx \in \mathbb{R}^{H \times W \times C}