Batch Size大小的选择和其影响

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
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值