随着Batch size增加,最佳learning rate如何选择?

最近读到《Surge Phenomenon in Optimal Learning Rate and Batch Size Scaling》这篇论文,里面通过实验和理论证明了learning rate和batch size之间的关系,觉得很有意思,就简答写个blog记录下。

1. 简介

  • 在影响模型训练效果的所有参数中,batch size与learning rate是最为重要的。随着训练数据的增加,为了加快训练效率,batch size变的越来越大,那么如果选择最佳的learning rate就成为了难题。
  • 在SGD优化器中,一些研究表明,learning rate与batch size之间有平方根[1],线性关系[2]等。在比较大的batch size下,一些理论和实验表明:
    在这里插入图片描述
  • 在类Adam优化器中,batch size与learning rate之间并没有上面的关系。一开始learning rate随着batch size增大而增大,随后达到一个点后,会随着batch size增加而降低,同时,随着训练不断进行, B n o i s e B_{noise} Bnoise会不断后移。 具体关系可以参考下面的图:
    在这里插入图片描述
    根据empirical model[3],batch size与optimal learning rate之间有下述的关系:
    在这里插入图片描述
    这里的 B n o i s e B_{noise} Bnoise表示数据有效性与训练速度之间的trade-off,当Batch size等于 B n o i s e B_{noise} Bnoise时,optimal learning rate达到局部最大。对于SGD,当B<< B n o i s e B_{noise} Bnoise时,learning rate与batch size呈现线性关系。
    在这里插入图片描述
    对于Adam优化器,则呈现平方根关系。
    在这里插入图片描述

2. 理论

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 实验

在这里插入图片描述

  • 记录在每个batch size下,不同的实际处理的step数S与处理的训练样本数E在达到具体loss的时候对应的optimal learning rate,可以得到:
    在这里插入图片描述
    然后,用不同batch size下的optimal learning rate搜索结果估计出类Adam优化器的最大的optimal learning rate:
    在这里插入图片描述
    类SGD的最大optimal learning rate为:
    在这里插入图片描述

  • 训练参数如上表所示,总共训练了三个模型,分别为5层的CNN,ResNet18及DiltilGPT2.
    在这里插入图片描述
    从上图中可以看出,在达到 B n o i s e B_{noise} Bnoise前,optimal learning rate随着batch size增加而增加,当达到 B n o i s e B_{noise} Bnoise后,optimal learning rate会逐渐降低。同时,随着训练的不断进行, B n o i s e B_{noise} Bnoise会不断的向右偏移。
    在这里插入图片描述

4. 总结

  • 一开始learning rate随着batch size增大而增大,随后达到一个点后,会随着batch size增加而降低,同时,随着训练不断进行, B n o i s e B_{noise} Bnoise会不断后移。
  • 为了加速训练进程,可以设计自适应的learning rate和batch size。

5. 参考文献

  • [1] One weird trick for parallelizing convolutional neural networks
  • [2] Learning rates as a function of batch size: A random matrix theory approach to neural network training
  • [3] An empirical model of large-batch training
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一夜了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值