技术博客

注意力矩阵的秩与表达能力

第 49 / 147 篇 · 2026-05-08 · ai · 注意力机制线性代数长文本建模

"注意力矩阵是低秩的"是个流传很广、也常被用错的说法。softmax 前的 $S$ 和 softmax 后的 $P$ 秩的行为完全不同,混为一谈会推出错误结论。这篇把两个层次分开,再看低秩结构对长序列建模意味着什么。

softmax 之前:严格低秩

打分矩阵 $S = QK^\top/\sqrt d$,$Q,K\in\mathbb{R}^{n\times d}$。矩阵乘的秩不等式直接给出

$$ \mathrm{rank}(S) \le \min(\mathrm{rank}(Q),\mathrm{rank}(K)) \le d. $$

这是一个硬约束,与数据无关:无论序列多长($n$ 多大),$n\times n$ 的打分矩阵永远活在不超过 $d$ 维(LLaMA-3 是 128)的线性子空间里。直觉图景:每个 token 的 query 和 key 都被压进一个 $d$ 维的"匹配空间",token 两两之间的相似度只能在这个 $d$ 维坐标系里表达。如果两个语言现象需要 129 维才分得开的匹配几何,单个头的注意力结构上就给不出来——这是多头设计(上一篇)在秩层面的另一面。

softmax 之后:满秩但谱衰减

对 $P=\mathrm{softmax}_{\text{row}}(S)$ 说"低秩"是错的。softmax 逐行作用后 $P$ 的元素全部严格为正(指数函数保号),而一个所有元素非零的 $n\times n$ 矩阵通常满秩($P$ 以概率 1 满秩)。数学事实如此,实践中却有另一个同样有用的现象:谱集中。

看 $P$ 的奇异值谱:尽管秩为 $n$,前若干个奇异值吸走了绝大部分质量,尾部奇异值小到可以忽略。原因是 softmax 的输出是 S 的逐行平滑化,而 $S$ 本身低秩——低秩矩阵加有界扰动后,奇异值按 Weyl 不等式 $\sigma_{k}(S+E) \le \sigma_k(S) + \|E\|$ 排列,$S$ 在 $k>d$ 处奇异值是零,$P$ 在那里只剩扰动级别的小奇异值。所以准确的表述是:softmax 把硬低秩变成了软低秩(谱快速衰减)。有效秩 $\exp(H(\bar\sigma))$(谱熵意义下)远小于 $n$,实测 BERT/GPT 系注意力矩阵截断到 top-64~128 个奇异值,重构误差已经在噪声 floor 附近——恰好和 $d$ 同量级,闭环了。

这个结构为什么既是瓶颈又是机会

瓶颈面:$n\times n$ 的注意力矩阵携带的自由度被 $d$ 卡住,长序列里需要的精细区分(哪个指代对应哪个先行词)受限于匹配空间的维度。这是"长文本建模难"的一个结构性注脚。

机会面:既然 $P$ 的有效信息被压在低维谱里,显式存储和传播完整的 $n\times n$ 矩阵就是浪费。两类方法顺着这个观察做:

  • 低秩近似:把 $P$ 用 top-$r$ 奇异值分解 $P\approx U_r\Sigma_rV_r^\top$ 压缩存储与计算(Linformer 路线),复杂度从 $O(n^2)$ 降到 $O(nr)$,代价是 $r$ 的选择变成新的超参与精度瓶颈。
  • 核函数绕过:线性注意力(下一篇详推)不再显式构造 $P$,而是用特征映射 $\phi$ 把 softmax 核换成 $\phi(q)^\top\phi(k)$ 形式,让 $P$ 的"低秩本质"在计算图里根本不落地。

两者共同的前提是"谱集中"这个实证性质,而它最终又回溯到 softmax 前那个 $d$ 维硬约束——秩的分析在这里既是诊断工具也是设计工具。

softmax 前硬低秩(rank ≤ d),softmax 后满秩但谱集中 0 奇异值序号 k σ k = d S = QKᵀ/√d:k > d 处 σ = 0 P = softmax(S):满秩 但谱快速衰减 有效秩 ≪ n:截断 top-r 重构误差即达噪声 floor → Linformer / 线性注意力的前提

小结

两个秩要分开说:softmax 前的 $S$ 有硬上界 $\mathrm{rank}\le d$,是结构性瓶颈;softmax 后的 $P$ 以概率 1 满秩,但谱集中、有效秩被压在 $d$ 量级,是实证性质。瓶颈解释了长序列建模的困难,谱集中则喂出了 Linformer 一类的低秩近似和线性注意力一类的核函数改写——秩这把尺子同时量出了注意力的短板和出路。下一篇换个度量:不看矩阵的秩,看每行分布的熵,观察注意力什么时候"广撒网"、什么时候"单点突破"。