在上一篇文章中,我们讨论了奇异值分解与低秩近似。奇异值不仅刻画了矩阵的"能量分布",还定义了两个极其重要的量:谱范数和条件数。谱范数衡量矩阵的最大拉伸能力,条件数则刻画了矩阵"各向异性"的程度。这两个概念在优化理论和深度学习实践中扮演着核心角色——条件数决定了梯度下降的收敛速度,谱范数则是控制神经网络 Lipschitz 常数的关键工具。

矩阵范数回顾

在讨论谱范数之前,先回顾常见的矩阵范数。对于 ARm×nA \in \mathbb{R}^{m \times n}

Frobenius 范数定义为所有元素的平方和的平方根:

AF=i=1mj=1naij2=tr(ATA)=i=1rσi2\|A\|_F = \sqrt{\sum_{i=1}^{m}\sum_{j=1}^{n} a_{ij}^2} = \sqrt{\text{tr}(A^T A)} = \sqrt{\sum_{i=1}^{r} \sigma_i^2}

F 范数将矩阵"展平"成向量后计算范数。它计算简单、可微,是权重衰减(weight decay)中最常用的正则化范数。但 F 范数忽略了一个重要的事实:矩阵是线性算子,而不仅仅是数据容器——两个 F 范数相同的矩阵,其作为线性变换的行为可能截然不同。

算子范数(诱导范数)则充分考虑了矩阵作为线性算子的角色:

A2=supx2=1Ax2\|A\|_2 = \sup_{\|x\|_2 = 1} \|Ax\|_2

算子范数衡量矩阵对单位向量施加的最大拉伸。它回答的问题是"这个线性变换最多能把向量拉长多少?"

谱范数的定义与几何意义

算子 2-范数也称为谱范数,其值恰好等于矩阵的最大奇异值:

A2=σmax(A)=σ1\|A\|_2 = \sigma_{\max}(A) = \sigma_1

这个等式可以从 SVD 直接推出。设 A=UΣVTA = U\Sigma V^T,则

A2=supx=1UΣVTx=supy=1Σy=σ1\|A\|_2 = \sup_{\|x\|=1} \|U\Sigma V^T x\| = \sup_{\|y\|=1} \|\Sigma y\| = \sigma_1

其中第二个等号利用了正交变换保范数的性质(令 y=VTxy = V^T x),第三个等号来自 Σ\Sigma 是对角矩阵的事实。

谱范数的几何意义可以回溯到 SVD 的几何分解:单位球经过 AA 变换后成为椭圆(或椭球),谱范数就是这个椭圆最长半轴的长度——矩阵"最激进"的拉伸方向上的拉伸因子。

谱范数的几个重要性质值得关注:

  • 次可乘性AB2A2B2\|AB\|_2 \leq \|A\|_2 \|B\|_2。矩阵乘法不会让谱范数失控增长,这对于分析深度网络的梯度传播至关重要。
  • 正交不变性UAVT2=A2\|UAV^T\|_2 = \|A\|_2,正交变换不改变谱范数。
  • 与 F 范数的关系A2AFrA2\|A\|_2 \leq \|A\|_F \leq \sqrt{r}\|A\|_2,其中 r=rank(A)r = \text{rank}(A)。谱范数是 F 范数的下界,当矩阵秩为 1 时两者相等。

条件数:矩阵的"扁长程度"

条件数定义为最大奇异值与最小非零奇异值之比:

κ(A)=σmax(A)σmin(A)=σ1σr\kappa(A) = \frac{\sigma_{\max}(A)}{\sigma_{\min}(A)} = \frac{\sigma_1}{\sigma_r}

条件数 1\geq 1,当且仅当 AA 的所有非零奇异值相等时取等号(此时 AA 是等距变换的缩放版本)。

