非线性规划中的随机梯度哈密顿蒙特卡洛(SGHMC)进阶题
题目描述
考虑一个大规模非凸随机优化问题:
\
\[ \min_{x \in \mathbb{R}^d} F(x) = \mathbb{E}_{\xi \sim \mathcal{D}} \left[ f(x; \xi) \right], \ \]
其中目标函数 \(F(x)\) 是期望形式的非凸函数,难以直接计算。我们仅能通过随机样本 \(\xi_i\) 获得无偏梯度估计 \(\nabla f(x; \xi_i)\),且问题维度 \(d\) 很大。现要求使用随机梯度哈密顿蒙特卡洛 (Stochastic Gradient Hamiltonian Monte Carlo, SGHMC) 算法来求解该问题的平稳分布,进而找到函数的近似全局极小点。请详细解释 SGHMC 的原理、迭代步骤,并说明其如何利用动量项和随机噪声避免陷入局部极小。
解题过程循序渐进讲解
1. 问题背景与挑战
- 大规模非凸随机优化中,目标函数常存在多个局部极小点,传统随机梯度下降(SGD)容易陷入局部最优。
- 哈密顿蒙特卡洛(HMC)是一种基于物理动力学的马尔可夫链蒙特卡洛(MCMC)方法,能有效在概率分布中采样,但需要精确梯度且计算代价高。
- SGHMC 将 HMC 与随机梯度结合,通过引入动量(惯性)和可控噪声,在非凸问题上能探索更广的参数空间,有更高概率接近全局最优。
2. SGHMC 的物理直观与数学模型
- 将参数 \(x\) 视为粒子位置,引入辅助动量变量 \(v \in \mathbb{R}^d\),构成相空间 \((x, v)\)。
- 定义哈密顿函数 \(H(x, v) = F(x) + \frac{1}{2} v^T M^{-1} v\),其中 \(M\) 是质量矩阵(常取单位阵),第一项是势能,第二项是动能。
- 我们希望采样来自平稳分布 \(p(x, v) \propto \exp(-H(x, v))\),其边际分布 \(p(x) \propto \exp(-F(x))\) 的极小点对应高概率区域。
3. 连续时间动力学方程
- 标准 HMC 使用哈密顿方程:
\[ dx = M^{-1} v \, dt, \quad dv = -\nabla F(x) \, dt. \]
- 为与随机梯度兼容,SGHMC 引入摩擦项和随机噪声,得到朗之万方程:
\[ dx = v \, dt, \quad dv = -\nabla F(x) \, dt - B v \, dt + \sqrt{2B} \, dW, \]
其中 \(B\) 是摩擦系数矩阵(常取标量 \(B = \eta I\)),\(dW\) 是维纳过程(布朗运动),\(\sqrt{2B} dW\) 为热浴噪声,确保收敛到平稳分布。
4. 离散化迭代格式(算法核心)
由于真实梯度 \(\nabla F(x)\) 不可得,用随机梯度 \(g(x; \xi) = \nabla f(x; \xi)\) 代替,并引入梯度估计的噪声。设步长 \(\epsilon > 0\),离散化后得到 SGHMC 迭代:
- 动量更新(包含摩擦与噪声):
\[ v_{t+1} = v_t - \epsilon g(x_t; \xi_t) - \epsilon B v_t + \sqrt{2\epsilon B} \, \zeta_t, \]
其中 \(\zeta_t \sim \mathcal{N}(0, I)\) 是标准高斯噪声。
- 位置更新:
\[ x_{t+1} = x_t + \epsilon v_{t+1}. \]
注意:实际实现中,常将摩擦项与噪声合并调节。定义有效摩擦系数 \(\alpha = \epsilon B\),并引入噪声校正项,确保离散系统收敛到连续系统的平稳分布。
5. 算法步骤(带校正的实用版本)
输入:初始点 \(x_0\),步长 \(\epsilon\),摩擦系数 \(B\),质量矩阵 \(M = I\),迭代次数 \(T\)。
输出:样本序列 \(\{x_t\}_{t=1}^T\),可取其最后若干样本的均值或最小值点作为解。
- 初始化 \(x_0, v_0 = 0\)。
- 对于 \(t = 0, 1, ..., T-1\) 执行:
a. 采样随机样本 \(\xi_t \sim \mathcal{D}\),计算随机梯度 \(g_t = \nabla f(x_t; \xi_t)\)。
b. 采样噪声 \(\zeta_t \sim \mathcal{N}(0, I)\)。
c. 更新动量:
\[ v_{t+1} = (1 - \epsilon B) v_t - \epsilon g_t + \sqrt{2\epsilon B} \, \zeta_t. \]
d. 更新位置:
\[ x_{t+1} = x_t + \epsilon v_{t+1}. \]
- 返回 \(\{x_t\}_{t=1}^T\)。
6. 关键机制解释
- 动量效应:\(v\) 积累历史梯度方向,帮助穿越狭窄的局部极小谷底。
- 摩擦项:\(-B v\) 消耗能量,防止震荡,确保收敛。
- 噪声注入:\(\sqrt{2B} \zeta\) 模拟热浴,提供随机扰动,使算法能跳出局部极小。
- 在非凸问题中,SGHMC 的采样轨迹会以一定概率访问不同极小点,最终样本集中于低势能区域(即高概率区域),从而近似全局最优。
7. 参数选择与收敛性
- 步长 \(\epsilon\):需足够小以保证数值稳定,通常按 \(O(1/t)\) 衰减或取常数。
- 摩擦系数 \(B\):平衡探索与收敛,太大则过快耗散动量,太小则震荡强。
- 理论保证:在目标函数光滑、梯度噪声有界的假设下,SGHMC 的离散过程会指数收敛到连续平稳分布的近似。
8. 扩展与注意事项
- 可结合预热(burn-in)阶段:丢弃初始样本以减少初始值影响。
- 可与其他优化器结合,如先用 SGD 粗搜索,再用 SGHMC 精细探索。
- 适用于贝叶斯优化、深度学习等大规模非凸随机问题。
通过以上步骤,SGHMC 利用物理动力学中的动量与随机力,在随机梯度框架下实现了对非凸函数概率分布的采样,从而为寻找全局极小点提供了有效途径。