探索深度学习中自注意力机制的基础知识。了解查询(Query)、键(Key)和值(Value)向量如何驱动Transformer和Ultralytics YOLO26,实现卓越的AI性能。
自注意力是深度学习中的一种基础机制,它使模型能够衡量输入序列中不同元素之间的相对重要性。与传统上按顺序处理数据或仅关注局部邻域的架构不同,自注意力允许神经网络同时检查整个上下文。这种能力有助于系统识别数据远距离部分之间的复杂关系,例如句子中的单词或图像中不同的区域。它作为Transformer架构的核心构建块,推动了生成式 AI 和现代感知系统的巨大进步。
该机制通过为每个输入特征分配一个权重(通常称为“注意力分数”)来模拟认知焦点。为了计算这些分数,模型将输入数据(通常表示为嵌入)转换为三个不同的向量:查询、键和值。
模型将一个元素的查询(Query)与所有其他元素的键(Keys)进行比较,以确定兼容性。这些兼容性分数使用softmax函数进行归一化,以创建类似概率的权重。然后将这些权重应用于值(Values),生成一个上下文丰富的表示。这个过程使大型语言模型(LLMs)和视觉系统能够优先处理重要信息,同时过滤掉噪声。
自注意力机制的多功能性促使其在 人工智能 (AI) 的各个领域得到广泛采用。
虽然这些术语经常与类似概念一起讨论,但它们具有不同的技术定义:
以下python代码片段演示了如何使用 RTDETR,一个包含在其中的基于Transformer的object detector ultralytics 包。与标准卷积网络不同,该模型严重依赖自注意力机制来处理视觉特征。
from ultralytics import RTDETR
# Load the RT-DETR model which utilizes self-attention for detection
model = RTDETR("rtdetr-l.pt")
# Perform inference on an image to detect objects with global context
# Self-attention helps the model understand relationships between distant objects
results = model("https://ultralytics.com/images/bus.jpg")
# Print the number of objects detected
print(f"Detected {len(results[0].boxes)} objects using Transformer attention.")
自注意力机制有效地解决了阻碍早期循环神经网络 (RNN) 的梯度消失问题,从而实现了大规模基础模型的训练。尽管非常有效,但标准自注意力的计算成本随序列长度呈二次方增长。为了解决这个问题,当前研究侧重于高效的线性注意力机制。
Ultralytics 将这些进步整合到 YOLO26 等最先进的模型中,YOLO26 结合了 CNN 的速度和注意力的上下文能力,实现了卓越的 实时推理。这些优化模型可以通过 Ultralytics 平台 轻松训练和部署,从而为开发人员构建下一代智能应用程序简化了工作流程。

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