在以往的机器学习、深度学习的时间中,learning rate和batch_size这两个之间会有一些互相影响。例如,batch_size减小之后,模型优化更有可能局部最优(SGD随机梯度下降),这时候就需要适当减小lr;反之,batch_size若是能够比较大,最好增大lr来提升优化效果。
而至于如何增大、减小,不同人会有不同看法 (比方说,lr随着batch_size线性缩放,或者根方)
但是大多数情况下,尤其是现在很多预训练大模型,用Adam,AdamW之类的optimizer, learning_rate
并不需要随着batch_size
的变动而变动 (例如,transformer, 学习率一般都是5e-5
)。
具体可以参考此文:
参考:
How should the learning rate change as the batch size change?