缩放点积注意力
概述
缩放点积注意力(Scaled Dot-Product Attention)是 Transformer 的核心计算单元,通过 Query-Key 点积计算注意力权重,除以 $\sqrt{d}$ 防止大维度下梯度消失。
关键内容
-
数学定义:$\text{Attention}(\mathbf{Q}, \mathbf{K}, \mathbf{V}) = \text{softmax}\left(\frac{\mathbf{Q}\mathbf{K}^T}{\sqrt{d}}\right) \mathbf{V}$,其中 $\mathbf{Q}, \mathbf{K}, \mathbf{V}$ 分别是查询、键、值矩阵,$d$ 是嵌入维度。
-
缩放因子的作用:除以 $\sqrt{d}$ 防止当嵌入维度较大时点积值过大,导致 softmax 的梯度消失。当 $d$ 较大时,未缩放的点积方差为 $d$,值域过大使 softmax 进入饱和区,梯度接近零。
-
在 SASRec 中的应用:SASRec 使用缩放点积注意力作为核心计算机制,结合 因果掩码 实现单向序列建模。三个线性变换 $\mathbf{W}^Q, \mathbf{W}^K, \mathbf{W}^V \in \mathbb{R}^{d \times d}$ 将输入嵌入映射为 Q/K/V。
-
与加性注意力的对比:原始 Transformer 论文比较了缩放点积注意力和加性注意力(Additive Attention),发现点积注意力在速度和空间效率上更优,尤其在使用矩阵乘法库时。
来源
- Attention Is All You Need (NeurIPS 2017)
- SASRec 原始论文 (ICDM 2018)
- raw/articles/ai-papers/machine-learning/14_transformer_2017.md — √d_k 缩放原理详解