【deeplearning.ai笔记第二课】2.1 随机梯度下降,批量梯度下降和小批量梯度下降

  • 批量梯度下降 (batch gradient descent) 每次梯度更新时,计算所有m个样本的梯度做梯度下降
  • 小批量梯度下降 (mini-batch gradient descent) 每次梯度更新,计算n n<m 个样本的梯度做梯度下降
  • 随机梯度下降(stochastic gradient descent) 每次梯度更新,计算1个样本的梯度做梯度下降

大多数用于深度学习的算法会采用mini-batch gradient descent,使用一个以上,而又不是全部
的训练样本。

值得注意的是,用mini-batch gradient descent会使得learning curve产生波动,如下图:

这里写图片描述

1.2 mini-batch的大小

mini-batch的大小通常由以下几个因素决定:

  • 更大的批量会计算更精确的梯度估计,但是batch size不是越大越好,因为精确度的提高和批量的增大不是成正比的。
  • batch size不能太小,因为小批量通常难以充分利用多核架构。这促使我们使用一些绝对最小批量,低于这个值的小批量处理不会减少计算时间。。

  • 如果批量处理中的所有样本可以并行地处理(通常确是如此),那么内存消耗和批量大小会正比。对于很多硬件设施,这是批量大小的限制因素。

  • 在某些硬件上使用特定大小的数组时,运行时间会更少。尤其是在使用GPU时,通常使用2 的幂数作为批量大小可以获得更少的运行时间。一般,2 的幂数的取值范围是32 到256,16 有时在尝试大模型时使用。

  • 可能是由于小批量在学习过程中加入了噪声,它们会有一些正则化效果(Wilson

    and Martinez, 2003)。泛化误差通常在批量大小为1 时最好。但是因为梯度估计的

    高方差(不稳定),小批量训练需要较小的学习率以保持稳定性,而降低的学习率和消

    耗更多步骤来遍历整个训练集都会导致总的运行时间非常大。

Reference:

https://github.com/exacity/deeplearningbook-chinese

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值