深度学习中batch size 和 learning rate有什么关系?

参考文章链接
参考文章题目:One weird trick for parallelizing convolutional neural networks
具体可看第5页中。

一般来说,我们batch size 大一些,则learning rate也要大一些。且有一个数学关系。
假设别人最优的结果是这样的:
b a t c h s i z e = b a t c h 1 batch size = batch_1 batchsize=batch1
l e a r n i n g r a t e = l r 1 learning rate = lr_1 learningrate=lr1

那么当我们改变batch size的时候,可能遵循这样的规律:
n e w l e a r n i n g r a t e = o l d l e a r n i n g r a t e ∗ n e w b a t c h s i z e / o l d b a t c h s i z e new learning rate = old learning rate * \sqrt{new batch size / old batch size} newlearningrate=oldlearningratenewbatchsize/oldbatchsize

举例来说,原先别人的batch size 为128, learning rate为0.0005, 那么当我们把batch size改为1024时,则新的学习率有这样的推荐值: 0.0005 ∗ 1024 / 128 = 0.0005 ∗ 8 = 0.001412 0.0005*\sqrt{1024/128}=0.0005*\sqrt{8}=0.001412 0.00051024/128 =0.00058 =0.001412

你可能感兴趣的:(数学理论,十年磨一剑)