概念界定

范数是衡量向量或矩阵大小的函数。在深度学习中,范数用于描述向量长度、距离、权重规模、梯度规模和数值尺度,是理解归一化、正则化、梯度裁剪和相似度计算的重要基础。

背景与问题

大模型训练中,表示和梯度的尺度会直接影响稳定性。如果激活或梯度过大,训练可能发散;如果过小,信号可能消失。推理和检索中,向量长度也会影响相似度计算。因此需要用范数刻画“大小”和“尺度”。

定义与记号

常见向量范数:

L1: ||x||_1 = Σ_i |x_i|
L2: ||x||_2 = sqrt(Σ_i x_i^2)
L∞: ||x||_∞ = max_i |x_i|

矩阵也有范数,例如 Frobenius 范数:

||A||_F = sqrt(Σ_i Σ_j A_{ij}^2)

直观解释

L2 范数可以理解为向量在欧几里得空间中的长度。L1 范数更关注绝对值总量,常与稀疏性相关。无穷范数关注最大元素,适合观察是否存在异常大值。

基本性质

  • 范数非负,只有零向量的范数为 0。
  • 范数满足齐次性:||αx|| = |α| ||x||
  • L2 范数会影响内积大小,因此会影响 dot-product similarity。
  • 向量归一化后,内积可以等价于余弦相似度。

示例

余弦相似度:

cos(x, y) = (x · y) / (||x|| ||y||)

梯度裁剪:

if ||g|| > threshold:
    g = threshold * g / ||g||

这可以避免单次更新过大导致训练不稳定。

常见误解

  • 误解:范数越大说明表示越好。
    • 正确理解:过大的范数可能表示尺度失控,未必有更好语义。
  • 误解:余弦相似度完全消除了尺度问题。
    • 正确理解:它消除了向量长度影响,但仍依赖表示空间本身是否有效。
  • 误解:正则化和归一化是一回事。
    • 正确理解:正则化约束模型或参数,归一化调整激活或表示尺度。

相关概念