条件数的几何含义是矩阵变换的各向异性程度。回到椭圆的类比:κ=1\kappa = 1 时椭圆退化为圆,所有方向上的拉伸程度相同;κ\kappa 越大,椭圆越扁长,不同方向上的拉伸差异越大。

在数值分析中,条件数衡量线性方程组 Ax=bAx = b 对输入扰动的敏感程度:

δxxκ(A)δbb\frac{\|\delta x\|}{\|x\|} \leq \kappa(A) \frac{\|\delta b\|}{\|b\|}

条件数越大,bb 的小扰动可能导致 xx 的大偏差——方程组是"病态的"。这个结论在优化中同样成立,只是表现的形式不同。

条件数与优化景观

条件数在优化理论中的核心地位,来源于它与梯度下降收敛速度的直接关系。

考虑最简单的二次优化问题

minxf(x)=12xTAxbTx\min_x f(x) = \frac{1}{2}x^T A x - b^T x

其中 AAn×nn \times n 正定矩阵。此问题的最优解为 x=A1bx^* = A^{-1}b,使用固定步长 η\eta 的梯度下降迭代为

xk+1=xkη(Axkb)=(IηA)xk+ηbx_{k+1} = x_k - \eta(Ax_k - b) = (I - \eta A)x_k + \eta b

可以证明,当步长 η=2/(σ1+σn)\eta = 2/(\sigma_1 + \sigma_n) 时,迭代的最优收敛速率为

xkxA(κ1κ+1)kx0xA\|x_k - x^*\|_A \leq \left(\frac{\kappa - 1}{\kappa + 1}\right)^k \|x_0 - x^*\|_A

其中 A\|\cdot\|_A 是由 AA 诱导的能量范数,κ=σ1/σn\kappa = \sigma_1/\sigma_nAA 的条件数。

收敛速率由 ρ=(κ1)/(κ+1)\rho = (\kappa - 1)/(\kappa + 1) 决定。当 κ=1\kappa = 1ρ=0\rho = 0,一步收敛;当 κ\kappa 很大时 ρ12/κ\rho \approx 1 - 2/\kappa,需要 O(κ)O(\kappa) 步才能收敛。

这背后的几何直觉非常清晰:条件数大意味着优化景观的等高线是狭长的椭圆。梯度指向最陡下降方向,但不指向最优点方向——两者之间的夹角可以接近 90°。梯度下降因此在狭长椭圆的两侧来回震荡,呈现"之字形"轨迹。

条件数对优化景观与梯度下降轨迹的影响
Loading visualization...
拖动滑块改变条件数 κ。κ=1 时等高线为圆形,κ 增大时等高线变为狭长椭圆,梯度下降轨迹呈之字形震荡。

观察可视化可以发现:当 κ=1\kappa = 1 时等高线为圆形,梯度方向直接指向最优点,一步即收敛;当 κ=10\kappa = 10 时等高线变为椭圆,梯度方向与最优方向产生显著偏差,需要约 10 步迭代;当 κ=50\kappa = 50 时等高线极度狭长,梯度下降在两侧来回震荡,收敛极慢。

这也解释了为什么预处理(preconditioning)如此重要。预处理的核心思想是通过一个近似逆矩阵 P1P^{-1} 替代 A1A^{-1},将条件数从 κ(A)\kappa(A) 降低到 κ(P1A)\kappa(P^{-1}A)。Adam 优化器就是一种对角预处理——它通过对梯度做逐元素归一化,近似地降低了问题的条件数。

谱归一化与 Lipschitz 约束

谱范数在深度学习中最直接的应用是谱归一化(Spectral Normalization),由 Miyato et al. (2018) 提出,用于稳定 GAN 的训练。

一个 LL-Lipschitz 连续的函数 ff 满足

f(x1)f(x2)Lx1x2\|f(x_1) - f(x_2)\| \leq L \|x_1 - x_2\|

对于由多层网络 f=fLfL1f1f = f_L \circ f_{L-1} \circ \cdots \circ f_1 构成的复合映射,其 Lipschitz 常数满足

