选取训练神经网络时的Batch size ,BatchNorm

本文深入探讨BatchNorm在深度学习中的作用,包括其如何通过标准化输入防止梯度消失和过拟合,同时指出其可能导致欠拟合的问题。文章还讨论了不同优化算法下batchsize的选择策略,以及它对跳出局部最优解的影响。

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

BatchNorm

优点:对于隐藏层的每一层输入,因为经过激活函数的处理,可能会趋向于大的正值和负值,容易出现梯度下降和梯度消失。所以强行拉回到服从均值为0,方差为1的标准正态分布,避免过拟合

缺点:正是因为这种强行改变分布的手段,使得隐层输入和原始数据分布差异太大,如果数据量不大时,容易欠拟合。可能不用更好一些

https://www.zhihu.com/search?type=content&q=batchnorm

BatchNorm的原理及代码实现

 

结论:

  1. batch size  一般为2的幂次方,128为分位线,向下(乘以0.5)或向上(乘以2)测试效果,若向下效果继续,乘以0.5,直指结果不再变好,数值范围一般在:2到512.有论文说最好的实验表现都是在batch size处于2~32之间得到的
  2. 一阶优化算法:sgd,adam等,一般Batch size比较小.二阶优化算法:共轭梯度法,L-BFGS等需要二阶导数,太小,对二阶导数误差累积太大,所以需要只比较大,可以几千到两万
  3. batch size 初衷是为了解决内存不够问题,但是却带来了跳出局部最优的增益,因为小批量数据对梯度带来了噪音,相对于完成梯度来说,每步更新的梯度下降了,但是总体来说,却避免了局部最优
  4. 大批量的batchsize 等价于小的学习率
  5. 小batch训练的稳定性较差。小batch确实有这个缺点,而且对设置学习速率有更高的要求,否则可能引起恶性的震荡无法收敛。但是小batch的优点仍然是显著的,DL书里建议使用逐步增加的batch size来兼并两者的优点。

参考文献

怎么选取训练神经网络时的batch size

深度学习的跃进来源于不同技术的组合梯度更新方式初始化方式非线性目标函数正规项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值