注意力机制

Attention Mechanism

注意力机制(Attention Mechanism)是一种让模型在处理序列数据时,动态地给不同位置分配不同权重的计算方法,是 Transformer 架构的核心组件。

详细解释

注意力机制(Attention Mechanism)的核心思想来源于人类视觉:当人眼观察一幅图像时,会把「注意力」集中在关键区域,而忽略背景噪声。在深度学习中,Attention 让模型在处理 token 序列时,学会「聚焦」于最相关的部分。

在 Transformer 出现之前,主流序列模型是 RNN/LSTM,它们必须按时间步逐个处理,难以并行,且长距离依赖容易丢失。2017 年 Google 在论文《Attention Is All You Need》中提出完全基于注意力机制的 Transformer,一举解决了这两个问题,从此奠定了现代大模型的架构基础。

注意力机制的三大变体

变体作用范围典型应用
Self-Attention(自注意力)同一序列内 token 之间互相关注文本理解
Cross-Attention(交叉注意力)两个不同序列之间互相关注翻译、文生图
Multi-Head Attention(多头注意力)多个注意力头并行,捕获不同子空间特征所有 Transformer 模型

计算公式

Attention 的核心公式(缩放点积注意力):

Attention(Q, K, V) = softmax(Q · Kᵀ / √d_k) · V

其中 Q(Query)、K(Key)、V(Value)均由输入 token 的 Embedding 线性变换得到。

常见问题

Attention 和 Self-Attention 有什么区别?
Attention 是一个通用概念;Self-Attention 特指 Q、K、V 都来自同一个序列的注意力,是 Transformer 的核心。
为什么需要除以 sqrt(d_k)?
是为了防止点积数值过大导致 softmax 梯度消失,d_k 是 Key 向量的维度。