849 字
4 分钟
数据科学与工程优化(六)

一、噪声地板(Noise Floor)问题背景#

在实际SGD(随机梯度下降)中,由于每次只用部分样本(甚至单样本)估计梯度,噪声地板(noise floor)不可避免:即SGD只能收敛到一个残差带(目标函数的最优值附近的宽区间),而非真正精确的最优点。这在大规模数据和非精确(有噪声)目标情况下尤其明显。

二、降低噪声地板的三大方法#

方法一:动态步长(Dynamic Stepsize)#

基本思想:

  • 若每步步长 αk\alpha_k 随迭代kk递减,且满足 i=0αi=,i=0αi2<\sum_{i=0}^{\infty} \alpha_i = \infty,\quad \sum_{i=0}^{\infty} \alpha_i^2 < \infty 则SGD可以保证 limkinfikE[f(Xi)]=0\lim_{k\to\infty} \inf_{i\geq k} \mathbb{E}\left[ \|\nabla f(X_i)\| \right] = 0理论上可以收敛到最优点,消除噪声地板。

代价:

  • 步长减小后,收敛速率降为亚线性(如 O(1/k)O(1/k)),丧失了大步长下的线性收敛。
  • 实践中往往需调参,且初期收敛快,后期收敛慢。

强凸情形下的具体步长:

  • ff γ\gamma-强凸,LL-光滑,条件数 κ=L/γ\kappa = L/\gamma,取 αk=22L+γk\alpha_k = \frac{2}{2L + \gamma k}E[f(Xk)]f(x)ν2κ+k\mathbb{E}[f(X_k)] - f(x^*) \leq \frac{\nu}{2\kappa + k} 其中 ν=2κmax(Mγ,f(x0)f(x))\nu = 2\kappa \cdot \max \left( \frac{M}{\gamma}, f(x_0)-f(x^*) \right )

方法二:Mini-batching(小批量)#

基本思想:

  • 取多个样本组成mini-batch SkS_k,求平均梯度: Gk=1p=1pfj(Xk)G_k = \frac{1}{p} \sum_{\ell=1}^p \nabla f_{j_\ell}(X_k)
  • 由于采样独立,梯度方差为 VAR(GkXk)=1pVAR(fj1(Xk)Xk)\mathrm{VAR}(G_k | X_k) = \frac{1}{p} \mathrm{VAR}(\nabla f_{j_1}(X_k) | X_k)方差与批量大小 pp 成反比

收敛性分析:

  • 强凸情形下,SGD的收敛界调整为 E[f(Xk)]f(x)ηM2γp+(1ηκ)k[f(x0)f(x)ηM2γp]\mathbb{E}[f(X_k)] - f(x^*) \leq \frac{\eta M}{2\gamma p} + \left(1 - \frac{\eta}{\kappa}\right)^k \left[ f(x_0)-f(x^*)-\frac{\eta M}{2\gamma p} \right]
  • 噪声地板随batch size pp 增大而降低,但每步计算代价也随之增大。

方法三:随机方差减小(Stochastic Variance Reduction, SVR)#

基本思想:

  • 构造一个方差更小的无偏估计量,如 G=ZY+E[Y]G = Z - Y + \mathbb{E}[Y] 其中 ZZYY 是有关梯度的无偏估计量,且相关性高时VAR(G)\mathrm{VAR}(G)小于VAR(Z)\mathrm{VAR}(Z)
  • 典型代表是SVRG算法。

SVRG算法核心:

  • 固定一个参考点 xkx_k,计算其全梯度 f(xk)\nabla f(x_k)

  • 每步更新

    Gk,j=fSk,j(X~k,j)fSk,j(xk)+f(xk)G_{k,j} = \nabla f_{S_{k,j}}(\tilde{X}_{k,j}) - \nabla f_{S_{k,j}}(x_k) + \nabla f(x_k)

    其中 Sk,jS_{k,j} 单样本或小批量,X~k,j\tilde{X}_{k,j} 是当前内层迭代点。

  • 优点

    • Gk,jG_{k,j} 仍是 f(X~k,j)\nabla f(\tilde{X}_{k,j}) 的无偏估计,但方差显著降低。
    • SVRG只需周期性计算全梯度,内层迭代仍用小批量,效率与精度兼得。

SVRG收敛理论:

  • fjf_j LL-光滑,ff γ\gamma-强凸,步长 α<14L\alpha < \frac{1}{4L},内层迭代数 pp 充分大,则 E[f(Xk)]f(x)ρk(f(x0)f(x))\mathbb{E}[f(X_k)] - f(x^*) \leq \rho^k (f(x_0)-f(x^*)) 其中 ρ=1γα(12Lα)p+2L12Lα<1\rho = \frac{1}{\gamma\alpha(1-2L\alpha)p} + \frac{2L}{1-2L\alpha} < 1Q-线性收敛,且无噪声地板。

SVRG的技术要点:

  • 关键引理(光滑性): ES[fS(x)fS(x)2]2L[f(x)f(x)]\mathbb{E}_S \left[ \|\nabla f_S(x) - \nabla f_S(x^*)\|^2 \right] \leq 2L [f(x) - f(x^*)]
  • 结合强凸性,可推导主收敛定理。

实践中SVRG与SGD比较:

  • SVRG的训练loss收敛快且更平滑(无震荡),SGD只有学习率不断递减时才能慢慢逼近最优。
  • 小步长SGD收敛慢,大步长SGD有高噪声地板。
  • SVRG能用较大步长却依然稳定收敛。

四、其它方法与讨论#

  • 其它相关技术如SAG(Stochastic Average Gradient)、SAGA等,也通过历史梯度记忆降低方差,恢复线性收敛。
  • 利用momentum加速(如Heavy Ball, Nesterov)也可一定程度减少方差。
  • 新一代大规模优化方法(如Adam, RMSProp等)在工程中也有显著降噪效果,但理论收敛性与上述方法有差别。
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

数据科学与工程优化(六)
https://www.laoguantx.cn/posts/datascienceandengineeringoptimization6/
作者
老官童鞋gogo
发布于
2025-07-23
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00