批量大小会影响模型的准确性吗?

问题描述 投票:0回答:2

我使用 ResNet18 主干网和研究建议的技术训练了 Cifar100 数据集,最终得到了一些令人惊讶的结果。我进行了两次尝试,第一次尝试使用 640 批量大小,第二次尝试使用 320 批量大小。其余所有超参数保持相似。

我对于 640 批量大小得到的准确率是:76.45% 我对于 320 批量大小得到的准确率是:78.64%

你能告诉我为什么会发生这种情况吗?

据我所知,这只是因为协变量偏移。完成完整样本的每次迭代的分布会影响准确性。我认为,与 640 批量大小相比,320 批量大小的分布彼此相似,这导致了更高的准确性。

您能解释一下吗?解决办法是什么?

deep-learning neural-network conv-neural-network normalization
2个回答
5
投票

比这简单得多。批量大小与梯度估计器的方差有直接关系 - 更大的批量 -> 更低的方差。增加批量大小大约相当于降低学习率的优化方式。

如需更深入的分析,包括理论论证,请参阅 https://proceedings.neurips.cc/paper/2019/file/dc6a70712a252123c40d2adba6a11d84-Paper.pdf


0
投票

640 批量大小的精度比 320 批量大小的精度差的原因可能是陷入局部最小值。

基本上,如果不陷入局部最小值,则较大的批量大小比较小的批量大小获得更好的精度:

*备注:

  • 如果不陷入局部最小值,较大批量大小的优点是比较小批量大小获得更好的精度。
  • 较大批量大小的缺点是比较较小批量大小更容易陷入局部最小值。

换句话说,基本上,即使没有陷入局部最小值,较小的批量大小也会比较大的批量大小获得更差的精度:

*备注:

  • 较小批量大小的优点是比较大批量大小更不容易陷入局部最小值。
  • 较小批量大小的缺点是,即使没有陷入局部最小值,其精度也比较大批量大小更差。
© www.soinside.com 2019 - 2024. All rights reserved.