深度学习-minibatch

鉴于自己对minibatch一直以来的误解,说明一下minbatch的具体做法。

batch是一次运行所有数据集,只更新一次梯度下降,m过大,计算依然很慢。

minibatch是一次运行一个minibatch,更新一次梯度,整个数据集,会更新多次,通常来说,运行更快。 原因可能是w的维数小,参数数量不多。

如下图所示: 右边的图J{t}可能会上升,因为训练的样本不一样,之间会产生噪音误差,但是总体趋势是下降的。

batch size的选择:

如果是整个训练集,他会不断的收敛到最小,参数过多,反向传播时间过长

batch size =1,随机梯度下降,不一定会收敛,同时没有用到向量的并行化。

minibatch:最小化这一批的成本函数,不断更新不同层的w值。执行速度更快,计算效率更高。

 

posted @ 2021-09-30 23:13  踏浪前行  阅读(5156)  评论(0编辑  收藏  举报