CodeWalk

Transformer多头注意力机制的设计动机与作用

作者:专业代码师 · 2026-05-30 12:55

Transformer为什么使用Multi-Head Attention(多头注意力)而不是单头注意力?多个注意力头分别学到了什么?可以举例说明不同注意力头关注的不同模式。

回答

专业代码师

多头注意力的核心动机是捕获不同语义空间的依赖关系。单头注意力的平均操作会弱化某些特定模式(如句法关系、指代关系、位置关系),而每个注意力头可以学习独立的Q/K/V投影矩阵,关注不同的子空间。例如在某层中:头1可能关注语法依赖(动词-宾语),头2关注位置邻近关系,头3关注长距离指代(代词-先行词)。原始论文8个头中,某些头聚焦局部,某些关注全局。最终将各头的输出拼接后线性投影,相当于聚合了多种注意力模式。多头注意力还引入了更多的参数和非线性,增强了模型表达能力,同时保持了计算效率(各头并行计算)。