深度机器学习中的batch的大小对学习效果有何影响?

batch_size设的大一些,收敛得快,也就是需要训练的次数少,准确率上升得也很稳定,但是实际使用起来精度不高。需要加大epoch数,同时将学习率增大。

batch_size设的小一些,收敛得慢,而且可能准确率来回震荡,所以还要把基础学习速率降低一些;但是实际使用起来精度较高。

What?

设置了过大的批次(batch)大小,可能会对训练时网络的准确性产生负面影响,因为它降低了梯度下降的随机性。

How?

要在可接受的训练时间内,确定最小的批次大小。一个能合理利用GPU并行性能的批次大小可能不会达到最佳的准确率,因为在有些时候,较大的批次大小可能需要训练更多迭代周期才能达到相同的正确率。

在开始时,要大胆地尝试很小的批次大小,如16、8,甚至是1。

Why?

较小的批次大小能带来有更多起伏、更随机的权重更新。这有两个积极的作用,一是能帮助训练“跳出”之前可能卡住它的局部最小值,二是能让训练在“平坦”的最小值结束,着通常会带来更好的泛化性能。

And?

数据中其他的一些要素有时也能起到批次大小的作用。

例如,以两倍大小的先前分辨率来处理图像,得到的效果与用四倍批次大小相似。

做个直观的解释,考虑在CNN网络中,每个滤波器的权重更新值将根据输入图像的所有像素点和批次中的每张图像来进行平均,将图像分辨率提高两倍,会产生一种四倍像素量同样的平均效果,与将批次大小提高四倍的做法相似。

总体来说,最重要的是要考虑到,在每次迭代中有多少决定性的梯度更新值被平均,并确保平衡好这种不利影响与充分利用GPU并行性能的需求之间的关系。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值