趋近智
随机梯度下降(SGD)是训练大型数据集模型的主力方法。它的优点在于使用小数据子集(小批量)来估计梯度,与在整个数据集上计算梯度(批量梯度下降)相比,大幅降低了每次迭代的计算成本。然而,这种效率并非没有代价:方差。
每个随机梯度估计, git(θt)=∇fit(θt) (fit 是在迭代 t 时小批量 it 上的损失函数),是真实梯度 ∇f(θt)=N1∑i=1N∇fi(θt) 的无偏估计。这表示,从期望上看,随机梯度指向正确的方向:E[git(θt)]=∇f(θt)。但对于任何单次迭代, git(θt) 可能与 ∇f(θt) 有显著偏离。这种偏离将噪声或方差引入到参数更新中。
SGD固有的方差带来了几个实际影响:
简单二次损失曲面上的优化路径比较。批量梯度下降采取平滑的步长。SGD由于梯度方差而表现出噪声步长。方差减小方法的目标是比SGD实现更快、噪声更小的收敛。
方差减小方法的基本思路是修改随机梯度估计使其具有较低方差,同时保持计算效率。我们希望得到一个估计 g~t(θt),它能满足:
实现这一点通常需要将额外信息整合到梯度估计中。例如,方法可以周期性地计算完整梯度,或者维护在不同点评估的过去梯度的移动平均。目标是构建一个梯度估计,它能够将噪声单批量梯度修正到真实的梯度方向。
通过减小方差,这些方法通常能够达到更快的理论收敛速度(对于某些问题类型,可以接近批量梯度下降的线性收敛速度),并且与标准SGD相比,表现出更好的实际性能,尤其是在优化后期。
后续章节将介绍具体的算法,例如随机平均梯度(SAG)和随机方差减小梯度(SVRG),它们采用不同的策略来实现这种方差减小,使大规模优化更加高效和有成效。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造