【发布时间】:2017-05-30 19:20:14
【问题描述】:
我正在学习 TensorFlow(以及一般的深度学习)。我想知道我们什么时候需要将输入的训练数据分成批次?我们如何确定批量大小?有经验法则吗?谢谢!
【问题讨论】:
标签: python python-3.x tensorflow deep-learning data-science
我正在学习 TensorFlow(以及一般的深度学习)。我想知道我们什么时候需要将输入的训练数据分成批次?我们如何确定批量大小?有经验法则吗?谢谢!
【问题讨论】:
标签: python python-3.x tensorflow deep-learning data-science
通常,深度学习算法在内存有限的 GPU 上运行,因此一次只能加载有限数量的输入数据样本(在通常定义为批量大小的算法中)。
一般而言,较大的批大小会减少总体计算时间(因为内部矩阵乘法在 GPU 中以并行方式完成,因此对于大批大小,时间可以节省在读/写梯度和可能的其他一些操作输出中)。
大批量的另一个可能的好处是: 在多类分类问题中,如果类的数量很大,一个 较大的批大小使算法在不同类别上的泛化效果更好(技术上避免过度拟合)(而这样做的标准技术是保持批中类别的均匀分布)。
在决定批量大小时,还有一些其他因素会起作用:学习率和优化方法的类型。
我希望这在一定程度上回答了你的问题!
【讨论】: