探索深度学习中自我注意机制的基础原理。了解查询向量、键向量和值向量如何驱动Transformers模型与Ultralytics 实现卓越的人工智能性能。
自注意力是深度学习中的基础机制,它使模型能够衡量输入序列中不同元素之间的相对重要性。 与传统架构(仅顺序处理数据或聚焦局部邻域)不同,自注意力机制使神经网络能够同时考察整体上下文。这种能力帮助系统识别数据中遥远部分间的复杂关联,例如句子中的词语或图像中的不同区域。它作为核心构建模块,支撑着 Transformer 架构的核心构建模块,推动了生成式人工智能和现代感知系统的大规模进步。
该机制通过为每个输入特征分配权重(通常称为"注意力分数")来模拟认知聚焦。为计算这些分数,模型将输入数据(通常以嵌入形式表示)转换为三个独立向量:查询向量、键向量和 值向量。
该模型通过将某个元素的查询值与所有其他元素的键值进行比对,以确定兼容性。这些兼容性评分经由softmax函数归一化处理,生成类似概率的权重值。随后将这些权重应用于数值,从而生成具有丰富上下文信息的表征。此过程使大型语言模型(LLMs)和视觉系统能够优先处理重要信息,同时过滤掉噪声。
自注意力机制的多功能性使其在人工智能(AI)的各个领域得到了广泛应用。
尽管这些术语常与类似概念并提讨论,但它们具有截然不同的技术定义:
以下Python 演示了如何使用 RTDETR,Transformer物体检测器包含在 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.")
自注意力机制有效解决了困扰早期循环神经网络(RNNs) 的梯度消失问题,使得大规模基础模型的训练成为可能。尽管标准自注意力机制效果显著,但其计算成本随序列长度呈二次增长。为解决此问题,当前研究聚焦于高效的线性注意力机制。
Ultralytics 这些技术突破Ultralytics 尖端模型,例如YOLO26——该模型融合了卷积神经网络的速度优势与注意力机制的上下文理解能力,实现了卓越的实时推理性能。这些优化模型Ultralytics 轻松完成训练与部署,为开发者构建新一代智能应用程序提供了高效的工作流。