基于随机逼近理论的序列随机拟牛顿法(Sequential Stochastic Quasi-Newton Method)基础题
题目描述
考虑一个非线性规划问题,其中目标函数是光滑凸函数,但计算其精确梯度在每次迭代中计算成本很高,或者目标函数期望形式为 \(f(x) = \mathbb{E}_{\xi}[F(x, \xi)]\),其中 \(\xi\) 是随机变量。此时,适合使用序列随机拟牛顿法。该算法结合了随机逼近(用随机梯度估计代替精确梯度)和拟牛顿法(用近似Hessian矩阵加速收敛)的思想。本题要求:
- 描述序列随机拟牛顿法的基本框架。
- 推导Broyden族更新公式在随机情境下的应用。
- 给出算法步骤,并解释如何控制步长和近似Hessian矩阵的正定性。
- 讨论算法的收敛条件。
解题过程
1. 问题形式与算法框架
考虑无约束优化问题:
\[\min_{x \in \mathbb{R}^n} f(x) \]
其中 \(f\) 是凸函数,梯度 \(\nabla f(x)\) 存在但计算昂贵,或 \(f(x) = \mathbb{E}_{\xi}[F(x, \xi)]\)。
算法框架迭代格式为:
\[x_{k+1} = x_k - \alpha_k B_k^{-1} g_k \]
其中:
- \(g_k\) 是 \(\nabla f(x_k)\) 的无偏随机估计(即 \(\mathbb{E}[g_k | x_k] = \nabla f(x_k)\))。
- \(B_k\) 是 \(\nabla^2 f(x_k)\) 的近似(正定矩阵)。
- \(\alpha_k > 0\) 是步长。
2. 随机梯度和拟牛顿更新
2.1 随机梯度估计
假设在迭代 \(k\) 时,我们采样一个(或一小批)随机变量 \(\xi_k\),计算:
\[g_k = \nabla_x F(x_k, \xi_k) \]
满足 \(\mathbb{E}[g_k | x_k] = \nabla f(x_k)\)。为了减少方差,常用小批量(mini-batch)采样。
2.2 拟牛顿更新(Broyden族)
记:
\[s_k = x_{k+1} - x_k, \quad y_k = \nabla f(x_{k+1}) - \nabla f(x_k) \]
但精确梯度不可得,因此用随机梯度的差值近似:
\[\tilde{y}_k = g_{k+1} - g_k \]
注意:由于 \(g_k\) 是随机估计,\(\tilde{y}_k\) 是有噪声的,可能破坏拟牛顿条件 \(B_{k+1} s_k = y_k\)。
Broyden族更新公式(确定型)为:
\[B_{k+1} = B_k - \frac{B_k s_k s_k^T B_k}{s_k^T B_k s_k} + \frac{y_k y_k^T}{s_k^T y_k} + \phi_k (s_k^T B_k s_k) v_k v_k^T \]
其中 \(v_k = \frac{y_k}{s_k^T y_k} - \frac{B_k s_k}{s_k^T B_k s_k}\),\(\phi_k \in [0,1]\) 是参数(\(\phi_k=0\) 对应BFGS,\(\phi_k=1\) 对应DFP)。
在随机情境下,用 \(\tilde{y}_k\) 代替 \(y_k\) 可能导致 \(s_k^T \tilde{y}_k\) 为负,破坏正定性。因此需要修正:
3. 修正的随机拟牛顿更新
常用阻尼技术(damping)来保证正定性。定义修正的 \(\hat{y}_k\):
\[\hat{y}_k = \theta_k \tilde{y}_k + (1-\theta_k) B_k s_k \]
其中 \(\theta_k \in (0,1]\) 选择使得 \(s_k^T \hat{y}_k \geq \rho s_k^T B_k s_k\)(\(\rho \in (0,1)\) 为常数)。常见选择是当 \(s_k^T \tilde{y}_k \geq \rho s_k^T B_k s_k\) 时取 \(\theta_k=1\),否则取:
\[\theta_k = \frac{(1-\rho) s_k^T B_k s_k}{s_k^T B_k s_k - s_k^T \tilde{y}_k} \]
这样能保证 \(s_k^T \hat{y}_k = \rho s_k^T B_k s_k > 0\),从而更新后的 \(B_{k+1}\) 保持正定。
4. 算法步骤
初始:选择初始点 \(x_0\),初始正定矩阵 \(B_0 = I\)(单位阵),步长序列 \(\{\alpha_k\}\),参数 \(\rho \in (0,1)\),批量大小 \(m\)。
对于 \(k=0,1,2,\dots\) 执行:
- 随机梯度估计:采样独立同分布的 \(\xi_{k,1}, \dots, \xi_{k,m}\),计算
\[ g_k = \frac{1}{m} \sum_{j=1}^m \nabla_x F(x_k, \xi_{k,j}) \]
- 更新迭代点:\(x_{k+1} = x_k - \alpha_k B_k^{-1} g_k\)。
- 计算差值:\(s_k = x_{k+1} - x_k\)。采样新批量计算 \(g_{k+1}\),令 \(\tilde{y}_k = g_{k+1} - g_k\)。
- 阻尼修正:
- 计算 \(\tau_k = s_k^T \tilde{y}_k\),\(\nu_k = s_k^T B_k s_k\)。
- 如果 \(\tau_k \geq \rho \nu_k\),则 \(\hat{y}_k = \tilde{y}_k\);否则计算
\[ \theta_k = \frac{(1-\rho) \nu_k}{\nu_k - \tau_k}, \quad \hat{y}_k = \theta_k \tilde{y}_k + (1-\theta_k) B_k s_k \]
- 更新近似Hessian:用Broyden族(通常取BFGS,即 \(\phi_k=0\))更新
\[ B_{k+1} = B_k - \frac{B_k s_k s_k^T B_k}{\nu_k} + \frac{\hat{y}_k \hat{y}_k^T}{s_k^T \hat{y}_k} \]
- 检查终止条件(如 \(\|g_k\| < \epsilon\) 或达到最大迭代)。
5. 步长选择与收敛性
- 步长 \(\alpha_k\):需满足随机逼近的Robbins-Monro条件:
\[ \sum_{k=0}^\infty \alpha_k = \infty, \quad \sum_{k=0}^\infty \alpha_k^2 < \infty \]
例如 \(\alpha_k = a/(k+b)\)(\(a,b>0\))。
- 收敛性:在以下条件下,算法几乎必然收敛到驻点:
- \(f\) 凸且 Lipschitz 梯度。
- 随机梯度方差有界。
- 近似Hessian矩阵的特征值上下有界(阻尼修正保证此点)。
- 步长条件满足。
6. 关键点总结
- 随机梯度引入噪声,拟牛顿更新需阻尼修正以保证正定性。
- 步长必须衰减以满足随机逼近的收敛条件。
- 算法在凸问题中具有超线性收敛的潜力(当噪声渐近减小)。
讲解完毕。这个算法适用于大规模随机优化问题(如机器学习中的经验风险最小化),相比纯随机梯度下降,它能利用二阶信息加速收敛。