1 问题
Batch_size(批尺寸)首先决定的是下降的方向,是机器学习中一个重要参数,所以本文主要探索不同的batch_size对精度和损失的影响。
2 方法
绘制不同batch_size下的训练和验证精度、损失图,并进行对比来研究其影响。
数据集:我们采用的是MNIST数据集,它由60000个训练图像和10000个测试图像组成。
基础参数配置:
训练周期:
100
学习率:
0.001
优化器:
SGD
这里我选择的batch_size是32、64、128、256,其一是因为有一些理论说GPU对2的幂次的batch_size可以发挥更佳的性能。其二是,一般而言, 8的倍数(比如32,128)能使GPU内部的并行运算效率最高。
将数据存储到文件中。 |
用matplotlib绘制图 |
train_loss | val_loss |
train_acc | val_acc |
从上图中,我们可以得出以下结论,batch_size越大:
训练、验证损失下降的越慢。
收敛到最小验证损失所需的 epoch 越多。
训练、验证精度上升的越慢。
收敛到最大精度所需的 epoch 越多。
3 结语
针对Batch_size对精度和损失的影响研究问题,提出绘制不同batch_size下的精度和损失图,并进行对比的方法,通过曲线对比,就目前来说是较小的批量训练性能更好。本文的方法暂未考虑不同batch_size需要运行的时间等问题,未来可以针对这些方面做进一步研究。
将数据存储到文件中。
用matplotlib绘制图
train_loss
val_loss
train_acc
val_acc








![[笔记]深度学习入门 基于Python的理论与实现(一)](https://img-blog.csdnimg.cn/direct/a2b26ac12c8f402fa94282dfd5b03d82.png)







![[笔记]深度学习入门 基于Python的理论与实现(二)](https://img-blog.csdnimg.cn/direct/3dd0953dbea34f1eade3d265406e9ad6.png)

