获取 YOLO 许可
返回 Ultralytics 术语表

Linear Attention

线性注意力用特征映射替代 softmax,使计算成本随序列长度线性增长,并在解码时保持固定大小的状态。内容涵盖 DeltaNet 和混合架构。

线性注意力是一类注意力机制,其开销随序列长度线性增长,而标准 softmax 自注意力的开销则呈二次增长。Softmax 注意力会计算每个查询与每个键的分数,因此 N 个token会为每个头生成一个 N × N 分数矩阵;生成文本的Transformer还会维护一个随每个 token 增长的 KV 缓存。线性注意力用特征映射的点积 φ(q)·φ(k) 替代 softmax 相似度,让模型能够重新排列矩阵乘法,并在固定大小的状态中概括所有历史键和值。Katharopoulos 等人在 2020 年的论文 Transformers are RNNs 中给出了这种方法的常见形式;如今,门控变体已与标准注意力层一起应用于生产环境中的大型语言模型(LLM)。

线性注意力的工作原理#

Softmax 注意力计算 softmax(QKᵀ)V;由于 exp(q·k) 无法分解为查询部分和键部分,因此必须为每一对查询和键计算分数。使用特征映射 φ(例如 elu(x) + 1)后,输出变为 φ(Q)(φ(K)ᵀV),并由 φ(Q) 乘以 φ(K) 各行之和进行归一化。矩阵乘法满足结合律,因此可以先计算 φ(K)ᵀV,得到一个 d × d 矩阵,其中 d 是头的维度,无论 token 数量是多少。计算时间由 O(N²d) 降至 O(Nd²),当序列长度远大于头的维度时,这种方法就能带来优势。

对于因果模型,相同的代数变换会将注意力转化为具有矩阵状态的循环神经网络(RNN)。每个新 token 都会将外积 φ(k)vᵀ 加入状态,其查询再从该状态读取信息,因此文本生成每个 token 所需的内存和时间都是常数。训练时使用并行形式,或使用 flash-linear-attention 库中的分块内核,因此 GPU 仍可一次处理整个序列。在 PyTorch 中,两种形式会产生相同的输出:

import torch
import torch.nn.functional as F

torch.manual_seed(0)
n, d = 2048, 64
q, k, v = torch.randn(3, n, d).unbind(0)
phi_q, phi_k = F.elu(q) + 1, F.elu(k) + 1  # positive feature map in place of softmax

# Parallel form: an n x n causal score matrix, as in softmax attention
scores = torch.tril(phi_q @ phi_k.T)
parallel = (scores @ v) / scores.sum(dim=-1, keepdim=True)

# Recurrent form: a fixed d x d state that each new token updates
state, norm, outputs = torch.zeros(d, d), torch.zeros(d), []
for t in range(n):
    state += torch.outer(phi_k[t], v[t])
    norm += phi_k[t]
    outputs.append(phi_q[t] @ state / (phi_q[t] @ norm))
recurrent = torch.stack(outputs)

print("Same outputs:", torch.allclose(parallel, recurrent, atol=1e-4))
print(f"Recurrent state: {state.numel():,} numbers; KV cache after {n:,} tokens: {2 * n * d:,} numbers")

它会打印 Same outputs: True。无论序列增长多长,64 × 64 的状态都只包含 4,096 个数字;而一个头在处理 2,048 个 token 后的 KV 缓存包含 262,144 个数字,并且每新增一个 token 就增加 128 个数字。

DeltaNet、门控与混合模型#

固定大小的状态是一种有损记忆。普通线性注意力只会向状态中添加内容,因此旧关联会不断堆积并相互干扰,对长上下文窗口中特定事实的回忆能力也不如 softmax 注意力。目前有两种主流改进方法。门控会在每次更新前将状态乘以一个可学习的衰减值,使模型能够遗忘;这与 Mamba-2 等状态空间模型(SSM)采用的机制相同,其作者证明这两个模型家族是彼此的对偶形式。Delta 规则源自将线性 Transformer 与快速权重程序联系起来的研究:它读取当前存储的键对应的值,并且只写入新值与该已存储预测之间的差异。DeltaNet 于 2024 年实现了在整个序列上并行训练 Delta 规则;Gated DeltaNet(ICLR 2025)增加了衰减门控;Moonshot AI 的 Kimi Linear 则进一步改进了门控,使其能分别作用于每个通道。

生产模型会将这些层与完整注意力交替使用,从而通过少数 softmax 层保持精确回忆能力。Qwen3-Next 和 Qwen3.5 系列会重复使用由三层 Gated DeltaNet 和一层门控 softmax 注意力层组成的模块;Kimi Linear 则采用类似的 3:1 混合比例,使用 Kimi Delta Attention 和多头潜在注意力:

  • 自注意力:精确的 softmax 形式,会为所有 token 对计算分数,计算时间呈二次增长,KV 缓存也随序列增长。
  • Flash Attention:一种 GPU 内核,在片上内存中以分块方式计算精确的 softmax 注意力。它减少了内存流量,但运算次数仍呈二次增长。
  • 稀疏注意力:保留 softmax,但只为选定的 token 对计算分数,例如只关注最近 token 的局部窗口。
  • 分组查询注意力(GQA):让多个查询头共享键和值,以常数倍缩小 KV 缓存,同时保留完整的 softmax 注意力。

线性注意力的应用场景#

长上下文语言模型是最大的应用领域,因为混合模型中的线性层在解码期间会维持固定大小的状态,只有少数 softmax 层需要使用不断增长的 KV 缓存。视觉是第二大应用领域,因为 token 数量会随图像分辨率增加。EfficientViT 使用基于 ReLU 的线性注意力进行高分辨率语义分割,NVIDIA 的 SANA 则构建了线性扩散 Transformer,可生成最高 4096 × 4096 像素的图像。在目标检测中,注意力通常只在特征图尺寸最小时运行。YOLO26 保留标准 softmax 注意力,并且只在 C2PSA 模块和一个启用了注意力的 C3k2 模块中运行,两者都作用于 640 像素图像的 20 × 20 stride-32 特征图,因此每个注意力层处理 400 个 token,每个头的完整分数矩阵包含 160,000 个元素。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来