具有小批量的随机梯度下降算法通常使用小批量或计数作为参数。
现在我想知道,所有的迷你批次都需要具有完全相同的尺寸吗?
以MNIST的训练数据(60k训练图像)和70的小批量训练数据为例。
如果我们进入一个简单的循环,那就会产生857 mini-batches of size 70 (as specified) and one mini-batch of size 10.
现在,即使(使用这种方法)一个迷你批次将比其他小批量更小(这里最坏的情况:1号小批量)? 这是否会极大地影响我们的网络几乎所有“培训”所学到的权重和偏见?
答案 0 :(得分:4)
不,迷你批次的大小不必相同。由于效率原因,它们通常是恒定大小的(您不必重新分配内存/调整大小的张量)。实际上,您甚至可以在每次迭代中对批处理的大小进行采样。
然而,批次的大小有所不同。很难说哪一个是最好的,但使用更小/更大的批量可以产生不同的解决方案(并且总是 - 不同的收敛速度)。这是处理更随机运动(小批量)与平滑更新(良好梯度估计器)的效果。特别是 - 可以使用具有一些预定义大小分布的批量的随机大小来同时使用这两种效果(但是花费这个分布的时间可能是不值得的)