一、噪声地板(Noise Floor)问题背景
在实际SGD(随机梯度下降)中,由于每次只用部分样本(甚至单样本)估计梯度,噪声地板(noise floor)不可避免:即SGD只能收敛到一个残差带(目标函数的最优值附近的宽区间),而非真正精确的最优点。这在大规模数据和非精确(有噪声)目标情况下尤其明显。
二、降低噪声地板的三大方法
方法一:动态步长(Dynamic Stepsize)
基本思想:
- 若每步步长
随迭代 递减,且满足 则SGD可以保证 即理论上可以收敛到最优点,消除噪声地板。
代价:
- 步长减小后,收敛速率降为亚线性(如
),丧失了大步长下的线性收敛。 - 实践中往往需调参,且初期收敛快,后期收敛慢。
强凸情形下的具体步长:
- 设
-强凸, -光滑,条件数 ,取 则 其中 。
方法二:Mini-batching(小批量)
基本思想:
- 取多个样本组成mini-batch
,求平均梯度: - 由于采样独立,梯度方差为
即方差与批量大小 成反比。
收敛性分析:
- 强凸情形下,SGD的收敛界调整为
- 噪声地板随batch size
增大而降低,但每步计算代价也随之增大。
方法三:随机方差减小(Stochastic Variance Reduction, SVR)
基本思想:
- 构造一个方差更小的无偏估计量,如
其中 、 是有关梯度的无偏估计量,且相关性高时 小于 。 - 典型代表是SVRG算法。
SVRG算法核心:
-
固定一个参考点
,计算其全梯度 。 -
每步更新
其中
单样本或小批量, 是当前内层迭代点。 -
优点:
仍是 的无偏估计,但方差显著降低。 - SVRG只需周期性计算全梯度,内层迭代仍用小批量,效率与精度兼得。
SVRG收敛理论:
- 设
-光滑, -强凸,步长 ,内层迭代数 充分大,则 其中 即Q-线性收敛,且无噪声地板。
SVRG的技术要点:
- 关键引理(光滑性):
- 结合强凸性,可推导主收敛定理。
实践中SVRG与SGD比较:
- SVRG的训练loss收敛快且更平滑(无震荡),SGD只有学习率不断递减时才能慢慢逼近最优。
- 小步长SGD收敛慢,大步长SGD有高噪声地板。
- SVRG能用较大步长却依然稳定收敛。
四、其它方法与讨论
- 其它相关技术如SAG(Stochastic Average Gradient)、SAGA等,也通过历史梯度记忆降低方差,恢复线性收敛。
- 利用momentum加速(如Heavy Ball, Nesterov)也可一定程度减少方差。
- 新一代大规模优化方法(如Adam, RMSProp等)在工程中也有显著降噪效果,但理论收敛性与上述方法有差别。