batch_size对精确度和损失的影响

文章探讨了在深度学习中,batch_size对模型精度和损失的影响。通过对比不同batch_size(32,64,128,256)下的训练和验证精度及损失曲线,发现在MNIST任务中,batch_size为32时能得到最佳的训练和验证效果。实验结果显示,较小的batch_size可能有助于提高精度并缩短训练时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 问题

在深度学习的学习过程中,模型性能对batchsize虽然没有学习率那么敏感,但是在进一步提升模型性能时,batch_size就会成为一个非常关键的参数。

batch_size对精度和损失的影响研究。

batch_size = [,32,64,128,256]

  1. 不同batch_size下的训练精度曲线;

  2. 不同batch_size下的训练Loss曲线;

  3. 不同batch_size下的验证精度曲线;

  4. 不同batch_size下的验证Loss曲线;

基础参数配置:

  1. 训练周期=40

  2. 学习率=0.001

  3. 优化器= SGD

2 方法

在此之前,我们已经实现了全网络连接MNIST手写数字模型建立,一些参数对模型的精确度和损失产生影响,例如,学习率(learn_rate)、batch_size等。

针对batch_size对模型的影响,将定义一个方法,把batch_size = [32,64,128,256]

数据可视化,使用matplotlib绘制

Batchsize=32

6cacfa303737e4a848481006c55dd3e9.png686fd748dd012cdfd9666f9792abf7f0.png

Batchsize=64

07ec1a0e90a5af45f3b2d53838c20a8a.pngf78e8c83540998818b6d90b9d38202c1.png

Batchsize=128

990185a48eb05d62b88b0af215e76f05.png533d9e9e067e50c49cd65564bb034a49.png

Batchsize=256

f3e309885bccc1890d94331a64e0c04c.png8fe4b82a74d4bbfd29e05c370e252605.png

数据可视化,使用matplotlib绘制四个子图,关键代码如下:

结果如下:

3 结语

batch_size取值32训练和取64和128训练,train vall 的loss下降趋势32>64>128>256,最终结果也是32>64>128>256差不多,train vall 的acc,的最终结果32=64>128>256,其中64的trainacc最先大于vallacc,可能是实验偶然的结果,对于只有十个的分类,可以将batch调到32附近,这样可以提高精度,降低训练时长。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

算法与编程之美

欢迎关注『算法与编程之美』

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值