神经网络的批量大小是多少?

时间:2015-07-15 20:56:36

标签: machine-learning neural-network deep-learning

我有一个由36个数据点组成的训练集。我想训练一个神经网络。我可以选择批量大小,例如1或12或36(每个36可以除以的数字)。

当然,当我增加批量大小时,训练运行时间会大幅减少。

如果我选择例如,是否存在劣势12作为批量大小而不是1?

2 个答案:

答案 0 :(得分:4)

批量大小没有黄金法则。周期。

<强>然而即可。您的数据集非常小,批量大小根本不重要,所有问题都来自缺少数据,而不是任何超参数。

答案 1 :(得分:1)

我同意lejlot。由于数据量非常小,批量大小不是当前模型构建中的问题。一旦你转向不适合内存的大数据,那么尝试不同的批量大小(比如,2的一些幂,即32,128,512,......)。

批量大小的选择取决于:

  1. 您的硬件容量和型号架构。如果有足够的内存和总线将数据从内存传输到CPU / GPU的容量,批量较大的批量会带来更快的学习。然而,争论的焦点是质量是否仍然存在。
  2. 算法及其实现。例如,Keras python包(基于Theano和TensorFlow实现的神经网络算法)states
  3.   

    批次通常近似于输入数据的分布   比单一输入更好。批次越大,越好   近似;但是,批次也是如此   处理时间更长,仍然只会导致一次更新。对于   推理(评估/预测),建议选择批量大小   这是你可以承受的大而不会失去记忆(从那以后   较大的批次通常会导致更快的评估/预测)。

    尝试不同的批量大小后,您会有更好的直觉。如果您的硬件和时间允许,请让机器为您选择合适的批次(在网格搜索中循环使用不同的批量大小。

    以下是一些很好的答案:onetwo