多头注意力模型
多头注意力模型(Multi-Head Attention)是自注意力机制的扩展版本,它通过并行执行多组独立的注意力计算,让模型能够从不同的表示子空间中捕获信息。
动机
单一的自注意力机制使用一组 QKV 投影矩阵,只能从一个固定的角度建模序列中的依赖关系。然而,语言中的关系是多维度的——例如,一个词可能与不同距离、不同语法角色的多个词同时相关。多头注意力正是为了应对这种多维度建模需求而提出的。
工作原理
多头注意力并行地使用多组独立的、可学习的 Q、K、V 投影矩阵,对输入进行多次不同的注意力计算,得到多个上下文表示(“多个视角”),然后再经过一个可学习的线性变换,将得到的这些新表示进行融合将它们拼接起来,形成更丰富、更全面的最终表示。
计算步骤
- 多头分割:将输入 分别投影到 组不同的 、、 空间()。
- 并行注意力计算:对每组 独立执行缩放点积注意力计算。
- 拼接与投影:将所有头的输出拼接为一个长向量,再通过一个输出投影矩阵 线性变换为最终表示。
设计特点
- 维度分配:如果模型的总维度为 ,每个头的维度通常为 ,使得多头注意力的总计算量与单头注意力大致相当。
- 并行化:各头的计算相互独立,可以在 GPU 上高效并行执行。
- 互补性:不同的头倾向于关注序列中不同类型的模式——有的关注语法关系,有的关注语义相似性,有的关注位置邻近性。
在 Transformer 中的角色
多头注意力在 Transformer 架构中出现了三种不同的形式:
- 编码器的自注意力:每个位置关注编码器输入序列的所有位置。
- 解码器的掩码自注意力:每个位置只关注其之前(包括自身)的位置。
- 编码器-解码器交叉注意力:解码器的查询关注编码器的输出键值对。

链接到
- 上一个知识点:7.2 自注意力模型
- 下一个知识点:7.4 Transformer架构
- 相关知识点:11.2 关键技术概览