【发布时间】:2017-12-29 02:19:04
【问题描述】:
我有一个包含 36 个数据点的训练集。我想在上面训练一个神经网络。我可以选择批量大小,例如 1 或 12 或 36(36 可以除以的每个数字)。
当然,当我增加批量大小时,训练运行时间会大幅减少。
如果我选择例如12 作为批量大小而不是 1?
【问题讨论】:
标签: machine-learning neural-network deep-learning
我有一个包含 36 个数据点的训练集。我想在上面训练一个神经网络。我可以选择批量大小,例如 1 或 12 或 36(36 可以除以的每个数字)。
当然,当我增加批量大小时,训练运行时间会大幅减少。
如果我选择例如12 作为批量大小而不是 1?
【问题讨论】:
标签: machine-learning neural-network deep-learning
批量大小没有黄金法则。期间。
但是。您的数据集非常小,可能批量大小根本无关紧要,您的所有问题都来自缺乏数据,而不是任何超参数。
【讨论】:
我同意 lejlot。鉴于数据量非常小,批量大小不是您当前模型构建的问题。一旦转移到无法放入内存的较大数据,然后尝试不同的批量大小(例如,2 的某些幂,即 32、128、512,...)。
批量大小的选择取决于:
批次通常近似于输入数据的分布 优于单一输入。批次越大越好 近似;但是,批次也确实需要 处理时间更长,仍然只会导致一次更新。为了 inference (evaluate/predict),建议选择一个batch size 在不耗尽内存的情况下尽可能大(因为 较大的批次通常会导致更快的评估/预测)。
尝试不同的批量大小后,您会有更好的直觉。如果您的硬件和时间允许,请让机器为您选择正确的批次(循环通过不同的批次大小作为网格搜索的一部分。
【讨论】: