博主头像

Transformer 神经网络背后的矩阵数学:逐步解析

外来客 • 2026-08-27 03:16:19

分享
𝕏 f
声明:本文为对公开内容的摘要整理, 未经本站独立核实,可能与原内容存在出入,不代表本站立场、观点或建议; 观点与版权归原作者及原平台所有。 如涉及版权问题,请联系我们,核实后立即删除。 [ 免责声明 ]

(原标题:The matrix math behind transformer neural networks, one step at a time!!!)

📐 矩阵数学基础与前提

  • 本教程旨在通过矩阵代数逐步解析 Transformer 神经网络的内部数学逻辑,前提假设观众已掌握 Transformer 基本工作原理及神经网络所需的矩阵代数基础。
  • 核心目标是理解编码器-解码器(Encoder-Decoder)架构的矩阵表示法,因为该架构涵盖了所有类型 Transformer 所需的数学组件,掌握此表示法能极大简化 Transformer 及通用神经网络的代码实现理解。
  • 示例任务为将英语短语 "Let's go" 翻译为西班牙语 "Vamos",输入序列包含起始标记 SOS、LET'S、GO,输出序列包含 VAMOS 和结束标记 EOS。

🔄 编码器:嵌入与自注意力

  • 词嵌入与位置编码:输入令牌通过词嵌入网络转换为向量,每个令牌对应嵌入矩阵的一行(One-hot 编码)。随后,将预计算的正弦和余弦曲线 Y 轴坐标作为位置编码,通过逐元素加法叠加到词嵌入上,形成编码后的输入值。
  • 自注意力计算
  • 利用编码后的值分别乘以查询(Q)、键(K)、值(V)权重矩阵,生成对应的 Q、K、V 矩阵。
  • 计算 Q 与 K 转置的乘积,得到未缩放的点积相似度矩阵。点积作为相似度的无缩放度量,与余弦相似度相关但未归一化。
  • 将相似度矩阵除以键向量维度 $D_k$ 的平方根进行缩放,以稳定数值范围。
  • 对缩放后的矩阵每一行应用 Softmax 函数,使每行权重之和为 1,表示令牌间的相对重要性。
  • 最后,将 Softmax 输出的权重矩阵与 V 矩阵相乘,得到自注意力得分。
  • 残差连接:将自注意力得分与位置编码后的原始输入值相加,形成编码器的最终输出。

🛡️ 解码器:掩码机制与训练策略

  • 教师强制(Teacher Forcing):在训练阶段,解码器使用已知的正确输出令牌(如 VAMOS)作为下一步的输入,而非使用模型自身的预测结果,以加速训练过程。
  • 掩码自注意力
  • 解码器同样计算 Q、K、V 矩阵及点积相似度。
  • 为防止令牌“作弊”查看未来信息,引入掩码矩阵。掩码矩阵对需要忽略的未来位置添加负无穷($-\infty$),对当前及过去位置添加 0。
  • 应用 Softmax 后,当前令牌仅关注自身及之前的令牌,确保生成过程符合自回归逻辑。
  • 并行计算优势:训练时利用掩码机制,可同时计算所有令牌的嵌入、位置编码及注意力分数,充分利用硬件并行计算能力,提高训练效率。

🔗 编码器-解码器注意力与输出

  • 交叉注意力机制
  • 查询矩阵 Q 由解码器的当前状态值生成。
  • 键矩阵 K 和值矩阵 V 由编码器的输出矩阵生成。
  • 通过标准的注意力计算流程(Q 乘 K 转置、缩放、Softmax、乘 V),使解码器能够关注输入序列中的相关信息。
  • 全连接层与输出预测
  • 交叉注意力得分经过残差连接后,进入全连接层。该层将每个令牌的向量映射到输出词汇表的大小(示例中为 5 个输出节点)。
  • 添加偏置项后,对输出应用 Softmax 函数,得到每个令牌的预测概率分布。
  • 最终,概率最高的令牌被选为生成结果(如 VAMOS 和 EOS),完成翻译任务。

0 条评论

发表评论

请先 登录 后参与讨论。