二维参数 · 均匀无放回抽样 · 梯度噪声

每个 batch 都有噪声,为什么平均起来还能对准全量梯度?

单个 batch 不保证方向正确,也不保证这一步损失下降。真正有用的性质是:均匀重复抽样时,batch 梯度的期望等于全量梯度;而批量变大,主要是把方差压下来。

先抽一个 batch,再看它把参数推向哪里

批量预设
6
0.180

当前第 0 步 · 参数 (−2.40, +2.20)

Batch 梯度 ĝ
全量梯度 g 全部 24 个样本求平均
方向夹角 ĝ 与 g;0° 表示完全同向
理论梯度方差 E‖ĝ−g‖²,含有限总体修正

全量损失面、梯度与参数轨迹

箭头是上坡梯度;更新沿反方向

batch 梯度 ĝ 全量梯度 g 参数轨迹

数据与当前 batch

Batch 损失与平滑趋势

偏差修正 EMA,β=0.88

原始 batch 损失 平滑 batch 损失 全量损失

Batch、SGD 和 Mini-batch 没换目标,只换了梯度估计器

同一参数点下 Batch GD、SGD 和 mini-batch 的理论梯度方差对比。
方式批大小方差 E‖ĝ−g‖²每步样本数

无偏是重复抽样的平均性质

均匀抽取且 batch 内求平均时,所有可能 batch 梯度的期望等于全量梯度。它不要求当前这一批恰好同向。

大 batch 主要是压低方差

在当前的无放回抽样中,batch 均值的方差是 (1−b/m)S²/b。b=m 时方差精确为 0。

学习率会放大噪声带来的移动

参数更新是 θ←θ−ηĝ。小 batch 和大学习率放在一起,轨迹会更抖,单步损失也可能上升。

判断收敛要看平滑趋势,不要审判单个 batch