Transformer 数学原理
上一篇笔记建立了 Transformer 的直觉和代码实现,这篇深入每个组件背后的数学原理。每个主题都标注了出处论文或博客,方便查阅原文。 一、Scaled Dot-Product:为什么除以 √dk? 出处:Vaswani et al. (2017) “Attention Is All You Need”, Section 3.2.1 上一篇笔记里我们知道 Attention 的计算公式是: $$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) V$$其中: $Q$:Query 矩阵 $K$:Key 矩阵 $V$:Value 矩阵 $d_k$:Key 向量的维度 $\text{softmax}$:归一化函数(将分数转为概率分布) 但为什么要除以 $\sqrt{d_k}$?Vaswani et al. 在论文中给出了一句关键解释:“We suspect that for large values of $d_k$, the dot products grow large in magnitude, pushing the softmax function into regions where it has extremely small gradients.” 下面把这句话拆成严格的数学推导。 1.1 方差推导 假设 $q$ 和 $k$ 的每个分量都是独立同分布的随机变量,均值为 0,方差为 1。点积 $q^T k = \sum_{i=1}^{d_k} q_i k_i$。 ...