网站链接: element-ui dtcms
当前位置: 首页 > 技术博文  > 技术博文

Batch Size大小的选择和其影响

2021/6/25 8:25:13 人评论

batch size的选择对模型有什么影响呢? 因为Batch的选择,首先决定的是下降的方向。如果数据集比较小,完全可以采用full batch learning的形式。好处是: 较为准确地朝极值方向迭代优化Full batch learning 可以使用Rprop只记与梯度符号并且针…

batch size的选择对模型有什么影响呢?

因为Batch的选择,首先决定的是下降的方向。如果数据集比较小,完全可以采用full batch learning的形式。好处是:

  1. 较为准确地朝极值方向迭代优化
  2. Full batch learning 可以使用Rprop只记与梯度符号并且针对性单独更新各权值。

对于数据集很大,那就有问题了。首先,显存肯定不够。第二个就是以Rprop迭代的方式,会由于各个batch 之间的采样性差异,各次梯度修正值相互低效,无法修正。所以才有了后来的RMSProp的方案。

但如果只训练一个样本,会导致训练时间很长,不容易收敛。

所以如何选择一个合适的Batch size就是值得考虑的问题。建议是:

  1. 在合理的范围内,尽量选择大的batch size,提高显存利用率。
  2. 同时大的batch size 跑完一次epoch的迭代次数少了,训练时间变短。
  3. batch size越大,梯度下降的方向越准,训练震荡就越小,模型训练的曲线会更平滑,提高了模型的稳定性。

但是太大的Batch size,首先显存就无法满足。且第二个就是迭代次数少,要达到同样的精度,花费时间就变长了。而且可能batch size增大到一定的程度,其确定的下降方向已经基本不再变化了。最后,大的batch size可能会导致模型泛化能力下降。

Reference

  1. https://www.zhihu.com/question/32673260

相关资讯

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?