一个人不够,那就开八场会——Multi-Head Attention 图解

发布时间:2026/5/27 17:13:57

一个人不够,那就开八场会——Multi-Head Attention 图解 一、先回顾单头 Attention 的局限还是这句话“小明把蛋糕递给小红因为她不饿了。”单头 Attention 在处理她时会去找最相关的词——找到小红很好。但这句话其实同时包含好几层关系指代关系“她” → “小红”动作关系“递” → “小明”谁在递、“小红”递给谁因果关系“因为” → 不饿了解释了为什么递给她语义关系“蛋糕” 和 “吃” 在语义上天然接近单头 Attention 只有一套 Q/K/V一次只能主要关注一种关系。就像你开会只带了一个问题其他维度就顾不上了。二、Multi-Head同时开 8 场会Multi-Head Attention 的思路极其简单与其用一套 Q/K/V 做一次 Attention不如用h 套不同的 Q/K/V同时做 h 次每次关注不同的语义维度最后把结果合并。用开会类比注意每个小组用的是不同的权重矩阵所以它们学到的关系是不同的。模型不会提前规定每组负责什么——这些分工是训练时自动学会的。三、数学上是怎么做的不用怕就三步Step 1把维度切小分给每个头原来的词向量维度是d_model比如 512 维。有 h 个头就把维度平均分每个头负责d_k d_model / h维比如 512/8 64 维。每个头都有自己专属的权重矩阵 Wq_i、Wk_i、Wv_i学到的是不同的视角。Step 2每个头独立做 Attention每个头各自完整地走一遍 Self-Attention 流程8 个头并行计算互不干扰速度和单头一样快。Step 3拼接 线性变换把 8 个头的输出横向拼起来再乘一个输出权重矩阵 Wo压缩回原始维度Wo 的作用是让各个头的信息融合而不只是简单堆叠。四、用图来看单头 vs 多头最终拼接 → 比单头理解更立体、更全面五、一个更直觉的比喻摄影师 vs 摄影团队想象你要拍摄一场婚礼单头 Attention 只有一个摄影师他只能站在一个位置拍一个角度。Multi-Head Attention 8 个摄影师同时拍摄影师1 在台上拍新人表情摄影师2 在观众席拍宾客反应摄影师3 在门口拍全景摄影师4 在角落拍细节装饰……最后把所有照片剪辑在一起你对这场婚礼的理解比任何单一角度都完整。Wo输出矩阵就是那个剪辑师——负责把所有素材整合成一个连贯的故事。六、为什么不直接用一个超大的单头合理的问题既然多头是把维度切小再分配为什么不直接用一个 512 维的单头做一次超级 Attention答案有两点1. 子空间隔离学习更专注每个头在自己的 64 维子空间里学习不会被其他类型的关系干扰。就像每个小组开独立的会比所有人挤在一个会议室更高效。2. 表达能力更强数学上可以证明h 个 d_k 维的 Attention 头能学到的函数族严格包含单个 d_model 维 Attention 能学到的。多头不是冗余是真的能捕捉到更复杂的模式。七、真实模型里用了几个头模型层数注意力头数d_model原版 Transformer68512BERT-base1212768BERT-large24161024GPT-3969612288GPT-4推测120128超大头越多模型能同时关注的语义维度越多——但计算量也同步上升。这是个工程上的权衡。八、研究者发现了什么有趣的事Multi-Head Attention 的各个头真的会自发分工研究者通过可视化发现了一些规律某些头专门负责指代消解遇到它她时这些头的注意力几乎全打在先行词上某些头负责句法依存比如动词和它的主语之间权重特别高某些头关注局部主要看相邻的 1-2 个词某些头关注全局权重相对均匀地分布在整个句子这不是人工设计的是模型在大量文本上训练后自动涌现的能力相当神奇。九、完整流程总结十、三句话总结Multi-Head 多视角理解h 个头同时做 Attention每个头学到不同类型的语义关系。并行不增加时间各头独立计算速度和单头几乎一样但表达能力强得多。分工是自动学会的模型训练时自发形成指代头句法头等专业分工不需要人工指定。延伸阅读 原论文Attention Is All You Need— Section 3.2.2 专门讲 Multi-Head 可视化工具BertViz — 可以看到 BERT 每个头在关注什么 深入研究Are Sixteen Heads Really Better than One?2019— 探讨哪些头真正重要

相关新闻