推荐阅读:
[1] 深度学习中的batch的大小对学习效果有何影响? - 言有三的回答 - 知乎
[2] 深度学习中的batch的大小对学习效果有何影响? - 程引的回答 - 知乎
小结:
优点 | 缺点 | |
---|---|---|
batch_size 较大 | 训练时间减少,收敛更加稳定 | 每个epoch更新次数变小,模型达到相同的精度需要的epoch数量 |
batch_size 较小 | 给梯度下降过程带来更大的随机性,有助于逃离 sharp minimum,使得模型收敛后泛化性能更好 | 太小可能导致模型收敛太慢甚至无法收敛;训练时间增大 |
调参指南:
1、学习率固定时,尽量尝试较小的 batch_size 以获得更好的泛化性能,但前提是要确保模型收敛以及训练时间不会太长以至于难以接受。
2、当我们增加 batch_size 为原来的 N N N 倍时,将学习率增大为原来的 N \sqrt N N 倍可以保持梯度的方差不变,但实践表明学习率增加为原来的 N N N 倍效果更好 [ 3 ] ^{[3]} [3]。