Batch Size 对 神经网络训练 的影响
点击上方“机器学习与生成对抗网络”, 关注星标 获取有趣、好玩的前沿干货! 转自 极市平台
作者 Daryl Chang
来源 CV技术指南
在本文中,我们试图更好地理解批量大小对训练神经网络的影响。具体而言,我们将涵盖以下内容:
什么是Batch Size? 为什么Batch Size很重要? 小批量和大批量如何凭经验执行? 为什么大批量往往性能更差,如何缩小性能差距?
什么是Batch Size?
theta 代表模型参数 m 是训练数据样本的数量 i 的每个值代表一个单一的训练数据样本 J_i 表示应用于单个训练样本的损失函数
为什么Batch Size很重要?
实验是如何设置的?
Batch Size如何影响训练?
训练损失减少的越慢。
最小验证损失越高。
每个时期训练所需的时间越少。
收敛到最小验证损失所需的 epoch 越多。
with tf.distribute.MirroredStrategy().scope(): # Create, compile, and fit model # ...
为什么较小的批量性能更好?
Median batch update norm for batch size 32: 3.3e-3Median batch update norm for batch size 256: 1.5e-3
假设 2:小批量训练找到更平坦的最小值
通过提高学习率可以提高大批量的性能吗
小批量训练总是优于大批量训练吗?
结论
Keskar, Nocedal, Mudigere, Smelyanskiy, and Tang. On Large-Batch Training for Deep Learning: Generalization Gap and Sharp Minima. https://arxiv.org/pdf/1609.04836.pdf Li, Xu, Taylor, Studer, and Goldstein. Visualizing the Loss Landscape of Neural Nets. https://papers.nips.cc/paper/7875-visualizing-the-loss-landscape-of-neural-nets.pdf. Goyal, Dollar, Girshick, Noordhuis, Wesolowski, Kyrola, Tulloch, Jia, and He. Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour. https://research.fb.com/wp-content/uploads/2017/06/imagenet1kin1h5.pdf.
猜您喜欢:
CVPR 2021 | GAN的说话人驱动、3D人脸论文汇总
附下载 |《TensorFlow 2.0 深度学习算法实战》
评论