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

自注意力机制

探索 AI 中自注意力机制的强大功能,通过上下文感知的精确度彻底改变 NLP、计算机视觉和语音识别。

自我关注是深度学习模型中的一种机制,它能使模型权衡输入序列中不同元素之间 的重要性。与按顺序或局部处理数据的传统架构不同 或局部处理数据的传统架构不同,自我关注允许模型一次性查看整个序列,并确定哪些部分与理解当前元素最相关。 与理解当前元素最相关的部分。这种功能是 Transformer 架构的决定性特征。 从 自然语言处理 (NLP) 到高级计算机视觉 (CV) 等领域带来了革命性的变化。通过计算 通过计算数据集中每一对条目之间的关系,自我关注提供了对上下文的全局理解,这是 的全局理解。 递归神经网络 (RNN)

自注意力机制的工作原理

从概念上讲,自我注意力模仿了人类处理信息的方式,即专注于特定细节,同时忽略 无关的噪音。在处理句子或图像时,模型会为每个元素分配 "注意力分数"。 元素分配 "注意力分数"。这些分数决定了在对特定的单词或像素进行编码时,应将多少注意力放在输入的其他部分上。 单词或像素。

这一过程通常包括为每个输入元素创建三个向量:查询、键和值。

  • 查询:代表当前询问相关信息的项目。
  • :作为序列中其他项目的标识符。
  • :包含实际信息内容。

该模型将一个元素的查询与所有其他元素的键进行比较,以计算兼容性。这些 兼容性分数用 softmax 函数对这些兼容性分数进行归一化处理,以创建权重。最后,这些权重 应用于 "值",以生成新的上下文感知表示。这种高效的并行处理允许 训练大规模 大型语言模型 (LLM)和强大的 视觉模型。对于 更深入的视觉研究,可参考 Jay Alammar 的 IllustratedTransformer等资源提供了 出色的直观性。

自我关注与一般关注

虽然这两个词经常被放在一起使用,但将自我注意与更广泛的 注意机制

  • 自我关注:查询、键和值均来自相同的输入序列。目标 目标是学习内部关系,例如句子中单词之间的关系(例如,理解 "它 "在段落中指的是什么)。 它 "在一个段落中指的是什么)。
  • 交叉注意:通常用于 序列到序列模型中使用。 查询来自一个序列(如解码器),而键和值来自另一个序列(如编码器)。这种情况 在机器翻译中很常见。 目标语言输出与源语言输入相关。

实际应用

捕捉长程依赖关系的能力使自我关注在现代人工智能(AI)中无处不在。 人工智能(AI)

  1. 上下文文本分析:在 NLP 中,自我关注可以解决歧义问题。考虑一下 "银行"。在句子 "他在河边钓鱼 "中,模型使用自我注意将 "银行 "与 "钓鱼 "和 "河流 "联系起来,将其与金融机构区分开来。 "银行 "与 "钓鱼 "和 "河流 "相关联,从而将其与金融机构区分开来。这 为Google 翻译等工具和基于 生成式人工智能
  2. 全局图像理解:在计算机视觉中,像 视觉Transformer (ViT)等模型将图像 成斑块,并利用自我注意力将场景中遥远的部分联系起来。这对于 杂乱环境中的物体检测至关重要。视觉变换器 Ultralytics RT-DETR(实时检测Transformer 利用这一点,通过有效 与标准的 卷积神经网络 (CNN) 不同,标准卷积神经网络(CNN)侧重于局部特征。

代码示例

下面的Python 代码段演示了如何加载和使用Transformer 的模型,该模型依靠自我注意 进行推理。 ultralytics 包装

from ultralytics import RTDETR

# Load the RT-DETR model, which uses self-attention for object detection
model = RTDETR("rtdetr-l.pt")

# Perform inference on an image to detect objects with global context
results = model.predict("https://ultralytics.com/images/bus.jpg")

# Display the resulting bounding boxes and class probabilities
results[0].show()

在现代架构中的重要性

谷歌研究人员在开创性论文 Google 注意力是你所需要的一切 "中提出的。它 解决了 困扰早期深度学习架构的梯度消失问题,从而创建了 像 GPT-4 这样的基础模型

基于注意力的模型虽然功能强大,但计算成本却很高。对于许多实时应用来说 基于 CNN 的高效模型,如 YOLO11仍然是 推荐选择,因为它们速度快、内存占用少。然而,混合方法和优化的变换器 将继续推动 机器学习的极限。展望未来,即将推出的 架构(如YOLO26)旨在整合这两个领域的优势,在 Ultralytics 平台上提供端到端功能。 在Ultralytics 平台上提供端到端功能。 像 PyTorchTensorFlow等框架为开发人员 实验这些先进的自我关注层。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入