1、为什么用batchsize
当网络在训练的时候,如果将样本一个一个输入,网络对每一个输入都会计算一个梯度,不同样本梯度不同,会使得梯度方向不准确甚至跳动,所以需要同时输入网络batchsize大小个样本,这样计算的梯度是由输入样本一起决定的,有一种类似平均的概念在里边,可以避免极端数据造成的梯度误差
2、batchsize影响
batchsize不能太大,因为GPU很难装下那么多数据,如果batchsize太小,可能会造成梯度方向不准确;实际上,当batchsize调大后,epoch中反向传播计算的次数会减少,因此必须增大epoch的大小来确保迭代精度