TensorFlow中的批次是什么?
deep-learning
machine-learning
neural-network
tensor
6
0

我正在阅读的介绍性文档( 此处为TOC在此处未定义该术语

[1] https://www.tensorflow.org/get_started/
[2] https://www.tensorflow.org/tutorials/mnist/tf/
参考资料:
Stack Overflow
收藏
评论
共 1 个回答
高赞 时间 活跃

假设您要进行数字识别(MNIST),并且已经定义了网络架构(CNN)。现在,您可以开始将训练数据中的图像逐一输入到网络,进行预测(此步骤称为推理 ),计算损耗,计算梯度,然后更新网络参数(即权重偏见 )然后处理下一个图像...这种训练模型的方式有时被称为在线学习

但是,您希望训练更快,梯度减少噪音,还希望利用GPU的强大功能,它们可以高效地执行阵列操作(具体来说是nD阵列 )。因此,您要做的是一次输入100张图像 (此大小的选择取决于您(即,它是一个超参数 ),并且也取决于您的问题)。例如,看下面的图片,(作者:Martin Gorner)

批量大小为100

在这里,由于您一次要提供100张图像( 28x28 )(而不是在线培训情况下的1张图像),因此批次大小为100 。通常,这被称为小批量大小或简称为mini-batch


还有下图:(作者:马丁·高纳)

再次批量

现在,矩阵乘法将完全正常工作,并且您还将利用高度优化的阵列运算,从而缩短训练时间。

如果您观察到以上图片,则只要提供100张或256张或2048张或10000张( 批处理大小 )的图像,只要它适合您(GPU)硬件的内存即可。您将获得许多预测。

但是,请记住,该批次大小会影响训练时间,您实现的误差,梯度偏移等。对于哪种批次大小最有效,没有一般的经验法则。尝试几种尺寸,然后选择最适合您的尺寸。但是,请不要使用大批量,因为这样会过度拟合数据。人们通常使用32, 64, 128, 256, 512, 1024, 2048小批量大小。


奖励 :要很好地掌握使用此批处理量的疯狂程度,请阅读本文: 并行化CNN的怪异技巧

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号