多头自注意力机制
多头自注意力(Multi-Head Self-Attention, MHSA)就是把“一个自注意力”拆成 h 个“头”并行计算,再把结果拼接回来,让模型同时从不同子空间捕捉多种依赖关系。
-
为什么多头
单头自注意力只有一组 Q/K/V,只能学到一种“相似度度量”;
多头 → 每组独立投影 → 各学各的(如语法、指代、颜色、纹理),最后综合,表达能力更强。
-
公式步骤
输入 X (n×d)
① 线性投影 h 次:
Qi = X WQi , Ki = X WKi , Vi = X WVi
其中 W∈ℝ^{d×d_k}, d_k = d/h
② 并行缩放点积注意力:
head_i = Softmax(Qi Ki^T /√d_k) Vi
③ 拼接 + 再投影:
MultiHead(Q,K,V) = Concat(head_1…head_h) WO
WO∈ℝ^{hd_k×d}
-
形象理解
单头:一个人看完句子,只给一种权重表。
多头:h 个人同时读,每人关注点不同(主谓/指代/颜色/形状…),最后把 h 份笔记合并。
-
超参举例
d=512, h=8 ⇒ 每个头 d_k=64;8 组 64 维注意力并行计算,再拼回 512。
一句话:
多头自注意力 = “分组并行计算多个自注意力”,让模型一次捕获多种不同层面的依赖。
多头自注意力 = “分组并行计算多个自注意力”,让模型一次捕获多种不同层面的依赖。
浙公网安备 33010602011771号