Jef*_*own 30 machine-learning neural-network deep-learning tensorflow tensor
我正在阅读的介绍性文档(TOC在这里)在没有定义的情况下引入了这个术语.
[1] https://www.tensorflow.org/get_started/
[2] https://www.tensorflow.org/tutorials/mnist/tf/
Run Code Online (Sandbox Code Playgroud)
kma*_*o23 48
假设您想要进行数字识别(MNIST),并且已经定义了网络架构(CNN).现在,您可以开始将训练数据中的图像逐个输送到网络,获得预测(直到此步骤称为推理),计算损失,计算梯度,然后更新网络参数(即权重和偏见)然后继续下一个图像......这种训练模型的方式有时被称为在线学习.
但是,您希望训练更快,渐变更少噪声,并且还利用GPU的功能,这些GPU在执行阵列操作时非常有效(nD阵列是特定的).所以,你反而做的是一次输入100张图像(这个尺寸的选择取决于你(即它是一个超参数)并且也取决于你的问题).例如,看看下面的图片,(作者:Martin Gorner)
在这里,由于您一次输入100张图像(28x28)而不是在线培训案例中的1张,因此批量大小为100.通常这被称为小批量或简单mini-batch.
以下图片:(作者:Martin Gorner)
现在,矩阵乘法将完美地完成,您还将利用高度优化的阵列操作,从而实现更快的训练时间.
如果你观察到上面的图片,只要它适合你的(GPU)硬件的存储器,你是否给出100或256或2048或10000(批量)图像并不重要.你只需要做出那么多的预测.
但是,请记住,此批量大小会影响培训时间,您实现的错误,梯度变化等.对于哪种批量大小最佳,没有一般的经验法则.只需尝试几种尺寸,然后选择最适合您的尺寸.但是尽量不要使用大批量,因为它会过度填充数据.人们通常使用小批量的32, 64, 128, 256, 512, 1024, 2048.
奖励:为了更好地掌握这个批量大小的疯狂程度,请给这篇论文一个读物:并行化CNN的奇怪技巧
| 归档时间: |
|
| 查看次数: |
26583 次 |
| 最近记录: |