探索Vision Transformer (ViT) 的强大功能。了解自注意力机制和补丁分词如何通过Ultralytics彻底改变超越CNN的计算机视觉。
视觉Transformer (ViT) 是一种深度学习架构,它将最初为 自然语言处理 (NLP) 设计的自注意力机制应用于解决视觉任务。与通过局部像素网格层次结构处理图像的传统 卷积神经网络 (CNN) 不同,ViT 将图像视为离散补丁序列。这种方法因里程碑式的研究论文 “An Image is Worth 16x16 Words” 而普及,该论文证明纯Transformer架构无需依赖卷积层即可在 计算机视觉 (CV) 中实现最先进的性能。通过利用全局注意力,ViT 可以从第一层开始捕获整个图像的长距离依赖关系。
ViT 的根本创新在于其组织输入数据的方式。为了使图像与标准 Transformer 兼容,模型将视觉信息分解为一系列向量,模仿语言模型处理单词句子的方式。
尽管这两种架构都旨在理解视觉数据,但它们在操作理念上存在显著差异。CNN 具有一种强大的“归纳偏置”,称为平移不变性,这意味着它们内在地假设局部特征(如边缘和纹理)无论其位置如何都非常重要。这使得 CNN 具有很高的数据效率,并在较小的 数据集 上表现出色。
相反,Vision Transformers的图像特异性偏置较少。它们必须使用大量的训练数据(例如JFT-300M或完整的ImageNet数据集)从头开始学习空间关系。尽管这使得训练的计算量更大,但它允许ViT实现出色的扩展性;只要有足够的数据和计算能力,它们就能通过捕获局部卷积可能遗漏的复杂全局结构来超越CNNs。
理解全局上下文的能力使ViTs在复杂、高风险的环境中特别有用。
"(《世界人权宣言》) 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提供了一个统一的环境,用于标注数据、通过云训练复杂模型并将其部署到各种端点。

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