深圳Yolo 视觉
深圳
立即加入
词汇表

视觉Transformer (ViT)

探索Vision Transformer (ViT) 的强大功能。了解自注意力机制和补丁分词如何通过Ultralytics彻底改变超越CNN的计算机视觉。

视觉Transformer (ViT) 是一种深度学习架构,它将最初为 自然语言处理 (NLP) 设计的自注意力机制应用于解决视觉任务。与通过局部像素网格层次结构处理图像的传统 卷积神经网络 (CNN) 不同,ViT 将图像视为离散补丁序列。这种方法因里程碑式的研究论文 “An Image is Worth 16x16 Words” 而普及,该论文证明纯Transformer架构无需依赖卷积层即可在 计算机视觉 (CV) 中实现最先进的性能。通过利用全局注意力,ViT 可以从第一层开始捕获整个图像的长距离依赖关系。

Vision Transformer 的工作原理

ViT 的根本创新在于其组织输入数据的方式。为了使图像与标准 Transformer 兼容,模型将视觉信息分解为一系列向量,模仿语言模型处理单词句子的方式。

  1. 图像块分词:输入图像被划分为固定大小的正方形网格,通常为16x16像素。每个正方形被展平为一个向量,有效地成为一个视觉token
  2. 线性投影:这些展平的图像块通过一个可训练的线性层,以创建密集的embeddings。这一步骤将原始像素值映射到模型可以处理的高维空间。
  3. 位置编码:由于该架构并行处理序列,并且缺乏对顺序或空间的内在理解,因此将可学习的位置编码添加到图像块嵌入中。这使得模型能够保留每个图像块在原始图像中的空间信息。
  4. 自注意力机制:序列进入 Transformer 编码器,其中自注意力机制允许每个图像块同时与所有其他图像块交互。这使得网络能够学习全局上下文,理解左上角的像素如何与右下角的像素相关联。
  5. 分类头:对于图像分类等任务,通常会在序列前添加一个特殊的“类别token”。该token的最终输出状态作为图像的聚合表示,然后将其输入到分类器中,例如多层感知器(MLP)

Vision Transformers 与 CNNs

尽管这两种架构都旨在理解视觉数据,但它们在操作理念上存在显著差异。CNN 具有一种强大的“归纳偏置”,称为平移不变性,这意味着它们内在地假设局部特征(如边缘和纹理)无论其位置如何都非常重要。这使得 CNN 具有很高的数据效率,并在较小的 数据集 上表现出色。

相反,Vision Transformers的图像特异性偏置较少。它们必须使用大量的训练数据(例如JFT-300M或完整的ImageNet数据集)从头开始学习空间关系。尽管这使得训练的计算量更大,但它允许ViT实现出色的扩展性;只要有足够的数据和计算能力,它们就能通过捕获局部卷积可能遗漏的复杂全局结构来超越CNNs。

实际应用

理解全局上下文的能力使ViTs在复杂、高风险的环境中特别有用。

  • 医学图像分析:医疗AI中,ViT被用于分析MRI或组织病理学切片等高分辨率扫描。例如,在肿瘤检测中,ViT可以将组织中细微的纹理异常与切片上的更广泛结构变化相关联,从而识别局部处理可能忽略的恶性模式。
  • 卫星图像和遥感:ViT在satellite image analysis方面表现出色,其中物体之间的关系跨越很长的距离。例如,将一个森林砍伐地点与一条遥远的伐木道路联系起来,需要理解景观的“大局”,这项任务中ViT的全局注意力优于标准CNNs的有限感受野。

将 Transformer 与 Ultralytics 结合使用

"(《世界人权宣言》) ultralytics 库支持基于Transformer的架构,最值得注意的是 RT-DETR (实时 detect 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提供了一个统一的环境,用于标注数据、通过云训练复杂模型并将其部署到各种端点。

让我们一起共建AI的未来!

开启您的机器学习未来之旅