批量大小对密集网络的影响?

数据挖掘 神经网络 喀拉斯
2022-02-24 12:18:55

我已经做 DS 几年了,现在又回到了对玩具数据集的“修补”上,总体上只是磨练了我的技能。

我最近在玩一个非常简单的数据集,其中包含 100 米赛跑的历史(比如奥运会)。数据并不复杂,只有运动员身高、年龄等。

我将数据输入到一个密集的网络(Keras)中,我得到了从差到公平的结果。然而,这一切都是批量大小为 1,但是当我使用其他批量大小(2、4、8、16 等)时,一切都发生了变化。我的所有指标都从差到出色,即使批次大小只有 2。

为什么是这样?外行人对批量大小对密集 NN 的影响的解释是什么?

1个回答

一般来说,batch size 越小,梯度更新的噪声就越大。这可能导致网络无法收敛或耗时过长。还有一些方法,例如 batchnorm,需要足够大的批大小才能有效地计算一些统计数据。另一方面,batch size 越大,泛化误差越大。