学习率与batchsize的关系(batchsize越大,lr越大)

batch size 越大,学习率也要越大
如何理解深度学习分布式训练中的large batch size与learning rate的关系?

关键理解:

在分布式训练中,batch size 随着数据并行的worker增加而增大,假设baseline的batch size为B,learning rate为lr,训练epoch数为N。
如果保持baseline(小batchsize)的learning rate,一般不会有较好的收敛速度和精度。

原因如下:

  • 对于收敛速度,假设k个worker,每次过的sample数量为kB,因此一个epoch下的更新次数为baseline的1/k,而每次更新的lr不变,所以要达到baseline相同的更新次数,则需要增加epoch数量,最大需要增加k*N个epoch,因此收敛加速倍数会远远低于k。
  • 对于收敛精度,由于增大了batch size使梯度估计相较于badeline的梯度更加准确,噪音减少,更容易收敛到附近的local minima,类似于GD的效果。

batch size增大K倍,相当于将梯度的方差减少K倍,因此梯度更加准确
如果要保持方差和原来SGD一样,相当于给定了这么大的方差带宽容量,那么就可以增大lr,充分利用这个方差容量。
因此可将lr增加sqrt(K)倍,以提高训练速度,这也是在linear scaling rule之前很多人常用的增大lr的方式。但在实际中,发现直接将lr增大K倍的效果较好

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值