自注意力模型
自注意力模型(Self-Attention Mechanism)是注意力机制的核心变体,它允许序列中的每个位置关注该序列中的所有其他位置,从而捕获长距离的上下文依赖关系。
核心思想
传统注意力机制通常在编码器与解码器之间计算注意力权重,而自注意力则将这种计算限制在单一序列内部。对于输入序列中的每一个 token,自注意力会计算它与序列中所有 token 的相关性,并据此生成一个上下文感知的新表示。
QKV 计算范式
自注意力模型引入了 查询(Query)、键(Key)、值(Value) 的三元组计算范式:
- 线性投影:输入序列 通过三个可学习的权重矩阵 、、 分别投影到查询 、键 、值 空间。
- 注意力分数计算:对于每个查询 ,计算其与所有键 的点积相似度,得到注意力分数矩阵。
- 缩放与归一化:将注意力分数除以 (键向量的维度)以防止梯度消失,再通过 Softmax 函数归一化为概率分布。
- 加权求和:将归一化后的注意力权重与对应的值 进行加权求和,得到每个位置的输出表示。
数学表达
自注意力的计算可以统一表示为:
其中 ,,。
计算过程可视化
下图展示了从输入 token 到输出的完整自注意力计算流程:
在这个过程中,相当于通过学习得到 QKV 的矩阵参数后,对输入的 token 进行计算得到 QKV,并通过公式计算,得到一个变换矩阵,通过这个矩阵,可以对当前的 token 输入变换得到其得到带上上下文的新表示。
优势与局限
优势:
- 能够捕获任意距离的依赖关系,不受序列长度的限制(与 RNN 相比)
- 计算可以高度并行化,训练效率高
- 每个位置的输出都直接融合了全局信息
局限:
- 计算复杂度为 ,当序列长度 很大时计算开销显著
- 纯粹的注意力机制不具备序列顺序感知能力,需要额外引入位置编码
- 对低层特征的局部模式捕获能力较弱
自注意力模型是 Transformer 架构的基础构建块,后续的多头注意力、编码器和解码器均在此基础上演化而来。

链接到
- 上一个知识点:7.1 序列到序列模型
- 下一个知识点:7.3 多头注意力模型
- 相关知识点:11.2 关键技术概览