非线性规划中的序列随机拟牛顿法基础题
题目描述
考虑一个无约束非线性规划问题:
\[\min_{x \in \mathbb{R}^n} f(x) \]
其中,目标函数 \(f: \mathbb{R}^n \to \mathbb{R}\) 是二阶连续可微的。在每次迭代中,我们无法获得精确的梯度 \(\nabla f(x)\) 和精确的Hessian矩阵 \(\nabla^2 f(x)\),但可以通过带有随机噪声的观测值来估计它们。具体来说,在点 \(x_k\) 处,我们能获得:
\[g_k = \nabla f(x_k) + \epsilon_k, \quad B_k \approx \nabla^2 f(x_k) \]
其中 \(\epsilon_k\) 是均值为零、方差有界的随机噪声向量,\(B_k\) 是一个正定对称矩阵,是通过拟牛顿法(如BFGS或DFP更新公式)利用带噪声的梯度观测值 \(\{g_i\}_{i=0}^k\) 构造的,用于近似Hessian矩阵。
题目要求:设计一个“序列随机拟牛顿法”来求解此问题。请详细解释算法的核心思想、迭代步骤、如何利用带噪声的梯度信息更新拟牛顿矩阵、如何控制步长以确保收敛,并讨论该算法在期望意义下的收敛性条件。
解题过程
让我们一步步来理解并构建这个算法。
1. 算法核心思想
这个算法是拟牛顿法与随机优化的结合。
- 拟牛顿法:在确定性优化中,牛顿法使用Hessian矩阵 \(\nabla^2 f(x_k)\) 来构建二次模型,并求解得到搜索方向 \(p_k = -[\nabla^2 f(x_k)]^{-1} \nabla f(x_k)\)。拟牛顿法的核心思想是,不计算昂贵的Hessian矩阵,而是通过梯度信息构造一个矩阵 \(B_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)\)。
- 随机性:在本问题中,我们无法获得精确梯度 \(\nabla f(x_k)\),只能得到带噪声的观测值 \(g_k\)。这意味着构造拟牛顿条件时,我们只能用 \(y_k = g_{k+1} - g_k\) 来代替 \(\nabla f(x_{k+1}) - \nabla f(x_k)\)。由于噪声 \(\epsilon_k\) 的存在,这个 \(y_k\) 是有偏且含噪声的,这给算法的稳定性和收敛性分析带来了挑战。
- 序列随机拟牛顿法的核心就是:在随机噪声干扰下,序列化地(即一步步迭代地)利用带噪声的梯度观测值,更新一个Hessian近似矩阵 \(B_k\),并以此构建搜索方向。同时,必须采用递减的步长(学习率)来抑制梯度噪声的累积影响,确保算法最终能收敛到稳定点附近。
2. 算法迭代步骤(以BFGS更新为例)
我们采用基于Armijo线搜索的随机BFGS框架。假设初始点 \(x_0\),初始正定矩阵 \(B_0 = I\)(单位阵),初始步长参数 \(\alpha_0\),常数 \(c \in (0, 1)\),衰减因子 \(\rho \in (0, 1)\)。
第k次迭代(k = 0, 1, 2, ...):
-
计算(带噪声的)随机梯度:在当前迭代点 \(x_k\),计算 \(g_k = \nabla f(x_k) + \epsilon_k\)。
-
计算搜索方向:求解线性方程组 \(B_k p_k = -g_k\) 得到搜索方向 \(p_k\)。由于 \(B_k\) 正定,此方向是下降方向(在期望意义下)。
-
进行随机Armijo线搜索:确定步长 \(\alpha_k\)。
- 通常,在确定性优化中,Armijo条件为:\(f(x_k + \alpha p_k) \le f(x_k) + c \alpha \nabla f(x_k)^T p_k\)。
- 但在随机设置下,函数值 \(f(x_k)\) 和精确梯度 \(\nabla f(x_k)\) 可能也无法精确计算。一个常见的简化处理是,采用预设的、递减的步长序列 \(\{ \alpha_k \}\),而不是精确线搜索。这是为了理论分析的便利。例如,取 \(\alpha_k = \alpha_0 / (k+1)^{\theta}\),其中 \(0.5 < \theta \le 1\)。
- 为了更实用,我们可以假设能计算无噪声的函数值(或一个无偏估计),并进行以下回溯:
初始化步长试探值 \(\alpha = \alpha_{\text{init}}\)。
while \(f(x_k + \alpha p_k) > f(x_k) + c \alpha g_k^T p_k\) do
\(\alpha = \rho \alpha\)
end while
令 \(\alpha_k = \alpha\)。
注意:这里我们使用了有噪声的梯度 \(g_k\) 来代替精确梯度检查下降量。这在噪声不大时常常可行,但会影响收敛的严格性。
-
更新迭代点:\(x_{k+1} = x_k + \alpha_k p_k\)。
-
计算新的随机梯度:在点 \(x_{k+1}\) 处,计算 \(g_{k+1} = \nabla f(x_{k+1}) + \epsilon_{k+1}\)。
-
更新拟牛顿矩阵 \(B_k\) 到 \(B_{k+1}\) (BFGS更新):
定义:- \(s_k = x_{k+1} - x_k = \alpha_k p_k\)。
- \(y_k = g_{k+1} - g_k\)。
由于噪声,\(y_k\) 包含了真实的梯度差和噪声差:\(y_k = (\nabla f(x_{k+1}) - \nabla f(x_k)) + (\epsilon_{k+1} - \epsilon_k)\)。
标准的BFGS更新公式为:
\[ 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} \]
这个公式能保证在 $ s_k^T y_k > 0 $ 时,如果 $ B_k $ 正定,则 $ B_{k+1} $ 也正定。在随机环境下,**关键是要保证 $ s_k^T y_k > 0 $ 以维持矩阵的正定性**。在强凸或一致凸的假设下,即使有噪声,只要步长足够小,这个性质通常能以高概率成立。有时算法中会加入保护性条件(如曲率条件检查),如果 $ s_k^T y_k $ 太小或为负,则跳过本次更新($ B_{k+1} = B_k $)或采用阻尼BFGS更新。
3. 步长控制与收敛性条件
- 步长条件:为了抵消随机噪声的影响,使算法收敛,步长序列 \(\{\alpha_k\}\) 必须满足经典的Robbins-Monro条件:
\[ \sum_{k=0}^{\infty} \alpha_k = \infty, \quad \sum_{k=0}^{\infty} \alpha_k^2 < \infty \]
这意味着步长要逐渐减小到0,但减小速度不能太快。例如,$ \alpha_k = a / (k + b)^{\theta} $,其中 $ a, b > 0 $, $ 0.5 < \theta \le 1 $。当 $ \theta = 1 $ 时满足上述条件。步长衰减是随机近似算法收敛的关键。
-
噪声假设:随机噪声 \(\epsilon_k\) 通常假设为:
- 无偏:\(\mathbb{E}[\epsilon_k | \mathcal{F}_k] = 0\),其中 \(\mathcal{F}_k\) 是到第k次迭代为止的历史信息生成的σ-代数。这意味着梯度估计在条件期望下是无偏的。
- 有界方差:\(\mathbb{E}[\|\epsilon_k\|^2 | \mathcal{F}_k] \le \sigma^2 < \infty\)。这保证了噪声的能量是可控的。
-
目标函数假设:
- \(f(x)\) 是强凸且L-光滑的(梯度Lipschitz连续)。强凸性保证了存在唯一的最小值点 \(x^*\),并且有助于控制拟牛顿矩阵的条件数,保证 \(s_k^T y_k > 0\)。
- 或者,在非凸但光滑的设定下,可以讨论算法收敛到稳定点(梯度为零的点)。
-
收敛性:
- 在强凸、L-光滑、噪声无偏且有界方差的假设下,如果采用递减步长 \(\alpha_k = O(1/k)\),并且拟牛顿矩阵序列 \(\{B_k\}\) 的特征值上下界一致有界(即存在常数 \(0 < m \le M < \infty\),使得 \(mI \preceq B_k \preceq MI\) 对所有k几乎必然成立),那么序列随机拟牛顿法产生的迭代点列 \(\{x_k\}\) 满足均方误差收敛:
\[ \mathbb{E}[\|x_k - x^*\|^2] \le O(1/k) \]
这与随机梯度下降法(SGD)的最优速率相同。拟牛顿矩阵的引入,通过更好地近似Hessian的曲率信息,**在常数因子和实际收敛速度上通常有显著改善**,即使理论收敛阶相同。
* 对于非凸问题,可以证明梯度的范数的平方的期望均值以 $ O(1/\sqrt{K}) $ 或 $ O(1/K) $ 的速率趋于0(取决于步长选择和对函数、噪声的进一步假设)。
总结
序列随机拟牛顿法巧妙地将确定性拟牛顿法的快速局部收敛特性与随机梯度法的噪声鲁棒性结合在一起。其核心挑战在于如何在有噪声的梯度观测下,稳定地更新Hessian近似矩阵并保证其性质良好。通过强制步长递减以满足Robbins-Monro条件,以及对目标函数和噪声施加合理的假设,可以在期望意义下保证算法的收敛性。在实际应用中,如机器学习的大规模优化问题,随机拟牛顿法(如oSBFGS, RES)相比SGD能减少迭代次数,是重要的高级优化技术。