理解 Transformer 中的多头注意力

发布: (2026年5月4日 GMT+8 04:08)
3 分钟阅读
原文: Dev.to

Source: Dev.to

多头注意力概述

自注意力让 Transformer 通过 Query(查询)Key(键)Value(值) 向量捕获词语之间的关系。然而,单个注意力头往往一次只能关注一种关系,而自然语言通常同时包含多层结构、意义和远距离依赖。

多头注意力通过 并行多次应用注意力机制 来解决这个问题。每一次并行运行称为一个 head(头),每个头都有自己学习的 Query、Key、Value 权重。因此,每个头都会从自己的视角审视同一句子。

工作原理

  1. 准备输入嵌入 – 像往常一样生成 token 嵌入(加上位置编码)。
  2. 拆分为多个头 – 线性投影层将嵌入映射到 h 个独立的子空间,每个子空间对应一个头。
  3. 每个头的自注意力 – 每个头独立计算注意力得分并进行加权求和。
  4. 头的输出 – 每个头产生自己的输出表示。
  5. 拼接 – 将所有头的输出在特征维度上拼接起来。
  6. 最终线性层 – 最后一个投影层将拼接后的向量混合为单一输出,供下一个 Transformer 块使用。

不同头捕获的内容

  • 词序和语法 – 句法模式和位置关系。
  • 邻近词关系 – 本地依赖,如搭配词。
  • 远距离链接 – 序列中相距较远的词之间的联系。
  • 语义/意义关联 – 上下文相似性和主题连贯性。

类比

可以把单个头想象成以一种特定焦点阅读句子。多头注意力则像是多次阅读同一句子,每次关注不同的方面,然后将这些观察结果合并,形成更丰富的整体理解。

这种并行处理使模型能够同时从多个角度把握语言,而不必让单一注意力机制去处理所有类型的关系。

0 浏览
Back to Blog

相关文章

阅读更多 »

Transformer 本质上简洁

资源 - 查看 PDF https://arxiv.org/pdf/2510.19315 - HTML 实验版 https://arxiv.org/html/2510.19315v2 摘要 我们提出将 succinctness 作为衡量 …