关于梯度下降
批量梯度下降法BGD
通过对所有的样本的计算来求解梯度的方向
小批量梯度下降法MBGD Minibatch
通过对一部分个样本 (batch_size个) 的计算来求解梯度的方向
增大batch_size:
内存利用率提高,但可能遇到内存不足的问题
矩阵乘法的并行化效率提高
跑完一次全数据集所需的迭代次数减少,对于相同数据量的处理速度加快。要想达到相同的精度,其所花费的时间增加,从而对参数的修正也就显得更加缓慢
在一定范围内,一般来说 Batch_Size 越大,其确定的下降方向越准,引起训练震荡越小。
随机梯度下降法SGD online training 在线学习
每次仅仅对一个样本 (batch_size=1) 的计算来求解梯度的方向
每次修正方向以各自样本的梯度方向修正,横冲直撞各自为政,难以达到收敛。如图所示:
reference: https://blog.csdn.net/fuwenyan/article/details/53914371