方差的可加性
对于 相互独立 的随机变量 ,它们之和的方差等于各自方差之和。
证明: 设这些随机变量的期望分别为 。 根据定义,和的方差为:
其中 就是协方差 。 当 时,由于变量相互独立,协方差为 0。 当 时,协方差就是方差 。 因此:
证毕。
重要前提:此性质成立的关键条件是随机变量 相互独立。如果变量之间存在相关性,则和的方差公式需包含协方差项:。
在 Self-Attention 中的应用
在 Transformer 的 Self-Attention 机制中,注意力得分通过查询向量 和键向量 的点积计算,二者维度均为 。
通常我们假设 和 的每个分量是独立的随机变量,且方差均为 1。即:
- 对于 , 的方差
- 对于 , 的方差
- 同时,我们通常也假设 与 独立,且 。
那么,点积 中,每一项 的方差是多少?
由于 与 独立且均值为0,有:
这里利用了 (因为均值为0)。
现在,我们将 个方差为 1 的独立随机变量 相加。根据方差可加性定理:
结论: 个方差为 1 的独立随机变量之和,其方差确实为 。
为何需要缩放因子
在 Self-Attention 的原始论文 Attention Is All You Need 中,注意力得分的计算公式为:
缩放的原因:
- 如上所证,点积 的结果方差随 线性增长 ()。
- Softmax 函数对输入的幅度非常敏感。如果输入值的方差过大(即数值的尺度很大),softmax 的梯度会变得非常小(进入饱和区),导致训练困难,即所谓的“梯度消失”问题。
- 为了稳定训练,需要将点积结果的方差控制在一个合理的尺度(如1附近)。
- 将点积结果除以 ,相当于将其标准差(方差的平方根)归一化: 这样,缩放后的注意力得分具有单位方差,有利于 softmax 函数的稳定计算和梯度流动。