一、背景
传统的梯度下降,每次梯度下降都是对所有的训练数据进行计算平均梯度,这种梯度下降法叫做full-batch梯度下降法。考虑一种情况,当训练数据量在千万级别时,一次迭代需要等待多长时间,会极大的降低训练速度。
每次训练的使用同一份数据,所以loss的损失函数会是一直下降的,收敛到的是全局最优解。
二、mini-batch梯度下降
如果选择介于1和最大训练数据量之间的一个bath size数据量进行训练,叫mini-batch 梯度下降。
每次训练的不能保证使用的是同一份数据,所以每一个batch不能保证都下降,整体训练loss变化会有很多噪声,但是整体趋势是下降的,随后会在最优值附近波动,不会收敛。
三、比较