2026/5/21 20:02:49
网站建设
项目流程
成都网站建设 平易云,珠海百度seo,广州比较好的广告公司有哪些,购物网站设计图✅ Q1#xff1a;为什么“让邻近位置得分高” → 必须满足方向(Q1) ≈ 方向(K2)#xff1f;
这个问题的本质是#xff1a;
Self-Attention 的打分函数是什么#xff1f;
答案就是点积#xff08;dot product#xff09;#xff1a;
[
Score(i,j)Q_i\cdot K_j
]
它展开就…✅ Q1为什么“让邻近位置得分高” → 必须满足方向(Q1) ≈ 方向(K2)这个问题的本质是Self-Attention 的打分函数是什么答案就是点积dot product[Score(i,j)Q_i\cdot K_j]它展开就是[Q_i\cdot K_j |Q_i| |K_j| \cos\theta]其中θ Q_i 和 K_j 的夹角 cosθ 越大 → 方向越接近 → 得分越高所以⭐ 如果想让 score(1,2) 大你必须让 θ12 小→方向(Q1) 必须接近 方向(K2)否则 cosθ 会很小甚至为负。这不是“经验”而是数学定理。⭐ 举一个简单的数值例子最清晰假设Q1 [1, 0] K2 [1, 0] → 同方向 K4 [-1, 0] → 反方向那么Q1·K2 1*1 0*0 1 Q1·K4 1*(-1) -1→方向一样 → 得分高→方向相反 → 得分最低这就是“方向必须接近”的数学根源。 为什么选择“方向接近”而不是“距离接近”因为 Transformer 使用的是点积注意力点积本质上就是在“方向空间”中计算相似性它不是欧氏距离而是“方向相似性”。所以要让相邻 patch 的分数大 → 方向必须一致这是唯一可行方式。 Q2Multi-Head 为什么能学到不同几何关系因为[Q XW_Q^h,\quad K XW_K^h]每个 head 有独立的投影矩阵( W_Q^1, W_K^1 )( W_Q^2, W_K^2 )( \dots )( W_Q^H, W_K^H )它们都从随机初始化开始。在训练中每个 head 都受到损失的反向传播但 每个 head 的梯度方向不同 每个 head 可以选择不同的“几何关系”去降低 loss这就造成⭐ 头之间的“自然分工现象”具体来说 Head A局部 Head发现训练时相邻 patch 相关性最强于是它学会Q_i 和 K_{i±1} 方向相似其它位置方向差远该头就处理局部邻域几何关系 Head B垂直方向敏感 Head发现物体形状在上下方向变化明显于是它学到上下 patch 的 Q,K 方向更相近左右 patch 的方向差更大 Head C全局 Head发现识别大物体需要全图信息学到Q_i 对远处的 K_j 也有高注意力不关心局部刚性结构 Head D纹理 Head捕获高频细节与几何关系无关更多与颜色/纹理相关⭐ 结论每个 head 通过梯度下降自动学会不同的“特征空间”包括不同的几何关系。 Q3如果我改变 head 数量会发生什么1head 更多 → granular更细粒度例如 H 16更多的投影矩阵能捕捉更细致的几何关系会出现更多“专注不同方向/区域”的头但单个 head 的维度变小例如 d_model76816 heads → 每头 48 维2head 更少 → 更粗粒度例如 H 4更少的几何分解能力单头维度更大768/4 192每个头要承担更多功能可能混合多个几何模式清晰性下降⭐ 为什么不能只用 1 个 head如果只有 1 个 head它必须同时理解“局部关系 全局关系 垂直方向 水平方向 纹理 边缘 形状”这会非常困难模型性能明显下降论文证明过多头 attention 的本质就是把不同的空间/语义关系分解到不同的投影空间中。 最终大总结最重要的三句话 1.要让 Q1 对 K2 的注意力分数更高必须保证它们方向接近数学上唯一可行。 2.可学习位置编码在训练中被强迫形成“空间结构”相邻 patch 的 pos 向量方向变得更接近远处变远。 3.Multi-Head 自然会学到不同几何关系因为每个 head 有独立的 Q、K 投影矩阵会自动“分工”。