Lip(f)l=1LLip(fl)\text{Lip}(f) \leq \prod_{l=1}^{L} \text{Lip}(f_l)

如果每一层 fl(x)=σ(Wlx+bl)f_l(x) = \sigma(W_l x + b_l) 是一个线性变换加激活函数,则 Lip(fl)Wl2Lip(σ)\text{Lip}(f_l) \leq \|W_l\|_2 \cdot \text{Lip}(\sigma)。对于常用的 ReLU 激活函数,Lip(ReLU)=1\text{Lip}(\text{ReLU}) = 1,因此

Lip(f)l=1LWl2\text{Lip}(f) \leq \prod_{l=1}^{L} \|W_l\|_2

谱归一化的做法是将每个权重矩阵替换为

WSN=WW2W_{\text{SN}} = \frac{W}{\|W\|_2}

这样每层的谱范数被强制约束为 1,网络的 Lipschitz 常数上界被控制。在 GAN 训练中,判别器的 Lipschitz 约束防止了梯度爆炸,使得训练过程更加稳定。

计算 W2\|W\|_2 需要对 WTWW^T W 做特征值分解,代价较高。实践中通常使用幂迭代(power iteration)来近似计算最大奇异值:

vWTuWTu,uWvWv,σuTWvv \leftarrow \frac{W^T u}{\|W^T u\|}, \quad u \leftarrow \frac{W v}{\|W v\|}, \quad \sigma \approx u^T W v

单步幂迭代的计算量仅为两次矩阵-向量乘法,远低于完整的 SVD。有趣的是,这种"单步幂迭代"的思想后来也在 Muon 优化器中以更深刻的形式出现。

谱范数权重衰减 vs F 范数权重衰减

标准的权重衰减使用 F 范数:

Lreg=λ2WF2=λ2i,jWij2=λ2iσi2\mathcal{L}_{\text{reg}} = \frac{\lambda}{2} \|W\|_F^2 = \frac{\lambda}{2} \sum_{i,j} W_{ij}^2 = \frac{\lambda}{2} \sum_{i} \sigma_i^2

F 范数正则化对所有奇异值施加同等惩罚。这意味着小奇异值和大奇异值被同等程度地压缩,网络的秩(有效维度)不会被优先保留。

如果改用谱范数权重衰减:

Lreg=λ2W22=λ2σ12\mathcal{L}_{\text{reg}} = \frac{\lambda}{2} \|W\|_2^2 = \frac{\lambda}{2} \sigma_1^2

只有最大奇异值受到惩罚,其余奇异值不受影响。这等价于约束网络的最大拉伸因子,而不限制其内部表示的维度。

苏剑林指出,这两种正则化策略的梯度方向不同:

WWF2=2WvsWW2=u1v1T\nabla_W \|W\|_F^2 = 2W \quad \text{vs} \quad \nabla_W \|W\|_2 = u_1 v_1^T

谱范数梯度的推导

谱范数的梯度可以从 SVD 直接推导。设 W=UΣVTW = U\Sigma V^T,则 W2=σ1\|W\|_2 = \sigma_1。对 σ1\sigma_1 做微分:

dσ1=d(u1TWv1)=u1T(dW)v1+(du1)TWv1+u1TW(dv1)d\sigma_1 = d(u_1^T W v_1) = u_1^T (dW) v_1 + (du_1)^T W v_1 + u_1^T W (dv_1)

利用 Wv1=σ1u1W v_1 = \sigma_1 u_1WTu1=σ1v1W^T u_1 = \sigma_1 v_1,后两项分别为 σ1(du1)Tu1\sigma_1 (du_1)^T u_1σ1v1Tdv1\sigma_1 v_1^T dv_1。再利用正交性条件 u1Tdu1=0u_1^T du_1 = 0v1Tdv1=0v_1^T dv_1 = 0(对 UTU=IU^TU = I 微分得到),这两项均为零。因此

