二阶优化方法通过利用曲率信息来加速收敛,是大规模机器学习中的核心技术。本章建立一个统一的数学框架,揭示Newton法、Gauss-Newton法和Natural Gradient之间的深刻联系,并探讨这些方法在现代深度学习中的应用与挑战。
考虑优化问题 $\min_{\mathbf{w}} f(\mathbf{w})$,其中 $\mathbf{w} \in \mathbb{R}^n$。二阶方法的核心思想是利用目标函数的局部二次近似:
\[f(\mathbf{w} + \Delta\mathbf{w}) \approx f(\mathbf{w}) + \nabla f(\mathbf{w})^T \Delta\mathbf{w} + \frac{1}{2} \Delta\mathbf{w}^T \mathbf{H} \Delta\mathbf{w}\]其中 $\mathbf{H}$ 是某种形式的曲率矩阵。不同方法的区别在于如何定义和近似这个曲率矩阵。
Newton法:直接使用Hessian矩阵 $\mathbf{H} = \nabla^2 f(\mathbf{w})$
二次模型:$m_N(\Delta\mathbf{w}) = f(\mathbf{w}) + \nabla f(\mathbf{w})^T \Delta\mathbf{w} + \frac{1}{2} \Delta\mathbf{w}^T \nabla^2 f(\mathbf{w}) \Delta\mathbf{w}$
更新规则:$\Delta\mathbf{w} = -[\nabla^2 f(\mathbf{w})]^{-1} \nabla f(\mathbf{w})$
Gauss-Newton法:对于最小二乘问题 $f(\mathbf{w}) = \frac{1}{2}|\mathbf{r}(\mathbf{w})|^2$,使用一阶近似
完整Hessian:$\nabla^2 f(\mathbf{w}) = \mathbf{J}^T\mathbf{J} + \sum_{i=1}^m r_i(\mathbf{w})\nabla^2 r_i(\mathbf{w})$
Gauss-Newton近似:$\mathbf{H}_{GN} = \mathbf{J}^T\mathbf{J}$(忽略二阶项)
其中 $\mathbf{J} = \nabla \mathbf{r}(\mathbf{w})$ 是残差的Jacobian矩阵。
Natural Gradient:从信息几何角度,使用Fisher信息矩阵
参数空间的Riemannian度量:$ds^2 = \mathbf{d}\mathbf{w}^T \mathbf{F}(\mathbf{w}) \mathbf{d}\mathbf{w}$
| Fisher信息矩阵:$\mathbf{F} = \mathbb{E}_{p(\mathbf{x} | \mathbf{w})}[\nabla \log p(\mathbf{x} | \mathbf{w}) \nabla \log p(\mathbf{x} | \mathbf{w})^T]$ |
Natural gradient:$\tilde{\nabla}f(\mathbf{w}) = \mathbf{F}^{-1}(\mathbf{w})\nabla f(\mathbf{w})$
几何解释的深化:
KL散度的二阶近似: \(D_{KL}(p(\cdot|\mathbf{w})||p(\cdot|\mathbf{w}+\Delta\mathbf{w})) \approx \frac{1}{2}\Delta\mathbf{w}^T\mathbf{F}(\mathbf{w})\Delta\mathbf{w}\)
这解释了为什么Natural Gradient在概率模型中特别有效。
定理 1.1(Gauss-Newton与Natural Gradient的等价性) 对于指数族分布的负对数似然最小化问题,当模型正确指定且在最优解处时,Gauss-Newton Hessian等于Fisher信息矩阵。
证明要点:
| 对于负对数似然 $f(\mathbf{w}) = -\log p(\mathbf{y} | \mathbf{x}, \mathbf{w})$ |
更深入的等价性分析:
定理 1.1a(广义线性模型中的精确等价) 对于广义线性模型(GLM),若链接函数是canonical的,则: \(\mathbf{H}_{GN} = \mathbf{X}^T\mathbf{W}\mathbf{X} = \mathbf{F}\) 其中 $\mathbf{W} = \text{diag}(w_1, …, w_n)$ 是权重矩阵。
定理 1.1b(深度网络中的近似等价) 在宽度趋于无穷的神经网络中,输出层的Gauss-Newton矩阵收敛到Neural Tangent Kernel (NTK): \(\lim_{m \to \infty} \mathbf{H}_{GN} = \mathbf{K}_{NTK}\)
等价性破坏的情形:
| 真实数据分布 $q(\mathbf{x})$ 不在模型族 ${p(\mathbf{x} | \mathbf{w})}$ 中 |
在实际应用中,我们可以将这些方法统一为求解线性系统: \(\mathbf{G}_k \Delta\mathbf{w}_k = -\nabla f(\mathbf{w}_k)\)
其中 $\mathbf{G}_k$ 是广义曲率矩阵:
深入分析:预条件子的选择
这个统一框架的核心在于如何选择合适的预条件子 $\mathbf{G}_k$。关键考虑因素包括:
高级变体与扩展:
Kronecker-Factored Curvature (K-FAC): \(\mathbf{G}_k = \mathbf{A}_k \otimes \mathbf{B}_k + \lambda\mathbf{I}\)
优势分析:
Quasi-Newton预条件: \(\mathbf{B}_{k+1} = \mathbf{B}_k + \frac{\mathbf{y}_k\mathbf{y}_k^T}{\mathbf{y}_k^T\mathbf{s}_k} - \frac{\mathbf{B}_k\mathbf{s}_k\mathbf{s}_k^T\mathbf{B}_k}{\mathbf{s}_k^T\mathbf{B}_k\mathbf{s}_k}\)
其中 $\mathbf{s}k = \mathbf{w}{k+1} - \mathbf{w}k$, $\mathbf{y}_k = \nabla f{k+1} - \nabla f_k$
Sketched Curvature: \(\mathbf{G}_k = \mathbf{S}_k^T\nabla^2 f(\mathbf{w}_k)\mathbf{S}_k\)
随机投影选择:
自适应框架的数学基础:
考虑带权重的曲率组合: \(\mathbf{G}_k = \sum_{i=1}^m \alpha_i^{(k)} \mathbf{G}_i^{(k)}\)
其中权重 $\alpha_i^{(k)}$ 可通过以下方式确定:
实现考虑与优化:
# 稳定的Cholesky分解
while True:
try:
L = cholesky(G + diag_shift * I)
break
except:
diag_shift *= 10
研究线索:
Fisher信息矩阵和Hessian之间存在深刻的数学联系,这种联系在概率模型的参数估计中尤为重要。
定理 1.2(Fisher-Hessian关系) 对于概率模型 $p(\mathbf{x}|\mathbf{w})$,负对数似然的期望Hessian等于Fisher信息矩阵: \(\mathbb{E}_{\mathbf{x} \sim p(\mathbf{x}|\mathbf{w})}[\nabla^2(-\log p(\mathbf{x}|\mathbf{w}))] = \mathbf{F}(\mathbf{w})\)
证明核心:利用score function的性质 \(\mathbb{E}[\nabla \log p(\mathbf{x}|\mathbf{w})] = 0\) \(\text{Var}[\nabla \log p(\mathbf{x}|\mathbf{w})] = \mathbf{F}(\mathbf{w})\)
深层联系的多个视角:
推广到非标准情形:
定理 1.2a(加权Fisher信息) 对于加权损失 $L(\mathbf{w}) = \mathbb{E}_{q(\mathbf{x})}[\ell(p(\mathbf{x}|\mathbf{w}))]$: \(\nabla^2 L(\mathbf{w}) = \mathbf{F}_q(\mathbf{w}) + \text{bias term}\) 其中 $\mathbf{F}_q$ 是关于分布 $q$ 的加权Fisher信息。
定理 1.2b(条件Fisher信息) 对于条件模型 $p(\mathbf{y}|\mathbf{x}, \mathbf{w})$: \(\mathbf{F}_{cond} = \mathbb{E}_{\mathbf{x},\mathbf{y}}[\nabla_{\mathbf{w}} \log p(\mathbf{y}|\mathbf{x},\mathbf{w}) \nabla_{\mathbf{w}} \log p(\mathbf{y}|\mathbf{x},\mathbf{w})^T]\)
尽管理论上存在联系,但在实践中二者常有显著差异:
| 真实分布:$q(\mathbf{x})$ vs 模型族:${p(\mathbf{x} | \mathbf{w})}$ |
| 绝对值修正:$ | \mathbf{H} | = \mathbf{U} | \mathbf{\Lambda} | \mathbf{U}^T$ |
高级近似技术:
Empirical Fisher变体:
标准Empirical Fisher: \(\hat{\mathbf{F}} = \frac{1}{N}\sum_{i=1}^N \mathbf{g}_i\mathbf{g}_i^T, \quad \mathbf{g}_i = \nabla \log p(\mathbf{x}_i|\mathbf{w})\)
Centered Empirical Fisher: \(\hat{\mathbf{F}}_c = \frac{1}{N}\sum_{i=1}^N (\mathbf{g}_i - \bar{\mathbf{g}})(\mathbf{g}_i - \bar{\mathbf{g}})^T\)
Natural Empirical Fisher(用于深度学习): \(\hat{\mathbf{F}}_{nat} = \frac{1}{N}\sum_{i=1}^N \nabla_{\mathbf{w}} \log p(\mathbf{y}_i|\mathbf{x}_i,\mathbf{w}) \nabla_{\mathbf{w}} \log p(\mathbf{y}_i|\mathbf{x}_i,\mathbf{w})^T\)
Generalized Gauss-Newton (GGN):
对于复合损失 $L(\mathbf{w}) = \ell(f(\mathbf{w}))$: \(\mathbf{G}_{GGN} = \mathbf{J}^T \nabla^2\ell(f(\mathbf{w})) \mathbf{J}\)
特殊情况:
自适应混合策略:
动态权重方案: \(\mathbf{G}_k = \alpha_k\mathbf{H}_k + (1-\alpha_k)\mathbf{F}_k\)
权重选择准则:
Fisher信息矩阵的计算通常比完整Hessian更高效:
基础优势:
计算复杂度对比: | 方法 | 时间复杂度 | 空间复杂度 | 并行性 | |——|————|————|——–| | Full Hessian | $O(n^2 \cdot \text{cost}(\nabla^2))$ | $O(n^2)$ | 困难 | | Fisher (外积) | $O(n^2 \cdot \text{cost}(\nabla))$ | $O(n^2)$ | 容易 | | Block Fisher | $O(b \cdot n^2/b^2)$ | $O(n^2/b)$ | 高度并行 | | Low-rank Fisher | $O(nr \cdot \text{cost}(\nabla))$ | $O(nr)$ | 容易 |
高级计算优化:
结构化Fisher计算:
层级分解(用于深度网络): \(\mathbf{F} = \begin{pmatrix} \mathbf{F}_{11} & \mathbf{F}_{12} & \cdots \\ \mathbf{F}_{21} & \mathbf{F}_{22} & \cdots \\ \vdots & \vdots & \ddots \end{pmatrix}\)
动量方法加速Fisher估计:
指数移动平均: \(\mathbf{F}_t = \beta\mathbf{F}_{t-1} + (1-\beta)\mathbf{g}_t\mathbf{g}_t^T\)
二阶动量(类似Adam): \(\mathbf{M}_t = \beta_1\mathbf{M}_{t-1} + (1-\beta_1)\mathbf{g}_t\) \(\mathbf{F}_t = \beta_2\mathbf{F}_{t-1} + (1-\beta_2)\mathbf{g}_t\mathbf{g}_t^T\)
采样策略优化:
重要性采样:
分层采样:
高效计算策略:
分块计算与稀疏性利用: 对于结构化模型(如深度网络),Fisher信息矩阵常呈现分块对角或块三对角结构: \(\mathbf{F} = \begin{pmatrix} \mathbf{F}_{11} & \mathbf{F}_{12} & \cdots \\ \mathbf{F}_{21} & \mathbf{F}_{22} & \cdots \\ \vdots & \vdots & \ddots \end{pmatrix}\)
可以利用的计算优化:
scipy.sparse.linalg)低秩近似技术:
SVD分解:$\mathbf{F} \approx \mathbf{U}_k\mathbf{\Sigma}_k\mathbf{U}_k^T$
Nyström近似: \(\mathbf{F} \approx \mathbf{F}_{:,S}\mathbf{F}_{S,S}^{-1}\mathbf{F}_{S,:}\) 其中 $S$ 是随机选择的列子集。
梯度外积的流式更新: \(\mathbf{F}_t = (1-\beta)\mathbf{F}_{t-1} + \beta \mathbf{g}_t\mathbf{g}_t^T\) 使用指数移动平均维护低秩分解。
Monte Carlo Fisher估计:
无偏估计器: \(\hat{\mathbf{F}} = \frac{1}{m}\sum_{i=1}^m \nabla_{\mathbf{w}} \log p(\mathbf{x}_i|\mathbf{w}) \nabla_{\mathbf{w}} \log p(\mathbf{x}_i|\mathbf{w})^T\)
方差缩减技术:
分布式计算框架:
数据并行:每个节点计算局部Fisher,然后聚合 \(\mathbf{F} = \frac{1}{N}\sum_{j=1}^{P} n_j \mathbf{F}_j\)
模型并行:分块计算Fisher的不同部分
与Hessian计算的混合策略:
在某些情况下,结合Fisher信息和Hessian信息可以获得更好的性能:
Generalized Gauss-Newton (GGN): \(\mathbf{G}_{GGN} = \mathbf{J}^T\mathbf{H}_{\text{loss}}\mathbf{J}\) 其中 $\mathbf{H}_{\text{loss}}$ 是损失函数关于输出的Hessian。
Fisher-Hessian平均: \(\mathbf{G} = \alpha\mathbf{F} + (1-\alpha)\mathbf{H}^+\) 其中 $\mathbf{H}^+$ 是Hessian的正定部分。
条件切换:
研究线索:
Trust Region方法通过限制步长在模型可信的区域内,提供了比线搜索更稳健的全局化策略。在深度学习中,这种方法正经历复兴。
经典Trust Region子问题: \(\min_{\|\Delta\mathbf{w}\| \leq \delta} f(\mathbf{w}) + \nabla f(\mathbf{w})^T \Delta\mathbf{w} + \frac{1}{2} \Delta\mathbf{w}^T \mathbf{H} \Delta\mathbf{w}\)
挑战与解决方案:
现代变体:
Trust Region框架可以与多种技术结合:
高级结合策略:
Riemannian Trust Region: 在流形优化中,trust region的定义需要考虑流形的几何结构: \(\min_{\eta \in T_x\mathcal{M}} m(\eta) \quad \text{s.t.} \quad \|\eta\|_x \leq \delta\) 其中 $T_x\mathcal{M}$ 是切空间,$|\cdot|_x$ 是Riemannian度量。
应用场景:
Stochastic Trust Region: 处理随机梯度和Hessian估计的不确定性:
概率Trust Region: \(\mathbb{P}[\|\Delta\mathbf{w}\| \leq \delta] \geq 1-\epsilon\)
自适应半径调整: \(\delta_{k+1} = \begin{cases} \gamma_{\text{inc}} \delta_k & \text{if } \rho_k > \eta_1 \text{ and } \|\Delta\mathbf{w}_k\| = \delta_k \\ \gamma_{\text{dec}} \delta_k & \text{if } \rho_k < \eta_2 \\ \delta_k & \text{otherwise} \end{cases}\)
其中 $\rho_k$ 是模型预测质量的随机估计。
Adaptive Shape Trust Region: 使用椭球而非球形trust region: \(\{\Delta\mathbf{w} : \Delta\mathbf{w}^T\mathbf{M}_k\Delta\mathbf{w} \leq \delta^2\}\)
度量矩阵选择:
| 对角缩放:$\mathbf{M}_k = \text{diag}( | \nabla f_i | ^{\alpha})$ |
Momentum-Enhanced Trust Region: 结合动量加速的trust region方法:
Heavy-ball Trust Region: \(\min_{\Delta\mathbf{w}} m(\Delta\mathbf{w}) + \mu \langle \Delta\mathbf{w}, \mathbf{v}_{k-1} \rangle\) \(\text{s.t.} \quad \|\Delta\mathbf{w}\| \leq \delta\)
其中 $\mathbf{v}_{k-1}$ 是历史动量。
Nesterov-style预测: 先进行动量步,然后在预测点构建trust region模型。
Multi-level Trust Region: 针对具有层次结构的问题(如深度网络):
实现优化技巧:
研究线索:
在高维非凸优化中,鞍点(特征值有正有负的驻点)比局部极小值更常见。严格鞍点满足: \(\lambda_{\min}(\nabla^2 f(\mathbf{w}^*)) < -\epsilon < 0\)
定理 1.3(Perturbed Gradient Descent的逃逸保证) 在温和条件下,带扰动的梯度下降能以高概率在多项式时间内逃离严格鞍点。
主要逃逸策略:
Negative Curvature Descent:
加速逃逸技术:
深度网络的鞍点具有特殊结构:
鞍点结构的深入分析:
对称性导致的鞍点:
置换对称性:神经元的可交换性导致大量等价鞍点
缩放对称性:在某些架构中存在 \(\mathbf{W}_2 \leftarrow \alpha\mathbf{W}_2, \quad \mathbf{W}_1 \leftarrow \mathbf{W}_1/\alpha\) 保持网络功能不变但创建鞍点轨迹。
鞍点的谱特性:
经验观察:
理论刻画: 对于随机初始化的网络,Hessian谱遵循: \(\rho(\lambda) \approx \frac{1}{2\pi\sigma^2}\sqrt{4\sigma^2 - \lambda^2}\) 即Wigner半圆律的变体。
高效逃逸策略:
Power Method的加速变体:
输入: 当前点 w, 容忍度 ε
1. 初始化随机向量 v
2. for k = 1 to K:
a. ṽ = Hv (使用Hessian-vector product)
b. μ = v^T ṽ / ||v||²
c. if μ < -ε: return v as escape direction
d. v = ṽ / ||ṽ||
3. return null (no negative curvature found)
Lanczos加速:
与优化器的集成:
SGD with Negative Curvature: \(\mathbf{w}_{t+1} = \mathbf{w}_t - \eta_t \mathbf{g}_t - \alpha_t \mathbf{v}_t\) 其中 $\mathbf{v}_t$ 是负曲率方向(如果存在)。
Adam-NC (Adam with Negative Curvature):
理论保证的增强:
Fast Escaping via Coupling: 同时运行多个带不同扰动的副本:
Correlated Negative Curvature: 利用参数间的相关结构:
高级技术与前沿方向:
研究线索:
本章建立了二阶优化方法的统一框架,核心要点包括:
关键公式回顾:
习题1.1 证明对于线性回归问题 $f(\mathbf{w}) = \frac{1}{2}|\mathbf{Xw} - \mathbf{y}|^2$,Gauss-Newton法在一步内收敛到全局最优解。
Hint: 计算Gauss-Newton Hessian并验证它与真实Hessian相等。
习题1.2 对于Softmax回归,推导Fisher信息矩阵的显式表达式。
Hint: 利用Softmax函数的性质和分类分布的score function。
习题1.3 实现并比较Steepest Descent和Conjugate Gradient求解Trust Region子问题的效率。
Hint: 使用Steihaug-Toint CG算法,注意边界情况的处理。
习题1.4 设计一个自适应算法,根据局部曲率自动在Newton、Gauss-Newton和Natural Gradient之间切换。
Hint: 考虑使用条件数、负特征值比例等指标。
习题1.5 分析在什么条件下,Trust Region方法的收敛速度优于线搜索方法。构造具体例子。
Hint: 考虑病态Hessian和非凸函数的情况。
习题1.6 证明对于过参数化的神经网络,在适当初始化下,Gauss-Newton法的更新方向接近Natural Gradient。
Hint: 利用神经切线核(NTK)理论。
习题1.7(开放问题)如何设计一个统一的预条件子,能够自适应地在不同优化阶段提供最合适的曲率信息?
Hint: 考虑元学习、在线学习理论和矩阵学习。
习题1.8 探讨量子计算对二阶优化方法可能带来的加速。特别关注矩阵求逆和特征值计算。
Hint: 研究HHL算法和量子相位估计。