随机化Hessian近似拟牛顿法在无约束优化问题中的应用
字数 3546 2025-12-13 02:25:11
随机化Hessian近似拟牛顿法在无约束优化问题中的应用
题目描述:考虑无约束优化问题 \(\min_{x \in \mathbb{R}^n} f(x)\),其中 \(f\) 是二阶连续可微函数。拟牛顿法(如BFGS、DFP等)通过构造矩阵 \(B_k\) 近似 Hessian 矩阵 \(\nabla^2 f(x_k)\),利用拟牛顿方程 \(B_{k+1} s_k = y_k\)(其中 \(s_k = x_{k+1} - x_k\), \(y_k = \nabla f(x_{k+1}) - \nabla f(x_k)\))更新近似。然而,当问题维度 \(n\) 很大时,存储和操作 \(n \times n\) 矩阵 \(B_k\) 成本高。随机化Hessian近似拟牛顿法通过随机采样梯度信息,构建低秩或结构化的Hessian近似,在保证收敛性的同时降低计算和存储开销。本题目讲解其基本思想、随机化构造方法、算法流程及理论性质。
解题过程:
-
问题背景与核心思想
- 在无约束优化中,牛顿法使用精确Hessian矩阵进行迭代:\(x_{k+1} = x_k - [\nabla^2 f(x_k)]^{-1} \nabla f(x_k)\),具有二阶收敛速度,但计算Hessian及其逆的成本为 \(O(n^3)\),且需存储 \(O(n^2)\) 元素。
- 拟牛顿法用近似矩阵 \(B_k\) 代替 \(\nabla^2 f(x_k)\),满足拟牛顿方程 \(B_{k+1} s_k = y_k\),更新通常为秩1或秩2修正(如BFGS),迭代为 \(x_{k+1} = x_k - \alpha_k B_k^{-1} \nabla f(x_k)\),其中 \(\alpha_k\) 是步长。
- 当 \(n\) 很大时,即使拟牛顿法也需存储稠密矩阵 \(B_k\)(\(O(n^2)\) 内存),且求解线性系统 \(B_k p_k = -\nabla f(x_k)\) 需 \(O(n^3)\) 计算(尽管可通过递归更新逆矩阵降至 \(O(n^2)\))。
- 随机化Hessian近似拟牛顿法核心:利用随机采样技术,仅通过少量随机向量与Hessian的乘积信息,构造结构化近似(如低秩矩阵、对角加低秩矩阵等),使存储降为 \(O(n)\) 或 \(O(n \log n)\),并利用Sherman-Morrison-Woodbury公式快速求解线性系统。
-
随机化Hessian近似构造方法
- 设当前迭代点为 \(x_k\),定义随机向量集合 \(\{\omega_i\}_{i=1}^m\),其中 \(\omega_i \in \mathbb{R}^n\) 独立同分布(如标准正态分布),\(m \ll n\) 为采样数。
- 通过有限差分或自动微分计算Hessian-向量积:\(h_i = \nabla^2 f(x_k) \omega_i\)。实际操作中,\(\nabla^2 f(x_k) \omega_i\) 可通过梯度的一阶差分近似:\(\nabla^2 f(x_k) \omega_i \approx \frac{\nabla f(x_k + \epsilon \omega_i) - \nabla f(x_k)}{\epsilon}\),其中 \(\epsilon\) 为小步长。
- 构建随机化近似矩阵 \(B_k\)。常用形式包括:
a. 低秩近似:\(B_k = \delta_k I + \sum_{i=1}^m c_i h_i \omega_i^T\),其中 \(c_i\) 为缩放系数,\(\delta_k > 0\) 为修正项保证正定性。
b. 对角加低秩:\(B_k = \text{diag}(d_k) + \sum_{i=1}^m a_i (h_i - \text{diag}(d_k) \omega_i) \omega_i^T\),其中 \(d_k \in \mathbb{R}^n\) 通过对角元素估计得到。 - 数学上,这等价于用随机投影近似Hessian矩阵的外积形式,基于Johnson-Lindenstrauss引理,能以高概率保持矩阵的谱性质。
-
算法具体步骤
初始化:选择初始点 \(x_0\),近似矩阵 \(B_0 = \delta_0 I\)(标量矩阵),采样数 \(m\),容差 \(\tau > 0\),最大迭代次数 \(K\)。
对于 \(k=0,1,\dots,K\):- 计算梯度 \(g_k = \nabla f(x_k)\),若 \(\|g_k\| < \tau\),则停止。
- 求解搜索方向 \(p_k\):求解线性系统 \(B_k p_k = -g_k\)。由于 \(B_k\) 具有特殊结构(如对角加低秩),可利用Sherman-Morrison-Woodbury公式在 \(O(m^2 n + m^3)\) 时间内求解,避免显式构造 \(B_k\) 的逆。
- 线搜索:沿 \(p_k\) 执行Armijo或Wolfe条件线搜索得到步长 \(\alpha_k\),更新 \(x_{k+1} = x_k + \alpha_k p_k\)。
- 计算梯度差:\(y_k = \nabla f(x_{k+1}) - \nabla f(x_k)\),位移 \(s_k = x_{k+1} - x_k\)。
- 随机采样更新:生成新的随机向量 \(\{\omega_i^{(k)}\}_{i=1}^m\),计算Hessian-向量积 \(h_i^{(k)} = \nabla^2 f(x_{k+1}) \omega_i^{(k)}\)(或差分近似)。
- 更新近似矩阵:构造新的 \(B_{k+1}\) 满足拟牛顿方程 \(B_{k+1} s_k = y_k\),并融入随机采样信息。常见更新策略为:
- 将 \(B_{k+1}\) 设为对角加低秩矩阵,其参数通过最小化 \(\|B_{k+1} - B_k\|_F\) 等范数,并约束 \(B_{k+1} s_k = y_k\) 和 \(B_{k+1} \omega_i^{(k)} = h_i^{(k)}\) 得到。
- 或采用随机化BFGS变体:\(B_{k+1} = B_k + \frac{y_k y_k^T}{y_k^T s_k} - \frac{B_k s_k s_k^T B_k}{s_k^T B_k s_k} + E_k\),其中 \(E_k\) 为基于随机采样的低秩修正项,以保持近似精度。
-
收敛性理论要点
- 在目标函数 \(f\) 为强凸且 Lipschitz Hessian 连续条件下,随机化拟牛顿法产生的序列 \(\{x_k\}\) 以概率1收敛到全局极小点。
- 收敛速度:通常为超线性收敛的随机变体,即 \(\mathbb{E}[\|x_{k+1} - x^*\|] \leq \rho_k \|x_k - x^*\|\),其中 \(\rho_k \to 0\) 随 \(k\) 增加,但比经典拟牛顿法慢,因近似引入随机误差。
- 关键引理:随机采样数 \(m\) 需满足 \(m = O(\log n)\) 才能以高概率保证近似误差可控,使得算法行为接近确定性拟牛顿法。
-
数值实现细节
- 为了避免每轮重新采样,可采用滑动窗口策略,保留部分历史随机向量,减少梯度计算次数。
- 对于非凸问题,需保证 \(B_k\) 正定,可通过在构造时添加正则化项 \(\delta I\) 实现。
- 实际代码中,求解 \(B_k p_k = -g_k\) 可利用矩阵求逆引理:若 \(B_k = D + U V^T\),其中 \(D\) 为对角阵,\(U, V \in \mathbb{R}^{n \times m}\),则 \(B_k^{-1} = D^{-1} - D^{-1} U (I + V^T D^{-1} U)^{-1} V^T D^{-1}\),计算仅需 \(O(m^2 n)\)。
-
应用场景与扩展
- 适用于大规模机器学习中的经验风险最小化(如逻辑回归、神经网络训练),其中 \(n\) 可达数百万。
- 可与随机梯度下降结合,在每次迭代中用随机子集估计梯度,进一步减少计算。
- 扩展至分布式优化,各计算节点本地采样,协同更新全局Hessian近似。