dσ1=u1T(dW)v1=u1v1T,dWFd\sigma_1 = u_1^T (dW) v_1 = \langle u_1 v_1^T, dW \rangle_F

由梯度的定义 WW2,dWF=dσ1\langle \nabla_W \|W\|_2, dW \rangle_F = d\sigma_1,即得

WW2=u1v1T\nabla_W \|W\|_2 = u_1 v_1^T

需要注意的是,这个梯度存在的前提是最大奇异值唯一σ1>σ2\sigma_1 > \sigma_2。当 σ1=σ2\sigma_1 = \sigma_2 时,谱范数在 WW 处不可微,梯度不存在——这类似于向量范数在坐标轴上的不可微性。

最优 rank-1 近似的物理意义

σ1u1v1T\sigma_1 u_1 v_1^T 恰好是 WW 的最优 rank-1 近似——这是 Eckart-Young 定理在 k=1k=1 时的特例。因此,谱范数梯度 u1v1Tu_1 v_1^T 指向的是 WW 的最大成分的方向。

这个观察为两种权重衰减策略提供了最深刻的对比:

  • F 范数权重衰减ΔW=ηλW\Delta W = -\eta \lambda W。每一步减去 WW 本身,所有奇异值被均匀压缩。这像是一个"均匀收缩"——无论奇异值大小,都被同等比例地缩小。
  • 谱范数权重衰减ΔW=ηλσ1u1v1T\Delta W = -\eta \lambda \sigma_1 u_1 v_1^T。每一步减去 WW 的最优 rank-1 近似,即 WW 的最大成分。只有最大的奇异值被压缩,其余奇异值不受影响。

苏剑林在《从谱范数梯度到新式权重衰减的思考》中指出:传统权重衰减减去 WW 本身,新权重衰减减去 WW 的最优 rank-1 近似——这个对比是最有价值的洞见。传统策略不加区分地压缩所有方向,可能损害网络在次要方向上的表达能力;新策略只针对最"突出"的分量做削减,保留其余方向的结构。这与 Muon 优化器中 msign 的思想一脉相承——只关注方向(奇异向量),而非幅度(奇异值)。

F 范数的梯度指向 WW 本身(均匀压缩所有参数),而谱范数的梯度只指向最大奇异值对应的方向(只压缩最"突出"的分量)。后者更接近 Muon 优化器的思想——Muon 的核心操作 msign 将梯度投影到最近的正交矩阵,相当于对梯度做谱归一化。我们将在下一篇文章中详细讨论。

小结

谱范数和条件数是连接矩阵论与优化理论的桥梁。谱范数刻画了线性变换的最大拉伸能力,是控制神经网络 Lipschitz 常数的关键工具;条件数衡量了变换的各向异性程度,直接决定了梯度下降的收敛速度。理解这两个概念,不仅有助于分析优化算法的行为,也为理解 Muon 等新型优化器的设计动机奠定了基础。

相关概念

  • 奇异值分解 — 谱范数=σ₁,条件数=σ₁/σᵣ,直接建立在SVD之上,详见奇异值分解与低秩近似
  • 正交化优化 — msign是谱范数约束下的最速方向,幂迭代→流式幂迭代,详见Muon优化器
  • ODE求解精度 — 条件数概念影响概率流ODE的数值求解稳定性,详见SDE/ODE统一框架

参考文献

  • 苏剑林. 从谱范数梯度到新式权重衰减的思考. https://kexue.fm/archives/10648
  • Miyato, T., Kataoka, T., Koyama, M., & Yoshida, Y. (2018). Spectral Normalization for Generative Adversarial Networks. ICLR 2018.
  • Golub, G. H., & Van Loan, C. F. (2013). Matrix Computations (4th ed.). Johns Hopkins University Press.
  • Nocedal, J., & Wright, S. (2006). Numerical Optimization (2nd ed.). Springer.