Interview: Multi-Head Attention的参数量和Single-Head完全相同,那多头的优势本质上来自哪里?


题目解析

这是一道非常经典的看似矛盾型面试题。MHA将d_model分成h个头,每个头维度d_k=d_model/h,总参数量3·d_model²+d_model²与单头完全相同。面试官想看你是否理解多头并非通过增加参数获益,而是通过结构化归纳偏置提升表达能力。

解答思路

多头的本质优势来自子空间分解:每个头在独立的低维子空间中计算注意力模式,允许模型同时捕获不同类型的关系(如语法关系、语义关系、位置关系等)。单头虽然参数量相同,但被迫在一个高维空间中用单一softmax分布建模所有关系,表达能力受限于一次softmax只能产生一种注意力分配方案。

关键要点

关键点有三:(1)多头允许不同的注意力模式共存——单头的softmax是一种竞争机制,关注A就必须减少对B的关注,多头打破了这种竞争;(2)低秩分解——每个头的注意力矩阵是rank最多为d_k的低秩矩阵,但多个低秩矩阵的组合可以逼近高秩矩阵;(3)优化友好——多头提供了更好的梯度流动路径。

加分回答

可以引用Voita等人的分析工作,发现不同的头确实学到了不同的语言学模式。还可以提到head pruning的研究表明并非所有头都同等重要,一些头可以被裁剪而不影响性能,这反过来支持了多头提供冗余和多样性的论点。

常见踩坑

最大的坑是回答多头增加了参数所以更好——参数量完全相同。另一个误区是认为多头仅仅是一种并行加速手段,这忽略了其在表达能力上的根本优势。也有人说多头就是集成学习,虽然有相似之处,但多头共享输出投影矩阵W_O,不是简单的集成。