作者:dongquchunlaizv_123 | 来源:互联网 | 2022-12-01 11:10
当我增加/减少SGD中使用的微型批次的批次大小时,是否应该更改学习率?如果是这样,那又如何?
作为参考,我正在与某人讨论,有人说,当批量增加时,学习率应在一定程度上降低。
我的理解是,当我增加批次大小时,计算出的平均梯度会减少噪音,因此我可以保持相同的学习率或提高学习率。
另外,如果我使用自适应学习速率优化器,例如Adam或RMSProp,那么我想我可以保持学习速率不变。
请,如果我弄错了,请纠正我,并对此提供任何见解。
1> Dmytro Pryli..:
理论表明,将批大小乘以k时,应将学习率乘以sqrt(k)以使梯度期望的方差保持恒定。请参阅A.Krizhevsky的第5页。卷积神经网络并行化的一种怪异技巧:https : //arxiv.org/abs/1404.5997
但是,最近的大型小批量实验建议使用更简单的线性缩放规则,即,使用kN的小批量时,将学习率乘以k。参见P.Goyal等人:准确的大型微型批处理SGD:1小时内训练ImageNet https://arxiv.org/abs/1706.02677
我想说的是,使用亚当(Adam),阿达格勒(Adagrad)和其他自适应优化器,如果批量大小没有实质性变化,学习率可能保持不变。