跳到主内容
快讯直播
AI智模界
AI 词典

多头注意力(Multi-Head Attention):让模型用几双不同的眼睛看同一句话

一句话定义

多头注意力(Multi-Head Attention)是把注意力计算拆成若干组并行进行、最后再拼合起来的机制:每一组叫一个「头」(head),各自在不同的子空间里学习关注不同的关系。

它到底在干什么

先回顾自注意力(AI 词典:Self-Attention">Self-Attention):句子里每个词都会生成三个向量——Query(查询)、Key(键)、Value(值)。用 Q 和 K 的点积算出「谁该关注谁」的权重,再拿这些权重去加权求和 V,就得到这个词的新表示。

问题是:一套 Q/K/V 投影只能学出一种关注模式。而一句话里同时存在多种关系——指代、语法、语义相似、修饰……

多头注意力的做法很朴素:把这套流程复制 h 份。每一份都有自己独立的投影矩阵,把输入映射到一个更小的维度(如果模型维度是 512、8 个头,每个头就管 64 维),各自独立算一遍注意力,然后把所有头的输出拼接(concat)起来,再过一个线性层融合成最终结果。

打个比方:审一份合同,一个人从头到尾只能带一种关注习惯。多头注意力像一个评审小组——甲专门盯付款条款,乙专门盯交付时间,丙专门盯违约责任。三人各拿一支不同颜色的高亮笔,标完把纸叠在一起,才是一张完整的风险地图。看球赛也一样:有人盯球,有人盯防守阵型,有人盯裁判,拼起来才是比赛全貌。

有个常被忽略的细节:因为每个头的维度缩小到了 d_model / h,多头并不会带来 h 倍的计算开销,总量和单头全维度大致相当。

和相邻概念的区别

单头注意力多头注意力
关注模式一种多种,并行
单个头维度完整维度完整维度 ÷ 头数
计算量一份大矩阵h 份小矩阵,总量相近
输出方式直接加权求和拼接后再线性映射

还要区分两件容易混淆的事:

  • 多头注意力 vs 多查询/分组查询注意力(MQA / GQA:后者是推理阶段让多个头共享 K、V 来省显存的工程优化,目的不是「多个视角」。
  • 多头注意力 vs 卷积的多通道:多通道是不同卷积核扫同一份输入,多头是对同一份输入做多种投影,关注的是词与词之间的关系而非局部窗口。

对实际工作意味着什么

对从业者:头数是个超参,不是越多越好;实践中有些头被剪掉后效果几乎不变,说明存在冗余。可视化注意力图能帮你观察模型在关注什么,但别把某一条注意力线当成因果解释。

对职场使用者:模型能同时抓住指代、句法、语义这些不同线索,正是它能处理长句、多义词、跨句指代的原因之一。你写提示词时把关键约束分点、分行写清楚,本质上是给它更多「可被不同头分别捕获」的信号。具体实现细节各家框架略有差异,以官方文档为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。