Batch size 是指在训练神经网络时一次性输入模型的数据样本数量。Batch size 为 16 意味着每次迭代会处理 16 个样本。
Batch size 越大,每次迭代处理的数据就越多
内存占用:每个样本都需要在内存中存储其数据以及经过模型各层时的中间计算结果(如激活函数的输出)。因此,batch size 越大,存储这些信息所需的内存(显存)就越多。
训练速度:理论上,更大的 batch size 可以提高数据处理的速度,因为它可以更有效地利用并行计算资源,如 GPU。但这也受限于硬件的内存限制。
梯度估计:更大的 batch size 意味着梯度估计可能更准确,因为它是基于更多数据的平均值计算得出的。然而,这并不总是意味着更快的收敛,因为可能会陷入局部最小值。
泛化能力:实践中发现,较小的 batch size 有时能更好地泛化到未见过的数据上。这是因为较小的 batch size 引入了一种噪声,这有助于网络不过度适应训练数据。