Vision Transformer (ViT)
探索 Vision Transformer (ViT) 的强大能力。了解自注意力和图像块分词如何借助 Ultralytics 突破 CNNs,革新计算机视觉。
视觉 Transformer (ViT) 是一种深度学习架构,它将最初为自然语言处理 (NLP)设计的自注意力机制应用于视觉任务。不同于传统的卷积神经网络 (CNN)通过局部像素网格的层级结构处理图像,ViT 将图像视为离散图像块组成的序列。这种方法因具有里程碑意义的研究论文《一张图像胜过 16×16 个词》而广为人知,该论文证明,纯 Transformer 架构无需依赖卷积层,也能在计算机视觉 (CV)领域实现业界领先的性能。借助全局注意力机制,ViT 从第一层开始就能捕捉整幅图像中的长距离依赖关系。
视觉 Transformer 的工作原理#
ViT 的核心创新在于其组织输入数据的方式。为了让图像兼容标准的 Transformer,模型将视觉信息拆分为向量序列,模仿语言模型处理词语句子的方式。
-
图像块词元化: 输入图像被划分为固定大小的方格,通常为 16x16 像素。每个方格都会被展平为一个向量,实际上成为一个视觉词元。
-
线性投影: 这些展平后的图像块会经过可训练的线性层,以生成稠密的嵌入。此步骤将原始像素值映射到模型可以处理的高维空间中。
-
位置编码: 由于该架构会并行处理序列,且本身不具备对顺序或空间的理解能力,因此会将可学习的位置编码添加到图像块嵌入中。这使模型能够保留每个图像块在原始图像中所属位置的空间信息。
-
自注意力机制: 序列进入 Transformer 编码器后,自注意力机制允许每个图像块同时与其他所有图像块交互。这使网络能够学习全局上下文,理解左上角的像素与右下角像素之间的关系。
-
分类头: 对于图像分类等任务,通常会在序列前添加一个特殊的“类别词元”。该词元的最终输出状态充当图像的聚合表示,随后被输入分类器,例如多层感知器 (MLP)。
视觉 Transformer 与 CNN 的对比#
虽然这两种架构都旨在理解视觉数据,但它们在运行理念上存在显著差异。CNN 具有一种称为“平移不变性”的强“归纳偏置”,这意味着它们天然认为局部特征(如边缘和纹理)无论位于何处都很重要。因此,CNN 具有很高的数据效率,在较小的数据集上也能取得良好效果。
相比之下,视觉 Transformer 的图像特定偏置较少。它们必须利用海量的训练数据从头学习空间关系,例如 JFT-300M 或完整的 ImageNet 数据集。虽然这会使训练的计算成本更高,但也使 ViT 能够实现出色的规模扩展;拥有充足的数据和计算能力后,它们可以通过捕捉局部卷积可能遗漏的复杂全局结构,超越 CNN。
实际应用#
理解全局上下文的能力使 ViT 特别适用于复杂且高风险的环境。
- 医学图像分析: 在医疗 AI领域,ViT 可用于分析 MRI 或组织病理学切片等高分辨率扫描图像。例如,在肿瘤检测中,ViT 可以将组织中细微的纹理异常与整张切片更广泛的结构变化联系起来,从而识别出局部处理可能忽略的恶性模式。
- 卫星影像与遥感: ViT 在卫星图像分析方面表现出色,因为对象之间的关系可能跨越很远的距离。例如,将一处森林砍伐地点与远处的伐木道路联系起来,需要理解景观的“全貌”;在这类任务中,ViT 的全局注意力优于标准 CNN 有限的感受野。
在 Ultralytics 中使用 Transformer#
ultralytics 库支持基于 Transformer 的架构,其中最著名的是 RT-DETR(实时检测 Transformer)。虽然旗舰产品 YOLO26 凭借在边缘设备上的速度与精度平衡通常更受青睐,但 RT-DETR 为优先考虑全局上下文的场景提供了强大的替代方案。
以下 Python 示例演示了如何加载预训练的基于 Transformer 的模型并运行推理:
from ultralytics import RTDETR
# Load a pre-trained RT-DETR model (Vision Transformer-based)
model = RTDETR("rtdetr-l.pt")
# Run inference on an image source
# The model uses self-attention to detect objects globally
results = model("https://ultralytics.com/images/bus.jpg")
# Display the detection results
results[0].show()未来展望#
研究正在快速发展,以解决 ViT 计算成本高的问题。FlashAttention 等技术正在让这些模型变得更快、更节省内存。此外,结合 CNN 效率与 Transformer 注意力机制的混合架构正日益普及。对于希望管理这些高级工作流的团队,Ultralytics Platform 提供了统一环境,可用于标注数据、通过云端训练复杂模型,并将其部署到各种终端。









