深度学习中,batch大小对模型的效果有影响吗?

文章指出,同一模型下增大batchsize会导致验证集上的准确率下降,这并非过拟合,而是优化问题。小batch由于其参数更新中的噪声,能避免局部极小值点和鞍点,持续优化,从而得到更好的结果。因此,在训练时应根据需求选择合适的batch大小。

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

内容来自李宏毅-2021机器学习

##先说结论:同一个模型,大batch结果往往会较差。

在这里插入图片描述
上图中,横轴代表batch size,从左到右越来越大;纵轴代表准确率acc,越往上正确率越来越高。

在观察validation上的结果时,会发现随着batch size增加,acc结果越来越差。
但这个现象并不是overfitting,因为在training上的acc结果也是随着batch size增加而变差。

结论:同一个模型,大的batch size往往会带来比较差的结果。

由于使用的是同一个模型,可以排除model bias的问题,而是optimization的问题。使用大的batch size时,optimization可能会有问题,小的batch size的结果可能是比较好的。

##为什么小batch有更好的表现,有噪声的参数更新对训练更有帮助?
一种解释:
在这里插入图片描述
如果使用的是full match(上图左1),在更新参数时会沿着一个Loss函数来更新参数。可能会陷入一个局部极小值点或者是鞍部点,梯度变为0,不会再进行参数的更新。
但是如果使用small batch(上如左2),训练时每个batch会根据自己的Loss函数来算梯度,不同的batch间的Loss函数是有差异的。第一个batch用L1算梯度,第二个batch用L2算梯度。假如用L1在某一点算出来梯度为0卡住了,但在L2的这一点算出来梯度很可能并不是0,所以还是有办法让梯度不为0,进而可以继续训练,让Loss变小
所以有噪声的参数更新对训练更有帮助。

小batch 和大batch有各自的特点,根据需要来选择合适的参数。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值